[cpl-plugin-vimos] 08/17: Remove html files and add cal_size

Ole Streicher olebole-guest at moszumanska.debian.org
Tue Dec 10 14:13:37 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-vimos.

commit 48c4cfe64106cb40582208f8edd05a04a462d6c8
Author: Ole Streicher <debian at liska.ath.cx>
Date:   Tue Dec 10 12:31:20 2013 +0100

    Remove html files and add cal_size
---
 calib/cal_size                                 |    1 +
 html/bc_s.png                                  |  Bin 676 -> 0 bytes
 html/bdwn.png                                  |  Bin 147 -> 0 bytes
 html/closed.png                                |  Bin 132 -> 0 bytes
 html/dir_112173a6bb70e9f5e6440378f5599b04.html |  192 -
 html/doxygen.css                               | 1184 ------
 html/doxygen.png                               |  Bin 3779 -> 0 bytes
 html/dynsections.js                            |   97 -
 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__VimosImageArray.html               |  407 --
 html/group__forsPaf.html                       |  474 ---
 html/group__fors__tools.html                   |   90 -
 html/group__forsdfs.html                       |  867 ----
 html/group__forsqc.html                        |  435 ---
 html/group__moses.html                         | 4992 ------------------------
 html/group__vimos__calib__impl.html            |   97 -
 html/group__vimos__calib__mult.html            |  103 -
 html/group__vimos__science__impl.html          |   51 -
 html/group__vmcpl.html                         |  360 --
 html/group__vmimage.html                       | 1455 -------
 html/group__vmimgastrometry.html               |  354 --
 html/group__vmtablearray.html                  |  407 --
 html/index.html                                |   50 -
 html/jquery.js                                 |    8 -
 html/modules.html                              |   67 -
 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/sync_off.png                              |  Bin 853 -> 0 bytes
 html/sync_on.png                               |  Bin 845 -> 0 bytes
 html/tab_a.png                                 |  Bin 142 -> 0 bytes
 html/tab_b.png                                 |  Bin 169 -> 0 bytes
 html/tab_h.png                                 |  Bin 177 -> 0 bytes
 html/tab_s.png                                 |  Bin 184 -> 0 bytes
 html/tabs.css                                  |   60 -
 51 files changed, 1 insertion(+), 11750 deletions(-)

diff --git a/calib/cal_size b/calib/cal_size
new file mode 100644
index 0000000..b363b83
--- /dev/null
+++ b/calib/cal_size
@@ -0,0 +1 @@
+57768
diff --git a/html/bc_s.png b/html/bc_s.png
deleted file mode 100644
index 224b29a..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_112173a6bb70e9f5e6440378f5599b04.html b/html/dir_112173a6bb70e9f5e6440378f5599b04.html
deleted file mode 100644
index c702cf9..0000000
--- a/html/dir_112173a6bb70e9f5e6440378f5599b04.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"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: vimos 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_112173a6bb70e9f5e6440378f5599b04.html">vimos</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">vimos Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:fors__dfs_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>fors_dfs.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:fors__paf_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>fors_paf.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:fors__qc_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>fors_qc.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:fors__tools_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>fors_tools.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:moses_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>moses.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vimos__calib__impl_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vimos_calib_impl.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vimos__calib__mult_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vimos_calib_mult.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vimos__science__impl_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vimos_science_impl.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmadf_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmadf.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmadfifutable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmadfifutable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmastrometrictable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmastrometrictable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmccdtable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmccdtable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmcpl_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmcpl.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmcube_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmcube.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmdetector_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmdetector.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmdistmodels_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmdistmodels.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmextincttable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmextincttable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmextractiontable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmextractiontable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmfit_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmfit.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmgalaxytable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmgalaxytable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmgrismtable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmgrismtable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmidstable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmidstable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifu_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifu.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifuextraction_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifuextraction.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifufibers_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifufibers.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifuflat_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifuflat.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifuimage_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifuimage.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifusky_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifusky.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifusphotcalib_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifusphotcalib.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifutable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifutable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifutypes_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifutypes.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmifuutils_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmifuutils.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimage_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimage.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimagearray_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimagearray.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimageset_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimageset.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimgastrometry_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimgastrometry.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimgextraction_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimgextraction.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimgphotcalib_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimgphotcalib.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimgpreprocessing_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimgpreprocessing.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimgresampling_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimgresampling.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmimgutils_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmimgutils.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmlinecatalog_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmlinecatalog.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmath_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmath.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmatrix_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmatrix.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmosextraction_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmosextraction.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmosflat_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmosflat.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmosfringes_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmosfringes.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmosmodels_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmosmodels.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmossky_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmossky.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmossphotcalib_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmossphotcalib.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmosutils_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmosutils.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmmoswavecalib_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmmoswavecalib.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmobjecttable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmobjecttable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmphotometrictable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmphotometrictable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmqcutils_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmqcutils.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmsextractor_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmsextractor.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmspecphottable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmspecphottable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmsphottable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmsphottable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmstarmatchtable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmstarmatchtable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmstartable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmstartable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmstdfluxtable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmstdfluxtable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmtable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmtable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmtablearray_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmtablearray.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmtypes_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmtypes.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmutils_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmutils.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmwcsutils_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmwcsutils.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:vmwindowtable_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>vmwindowtable.c</b></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/doxygen.css b/html/doxygen.css
deleted file mode 100644
index dabaff2..0000000
--- a/html/doxygen.css
+++ /dev/null
@@ -1,1184 +0,0 @@
-/* The standard CSS for doxygen 1.8.3.1 */
-
-body, table, div, p, dl {
-	font: 400 14px/19px Roboto,sans-serif;
-}
-
-/* @group Heading Levels */
-
-h1.groupheader {
-	font-size: 150%;
-}
-
-.title {
-	font-size: 150%;
-	font-weight: bold;
-	margin: 10px 2px;
-}
-
-h2.groupheader {
-	border-bottom: 1px solid #879ECB;
-	color: #354C7B;
-	font-size: 150%;
-	font-weight: normal;
-	margin-top: 1.75em;
-	padding-top: 8px;
-	padding-bottom: 4px;
-	width: 100%;
-}
-
-h3.groupheader {
-	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, .fieldtable tr {
-	-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, .fieldtable tr.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;
-}
-
-.memSeparator {
-        border-bottom: 1px solid #DEE4F0;
-        line-height: 1px;
-        margin: 0px;
-        padding: 0px;
-}
-
-.memItemLeft, .memTemplItemLeft {
-        white-space: nowrap;
-}
-
-.memItemRight {
-	width: 100%;
-}
-
-.memTemplParams {
-	color: #4665A2;
-        white-space: nowrap;
-	font-size: 80%;
-}
-
-/* @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;
-	vertical-align: middle;
-}
-
-
-
-/* @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;
-	padding-top: 3px;
-	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.fieldname {
-        padding-top: 5px;
-}
-
-.fieldtable td.fielddoc {
-        border-bottom: 1px solid #A8B8D9;
-        /*width: 100%;*/
-}
-
-.fieldtable td.fielddoc p:first-child {
-        margin-top: 2px;
-}       
-        
-.fieldtable td.fielddoc p:last-child {
-        margin-bottom: 2px;
-}
-
-.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;
-	background-position: 0 -5px;
-	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;
-	color: #283A5D;
-	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-	text-decoration: 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 10px;
-}
-
-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 ed092c7..0000000
--- a/html/dynsections.js
+++ /dev/null
@@ -1,97 +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)
-{
-  //The clicked row
-  var currentRow = $('#row_'+id);
-  var currentRowImages = currentRow.find("img");
-
-  //All rows after the clicked row
-  var rows = currentRow.nextAll("tr");
-
-  //Only match elements AFTER this one (can't hide elements before)
-  var childRows = rows.filter(function() {
-    var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
-    return this.id.match(re);
-  });
-
-  //First row is visible we are HIDING
-  if (childRows.filter(':first').is(':visible')===true) {
-    currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
-    currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
-    rows.filter("[id^=row_"+id+"]").hide();
-  } else { //We are SHOWING
-    //All sub images
-    var childImages = childRows.find("img");
-    var childImg = childImages.filter("[id^=img]");
-    var childArr = childImages.filter("[id^=arr]");
-
-    currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
-    currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
-    childImg.attr('src','ftv2folderclosed.png'); //children closed
-    childArr.attr('src','ftv2pnode.png'); //children closed
-    childRows.show(); //show all children
-  }
-  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/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__VimosImageArray.html b/html/group__VimosImageArray.html
deleted file mode 100644
index f5d7982..0000000
--- a/html/group__VimosImageArray.html
+++ /dev/null
@@ -1,407 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: VimosImageArray</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">VimosImageArray</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga298df2fa12a3bedd03f794a2ee2746e2"><td class="memItemLeft" align="right" valign="top">VimosImageArray * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#ga298df2fa12a3bedd03f794a2ee2746e2">newImageArray</a> (int size)</td></tr>
-<tr class="memdesc:ga298df2fa12a3bedd03f794a2ee2746e2"><td class="mdescLeft"> </td><td class="mdescRight">Create an empty image array of appropriate size.  <a href="#ga298df2fa12a3bedd03f794a2ee2746e2">More...</a><br/></td></tr>
-<tr class="separator:ga298df2fa12a3bedd03f794a2ee2746e2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga29bc5e7cedf7b9bef4aafd7efd43a9b7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#ga29bc5e7cedf7b9bef4aafd7efd43a9b7">deleteImageArray</a> (VimosImageArray *array)</td></tr>
-<tr class="memdesc:ga29bc5e7cedf7b9bef4aafd7efd43a9b7"><td class="mdescLeft"> </td><td class="mdescRight">Delete an image array object.  <a href="#ga29bc5e7cedf7b9bef4aafd7efd43a9b7">More...</a><br/></td></tr>
-<tr class="separator:ga29bc5e7cedf7b9bef4aafd7efd43a9b7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1f6e30359ce270a7d4c8540b2605f7f1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#ga1f6e30359ce270a7d4c8540b2605f7f1">destroyImageArray</a> (VimosImageArray *array)</td></tr>
-<tr class="memdesc:ga1f6e30359ce270a7d4c8540b2605f7f1"><td class="mdescLeft"> </td><td class="mdescRight">Destroy an image array object.  <a href="#ga1f6e30359ce270a7d4c8540b2605f7f1">More...</a><br/></td></tr>
-<tr class="separator:ga1f6e30359ce270a7d4c8540b2605f7f1"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1915d77775f8125ae9e9fdb9afa2f1db"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#ga1915d77775f8125ae9e9fdb9afa2f1db">imageArrayIsEmpty</a> (const VimosImageArray *array)</td></tr>
-<tr class="memdesc:ga1915d77775f8125ae9e9fdb9afa2f1db"><td class="mdescLeft"> </td><td class="mdescRight">Check if an image array object is empty.  <a href="#ga1915d77775f8125ae9e9fdb9afa2f1db">More...</a><br/></td></tr>
-<tr class="separator:ga1915d77775f8125ae9e9fdb9afa2f1db"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaa1dace77c323aeb845fe064816f52d87"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#gaa1dace77c323aeb845fe064816f52d87">imageArrayCapacity</a> (const VimosImageArray *array)</td></tr>
-<tr class="memdesc:gaa1dace77c323aeb845fe064816f52d87"><td class="mdescLeft"> </td><td class="mdescRight">Get the capacity of an image array.  <a href="#gaa1dace77c323aeb845fe064816f52d87">More...</a><br/></td></tr>
-<tr class="separator:gaa1dace77c323aeb845fe064816f52d87"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad5d7889de04d9c50ef1e4f1dadf5bb41"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#gad5d7889de04d9c50ef1e4f1dadf5bb41">imageArraySize</a> (const VimosImageArray *array)</td></tr>
-<tr class="memdesc:gad5d7889de04d9c50ef1e4f1dadf5bb41"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of images stored in an image array.  <a href="#gad5d7889de04d9c50ef1e4f1dadf5bb41">More...</a><br/></td></tr>
-<tr class="separator:gad5d7889de04d9c50ef1e4f1dadf5bb41"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga6d57c4b101c5c119fb685870feca2b7d"><td class="memItemLeft" align="right" valign="top">const VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#ga6d57c4b101c5c119fb685870feca2b7d">imageArrayGet</a> (const VimosImageArray *array, int index)</td></tr>
-<tr class="memdesc:ga6d57c4b101c5c119fb685870feca2b7d"><td class="mdescLeft"> </td><td class="mdescRight">The function retrieves an image from an image array object.  <a href="#ga6d57c4b101c5c119fb685870feca2b7d">More...</a><br/></td></tr>
-<tr class="separator:ga6d57c4b101c5c119fb685870feca2b7d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1fafb2745fbbb5734993e490faacdb23"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#ga1fafb2745fbbb5734993e490faacdb23">imageArraySet</a> (VimosImageArray *array, int index, const VimosImage *image)</td></tr>
-<tr class="memdesc:ga1fafb2745fbbb5734993e490faacdb23"><td class="mdescLeft"> </td><td class="mdescRight">Set an element of an image array.  <a href="#ga1fafb2745fbbb5734993e490faacdb23">More...</a><br/></td></tr>
-<tr class="separator:ga1fafb2745fbbb5734993e490faacdb23"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae51b2b46ac010c949a5774b368466f49"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#gae51b2b46ac010c949a5774b368466f49">imageArrayRemove</a> (VimosImageArray *array, int index)</td></tr>
-<tr class="memdesc:gae51b2b46ac010c949a5774b368466f49"><td class="mdescLeft"> </td><td class="mdescRight">Remove an image from an image array object.  <a href="#gae51b2b46ac010c949a5774b368466f49">More...</a><br/></td></tr>
-<tr class="separator:gae51b2b46ac010c949a5774b368466f49"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gab8e595b6e20501ab5fbb62aba54dfda5"><td class="memItemLeft" align="right" valign="top">VimosImage ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VimosImageArray.html#gab8e595b6e20501ab5fbb62aba54dfda5">imageArrayGetData</a> (const VimosImageArray *array)</td></tr>
-<tr class="memdesc:gab8e595b6e20501ab5fbb62aba54dfda5"><td class="mdescLeft"> </td><td class="mdescRight">Get reference to the array objects data.  <a href="#gab8e595b6e20501ab5fbb62aba54dfda5">More...</a><br/></td></tr>
-<tr class="separator:gab8e595b6e20501ab5fbb62aba54dfda5"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>The module <b>VimosImageArray</b> implements a simple, fixed size array container for images. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga29bc5e7cedf7b9bef4aafd7efd43a9b7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void deleteImageArray </td>
-          <td>(</td>
-          <td class="paramtype">VimosImageArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Delete an image array object. </p>
-<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object to be deallocated.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function deallocates the image array object <em>array</em>. The array object must be empty.</p>
-<dl class="section note"><dt>Note</dt><dd>If <em>array</em> is <code>NULL</code> nothing is done.</dd></dl>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__VimosImageArray.html#ga1f6e30359ce270a7d4c8540b2605f7f1" title="Destroy an image array object.">destroyImageArray</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga1f6e30359ce270a7d4c8540b2605f7f1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void destroyImageArray </td>
-          <td>(</td>
-          <td class="paramtype">VimosImageArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Destroy an image array object. </p>
-<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object to be destroyed.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function works as <b><a class="el" href="group__VimosImageArray.html#ga29bc5e7cedf7b9bef4aafd7efd43a9b7" title="Delete an image array object.">deleteImageArray()</a></b>, but any image which is stored in the array is deallocated prior to the deallocation of the array object <em>array</em>.</p>
-<dl class="section note"><dt>Note</dt><dd>If <em>array</em> is <code>NULL</code> nothing is done.</dd></dl>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__VimosImageArray.html#ga29bc5e7cedf7b9bef4aafd7efd43a9b7" title="Delete an image array object.">deleteImageArray</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaa1dace77c323aeb845fe064816f52d87"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int imageArrayCapacity </td>
-          <td>(</td>
-          <td class="paramtype">const VimosImageArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the capacity of an image array. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns the image array's capacity.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function reports the capacity of the array <em>array</em>, i.e. the maximum number of images which could be stored in the array.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga6d57c4b101c5c119fb685870feca2b7d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const VimosImage* imageArrayGet </td>
-          <td>(</td>
-          <td class="paramtype">const VimosImageArray * </td>
-          <td class="paramname"><em>array</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>index</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>The function retrieves an image from an image array object. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns a handle to a stored image. If no image is associated to an array element <code>NULL</code> is returned.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object. </td></tr>
-    <tr><td class="paramname">index</td><td>Array element offset.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function returns a reference to the image stored in the array <em>array</em>. The offset <em>index</em> is the usual C array offset, i.e. the first image is accessed by passing 0 as <em>index</em>.</p>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__VimosImageArray.html#ga1fafb2745fbbb5734993e490faacdb23" title="Set an element of an image array.">imageArraySet</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gab8e595b6e20501ab5fbb62aba54dfda5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage** imageArrayGetData </td>
-          <td>(</td>
-          <td class="paramtype">const VimosImageArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get reference to the array objects data. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns the reference to the array data block. This function always succeeds.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function returns a handle of the the array's data block.</p>
-<dl class="section note"><dt>Note</dt><dd>This function should be used with care.</dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga1915d77775f8125ae9e9fdb9afa2f1db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int imageArrayIsEmpty </td>
-          <td>(</td>
-          <td class="paramtype">const VimosImageArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Check if an image array object is empty. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>VM_TRUE</code> if the array is empty, otherwise <code>VM_FALSE</code> is returned.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object to be tested.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function checks if any image is stored in the array.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gae51b2b46ac010c949a5774b368466f49"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* imageArrayRemove </td>
-          <td>(</td>
-          <td class="paramtype">VimosImageArray * </td>
-          <td class="paramname"><em>array</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>index</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Remove an image from an image array object. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns a handle to the removed image.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object. </td></tr>
-    <tr><td class="paramname">index</td><td>Array element offset.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function removes the image stored at the array offset <em>index</em> and returns a reference to the removed image. The array element is reset to <code>NULL</code>. If no image was stored in the array element the function succeeds and the returned reference is <code>NULL</code>.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga1fafb2745fbbb5734993e490faacdb23"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int imageArraySet </td>
-          <td>(</td>
-          <td class="paramtype">VimosImageArray * </td>
-          <td class="paramname"><em>array</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const VimosImage * </td>
-          <td class="paramname"><em>image</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Set an element of an image array. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>EXIT_SUCCESS</code> if no error occurred, or <code>EXIT_FAILURE</code> otherwise.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object. </td></tr>
-    <tr><td class="paramname">index</td><td>Array element offset. </td></tr>
-    <tr><td class="paramname">image</td><td>Image object.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The functions stores the image <em>image</em> into the element with offset <em>index</em> of the image array object <em>array</em>. To be successfull <em>index</em> must be equal or larger than 0, smaller than the array's capacity and the array element must not already reference another image. If a stored image should be replaced by another image first use <b><a class="el" href="group__VimosImageArray.html#gae51b2b46ac010c949a5774b368466f49" title="Remove an image from an image array  [...]
-<dl class="section note"><dt>Note</dt><dd>One cannot use this function to reset an array element, i.e. one cannot pass <code>NULL</code> as image <em>image</em>.</dd></dl>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__VimosImageArray.html#ga6d57c4b101c5c119fb685870feca2b7d" title="The function retrieves an image from an image array object.">imageArrayGet</a>, <a class="el" href="group__VimosImageArray.html#gae51b2b46ac010c949a5774b368466f49" title="Remove an image from an image array object.">imageArrayRemove</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gad5d7889de04d9c50ef1e4f1dadf5bb41"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int imageArraySize </td>
-          <td>(</td>
-          <td class="paramtype">const VimosImageArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the number of images stored in an image array. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns the number of stored images.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Image array object.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function retrieves the number of images currently stored in the image array object <em>array</em>. The reported number is not the array objects capacity, i.e. the maximum number of images which could be stuffed into the array.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga298df2fa12a3bedd03f794a2ee2746e2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImageArray* newImageArray </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>size</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create an empty image array of appropriate size. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns the pointer to the allocated array object if no error occurred, or <code>NULL</code> otherwise.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">size</td><td>Size of the image array.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function allocates the memory for an image array of <em>size</em> elements. All array elements are initialized to to <code>NULL</code>.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__forsPaf.html b/html/group__forsPaf.html
deleted file mode 100644
index ac2ac37..0000000
--- a/html/group__forsPaf.html
+++ /dev/null
@@ -1,474 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: PAF File 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">PAF File Utilities</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga5d62f23bc1a07c4136aecccfcea2459d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#ga5d62f23bc1a07c4136aecccfcea2459d">deleteForsPAF</a> (ForsPAF *paf)</td></tr>
-<tr class="memdesc:ga5d62f23bc1a07c4136aecccfcea2459d"><td class="mdescLeft"> </td><td class="mdescRight">Destroy a PAF object.  <a href="#ga5d62f23bc1a07c4136aecccfcea2459d">More...</a><br/></td></tr>
-<tr class="separator:ga5d62f23bc1a07c4136aecccfcea2459d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga7aef24280b6605d6dfbb063bab8da2f4"><td class="memItemLeft" align="right" valign="top">ForsPAF * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#ga7aef24280b6605d6dfbb063bab8da2f4">newForsPAF</a> (const char *name, const char *type, const char *id, const char *desc)</td></tr>
-<tr class="memdesc:ga7aef24280b6605d6dfbb063bab8da2f4"><td class="mdescLeft"> </td><td class="mdescRight">Create a new PAF object.  <a href="#ga7aef24280b6605d6dfbb063bab8da2f4">More...</a><br/></td></tr>
-<tr class="separator:ga7aef24280b6605d6dfbb063bab8da2f4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga84dbb309c51aee01813cc9b90dde96cb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#ga84dbb309c51aee01813cc9b90dde96cb">forsPAFIsEmpty</a> (const ForsPAF *paf)</td></tr>
-<tr class="memdesc:ga84dbb309c51aee01813cc9b90dde96cb"><td class="mdescLeft"> </td><td class="mdescRight">Check whether a PAF object is empty.  <a href="#ga84dbb309c51aee01813cc9b90dde96cb">More...</a><br/></td></tr>
-<tr class="separator:ga84dbb309c51aee01813cc9b90dde96cb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga38a21baf09dfb452f820eb2aded1a6c0"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#ga38a21baf09dfb452f820eb2aded1a6c0">forsPAFGetSize</a> (const ForsPAF *paf)</td></tr>
-<tr class="memdesc:ga38a21baf09dfb452f820eb2aded1a6c0"><td class="mdescLeft"> </td><td class="mdescRight">Get the actual size of the given PAF object.  <a href="#ga38a21baf09dfb452f820eb2aded1a6c0">More...</a><br/></td></tr>
-<tr class="separator:ga38a21baf09dfb452f820eb2aded1a6c0"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1b521862ddce4498cc3a7b473c12ab37"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#ga1b521862ddce4498cc3a7b473c12ab37">forsPAFIsValidName</a> (const char *name)</td></tr>
-<tr class="memdesc:ga1b521862ddce4498cc3a7b473c12ab37"><td class="mdescLeft"> </td><td class="mdescRight">Verify that the given string is a valid PAF keyword.  <a href="#ga1b521862ddce4498cc3a7b473c12ab37">More...</a><br/></td></tr>
-<tr class="separator:ga1b521862ddce4498cc3a7b473c12ab37"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaac413514350c777efbd5ed0e1cc26778"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#gaac413514350c777efbd5ed0e1cc26778">forsPAFAppendBool</a> (ForsPAF *paf, const char *name, int value, const char *comment)</td></tr>
-<tr class="memdesc:gaac413514350c777efbd5ed0e1cc26778"><td class="mdescLeft"> </td><td class="mdescRight">Append a boolean value to a PAF object.  <a href="#gaac413514350c777efbd5ed0e1cc26778">More...</a><br/></td></tr>
-<tr class="separator:gaac413514350c777efbd5ed0e1cc26778"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae15f3d1ee9b849039f26cd82d3568913"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#gae15f3d1ee9b849039f26cd82d3568913">forsPAFAppendInt</a> (ForsPAF *paf, const char *name, int value, const char *comment)</td></tr>
-<tr class="memdesc:gae15f3d1ee9b849039f26cd82d3568913"><td class="mdescLeft"> </td><td class="mdescRight">Append a integer value to a PAF object.  <a href="#gae15f3d1ee9b849039f26cd82d3568913">More...</a><br/></td></tr>
-<tr class="separator:gae15f3d1ee9b849039f26cd82d3568913"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga83aca84f4fb88e3db7a233b442cd644a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#ga83aca84f4fb88e3db7a233b442cd644a">forsPAFAppendDouble</a> (ForsPAF *paf, const char *name, double value, const char *comment)</td></tr>
-<tr class="memdesc:ga83aca84f4fb88e3db7a233b442cd644a"><td class="mdescLeft"> </td><td class="mdescRight">Append a double value to a PAF object.  <a href="#ga83aca84f4fb88e3db7a233b442cd644a">More...</a><br/></td></tr>
-<tr class="separator:ga83aca84f4fb88e3db7a233b442cd644a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad23a2cd11683bd001f954383a282b9c3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#gad23a2cd11683bd001f954383a282b9c3">forsPAFAppendString</a> (ForsPAF *paf, const char *name, const char *value, const char *comment)</td></tr>
-<tr class="memdesc:gad23a2cd11683bd001f954383a282b9c3"><td class="mdescLeft"> </td><td class="mdescRight">Append a string value to a PAF object.  <a href="#gad23a2cd11683bd001f954383a282b9c3">More...</a><br/></td></tr>
-<tr class="separator:gad23a2cd11683bd001f954383a282b9c3"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga3e16371f03930ae272a5454ad6100f83"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsPaf.html#ga3e16371f03930ae272a5454ad6100f83">forsPAFWrite</a> (ForsPAF *paf)</td></tr>
-<tr class="memdesc:ga3e16371f03930ae272a5454ad6100f83"><td class="mdescLeft"> </td><td class="mdescRight">Write a PAF object to a disk file.  <a href="#ga3e16371f03930ae272a5454ad6100f83">More...</a><br/></td></tr>
-<tr class="separator:ga3e16371f03930ae272a5454ad6100f83"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>TBD </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga5d62f23bc1a07c4136aecccfcea2459d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void deleteForsPAF </td>
-          <td>(</td>
-          <td class="paramtype">ForsPAF * </td>
-          <td class="paramname"><em>paf</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Destroy a PAF object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">paf</td><td>PAF object to destroy.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
-<p>The function deallocates all memory used for the PAF object <em>paf</em>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaac413514350c777efbd5ed0e1cc26778"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int forsPAFAppendBool </td>
-          <td>(</td>
-          <td class="paramtype">ForsPAF * </td>
-          <td class="paramname"><em>paf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Append a boolean value to a PAF object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">paf</td><td>PAF object to which the record is appended. </td></tr>
-    <tr><td class="paramname">name</td><td>Parameter name. </td></tr>
-    <tr><td class="paramname">value</td><td>Parameter value. </td></tr>
-    <tr><td class="paramname">comment</td><td>Parameter description.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>EXIT_SUCCESS</code> if the record was successfully appended, or <code>EXIT_FAILURE</code> otherwise.</dd></dl>
-<p>The function creates a new PAF record for the given name, value and comment and appends it to the record list of the PAF object <em>paf</em>. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga83aca84f4fb88e3db7a233b442cd644a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int forsPAFAppendDouble </td>
-          <td>(</td>
-          <td class="paramtype">ForsPAF * </td>
-          <td class="paramname"><em>paf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Append a double value to a PAF object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">paf</td><td>PAF object to which the record is appended. </td></tr>
-    <tr><td class="paramname">name</td><td>Parameter name. </td></tr>
-    <tr><td class="paramname">value</td><td>Parameter value. </td></tr>
-    <tr><td class="paramname">comment</td><td>Parameter description.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>EXIT_SUCCESS</code> if the record was successfully appended, or <code>EXIT_FAILURE</code> otherwise.</dd></dl>
-<p>The function creates a new PAF record for the given name, value and comment and appends it to the record list of the PAF object <em>paf</em>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae15f3d1ee9b849039f26cd82d3568913"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int forsPAFAppendInt </td>
-          <td>(</td>
-          <td class="paramtype">ForsPAF * </td>
-          <td class="paramname"><em>paf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Append a integer value to a PAF object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">paf</td><td>PAF object to which the record is appended. </td></tr>
-    <tr><td class="paramname">name</td><td>Parameter name. </td></tr>
-    <tr><td class="paramname">value</td><td>Parameter value. </td></tr>
-    <tr><td class="paramname">comment</td><td>Parameter description.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>EXIT_SUCCESS</code> if the record was successfully appended, or <code>EXIT_FAILURE</code> otherwise.</dd></dl>
-<p>The function creates a new PAF record for the given name, value and comment and appends it to the record list of the PAF object <em>paf</em>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad23a2cd11683bd001f954383a282b9c3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int forsPAFAppendString </td>
-          <td>(</td>
-          <td class="paramtype">ForsPAF * </td>
-          <td class="paramname"><em>paf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Append a string value to a PAF object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">paf</td><td>PAF object to which the record is appended. </td></tr>
-    <tr><td class="paramname">name</td><td>Parameter name. </td></tr>
-    <tr><td class="paramname">value</td><td>Parameter value string. </td></tr>
-    <tr><td class="paramname">comment</td><td>Parameter description.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>EXIT_SUCCESS</code> if the record was successfully appended, or <code>EXIT_FAILURE</code> otherwise.</dd></dl>
-<p>The function creates a new PAF record for the given name, value and comment and appends it to the record list of the PAF object <em>paf</em>. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga38a21baf09dfb452f820eb2aded1a6c0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t forsPAFGetSize </td>
-          <td>(</td>
-          <td class="paramtype">const ForsPAF * </td>
-          <td class="paramname"><em>paf</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the actual size of the given PAF object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">paf</td><td>PAF object to query.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The number of PAF records currently stored in the record list, or 0 if the PAF object is empty.</dd></dl>
-<p>The function computes the actual size, i.e. the number of parmeter records, stored in the record list of the PAF object <em>paf</em>. Header entries do not contribute the size of a PAF object. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga84dbb309c51aee01813cc9b90dde96cb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int forsPAFIsEmpty </td>
-          <td>(</td>
-          <td class="paramtype">const ForsPAF * </td>
-          <td class="paramname"><em>paf</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Check whether a PAF object is empty. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">paf</td><td>PAF object to query.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 1 if <em>paf</em> is empty, otherwise the return value is 0.</dd></dl>
-<p>The function checks whether the record list of the PAF object <em>paf</em> contains any records. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1b521862ddce4498cc3a7b473c12ab37"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int forsPAFIsValidName </td>
-          <td>(</td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Verify that the given string is a valid PAF keyword. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">name</td><td>Name string to verify.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 1 if the given name is valid, if not 0 is returned.</dd></dl>
-<p>The function does a simple check on the given string. To be a valid PAF keyword the name should start with a letter, it should only contain upper case letters and it may not contain blanks. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga3e16371f03930ae272a5454ad6100f83"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int forsPAFWrite </td>
-          <td>(</td>
-          <td class="paramtype">ForsPAF * </td>
-          <td class="paramname"><em>paf</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Write a PAF object to a disk file. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">paf</td><td>PAF object to save.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>EXIT_SUCCESS</code> if the object was successfully written to the file, otherwise <code>EXIT_FAILURE</code> is returned.</dd></dl>
-<p>The function converts the PAF object into an ASCII file on disk, using the name used to create the PAF object as a file name for the disk file. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7aef24280b6605d6dfbb063bab8da2f4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ForsPAF* newForsPAF </td>
-          <td>(</td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </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>id</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>desc</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create a new PAF object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">name</td><td>Parameter file name. </td></tr>
-    <tr><td class="paramname">type</td><td>Parameter file type. </td></tr>
-    <tr><td class="paramname">id</td><td>Parameter file identifier string. </td></tr>
-    <tr><td class="paramname">desc</td><td>Short description for the parameter file.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The handle for the newly created PAF object.</dd></dl>
-<p>The function allocates the memory for a PAF object and initializes the PAF object with the strings <em>name</em>, <em>type</em>, <em>id</em> and <em>desc</em> passed to the function, where <em>id</em> and <em>desc</em> may be omitted, i.e. <code>NULL</code> maybe passed for <em>id</em> and/or <em>desc</em>. The argument <em>name</em> will be used as the file name in case the PAF object is written to a disk file. </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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__fors__tools.html b/html/group__fors__tools.html
deleted file mode 100644
index 3599d24..0000000
--- a/html/group__fors__tools.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"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: High level 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">High level functions</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga0a6d06a61e61510f9bcf629f00fa160b"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__fors__tools.html#ga0a6d06a61e61510f9bcf629f00fa160b">fors_get_airmass</a> (const cpl_propertylist *header)</td></tr>
-<tr class="memdesc:ga0a6d06a61e61510f9bcf629f00fa160b"><td class="mdescLeft"> </td><td class="mdescRight">Compute average airmass.  <a href="#ga0a6d06a61e61510f9bcf629f00fa160b">More...</a><br/></td></tr>
-<tr class="separator:ga0a6d06a61e61510f9bcf629f00fa160b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gac3759b058af73511a69998299a11a40f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac3759b058af73511a69998299a11a40f"></a>
-double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__fors__tools.html#gac3759b058af73511a69998299a11a40f">fors_tools_get_kth_double</a> (double *a, int n, int k)</td></tr>
-<tr class="memdesc:gac3759b058af73511a69998299a11a40f"><td class="mdescLeft"> </td><td class="mdescRight">Same as cpl_tools_get_kth_double. <br/></td></tr>
-<tr class="separator:gac3759b058af73511a69998299a11a40f"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga0a6d06a61e61510f9bcf629f00fa160b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double fors_get_airmass </td>
-          <td>(</td>
-          <td class="paramtype">const cpl_propertylist * </td>
-          <td class="paramname"><em>header</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Compute average airmass. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>header to read from </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>average airmass </dd></dl>
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__forsdfs.html b/html/group__forsdfs.html
deleted file mode 100644
index 2807363..0000000
--- a/html/group__forsdfs.html
+++ /dev/null
@@ -1,867 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: DFS 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">DFS Utilities</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga09890733c10deff040e30c6920f26b22"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga09890733c10deff040e30c6920f26b22">dfs_get_parameter_int</a> (cpl_parameterlist *parlist, const char *name, const cpl_table *defaults)</td></tr>
-<tr class="memdesc:ga09890733c10deff040e30c6920f26b22"><td class="mdescLeft"> </td><td class="mdescRight">Reading a recipe integer parameter value.  <a href="#ga09890733c10deff040e30c6920f26b22">More...</a><br/></td></tr>
-<tr class="separator:ga09890733c10deff040e30c6920f26b22"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gab02dcd2b3ed62a805caca41d11705b96"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#gab02dcd2b3ed62a805caca41d11705b96">dfs_get_parameter_double</a> (cpl_parameterlist *parlist, const char *name, const cpl_table *defaults)</td></tr>
-<tr class="memdesc:gab02dcd2b3ed62a805caca41d11705b96"><td class="mdescLeft"> </td><td class="mdescRight">Reading a recipe double parameter value.  <a href="#gab02dcd2b3ed62a805caca41d11705b96">More...</a><br/></td></tr>
-<tr class="separator:gab02dcd2b3ed62a805caca41d11705b96"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga57c7568085340fc81eeafec1a1092197"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga57c7568085340fc81eeafec1a1092197">dfs_get_parameter_string</a> (cpl_parameterlist *parlist, const char *name, const cpl_table *defaults)</td></tr>
-<tr class="memdesc:ga57c7568085340fc81eeafec1a1092197"><td class="mdescLeft"> </td><td class="mdescRight">Reading a recipe string parameter value.  <a href="#ga57c7568085340fc81eeafec1a1092197">More...</a><br/></td></tr>
-<tr class="separator:ga57c7568085340fc81eeafec1a1092197"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga48768c59ba1e2bf1776ad4770ab09fbb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga48768c59ba1e2bf1776ad4770ab09fbb">dfs_get_parameter_bool</a> (cpl_parameterlist *parlist, const char *name, const cpl_table *defaults)</td></tr>
-<tr class="memdesc:ga48768c59ba1e2bf1776ad4770ab09fbb"><td class="mdescLeft"> </td><td class="mdescRight">Reading a recipe boolean parameter value.  <a href="#ga48768c59ba1e2bf1776ad4770ab09fbb">More...</a><br/></td></tr>
-<tr class="separator:ga48768c59ba1e2bf1776ad4770ab09fbb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae0dc63f80258d73a93d35e41b2a8b367"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#gae0dc63f80258d73a93d35e41b2a8b367">dfs_get_parameter_bool_const</a> (const cpl_parameterlist *parlist, const char *name)</td></tr>
-<tr class="separator:gae0dc63f80258d73a93d35e41b2a8b367"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaef153fed14f117971d69d1d92fa9a9e6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#gaef153fed14f117971d69d1d92fa9a9e6">dfs_get_parameter_int_const</a> (const cpl_parameterlist *parlist, const char *name)</td></tr>
-<tr class="separator:gaef153fed14f117971d69d1d92fa9a9e6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga35b9237db0837319a04e85e6cf9dd50d"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga35b9237db0837319a04e85e6cf9dd50d">dfs_get_parameter_double_const</a> (const cpl_parameterlist *parlist, const char *name)</td></tr>
-<tr class="separator:ga35b9237db0837319a04e85e6cf9dd50d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga8cb34aee7c26915499cbfb7d9d38b9cd"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga8cb34aee7c26915499cbfb7d9d38b9cd">dfs_get_parameter_string_const</a> (const cpl_parameterlist *parlist, const char *name)</td></tr>
-<tr class="separator:ga8cb34aee7c26915499cbfb7d9d38b9cd"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga326130afab421ef30992def2a444d660"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga326130afab421ef30992def2a444d660">dfs_load_image</a> (cpl_frameset *frameset, const char *category, cpl_type type, int ext, int calib)</td></tr>
-<tr class="memdesc:ga326130afab421ef30992def2a444d660"><td class="mdescLeft"> </td><td class="mdescRight">Loading image data of given category.  <a href="#ga326130afab421ef30992def2a444d660">More...</a><br/></td></tr>
-<tr class="separator:ga326130afab421ef30992def2a444d660"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga010c17942448386415d6e51adebae649"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga010c17942448386415d6e51adebae649">dfs_load_table</a> (cpl_frameset *frameset, const char *category, int ext)</td></tr>
-<tr class="memdesc:ga010c17942448386415d6e51adebae649"><td class="mdescLeft"> </td><td class="mdescRight">Loading table data of given category.  <a href="#ga010c17942448386415d6e51adebae649">More...</a><br/></td></tr>
-<tr class="separator:ga010c17942448386415d6e51adebae649"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gadc48c0a3a86ef31943bf2da28ab136cf"><td class="memItemLeft" align="right" valign="top">cpl_propertylist * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#gadc48c0a3a86ef31943bf2da28ab136cf">dfs_load_header</a> (cpl_frameset *frameset, const char *category, int ext)</td></tr>
-<tr class="memdesc:gadc48c0a3a86ef31943bf2da28ab136cf"><td class="mdescLeft"> </td><td class="mdescRight">Loading header associated to data of given category.  <a href="#gadc48c0a3a86ef31943bf2da28ab136cf">More...</a><br/></td></tr>
-<tr class="separator:gadc48c0a3a86ef31943bf2da28ab136cf"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga6ad37d6af14278e58f72e820427158c5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga6ad37d6af14278e58f72e820427158c5">dfs_save_image</a> (cpl_frameset *frameset, const cpl_image *image, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const char *version)</td></tr>
-<tr class="memdesc:ga6ad37d6af14278e58f72e820427158c5"><td class="mdescLeft"> </td><td class="mdescRight">Saving image data of given category.  <a href="#ga6ad37d6af14278e58f72e820427158c5">More...</a><br/></td></tr>
-<tr class="separator:ga6ad37d6af14278e58f72e820427158c5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaf327994c9f97caba177eef18692b1824"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#gaf327994c9f97caba177eef18692b1824">dfs_save_table</a> (cpl_frameset *frameset, const cpl_table *table, const char *category, cpl_propertylist *header, const cpl_parameterlist *parlist, const char *recipename, const char *version)</td></tr>
-<tr class="memdesc:gaf327994c9f97caba177eef18692b1824"><td class="mdescLeft"> </td><td class="mdescRight">Saving table data of given category.  <a href="#gaf327994c9f97caba177eef18692b1824">More...</a><br/></td></tr>
-<tr class="separator:gaf327994c9f97caba177eef18692b1824"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae17908f224eaaa5696f0dc084a964435"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#gae17908f224eaaa5696f0dc084a964435">dfs_equal_keyword</a> (cpl_frameset *frameset, const char *keyword)</td></tr>
-<tr class="memdesc:gae17908f224eaaa5696f0dc084a964435"><td class="mdescLeft"> </td><td class="mdescRight">Saving table data of given category.  <a href="#gae17908f224eaaa5696f0dc084a964435">More...</a><br/></td></tr>
-<tr class="separator:gae17908f224eaaa5696f0dc084a964435"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga9fe80dfc0b048b03eb846f68de836489"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga9fe80dfc0b048b03eb846f68de836489">dfs_save_table_ext</a> (cpl_table *table, const char *tag, cpl_propertylist *extheader)</td></tr>
-<tr class="memdesc:ga9fe80dfc0b048b03eb846f68de836489"><td class="mdescLeft"> </td><td class="mdescRight">Save a table in a extension (different from the first one)  <a href="#ga9fe80dfc0b048b03eb846f68de836489">More...</a><br/></td></tr>
-<tr class="separator:ga9fe80dfc0b048b03eb846f68de836489"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga8c69e34b93aa2964cf10be637a4ee9ee"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga8c69e34b93aa2964cf10be637a4ee9ee">dfs_save_image_ext</a> (cpl_image *image, const char *tag, cpl_propertylist *extheader)</td></tr>
-<tr class="memdesc:ga8c69e34b93aa2964cf10be637a4ee9ee"><td class="mdescLeft"> </td><td class="mdescRight">Save an image in a extension.  <a href="#ga8c69e34b93aa2964cf10be637a4ee9ee">More...</a><br/></td></tr>
-<tr class="separator:ga8c69e34b93aa2964cf10be637a4ee9ee"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga13a196799766da8b28cb89d4ea54ca8b"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsdfs.html#ga13a196799766da8b28cb89d4ea54ca8b">dfs_save_image_null</a> (cpl_frameset *frameset, cpl_parameterlist *parlist, const char *tag, const char *recipename, const char *version)</td></tr>
-<tr class="memdesc:ga13a196799766da8b28cb89d4ea54ca8b"><td class="mdescLeft"> </td><td class="mdescRight">Save a product with an empty primary extension.  <a href="#ga13a196799766da8b28cb89d4ea54ca8b">More...</a><br/></td></tr>
-<tr class="separator:ga13a196799766da8b28cb89d4ea54ca8b"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>The module fors_dfs collects medium level functions related to DFS data IO. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gae17908f224eaaa5696f0dc084a964435"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dfs_equal_keyword </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>keyword</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Saving table data of given category. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">frameset</td><td>The input set-of-frames </td></tr>
-    <tr><td class="paramname">keyword</td><td>The keyword that should be identical in all frames</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 if consistent, 0 if inconsistent</dd></dl>
-<p>The specified FITS header <em>keyword</em> should be identical in all the input frames. Only the FITS primary header is examined. If <em>keyword</em> is missing this is considered a case of identical keywords. Only integer and string keywords are compared: in case of other types 0 is always returned. If a file is not FITS, it is ignored. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga48768c59ba1e2bf1776ad4770ab09fbb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dfs_get_parameter_bool </td>
-          <td>(</td>
-          <td class="paramtype">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>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const cpl_table * </td>
-          <td class="paramname"><em>defaults</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Reading a recipe boolean parameter value. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">parlist</td><td>The input parameter list </td></tr>
-    <tr><td class="paramname">name</td><td>The parameter name </td></tr>
-    <tr><td class="paramname">defaults</td><td>The defaults table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The parameter value</dd></dl>
-<p>This function is just a wrapper to the basic CPL function <code>cpl_parameter_get_bool()</code>, but if a <em>defaults</em> table is passed then the parameter value is searched in that table. If it is found, the parameter value will be modified also on the input parameter list before being returned, so that it would appear on the recipe products headers. If the parameter is not found, then the parameter value is simply read from the input parameter list. If a <em>defaults</em> table i [...]
-
-</div>
-</div>
-<a class="anchor" id="gae0dc63f80258d73a93d35e41b2a8b367"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dfs_get_parameter_bool_const </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>name</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__forsdfs.html#ga48768c59ba1e2bf1776ad4770ab09fbb" title="Reading a recipe boolean parameter value.">dfs_get_parameter_bool</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gab02dcd2b3ed62a805caca41d11705b96"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double dfs_get_parameter_double </td>
-          <td>(</td>
-          <td class="paramtype">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>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const cpl_table * </td>
-          <td class="paramname"><em>defaults</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Reading a recipe double parameter value. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">parlist</td><td>The input parameter list </td></tr>
-    <tr><td class="paramname">name</td><td>The parameter name </td></tr>
-    <tr><td class="paramname">defaults</td><td>The defaults table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The parameter value</dd></dl>
-<p>This function is just a wrapper to the basic CPL function <code>cpl_parameter_get_double()</code>, but if a <em>defaults</em> table is passed then the parameter value is searched in that table. If it is found, the parameter value will be modified also on the input parameter list before being returned, so that it would appear on the recipe products headers. If the parameter is not found, then the parameter value is simply read from the input parameter list. If a <em>defaults</em> table [...]
-
-</div>
-</div>
-<a class="anchor" id="ga35b9237db0837319a04e85e6cf9dd50d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double dfs_get_parameter_double_const </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>name</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__forsdfs.html#gab02dcd2b3ed62a805caca41d11705b96" title="Reading a recipe double parameter value.">dfs_get_parameter_double</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga09890733c10deff040e30c6920f26b22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dfs_get_parameter_int </td>
-          <td>(</td>
-          <td class="paramtype">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>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const cpl_table * </td>
-          <td class="paramname"><em>defaults</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Reading a recipe integer parameter value. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">parlist</td><td>The input parameter list </td></tr>
-    <tr><td class="paramname">name</td><td>The parameter name </td></tr>
-    <tr><td class="paramname">defaults</td><td>The defaults table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The parameter value</dd></dl>
-<p>This function is just a wrapper to the basic CPL function <code>cpl_parameter_get_int()</code>, but if a <em>defaults</em> table is passed then the parameter value is searched in that table. If it is found, the parameter value will be modified also on the input parameter list before being returned, so that it would appear on the recipe products headers. If the parameter is not found, then the parameter value is simply read from the input parameter list. If a <em>defaults</em> table is [...]
-
-</div>
-</div>
-<a class="anchor" id="gaef153fed14f117971d69d1d92fa9a9e6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dfs_get_parameter_int_const </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>name</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__forsdfs.html#ga09890733c10deff040e30c6920f26b22" title="Reading a recipe integer parameter value.">dfs_get_parameter_int</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga57c7568085340fc81eeafec1a1092197"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* dfs_get_parameter_string </td>
-          <td>(</td>
-          <td class="paramtype">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>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const cpl_table * </td>
-          <td class="paramname"><em>defaults</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Reading a recipe string parameter value. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">parlist</td><td>The input parameter list </td></tr>
-    <tr><td class="paramname">name</td><td>The parameter name </td></tr>
-    <tr><td class="paramname">defaults</td><td>The defaults table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The parameter value</dd></dl>
-<p>This function is just a wrapper to the basic CPL function <code>cpl_parameter_get_string()</code>, but if a <em>defaults</em> table is passed then the parameter value is searched in that table. If it is found, the parameter value will be modified also on the input parameter list before being returned, so that it would appear on the recipe products headers. If the parameter is not found, then the parameter value is simply read from the input parameter list. If a <em>defaults</em> table [...]
-
-</div>
-</div>
-<a class="anchor" id="ga8cb34aee7c26915499cbfb7d9d38b9cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* dfs_get_parameter_string_const </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>name</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__forsdfs.html#ga57c7568085340fc81eeafec1a1092197" title="Reading a recipe string parameter value.">dfs_get_parameter_string</a> </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gadc48c0a3a86ef31943bf2da28ab136cf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_propertylist* dfs_load_header </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>category</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ext</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Loading header associated to data of given category. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">frameset</td><td>The input set-of-frames </td></tr>
-    <tr><td class="paramname">category</td><td>The category of the frame containing the header </td></tr>
-    <tr><td class="paramname">ext</td><td>The FITS file extension to access (first = 0)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The loaded property list</dd></dl>
-<p>This function is just a wrapper to the basic CPL functions <code>cpl_frameset_find()</code> and <code>cpl_propertylist_load()</code>, as they typically are called every time a header should be loaded by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.</p>
-<p>In case of any error, a <code>NULL</code> pointer is returned. The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to <code>cpl_error_get_where()</code> ) is not modified by this function, and therefore the function where the failure occurred is also reported. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga326130afab421ef30992def2a444d660"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* dfs_load_image </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>category</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">int </td>
-          <td class="paramname"><em>ext</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>calib</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Loading image data of given category. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">frameset</td><td>The input set-of-frames </td></tr>
-    <tr><td class="paramname">category</td><td>The category of the image to load </td></tr>
-    <tr><td class="paramname">type</td><td>The data type of the loaded image </td></tr>
-    <tr><td class="paramname">ext</td><td>The FITS file extension to access (first = 0) </td></tr>
-    <tr><td class="paramname">calib</td><td>1 = calibration file, 0 = raw file</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The loaded image</dd></dl>
-<p>This function is just a wrapper to the basic CPL functions <code>cpl_frameset_find()</code> and <code>cpl_image_load()</code>, as they typically are called every time an image should be loaded by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.</p>
-<p>In case of any error, a <code>NULL</code> pointer is returned. The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to <code>cpl_error_get_where()</code> ) is not modified by this function, and therefore the function where the failure occurred is also reported. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga010c17942448386415d6e51adebae649"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* dfs_load_table </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>category</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ext</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Loading table data of given category. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">frameset</td><td>The input set-of-frames </td></tr>
-    <tr><td class="paramname">category</td><td>The category of the table to load </td></tr>
-    <tr><td class="paramname">ext</td><td>The FITS file extension to access (first = 0)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The loaded table</dd></dl>
-<p>This function is just a wrapper to the basic CPL functions <code>cpl_frameset_find()</code> and <code>cpl_table_load()</code>, as they typically are called every time a table should be loaded by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.</p>
-<p>In case of any error, a <code>NULL</code> pointer is returned. The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to <code>cpl_error_get_where()</code> ) is not modified by this function, and therefore the function where the failure occurred is also reported. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6ad37d6af14278e58f72e820427158c5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dfs_save_image </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</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">const char * </td>
-          <td class="paramname"><em>category</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 char * </td>
-          <td class="paramname"><em>recipename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>version</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Saving image data of given category. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">frameset</td><td>The input set-of-frames (to be upgraded) </td></tr>
-    <tr><td class="paramname">image</td><td>The image to save </td></tr>
-    <tr><td class="paramname">category</td><td>The category of the image to save </td></tr>
-    <tr><td class="paramname">header</td><td>Header to input to cpl_dfs_setup_product_header() </td></tr>
-    <tr><td class="paramname">parlist</td><td>The recipe parameter list </td></tr>
-    <tr><td class="paramname">recipename</td><td>The name of the recipe </td></tr>
-    <tr><td class="paramname">version</td><td>The version of the pipeline</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 in case of success.</dd></dl>
-<p>This function is just a wrapper to the basic CPL functions that are routinely called every time an image product must be saved to disk by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.</p>
-<p>The output file name will be derived from the specified category by lowercasing it and by appending the suffix ".fits". The new image is properly logged in the input set-of-frames in case of success.</p>
-<p>The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to <code>cpl_error_get_where()</code> ) is not modified by this function, and therefore the function where the failure occurred is also reported. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga8c69e34b93aa2964cf10be637a4ee9ee"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code dfs_save_image_ext </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</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 class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_propertylist * </td>
-          <td class="paramname"><em>extheader</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Save an image in a extension. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image to save </td></tr>
-    <tr><td class="paramname">tag</td><td>PRO.CATG of the image </td></tr>
-    <tr><td class="paramname">extheader</td><td>Header for the extension or NULL</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE of corresponding cpl_error_code on error. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga13a196799766da8b28cb89d4ea54ca8b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code dfs_save_image_null </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">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>tag</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>recipename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>version</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Save a product with an empty primary extension. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">frameset</td><td>Frameset </td></tr>
-    <tr><td class="paramname">parlist</td><td>Parlist </td></tr>
-    <tr><td class="paramname">tag</td><td>PRO.CATG of the product </td></tr>
-    <tr><td class="paramname">recipename</td><td>Name of the recipe </td></tr>
-    <tr><td class="paramname">version</td><td>Version</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE of corresponding cpl_error_code on error. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaf327994c9f97caba177eef18692b1824"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dfs_save_table </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</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 char * </td>
-          <td class="paramname"><em>category</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 char * </td>
-          <td class="paramname"><em>recipename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>version</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Saving table data of given category. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">frameset</td><td>The input set-of-frames (to be upgraded) </td></tr>
-    <tr><td class="paramname">table</td><td>The table to save </td></tr>
-    <tr><td class="paramname">category</td><td>The category of the table to save </td></tr>
-    <tr><td class="paramname">header</td><td>Header to input to cpl_dfs_setup_product_header() </td></tr>
-    <tr><td class="paramname">parlist</td><td>The recipe parameter list </td></tr>
-    <tr><td class="paramname">recipename</td><td>The name of the recipe </td></tr>
-    <tr><td class="paramname">version</td><td>The version of the pipeline</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 in case of success.</dd></dl>
-<p>This function is just a wrapper to the basic CPL functions that are routinely called every time a table product must be saved to disk by a recipe. Error checking and proper messaging are also included here, to give a more readable look to the main recipe code.</p>
-<p>The output file name will be derived from the specified category by lowercasing it and by appending the suffix ".fits". The new table is properly logged in the input set-of-frames in case of success.</p>
-<p>The error codes that are set in this case are the same set by the above mentioned CPL functions. The "where" string (accessible via a call to <code>cpl_error_get_where()</code> ) is not modified by this function, and therefore the function where the failure occurred is also reported. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9fe80dfc0b048b03eb846f68de836489"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code dfs_save_table_ext </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>table</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 class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_propertylist * </td>
-          <td class="paramname"><em>extheader</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Save a table in a extension (different from the first one) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">table</td><td>Table to save </td></tr>
-    <tr><td class="paramname">tag</td><td>PRO.CATG of the table </td></tr>
-    <tr><td class="paramname">extheader</td><td>Header for the extension or NULL</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE of corresponding cpl_error_code on error. </dd></dl>
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__forsqc.html b/html/group__forsqc.html
deleted file mode 100644
index 509cf91..0000000
--- a/html/group__forsqc.html
+++ /dev/null
@@ -1,435 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: Quality Control 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Quality Control Utilities</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga5535c92a2c4ee1ae47ae1dff60e8d451"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsqc.html#ga5535c92a2c4ee1ae47ae1dff60e8d451">fors_qc_start_group</a> (cpl_propertylist *header, const char *qcdic_version, const char *instrument)</td></tr>
-<tr class="memdesc:ga5535c92a2c4ee1ae47ae1dff60e8d451"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a new QC1 group.  <a href="#ga5535c92a2c4ee1ae47ae1dff60e8d451">More...</a><br/></td></tr>
-<tr class="separator:ga5535c92a2c4ee1ae47ae1dff60e8d451"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0e0fb873edd66f0e42a50c229c650fda"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsqc.html#ga0e0fb873edd66f0e42a50c229c650fda">fors_qc_end_group</a> (void)</td></tr>
-<tr class="memdesc:ga0e0fb873edd66f0e42a50c229c650fda"><td class="mdescLeft"> </td><td class="mdescRight">Close current QC1 PAF file.  <a href="#ga0e0fb873edd66f0e42a50c229c650fda">More...</a><br/></td></tr>
-<tr class="separator:ga0e0fb873edd66f0e42a50c229c650fda"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga59a8c8fece17908fd39670a23b15d6f4"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsqc.html#ga59a8c8fece17908fd39670a23b15d6f4">fors_qc_write_string</a> (const char *name, const char *value, const char *comment, const char *instrument)</td></tr>
-<tr class="memdesc:ga59a8c8fece17908fd39670a23b15d6f4"><td class="mdescLeft"> </td><td class="mdescRight">Add string parameter to current QC1 group.  <a href="#ga59a8c8fece17908fd39670a23b15d6f4">More...</a><br/></td></tr>
-<tr class="separator:ga59a8c8fece17908fd39670a23b15d6f4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga8355f62ab2783be464130e8de57487b3"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsqc.html#ga8355f62ab2783be464130e8de57487b3">fors_qc_write_double</a> (const char *name, double value, const char *unit, const char *comment, const char *instrument)</td></tr>
-<tr class="memdesc:ga8355f62ab2783be464130e8de57487b3"><td class="mdescLeft"> </td><td class="mdescRight">Add double parameter to current QC1 group.  <a href="#ga8355f62ab2783be464130e8de57487b3">More...</a><br/></td></tr>
-<tr class="separator:ga8355f62ab2783be464130e8de57487b3"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0361cf5642de51ebf8e3412fffe70a56"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsqc.html#ga0361cf5642de51ebf8e3412fffe70a56">fors_qc_keyword_to_paf</a> (cpl_propertylist *header, const char *name, const char *unit, const char *comment, const char *instrument)</td></tr>
-<tr class="memdesc:ga0361cf5642de51ebf8e3412fffe70a56"><td class="mdescLeft"> </td><td class="mdescRight">Copy a keyword value to the currently active QC1 PAF object.  <a href="#ga0361cf5642de51ebf8e3412fffe70a56">More...</a><br/></td></tr>
-<tr class="separator:ga0361cf5642de51ebf8e3412fffe70a56"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga47dfe71df58ec7c851d4f3853f9f9b00"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsqc.html#ga47dfe71df58ec7c851d4f3853f9f9b00">fors_qc_write_qc_string</a> (cpl_propertylist *header, const char *name, const char *value, const char *comment, const char *instrument)</td></tr>
-<tr class="memdesc:ga47dfe71df58ec7c851d4f3853f9f9b00"><td class="mdescLeft"> </td><td class="mdescRight">Write a string value to the active QC1 PAF object and to a header.  <a href="#ga47dfe71df58ec7c851d4f3853f9f9b00">More...</a><br/></td></tr>
-<tr class="separator:ga47dfe71df58ec7c851d4f3853f9f9b00"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4df6371ce29055b043f72f0417ecdf0f"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__forsqc.html#ga4df6371ce29055b043f72f0417ecdf0f">fors_qc_write_qc_double</a> (cpl_propertylist *header, double value, const char *name, const char *unit, const char *comment, const char *instrument)</td></tr>
-<tr class="memdesc:ga4df6371ce29055b043f72f0417ecdf0f"><td class="mdescLeft"> </td><td class="mdescRight">Write an integer value to the active QC1 PAF object and to a header.  <a href="#ga4df6371ce29055b043f72f0417ecdf0f">More...</a><br/></td></tr>
-<tr class="separator:ga4df6371ce29055b043f72f0417ecdf0f"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>The module collects utility functions for quality control operations. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga0e0fb873edd66f0e42a50c229c650fda"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code fors_qc_end_group </td>
-          <td>(</td>
-          <td class="paramtype">void </td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Close current QC1 PAF file. </p>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success</dd></dl>
-<p>The current QC1 PAF object is written to disk file. If no PAF object is present, this is an error: <code><a class="el" href="group__forsqc.html#ga5535c92a2c4ee1ae47ae1dff60e8d451" title="Initiate a new QC1 group.">fors_qc_start_group()</a></code> should be called first. If the PAF file is empty, the PAF object is destroyed, but no PAF file is created. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0361cf5642de51ebf8e3412fffe70a56"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code fors_qc_keyword_to_paf </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 char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>unit</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>instrument</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Copy a keyword value to the currently active QC1 PAF object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>Pointer to a keyword header. </td></tr>
-    <tr><td class="paramname">name</td><td>Keyword name. </td></tr>
-    <tr><td class="paramname">unit</td><td>Optional unit to be associated to keyword value. </td></tr>
-    <tr><td class="paramname">comment</td><td>Optional comment to be associated to keyword value. </td></tr>
-    <tr><td class="paramname">instrument</td><td>Instrument name</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success</dd></dl>
-<p>A keyword with the specified name is searched in the <em>header</em>. Its type is determined, then its value is read with the appropriate interface. From the keyword name the corresponding PAF keyword name is derived by removing any "ESO " at keyword name beginning, and replacing blanks with dots (e.g., "ESO TPL ID" becomes "TPL.ID"). Finally, the new PAF keyword, with the same type as the header keyword, is written to the currently active QC1 PAF object. Note that before calling this [...]
-
-</div>
-</div>
-<a class="anchor" id="ga5535c92a2c4ee1ae47ae1dff60e8d451"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code fors_qc_start_group </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 char * </td>
-          <td class="paramname"><em>qcdic_version</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>instrument</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Initiate a new QC1 group. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>product header </td></tr>
-    <tr><td class="paramname">qcdic_version</td><td>dictionary ID </td></tr>
-    <tr><td class="paramname">instrument</td><td>instrument name </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success</dd></dl>
-<p>A new PAF object is initiated, with the name depending on the root PAF_ROOT_NAME and the current pafIndex. If the previous QC1 PAF file is found open, this is an error: <a class="el" href="group__forsqc.html#ga0e0fb873edd66f0e42a50c229c650fda" title="Close current QC1 PAF file.">fors_qc_end_group()</a> should be called first. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga8355f62ab2783be464130e8de57487b3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code fors_qc_write_double </td>
-          <td>(</td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>unit</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>instrument</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Add double parameter to current QC1 group. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">name</td><td>Parameter name </td></tr>
-    <tr><td class="paramname">value</td><td>Parameter value </td></tr>
-    <tr><td class="paramname">unit</td><td>Parameter unit </td></tr>
-    <tr><td class="paramname">comment</td><td>Parameter comment; </td></tr>
-    <tr><td class="paramname">instrument</td><td>Instrument name</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success</dd></dl>
-<p>To the current QC1 PAF object is appended a double parameter. The comment string is mandatory. The parameter unit must be specified, unless the specified parameter is adimensional, otherwise a null pointer should be passed. To the comment string the unit string (if present) will be appended, enclosed in round brackets, and then the string "[@em instrument]". If no PAF object is present, this is an error: <a class="el" href="group__forsqc.html#ga5535c92a2c4ee1ae47ae1dff60e8d451" title= [...]
-
-</div>
-</div>
-<a class="anchor" id="ga4df6371ce29055b043f72f0417ecdf0f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code fors_qc_write_qc_double </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">double </td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>unit</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>instrument</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Write an integer value to the active QC1 PAF object and to a header. </p>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>Product header </td></tr>
-    <tr><td class="paramname">value</td><td>Value to write. </td></tr>
-    <tr><td class="paramname">name</td><td>QC1 PAF entry name. </td></tr>
-    <tr><td class="paramname">unit</td><td>Optional unit to be associated to value. </td></tr>
-    <tr><td class="paramname">comment</td><td>Comment to be associated to value. </td></tr>
-    <tr><td class="paramname">instrument</td><td>Instrument name</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>This function writes the header entries directly to the header of the FITS file written to disk, using the qfits_replace_card() call. An entry with the specified <em>name</em> is written to the current QC1 PAF object. From the entry <em>name</em>, the name of the QC keyword that should be written to header is derived prepending the string "ESO " and replacing all '.' with a blank (e.g., "QC.BIAS.MASTER.MEAN" becomes "ESO QC BIAS MASTER MEAN"). Finally, the new keyword is written to th [...]
-
-</div>
-</div>
-<a class="anchor" id="ga47dfe71df58ec7c851d4f3853f9f9b00"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code fors_qc_write_qc_string </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 char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>instrument</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Write a string value to the active QC1 PAF object and to a header. </p>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>Product header </td></tr>
-    <tr><td class="paramname">name</td><td>QC1 PAF entry name. </td></tr>
-    <tr><td class="paramname">value</td><td>Value to write. </td></tr>
-    <tr><td class="paramname">unit</td><td>Optional unit to be associated to value. </td></tr>
-    <tr><td class="paramname">comment</td><td>Comment to be associated to value. </td></tr>
-    <tr><td class="paramname">instrument</td><td>Instrument name</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>An entry with the specified <em>name</em> is written to the current QC1 PAF object. From the entry <em>name</em>, the name of the QC keyword that should be written to header is derived prepending the string "ESO " and replacing all '.' with a blank (e.g., "QC.BIAS.MASTER.MEAN" becomes "ESO QC BIAS MASTER MEAN"). Finally, the new keyword is written to the header. Note that before calling this funtion a QC1 PAF object must be created with a call to <a class="el" href="group__forsqc.html [...]
-
-</div>
-</div>
-<a class="anchor" id="ga59a8c8fece17908fd39670a23b15d6f4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code fors_qc_write_string </td>
-          <td>(</td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>comment</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>instrument</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Add string parameter to current QC1 group. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">name</td><td>Parameter name </td></tr>
-    <tr><td class="paramname">value</td><td>Parameter value </td></tr>
-    <tr><td class="paramname">comment</td><td>Parameter comment </td></tr>
-    <tr><td class="paramname">instrument</td><td>Instrument name</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success</dd></dl>
-<p>To the current QC1 PAF object is appended a string parameter. If no PAF object is present, this is an error: <a class="el" href="group__forsqc.html#ga5535c92a2c4ee1ae47ae1dff60e8d451" title="Initiate a new QC1 group.">fors_qc_start_group()</a> should be called first. </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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__moses.html b/html/group__moses.html
deleted file mode 100644
index 306df50..0000000
--- a/html/group__moses.html
+++ /dev/null
@@ -1,4992 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: MOS data reduction library</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</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">MOS data reduction library</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gad1235d5ce36f7267285e82dccd428aa6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gad1235d5ce36f7267285e82dccd428aa6">READY</a>   1</td></tr>
-<tr class="memdesc:gad1235d5ce36f7267285e82dccd428aa6"><td class="mdescLeft"> </td><td class="mdescRight">Montecarlo simulation to evaluate error on polynomial fit.  <a href="#gad1235d5ce36f7267285e82dccd428aa6">More...</a><br/></td></tr>
-<tr class="separator:gad1235d5ce36f7267285e82dccd428aa6"><td class="memSeparator" colspan="2"> </td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gab847fe615b7510fc2d189e80cf5029b5"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gab847fe615b7510fc2d189e80cf5029b5">mos_global_distortion</a> (cpl_table *slits, cpl_table *maskslits, cpl_table *ids, cpl_table *crv, double reference)</td></tr>
-<tr class="memdesc:gab847fe615b7510fc2d189e80cf5029b5"><td class="mdescLeft"> </td><td class="mdescRight">Determine all global distortions models.  <a href="#gab847fe615b7510fc2d189e80cf5029b5">More...</a><br/></td></tr>
-<tr class="separator:gab847fe615b7510fc2d189e80cf5029b5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaf8ac142136b23cdce93115d80e455012"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gaf8ac142136b23cdce93115d80e455012">mos_average_global_distortion</a> (cpl_table **global, int nglobal, double scale, double tolerance)</td></tr>
-<tr class="memdesc:gaf8ac142136b23cdce93115d80e455012"><td class="mdescLeft"> </td><td class="mdescRight">Average global distortion tables.  <a href="#gaf8ac142136b23cdce93115d80e455012">More...</a><br/></td></tr>
-<tr class="separator:gaf8ac142136b23cdce93115d80e455012"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad9b2789388ba6564011d832d276b2ae6"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gad9b2789388ba6564011d832d276b2ae6">mos_build_slit_location</a> (cpl_table *global, cpl_table *maskslits, int ysize)</td></tr>
-<tr class="memdesc:gad9b2789388ba6564011d832d276b2ae6"><td class="mdescLeft"> </td><td class="mdescRight">Build the slit location table from a global distortions table.  <a href="#gad9b2789388ba6564011d832d276b2ae6">More...</a><br/></td></tr>
-<tr class="separator:gad9b2789388ba6564011d832d276b2ae6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gacff89218baba1abf3641c083a1125861"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gacff89218baba1abf3641c083a1125861">mos_build_curv_coeff</a> (cpl_table *global, cpl_table *maskslits, cpl_table *slits)</td></tr>
-<tr class="memdesc:gacff89218baba1abf3641c083a1125861"><td class="mdescLeft"> </td><td class="mdescRight">Build the curvature coefficients table from a global distortions table.  <a href="#gacff89218baba1abf3641c083a1125861">More...</a><br/></td></tr>
-<tr class="separator:gacff89218baba1abf3641c083a1125861"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4e4da9890ad8d0229f187b4d7eda17be"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga4e4da9890ad8d0229f187b4d7eda17be">mos_build_disp_coeff</a> (cpl_table *global, cpl_table *slits)</td></tr>
-<tr class="memdesc:ga4e4da9890ad8d0229f187b4d7eda17be"><td class="mdescLeft"> </td><td class="mdescRight">Build the IDS coefficients table from a global distortions table.  <a href="#ga4e4da9890ad8d0229f187b4d7eda17be">More...</a><br/></td></tr>
-<tr class="separator:ga4e4da9890ad8d0229f187b4d7eda17be"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0b6cf7b940f617da9ec3f9ce7a9610e2"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga0b6cf7b940f617da9ec3f9ce7a9610e2">mos_subtract_sky</a> (cpl_image *science, cpl_table *slits, cpl_table *polytraces, double reference, double blue, double red, double dispersion)</td></tr>
-<tr class="memdesc:ga0b6cf7b940f617da9ec3f9ce7a9610e2"><td class="mdescLeft"> </td><td class="mdescRight">Subtract the sky from the scientific CCD exposure.  <a href="#ga0b6cf7b940f617da9ec3f9ce7a9610e2">More...</a><br/></td></tr>
-<tr class="separator:ga0b6cf7b940f617da9ec3f9ce7a9610e2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2121a758caa7c8b92b0ddbb1c066bf1a"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga2121a758caa7c8b92b0ddbb1c066bf1a">mos_slit_wavemap</a> (cpl_image *wavemap, int slit, cpl_table *slits, cpl_table *polytraces, double reference, double blue, double red, double dispersion)</td></tr>
-<tr class="memdesc:ga2121a758caa7c8b92b0ddbb1c066bf1a"><td class="mdescLeft"> </td><td class="mdescRight">Select wavelengths from a single spectrum.  <a href="#ga2121a758caa7c8b92b0ddbb1c066bf1a">More...</a><br/></td></tr>
-<tr class="separator:ga2121a758caa7c8b92b0ddbb1c066bf1a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga6b94ed200f4b1b8e281417a80b9aa4b5"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga6b94ed200f4b1b8e281417a80b9aa4b5">mos_normalise_flat</a> (cpl_image *flat, cpl_image *spatial, cpl_table *slits, cpl_table *polytraces, double reference, double blue, double red, double dispersion, int sradius, int polyorder)</td></tr>
-<tr class="memdesc:ga6b94ed200f4b1b8e281417a80b9aa4b5"><td class="mdescLeft"> </td><td class="mdescRight">Normalise a flat field exposure.  <a href="#ga6b94ed200f4b1b8e281417a80b9aa4b5">More...</a><br/></td></tr>
-<tr class="separator:ga6b94ed200f4b1b8e281417a80b9aa4b5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2efbe02c8b5535d746bc9dd9ece30296"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga2efbe02c8b5535d746bc9dd9ece30296">mos_normalise_longflat</a> (cpl_image *flat, int sradius, int dradius, int polyorder)</td></tr>
-<tr class="memdesc:ga2efbe02c8b5535d746bc9dd9ece30296"><td class="mdescLeft"> </td><td class="mdescRight">Normalise a long slit flat field exposure.  <a href="#ga2efbe02c8b5535d746bc9dd9ece30296">More...</a><br/></td></tr>
-<tr class="separator:ga2efbe02c8b5535d746bc9dd9ece30296"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae5258889aa86b437e2531cdad02f4159"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gae5258889aa86b437e2531cdad02f4159">mos_interpolate_wavecalib_slit</a> (cpl_table *idscoeff, cpl_table *slits, int order, int global)</td></tr>
-<tr class="memdesc:gae5258889aa86b437e2531cdad02f4159"><td class="mdescLeft"> </td><td class="mdescRight">Interpolate MOS wavelength calibration.  <a href="#gae5258889aa86b437e2531cdad02f4159">More...</a><br/></td></tr>
-<tr class="separator:gae5258889aa86b437e2531cdad02f4159"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gac1680aed5b6d5ebf32f6aa3e74f18ad4"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gac1680aed5b6d5ebf32f6aa3e74f18ad4">mos_interpolate_wavecalib</a> (cpl_table *idscoeff, cpl_image *wavemap, int mode, int degree)</td></tr>
-<tr class="memdesc:gac1680aed5b6d5ebf32f6aa3e74f18ad4"><td class="mdescLeft"> </td><td class="mdescRight">Interpolate LSS wavelength calibration.  <a href="#gac1680aed5b6d5ebf32f6aa3e74f18ad4">More...</a><br/></td></tr>
-<tr class="separator:gac1680aed5b6d5ebf32f6aa3e74f18ad4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga8f7402e45942012316738a01000d3f9c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga8f7402e45942012316738a01000d3f9c">mos_clean_outliers</a> (cpl_table *table, const char *name)</td></tr>
-<tr class="memdesc:ga8f7402e45942012316738a01000d3f9c"><td class="mdescLeft"> </td><td class="mdescRight">Eliminate obvious outliers from table column values.  <a href="#ga8f7402e45942012316738a01000d3f9c">More...</a><br/></td></tr>
-<tr class="separator:ga8f7402e45942012316738a01000d3f9c"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0516bbdd85d665b796da6c362e4aab36"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga0516bbdd85d665b796da6c362e4aab36">mos_remove_bias</a> (cpl_image *image, cpl_image *bias, cpl_table *overscans)</td></tr>
-<tr class="memdesc:ga0516bbdd85d665b796da6c362e4aab36"><td class="mdescLeft"> </td><td class="mdescRight">Subtract the bias from a CCD exposure.  <a href="#ga0516bbdd85d665b796da6c362e4aab36">More...</a><br/></td></tr>
-<tr class="separator:ga0516bbdd85d665b796da6c362e4aab36"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gafeaa9b762d7da8437fef7f5f579c04ba"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gafeaa9b762d7da8437fef7f5f579c04ba">mos_arc_background_1D</a> (float *spectrum, float *back, int length, int msize, int fsize)</td></tr>
-<tr class="memdesc:gafeaa9b762d7da8437fef7f5f579c04ba"><td class="mdescLeft"> </td><td class="mdescRight">Background determination on 1D emission line spectrum (arc)  <a href="#gafeaa9b762d7da8437fef7f5f579c04ba">More...</a><br/></td></tr>
-<tr class="separator:gafeaa9b762d7da8437fef7f5f579c04ba"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga063b7ef9e5f4fe46ecbcb1b170bc254b"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga063b7ef9e5f4fe46ecbcb1b170bc254b">mos_arc_background</a> (cpl_image *image, int msize, int fsize)</td></tr>
-<tr class="memdesc:ga063b7ef9e5f4fe46ecbcb1b170bc254b"><td class="mdescLeft"> </td><td class="mdescRight">Background determination on emission line spectrum (arc)  <a href="#ga063b7ef9e5f4fe46ecbcb1b170bc254b">More...</a><br/></td></tr>
-<tr class="separator:ga063b7ef9e5f4fe46ecbcb1b170bc254b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga28871a4ecc1e2779022f06d4da892360"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga28871a4ecc1e2779022f06d4da892360">mos_lines_width</a> (const float *spectrum, int length)</td></tr>
-<tr class="memdesc:ga28871a4ecc1e2779022f06d4da892360"><td class="mdescLeft"> </td><td class="mdescRight">Estimate lines widths (in pixel) in arc lamp spectrum.  <a href="#ga28871a4ecc1e2779022f06d4da892360">More...</a><br/></td></tr>
-<tr class="separator:ga28871a4ecc1e2779022f06d4da892360"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad80729870e3acf9f61c820f488eb83b2"><td class="memItemLeft" align="right" valign="top">cpl_vector * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gad80729870e3acf9f61c820f488eb83b2">mos_peak_candidates</a> (const float *spectrum, int length, float level, float exp_width)</td></tr>
-<tr class="memdesc:gad80729870e3acf9f61c820f488eb83b2"><td class="mdescLeft"> </td><td class="mdescRight">Find positions of peaks candidates.  <a href="#gad80729870e3acf9f61c820f488eb83b2">More...</a><br/></td></tr>
-<tr class="separator:gad80729870e3acf9f61c820f488eb83b2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gacfa971d995aac0c8f05c37499861d191"><td class="memItemLeft" align="right" valign="top">cpl_vector * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gacfa971d995aac0c8f05c37499861d191">mos_refine_peaks</a> (const float *spectrum, int length, cpl_vector *peaks, int sradius)</td></tr>
-<tr class="memdesc:gacfa971d995aac0c8f05c37499861d191"><td class="mdescLeft"> </td><td class="mdescRight">Improve (when possible) accuracy of peaks candidates positions.  <a href="#gacfa971d995aac0c8f05c37499861d191">More...</a><br/></td></tr>
-<tr class="separator:gacfa971d995aac0c8f05c37499861d191"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga68dc8cea89fe90cd1990d82a6945ca97"><td class="memItemLeft" align="right" valign="top">cpl_bivector * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga68dc8cea89fe90cd1990d82a6945ca97">mos_identify_peaks</a> (cpl_vector *peaks, cpl_vector *lines, double min_disp, double max_disp, double tolerance)</td></tr>
-<tr class="memdesc:ga68dc8cea89fe90cd1990d82a6945ca97"><td class="mdescLeft"> </td><td class="mdescRight">Identify peak candidates.  <a href="#ga68dc8cea89fe90cd1990d82a6945ca97">More...</a><br/></td></tr>
-<tr class="separator:ga68dc8cea89fe90cd1990d82a6945ca97"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga29da0280a1b9f08c181c491f6df0743a"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga29da0280a1b9f08c181c491f6df0743a">mos_eval_dds</a> (cpl_polynomial *ids, double blue, double red, double refwave, double pixel)</td></tr>
-<tr class="memdesc:ga29da0280a1b9f08c181c491f6df0743a"><td class="mdescLeft"> </td><td class="mdescRight">Evaluate the wavelength of a pixel position.  <a href="#ga29da0280a1b9f08c181c491f6df0743a">More...</a><br/></td></tr>
-<tr class="separator:ga29da0280a1b9f08c181c491f6df0743a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4d584e69389518aab8d6932e5841d399"><td class="memItemLeft" align="right" valign="top">cpl_polynomial * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga4d584e69389518aab8d6932e5841d399">mos_poly_wav2pix</a> (cpl_bivector *pixwav, int order, double reject, int minlines, int *nlines, double *err)</td></tr>
-<tr class="memdesc:ga4d584e69389518aab8d6932e5841d399"><td class="mdescLeft"> </td><td class="mdescRight">Fit polynomial relation from wavelengths to pixels.  <a href="#ga4d584e69389518aab8d6932e5841d399">More...</a><br/></td></tr>
-<tr class="separator:ga4d584e69389518aab8d6932e5841d399"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga8d5305df3cb184677081fb285cba6eb5"><td class="memItemLeft" align="right" valign="top">cpl_polynomial * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga8d5305df3cb184677081fb285cba6eb5">mos_poly_pix2wav</a> (cpl_bivector *pixwav, int order, double reject, int minlines, int *nlines, double *err)</td></tr>
-<tr class="memdesc:ga8d5305df3cb184677081fb285cba6eb5"><td class="mdescLeft"> </td><td class="mdescRight">Fit polynomial relation from pixels to wavelengths.  <a href="#ga8d5305df3cb184677081fb285cba6eb5">More...</a><br/></td></tr>
-<tr class="separator:ga8d5305df3cb184677081fb285cba6eb5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4ae590c72dce616bcbb426a3c2ec6ffe"><td class="memItemLeft" align="right" valign="top">cpl_bivector * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga4ae590c72dce616bcbb426a3c2ec6ffe">mos_find_peaks</a> (const float *spectrum, int length, cpl_vector *lines, cpl_polynomial *ids, double refwave, int sradius)</td></tr>
-<tr class="memdesc:ga4ae590c72dce616bcbb426a3c2ec6ffe"><td class="mdescLeft"> </td><td class="mdescRight">Find the reference lines peaks using a polynomial first-guess.  <a href="#ga4ae590c72dce616bcbb426a3c2ec6ffe">More...</a><br/></td></tr>
-<tr class="separator:ga4ae590c72dce616bcbb426a3c2ec6ffe"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gab947b4c9f73bfcf811d8122c5ef5c55c"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c">mos_wavelength_calibration_raw</a> (const cpl_image *image, cpl_vector *lines, double dispersion, float level, int sradius, int order, double reject, double refwave, double *wavestart, double *waveend, int *nlines, double *error, cpl_table *idscoeff [...]
-<tr class="memdesc:gab947b4c9f73bfcf811d8122c5ef5c55c"><td class="mdescLeft"> </td><td class="mdescRight">Derive wavelength calibration from a raw arc lamp or sky exposure.  <a href="#gab947b4c9f73bfcf811d8122c5ef5c55c">More...</a><br/></td></tr>
-<tr class="separator:gab947b4c9f73bfcf811d8122c5ef5c55c"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4e3f1760e6a202108d47c9ef977aa900"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga4e3f1760e6a202108d47c9ef977aa900">mos_locate_spectra</a> (cpl_mask *mask)</td></tr>
-<tr class="memdesc:ga4e3f1760e6a202108d47c9ef977aa900"><td class="mdescLeft"> </td><td class="mdescRight">Find the location of detected spectra on the CCD.  <a href="#ga4e3f1760e6a202108d47c9ef977aa900">More...</a><br/></td></tr>
-<tr class="separator:ga4e3f1760e6a202108d47c9ef977aa900"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga9133e9d4bebf351c1ef75c903efa3e4d"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga9133e9d4bebf351c1ef75c903efa3e4d">mos_validate_slits</a> (cpl_table *slits)</td></tr>
-<tr class="memdesc:ga9133e9d4bebf351c1ef75c903efa3e4d"><td class="mdescLeft"> </td><td class="mdescRight">Check validity of a slit location table.  <a href="#ga9133e9d4bebf351c1ef75c903efa3e4d">More...</a><br/></td></tr>
-<tr class="separator:ga9133e9d4bebf351c1ef75c903efa3e4d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga9880f7b09371ca6babb8b2aa7c9e094f"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga9880f7b09371ca6babb8b2aa7c9e094f">mos_rotate_slits</a> (cpl_table *slits, int rotation, int nx, int ny)</td></tr>
-<tr class="memdesc:ga9880f7b09371ca6babb8b2aa7c9e094f"><td class="mdescLeft"> </td><td class="mdescRight">Rotate a slit location table.  <a href="#ga9880f7b09371ca6babb8b2aa7c9e094f">More...</a><br/></td></tr>
-<tr class="separator:ga9880f7b09371ca6babb8b2aa7c9e094f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaa8023ee69b6004f39e3df20e9bd94364"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gaa8023ee69b6004f39e3df20e9bd94364">mos_identify_slits</a> (cpl_table *slits, cpl_table *maskslits, cpl_table *global)</td></tr>
-<tr class="memdesc:gaa8023ee69b6004f39e3df20e9bd94364"><td class="mdescLeft"> </td><td class="mdescRight">Identify slits listed in a slit location table.  <a href="#gaa8023ee69b6004f39e3df20e9bd94364">More...</a><br/></td></tr>
-<tr class="separator:gaa8023ee69b6004f39e3df20e9bd94364"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaad02c30291fd30d07156ac8f397f439f"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gaad02c30291fd30d07156ac8f397f439f">mos_trace_flat</a> (cpl_image *flat, cpl_table *slits, double reference, double blue, double red, double dispersion)</td></tr>
-<tr class="memdesc:gaad02c30291fd30d07156ac8f397f439f"><td class="mdescLeft"> </td><td class="mdescRight">Trace flat field spectra.  <a href="#gaad02c30291fd30d07156ac8f397f439f">More...</a><br/></td></tr>
-<tr class="separator:gaad02c30291fd30d07156ac8f397f439f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga7518d66581d93ab64704fcf90996296b"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga7518d66581d93ab64704fcf90996296b">mos_poly_trace</a> (cpl_table *slits, cpl_table *traces, int order)</td></tr>
-<tr class="memdesc:ga7518d66581d93ab64704fcf90996296b"><td class="mdescLeft"> </td><td class="mdescRight">Fit spectral traces.  <a href="#ga7518d66581d93ab64704fcf90996296b">More...</a><br/></td></tr>
-<tr class="separator:ga7518d66581d93ab64704fcf90996296b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0eda8a5abf396113ffbe66607fd72fe6"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga0eda8a5abf396113ffbe66607fd72fe6">mos_global_trace</a> (cpl_table *slits, cpl_table *polytraces, int mode)</td></tr>
-<tr class="memdesc:ga0eda8a5abf396113ffbe66607fd72fe6"><td class="mdescLeft"> </td><td class="mdescRight">Recompute tracing coefficients globally.  <a href="#ga0eda8a5abf396113ffbe66607fd72fe6">More...</a><br/></td></tr>
-<tr class="separator:ga0eda8a5abf396113ffbe66607fd72fe6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga6910eeaa28338a6d447e74130666fe13"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13">mos_spatial_calibration</a> (cpl_image *spectra, cpl_table *slits, cpl_table *polytraces, double reference, double blue, double red, double dispersion, int flux, cpl_image *calibration)</td></tr>
-<tr class="memdesc:ga6910eeaa28338a6d447e74130666fe13"><td class="mdescLeft"> </td><td class="mdescRight">Spatial remapping of CCD spectra eliminating the spectral curvature.  <a href="#ga6910eeaa28338a6d447e74130666fe13">More...</a><br/></td></tr>
-<tr class="separator:ga6910eeaa28338a6d447e74130666fe13"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1c91e213b5472df075ecc4af24f9da4f"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga1c91e213b5472df075ecc4af24f9da4f">mos_wavelength_calibration_final</a> (cpl_image *image, cpl_table *slits, cpl_vector *lines, double dispersion, float level, int sradius, int order, double reject, double refwave, double *wavestart, double *waveend, int *nlines, double *error, cpl_t [...]
-<tr class="memdesc:ga1c91e213b5472df075ecc4af24f9da4f"><td class="mdescLeft"> </td><td class="mdescRight">Derive wavelength calibration from a rectified arc lamp or sky exposure.  <a href="#ga1c91e213b5472df075ecc4af24f9da4f">More...</a><br/></td></tr>
-<tr class="separator:ga1c91e213b5472df075ecc4af24f9da4f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga5c5f54b99d64a52b9d90d65bf7421b6b"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga5c5f54b99d64a52b9d90d65bf7421b6b">mos_wavelength_calibration</a> (cpl_image *image, double refwave, double firstLambda, double lastLambda, double dispersion, cpl_table *idscoeff, int flux)</td></tr>
-<tr class="memdesc:ga5c5f54b99d64a52b9d90d65bf7421b6b"><td class="mdescLeft"> </td><td class="mdescRight">Remap at constant wavelength step an image of rectified scientific spectra.  <a href="#ga5c5f54b99d64a52b9d90d65bf7421b6b">More...</a><br/></td></tr>
-<tr class="separator:ga5c5f54b99d64a52b9d90d65bf7421b6b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga634eb7408671a139e7015185776f4513"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga634eb7408671a139e7015185776f4513">mos_wavelength_align</a> (cpl_image *image, cpl_table *slits, double refwave, double firstLambda, double lastLambda, cpl_table *idscoeff, cpl_vector *skylines, int highres, int order, cpl_image *calibration, int sradius)</td></tr>
-<tr class="memdesc:ga634eb7408671a139e7015185776f4513"><td class="mdescLeft"> </td><td class="mdescRight">Modify the input wavelength solution to match reference sky lines.  <a href="#ga634eb7408671a139e7015185776f4513">More...</a><br/></td></tr>
-<tr class="separator:ga634eb7408671a139e7015185776f4513"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2a7590eb0c36a08b61e08e180d7277d1"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga2a7590eb0c36a08b61e08e180d7277d1">mos_wavelength_align_lss</a> (cpl_image *image, double refwave, double firstLambda, double lastLambda, cpl_table *idscoeff, cpl_vector *skylines, int highres, int order, cpl_image *calibration, int sradius)</td></tr>
-<tr class="memdesc:ga2a7590eb0c36a08b61e08e180d7277d1"><td class="mdescLeft"> </td><td class="mdescRight">Modify the input wavelength solution to match reference sky lines (LSS).  <a href="#ga2a7590eb0c36a08b61e08e180d7277d1">More...</a><br/></td></tr>
-<tr class="separator:ga2a7590eb0c36a08b61e08e180d7277d1"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae1dbf0de952775b1619a3c636221e2a2"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gae1dbf0de952775b1619a3c636221e2a2">mos_distortions_rms</a> (cpl_image *rectified, cpl_vector *lines, double wavestart, double dispersion, int radius, int highres)</td></tr>
-<tr class="memdesc:gae1dbf0de952775b1619a3c636221e2a2"><td class="mdescLeft"> </td><td class="mdescRight">Estimate the spectral distortion modeling goodness.  <a href="#gae1dbf0de952775b1619a3c636221e2a2">More...</a><br/></td></tr>
-<tr class="separator:gae1dbf0de952775b1619a3c636221e2a2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga6187454ef3812203ba2d50d1e2d01326"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga6187454ef3812203ba2d50d1e2d01326">mos_map_pixel</a> (cpl_table *idscoeff, double reference, double blue, double red, double dispersion, int trend)</td></tr>
-<tr class="memdesc:ga6187454ef3812203ba2d50d1e2d01326"><td class="mdescLeft"> </td><td class="mdescRight">Create a pixel map from an IDS coefficients table.  <a href="#ga6187454ef3812203ba2d50d1e2d01326">More...</a><br/></td></tr>
-<tr class="separator:ga6187454ef3812203ba2d50d1e2d01326"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gacec86a61ea4c2b653a551eb067fbcfb5"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gacec86a61ea4c2b653a551eb067fbcfb5">mos_map_idscoeff</a> (cpl_table *idscoeff, int xsize, double reference, double blue, double red)</td></tr>
-<tr class="memdesc:gacec86a61ea4c2b653a551eb067fbcfb5"><td class="mdescLeft"> </td><td class="mdescRight">Create a wavelengths map from an IDS coefficients table.  <a href="#gacec86a61ea4c2b653a551eb067fbcfb5">More...</a><br/></td></tr>
-<tr class="separator:gacec86a61ea4c2b653a551eb067fbcfb5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2255ec2a344cd3c6f579179c538669b7"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga2255ec2a344cd3c6f579179c538669b7">mos_map_wavelengths</a> (cpl_image *spatial, cpl_image *calibration, cpl_table *slits, cpl_table *polytraces, double reference, double blue, double red, double dispersion)</td></tr>
-<tr class="memdesc:ga2255ec2a344cd3c6f579179c538669b7"><td class="mdescLeft"> </td><td class="mdescRight">Remapping of spatially rectified wavelengths to original CCD pixels.  <a href="#ga2255ec2a344cd3c6f579179c538669b7">More...</a><br/></td></tr>
-<tr class="separator:ga2255ec2a344cd3c6f579179c538669b7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga8525f2b52eb7ba887858420f36c53471"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga8525f2b52eb7ba887858420f36c53471">mos_map_spectrum</a> (cpl_image *spectra, cpl_image *wavecalib, cpl_image *spatial, cpl_table *slits, cpl_table *polytraces, double reference, double blue, double red, double dispersion, int flux)</td></tr>
-<tr class="memdesc:ga8525f2b52eb7ba887858420f36c53471"><td class="mdescLeft"> </td><td class="mdescRight">Remapping of slit spectra into a grid of lambda-space coordinates.  <a href="#ga8525f2b52eb7ba887858420f36c53471">More...</a><br/></td></tr>
-<tr class="separator:ga8525f2b52eb7ba887858420f36c53471"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga80b4941dee0d34102ac3d4f5fb15674d"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga80b4941dee0d34102ac3d4f5fb15674d">mos_sky_map_super</a> (cpl_image *spectra, cpl_image *wavemap, double dispersion, double factor, int minpoints, cpl_image *skymap)</td></tr>
-<tr class="memdesc:ga80b4941dee0d34102ac3d4f5fb15674d"><td class="mdescLeft"> </td><td class="mdescRight">Create a CCD median sky map.  <a href="#ga80b4941dee0d34102ac3d4f5fb15674d">More...</a><br/></td></tr>
-<tr class="separator:ga80b4941dee0d34102ac3d4f5fb15674d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gab724daebffef27587b8183a6d765dc02"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gab724daebffef27587b8183a6d765dc02">mos_sky_map</a> (cpl_image *spectra, cpl_image *wavemap, double dispersion, cpl_image *skymap)</td></tr>
-<tr class="memdesc:gab724daebffef27587b8183a6d765dc02"><td class="mdescLeft"> </td><td class="mdescRight">Create a CCD median sky map.  <a href="#gab724daebffef27587b8183a6d765dc02">More...</a><br/></td></tr>
-<tr class="separator:gab724daebffef27587b8183a6d765dc02"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0185eec52be96d5aa325e8fd045406c8"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga0185eec52be96d5aa325e8fd045406c8">mos_sky_local_old</a> (cpl_image *spectra, cpl_table *slits)</td></tr>
-<tr class="memdesc:ga0185eec52be96d5aa325e8fd045406c8"><td class="mdescLeft"> </td><td class="mdescRight">Local determination of sky.  <a href="#ga0185eec52be96d5aa325e8fd045406c8">More...</a><br/></td></tr>
-<tr class="separator:ga0185eec52be96d5aa325e8fd045406c8"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga40e43aa1516aac5fc7e2ccc41381677d"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga40e43aa1516aac5fc7e2ccc41381677d">mos_sky_local</a> (cpl_image *spectra, cpl_table *slits, int order)</td></tr>
-<tr class="memdesc:ga40e43aa1516aac5fc7e2ccc41381677d"><td class="mdescLeft"> </td><td class="mdescRight">Local determination of sky.  <a href="#ga40e43aa1516aac5fc7e2ccc41381677d">More...</a><br/></td></tr>
-<tr class="separator:ga40e43aa1516aac5fc7e2ccc41381677d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1063de1ae8b4d345ea9ccf584e3a5f1a"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga1063de1ae8b4d345ea9ccf584e3a5f1a">mos_clean_cosmics</a> (cpl_image *image, float gain, float threshold, float ratio)</td></tr>
-<tr class="memdesc:ga1063de1ae8b4d345ea9ccf584e3a5f1a"><td class="mdescLeft"> </td><td class="mdescRight">Remove cosmic rays from sky-subtracted CCD spectral exposure.  <a href="#ga1063de1ae8b4d345ea9ccf584e3a5f1a">More...</a><br/></td></tr>
-<tr class="separator:ga1063de1ae8b4d345ea9ccf584e3a5f1a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4592493a392e23ebc56259ed3bfc0719"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga4592493a392e23ebc56259ed3bfc0719">mos_spatial_map</a> (cpl_image *spectra, cpl_table *slits, cpl_table *polytraces, double reference, double blue, double red, double dispersion)</td></tr>
-<tr class="memdesc:ga4592493a392e23ebc56259ed3bfc0719"><td class="mdescLeft"> </td><td class="mdescRight">Create coordinate map from spectral curvature table.  <a href="#ga4592493a392e23ebc56259ed3bfc0719">More...</a><br/></td></tr>
-<tr class="separator:ga4592493a392e23ebc56259ed3bfc0719"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2b71edbd4185f77a45cc25465dbe36a3"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga2b71edbd4185f77a45cc25465dbe36a3">mos_detect_objects</a> (cpl_image *image, cpl_table *slits, int margin, int maxradius, int conradius, double noise)</td></tr>
-<tr class="memdesc:ga2b71edbd4185f77a45cc25465dbe36a3"><td class="mdescLeft"> </td><td class="mdescRight">Detect objects in rectified scientific frame.  <a href="#ga2b71edbd4185f77a45cc25465dbe36a3">More...</a><br/></td></tr>
-<tr class="separator:ga2b71edbd4185f77a45cc25465dbe36a3"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga28ce64beccf31d6c0274db1dd4c8b522"><td class="memItemLeft" align="right" valign="top">cpl_image ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga28ce64beccf31d6c0274db1dd4c8b522">mos_extract_objects</a> (cpl_image *science, cpl_image *sky, cpl_table *objects, int extraction, double ron, double gain, int ncombined)</td></tr>
-<tr class="memdesc:ga28ce64beccf31d6c0274db1dd4c8b522"><td class="mdescLeft"> </td><td class="mdescRight">Extract detected objects from rectified scientific frame.  <a href="#ga28ce64beccf31d6c0274db1dd4c8b522">More...</a><br/></td></tr>
-<tr class="separator:ga28ce64beccf31d6c0274db1dd4c8b522"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga58039ea48fa183baf1701567781ad128"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga58039ea48fa183baf1701567781ad128">mos_spectral_resolution</a> (cpl_image *image, double lambda, double startwave, double dispersion, int saturation, double *mfwhm, double *rmsfwhm, double *resolution, double *rmsres, int *nlines)</td></tr>
-<tr class="memdesc:ga58039ea48fa183baf1701567781ad128"><td class="mdescLeft"> </td><td class="mdescRight">Compute mean spectral resolution at a given arc lamp line.  <a href="#ga58039ea48fa183baf1701567781ad128">More...</a><br/></td></tr>
-<tr class="separator:ga58039ea48fa183baf1701567781ad128"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae9f633b64e1880984c084a19f53047fc"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gae9f633b64e1880984c084a19f53047fc">mos_resolution_table</a> (cpl_image *image, double startwave, double dispersion, int saturation, cpl_vector *lines)</td></tr>
-<tr class="memdesc:gae9f633b64e1880984c084a19f53047fc"><td class="mdescLeft"> </td><td class="mdescRight">Compute mean spectral resolution at a given arc lamp line.  <a href="#gae9f633b64e1880984c084a19f53047fc">More...</a><br/></td></tr>
-<tr class="separator:gae9f633b64e1880984c084a19f53047fc"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaba740d24473d57d687f75787e4ecc835"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gaba740d24473d57d687f75787e4ecc835">mos_integrate_signal</a> (cpl_image *image, cpl_image *wavemap, int ystart, int yend, double wstart, double wend)</td></tr>
-<tr class="memdesc:gaba740d24473d57d687f75787e4ecc835"><td class="mdescLeft"> </td><td class="mdescRight">Integrate signal from wavelength and spatial interval.  <a href="#gaba740d24473d57d687f75787e4ecc835">More...</a><br/></td></tr>
-<tr class="separator:gaba740d24473d57d687f75787e4ecc835"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2c9ae818bb4b07cf99dc5ae8e9e78d9c"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga2c9ae818bb4b07cf99dc5ae8e9e78d9c">mos_load_slits_fors_mxu</a> (cpl_propertylist *header)</td></tr>
-<tr class="memdesc:ga2c9ae818bb4b07cf99dc5ae8e9e78d9c"><td class="mdescLeft"> </td><td class="mdescRight">Create slit location table from FITS header of FORS2-MXU data.  <a href="#ga2c9ae818bb4b07cf99dc5ae8e9e78d9c">More...</a><br/></td></tr>
-<tr class="separator:ga2c9ae818bb4b07cf99dc5ae8e9e78d9c"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga9bc0313a644dfa21c980bcfd933aeeda"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga9bc0313a644dfa21c980bcfd933aeeda">mos_load_slits_fors_mos</a> (cpl_propertylist *header)</td></tr>
-<tr class="memdesc:ga9bc0313a644dfa21c980bcfd933aeeda"><td class="mdescLeft"> </td><td class="mdescRight">Create slit location table from FITS header of FORS1/2 MOS data.  <a href="#ga9bc0313a644dfa21c980bcfd933aeeda">More...</a><br/></td></tr>
-<tr class="separator:ga9bc0313a644dfa21c980bcfd933aeeda"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga43072c6a57d094a5d7d341934a096e80"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga43072c6a57d094a5d7d341934a096e80">mos_load_slits_fors_lss</a> (cpl_propertylist *header)</td></tr>
-<tr class="memdesc:ga43072c6a57d094a5d7d341934a096e80"><td class="mdescLeft"> </td><td class="mdescRight">Create slit location table from FITS header of FORS1/2 LSS data.  <a href="#ga43072c6a57d094a5d7d341934a096e80">More...</a><br/></td></tr>
-<tr class="separator:ga43072c6a57d094a5d7d341934a096e80"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga74be15e9eea7e1a4f025be22ccb12c54"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga74be15e9eea7e1a4f025be22ccb12c54">mos_get_gain_vimos</a> (cpl_propertylist *header)</td></tr>
-<tr class="memdesc:ga74be15e9eea7e1a4f025be22ccb12c54"><td class="mdescLeft"> </td><td class="mdescRight">Return gain factor for a VIMOS exposure.  <a href="#ga74be15e9eea7e1a4f025be22ccb12c54">More...</a><br/></td></tr>
-<tr class="separator:ga74be15e9eea7e1a4f025be22ccb12c54"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga3946bc30280b3b041a20ae9c9326f827"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga3946bc30280b3b041a20ae9c9326f827">mos_load_slits_vimos</a> (cpl_propertylist *header)</td></tr>
-<tr class="memdesc:ga3946bc30280b3b041a20ae9c9326f827"><td class="mdescLeft"> </td><td class="mdescRight">Create slit location table from FITS header of VIMOS data.  <a href="#ga3946bc30280b3b041a20ae9c9326f827">More...</a><br/></td></tr>
-<tr class="separator:ga3946bc30280b3b041a20ae9c9326f827"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga332b9bfd8e704446ad24d9fa448f9df2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga332b9bfd8e704446ad24d9fa448f9df2">mos_check_multiplex</a> (cpl_table *slits)</td></tr>
-<tr class="memdesc:ga332b9bfd8e704446ad24d9fa448f9df2"><td class="mdescLeft"> </td><td class="mdescRight">Determining whether a VIMOS mask has spectral multplexing or not.  <a href="#ga332b9bfd8e704446ad24d9fa448f9df2">More...</a><br/></td></tr>
-<tr class="separator:ga332b9bfd8e704446ad24d9fa448f9df2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gac4640b4ae87faf1ba8824c42379d8194"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gac4640b4ae87faf1ba8824c42379d8194">mos_check_multiplex_old</a> (cpl_table *slits)</td></tr>
-<tr class="memdesc:gac4640b4ae87faf1ba8824c42379d8194"><td class="mdescLeft"> </td><td class="mdescRight">Determining whether a VIMOS mask has spectral multplexing or not.  <a href="#gac4640b4ae87faf1ba8824c42379d8194">More...</a><br/></td></tr>
-<tr class="separator:gac4640b4ae87faf1ba8824c42379d8194"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1f2fa7d6396362c0132b82578265b49d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga1f2fa7d6396362c0132b82578265b49d">mos_assign_multiplex_group</a> (cpl_table *slits)</td></tr>
-<tr class="memdesc:ga1f2fa7d6396362c0132b82578265b49d"><td class="mdescLeft"> </td><td class="mdescRight">Assign to each slit a group index, where a group has no multiplexing.  <a href="#ga1f2fa7d6396362c0132b82578265b49d">More...</a><br/></td></tr>
-<tr class="separator:ga1f2fa7d6396362c0132b82578265b49d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaf4872d8e8654dd8733369c071843e464"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gaf4872d8e8654dd8733369c071843e464">mos_load_overscans_vimos</a> (const cpl_propertylist *header, int check_consistency)</td></tr>
-<tr class="memdesc:gaf4872d8e8654dd8733369c071843e464"><td class="mdescLeft"> </td><td class="mdescRight">Get the overscan positions from FITS header of VIMOS data.  <a href="#gaf4872d8e8654dd8733369c071843e464">More...</a><br/></td></tr>
-<tr class="separator:gaf4872d8e8654dd8733369c071843e464"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gab09208f34d27855a6db2d933ff3d02e2"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gab09208f34d27855a6db2d933ff3d02e2">mos_randomise_image</a> (cpl_image *image, double ron, double gain, double bias)</td></tr>
-<tr class="memdesc:gab09208f34d27855a6db2d933ff3d02e2"><td class="mdescLeft"> </td><td class="mdescRight">Randomise image.  <a href="#gab09208f34d27855a6db2d933ff3d02e2">More...</a><br/></td></tr>
-<tr class="separator:gab09208f34d27855a6db2d933ff3d02e2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae623b8129e3fd33516f32d866c5106a8"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gae623b8129e3fd33516f32d866c5106a8">mos_refmask_find_gaps</a> (cpl_mask *refmask, cpl_image *master_flat, double level)</td></tr>
-<tr class="memdesc:gae623b8129e3fd33516f32d866c5106a8"><td class="mdescLeft"> </td><td class="mdescRight">Reconstruct the gaps required for slit location.  <a href="#gae623b8129e3fd33516f32d866c5106a8">More...</a><br/></td></tr>
-<tr class="separator:gae623b8129e3fd33516f32d866c5106a8"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga854ead782f62a6929aade44b267353e0"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga854ead782f62a6929aade44b267353e0">mos_saturation_process</a> (cpl_image *image)</td></tr>
-<tr class="memdesc:ga854ead782f62a6929aade44b267353e0"><td class="mdescLeft"> </td><td class="mdescRight">Process saturation.  <a href="#ga854ead782f62a6929aade44b267353e0">More...</a><br/></td></tr>
-<tr class="separator:ga854ead782f62a6929aade44b267353e0"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad122076cab5a9b361c652f5c3321ddf0"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gad122076cab5a9b361c652f5c3321ddf0">mos_subtract_background</a> (cpl_image *image)</td></tr>
-<tr class="memdesc:gad122076cab5a9b361c652f5c3321ddf0"><td class="mdescLeft"> </td><td class="mdescRight">Subtract the background.  <a href="#gad122076cab5a9b361c652f5c3321ddf0">More...</a><br/></td></tr>
-<tr class="separator:gad122076cab5a9b361c652f5c3321ddf0"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga5f9947ec541f1291f7c9fb20bd081280"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga5f9947ec541f1291f7c9fb20bd081280">mos_object_intersect</a> (cpl_table **slitss, cpl_table *origslits, int nscience, float tolerance)</td></tr>
-<tr class="memdesc:ga5f9947ec541f1291f7c9fb20bd081280"><td class="mdescLeft"> </td><td class="mdescRight">Intersect a number of slit tables.  <a href="#ga5f9947ec541f1291f7c9fb20bd081280">More...</a><br/></td></tr>
-<tr class="separator:ga5f9947ec541f1291f7c9fb20bd081280"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae5fb2a72c41bab0464ad35c161e50cac"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gae5fb2a72c41bab0464ad35c161e50cac">mos_get_maxobjs_per_slit</a> (cpl_table *slits)</td></tr>
-<tr class="memdesc:gae5fb2a72c41bab0464ad35c161e50cac"><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum possible number of objects in a slit.  <a href="#gae5fb2a72c41bab0464ad35c161e50cac">More...</a><br/></td></tr>
-<tr class="separator:gae5fb2a72c41bab0464ad35c161e50cac"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaf4d5e8a0d6cd0356ab38f0b7be241352"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gaf4d5e8a0d6cd0356ab38f0b7be241352">mos_get_nobjects</a> (cpl_table *slits)</td></tr>
-<tr class="memdesc:gaf4d5e8a0d6cd0356ab38f0b7be241352"><td class="mdescLeft"> </td><td class="mdescRight">Get the total number of objects detected in a slits table.  <a href="#gaf4d5e8a0d6cd0356ab38f0b7be241352">More...</a><br/></td></tr>
-<tr class="separator:gaf4d5e8a0d6cd0356ab38f0b7be241352"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga71e13921907ec2f25478957d35318e7f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga71e13921907ec2f25478957d35318e7f">mos_check_slits</a> (cpl_table *slits, float rescale)</td></tr>
-<tr class="memdesc:ga71e13921907ec2f25478957d35318e7f"><td class="mdescLeft"> </td><td class="mdescRight">Check that all slit have been detected, insert them if not.  <a href="#ga71e13921907ec2f25478957d35318e7f">More...</a><br/></td></tr>
-<tr class="separator:ga71e13921907ec2f25478957d35318e7f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2dd530fbf8d219a6a6f6e68babebd24a"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga2dd530fbf8d219a6a6f6e68babebd24a">mos_load_slits_fors_pmos</a> (cpl_propertylist *header)</td></tr>
-<tr class="memdesc:ga2dd530fbf8d219a6a6f6e68babebd24a"><td class="mdescLeft"> </td><td class="mdescRight">Create PMOS slit location table from FITS header of FORS1/2 MOS data.  <a href="#ga2dd530fbf8d219a6a6f6e68babebd24a">More...</a><br/></td></tr>
-<tr class="separator:ga2dd530fbf8d219a6a6f6e68babebd24a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaad62d9ba866b8abafb2da02053584bf2"><td class="memItemLeft" align="right" valign="top">cpl_table * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gaad62d9ba866b8abafb2da02053584bf2">mos_photometric_calibration</a> (cpl_image *spectra, double startwave, double dispersion, double gain, double exptime, cpl_table *ext_table, double airmass, cpl_table *flux_table, int order)</td></tr>
-<tr class="memdesc:gaad62d9ba866b8abafb2da02053584bf2"><td class="mdescLeft"> </td><td class="mdescRight">Produce instrument response curve, with some ancillary information.  <a href="#gaad62d9ba866b8abafb2da02053584bf2">More...</a><br/></td></tr>
-<tr class="separator:gaad62d9ba866b8abafb2da02053584bf2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga663cfcd4584b6a3e63e7593cba926688"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga663cfcd4584b6a3e63e7593cba926688">mos_ksigma_stack</a> (cpl_imagelist *imlist, double klow, double khigh, int kiter, cpl_image **good)</td></tr>
-<tr class="memdesc:ga663cfcd4584b6a3e63e7593cba926688"><td class="mdescLeft"> </td><td class="mdescRight">Stack images using k-sigma clipping.  <a href="#ga663cfcd4584b6a3e63e7593cba926688">More...</a><br/></td></tr>
-<tr class="separator:ga663cfcd4584b6a3e63e7593cba926688"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2244278b632992a44067afcc42530954"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga2244278b632992a44067afcc42530954">mos_apply_photometry</a> (cpl_image *spectra, cpl_table *response, cpl_table *ext_table, double startwave, double dispersion, double gain, double exptime, double airmass)</td></tr>
-<tr class="memdesc:ga2244278b632992a44067afcc42530954"><td class="mdescLeft"> </td><td class="mdescRight">Apply response curve to extracted spectra (or their errors).  <a href="#ga2244278b632992a44067afcc42530954">More...</a><br/></td></tr>
-<tr class="separator:ga2244278b632992a44067afcc42530954"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae97d35cc8cb29cbb0b43d4fc84e4d34b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gae97d35cc8cb29cbb0b43d4fc84e4d34b">mos_check_polarisation</a> (cpl_image *q_image, cpl_image *q_error, cpl_image *u_image, cpl_image *u_error, double startwave, double dispersion, double band, cpl_table *pol_sta, double ra, double dec, char *filter, int *polarisation, double *p_offset, doubl [...]
-<tr class="memdesc:gae97d35cc8cb29cbb0b43d4fc84e4d34b"><td class="mdescLeft"> </td><td class="mdescRight">Estimate linear polarisation parameters on spectral interval.  <a href="#gae97d35cc8cb29cbb0b43d4fc84e4d34b">More...</a><br/></td></tr>
-<tr class="separator:gae97d35cc8cb29cbb0b43d4fc84e4d34b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gac442710556a5013dedd29befac482c9d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gac442710556a5013dedd29befac482c9d">mos_compute_offset</a> (cpl_table *reference, cpl_table *objects, double *offset)</td></tr>
-<tr class="memdesc:gac442710556a5013dedd29befac482c9d"><td class="mdescLeft"> </td><td class="mdescRight">Estimate offset between two object tables.  <a href="#gac442710556a5013dedd29befac482c9d">More...</a><br/></td></tr>
-<tr class="separator:gac442710556a5013dedd29befac482c9d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga82c7c158316d8aba35ffa271b44510c6"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga82c7c158316d8aba35ffa271b44510c6">mos_image_shift</a> (cpl_image *image, double dx, double dy)</td></tr>
-<tr class="memdesc:ga82c7c158316d8aba35ffa271b44510c6"><td class="mdescLeft"> </td><td class="mdescRight">Shift values in an image.  <a href="#ga82c7c158316d8aba35ffa271b44510c6">More...</a><br/></td></tr>
-<tr class="separator:ga82c7c158316d8aba35ffa271b44510c6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae575a9875c5e14d7fcb4d74cac44af31"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gae575a9875c5e14d7fcb4d74cac44af31">mos_slit_closest_to_center</a> (cpl_table *slits, int nx, int ny)</td></tr>
-<tr class="memdesc:gae575a9875c5e14d7fcb4d74cac44af31"><td class="mdescLeft"> </td><td class="mdescRight">Return slit closest to CCD center.  <a href="#gae575a9875c5e14d7fcb4d74cac44af31">More...</a><br/></td></tr>
-<tr class="separator:gae575a9875c5e14d7fcb4d74cac44af31"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga5291b43599e8dec884137f867fe72bfd"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga5291b43599e8dec884137f867fe72bfd">mos_extract_flux</a> (cpl_image *image, cpl_table *slits, double xwidth, double ywidth, int dx, double gain, double *o_flux, double *o_err)</td></tr>
-<tr class="memdesc:ga5291b43599e8dec884137f867fe72bfd"><td class="mdescLeft"> </td><td class="mdescRight">Measure flux from spectral interval on CCD.  <a href="#ga5291b43599e8dec884137f867fe72bfd">More...</a><br/></td></tr>
-<tr class="separator:ga5291b43599e8dec884137f867fe72bfd"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaf91a99846ae06aa780b59deced1fa215"><td class="memItemLeft" align="right" valign="top">cpl_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gaf91a99846ae06aa780b59deced1fa215">mos_extract_flux_mapped</a> (cpl_image *image, cpl_table *slits, double xwidth, double ywidth, double lambda, double startwave, double dispersion, int dx, double gain, double *o_flux, double *o_err)</td></tr>
-<tr class="memdesc:gaf91a99846ae06aa780b59deced1fa215"><td class="mdescLeft"> </td><td class="mdescRight">Measure flux from spectral interval on remapped frame.  <a href="#gaf91a99846ae06aa780b59deced1fa215">More...</a><br/></td></tr>
-<tr class="separator:gaf91a99846ae06aa780b59deced1fa215"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gac6224c743943d88920b1e93f7394d009"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#gac6224c743943d88920b1e93f7394d009">mos_median_in_slit</a> (cpl_table *table, cpl_table *slits, int slit, char *label, double *mvalue)</td></tr>
-<tr class="memdesc:gac6224c743943d88920b1e93f7394d009"><td class="mdescLeft"> </td><td class="mdescRight">Compute median from a table column section corresponding to a slit.  <a href="#gac6224c743943d88920b1e93f7394d009">More...</a><br/></td></tr>
-<tr class="separator:gac6224c743943d88920b1e93f7394d009"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1f574f5f45840ea69fa03eb26055a1b1"><td class="memItemLeft" align="right" valign="top">cpl_image * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moses.html#ga1f574f5f45840ea69fa03eb26055a1b1">mos_image_filter_median</a> (cpl_image *image, int nx, int ny)</td></tr>
-<tr class="memdesc:ga1f574f5f45840ea69fa03eb26055a1b1"><td class="mdescLeft"> </td><td class="mdescRight">Convenience function for standard median filtering.  <a href="#ga1f574f5f45840ea69fa03eb26055a1b1">More...</a><br/></td></tr>
-<tr class="separator:ga1f574f5f45840ea69fa03eb26055a1b1"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>The module moses collects low/medium level functions related to MOS data reduction. </p>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gad1235d5ce36f7267285e82dccd428aa6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define READY   1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Montecarlo simulation to evaluate error on polynomial fit. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">points</td><td>Table with (x,y) coordinates and uncertainties on y. </td></tr>
-    <tr><td class="paramname">evaluate</td><td>Table with x coordinates where to evaluate model variance. </td></tr>
-    <tr><td class="paramname">samples</td><td>Number of simulations. </td></tr>
-    <tr><td class="paramname">order</td><td>Degree of the fitted polynomial.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Polynomial fit</dd></dl>
-<p>This function evaluates the effects of variations of coordinates on a fitted polynomial model. The <em>points</em> table must contain two columns labeled <em>x</em> and <em>y</em>, and optionally a third column labeled <em>y_err</em>. <em>x</em> is assumed errorless, and <em>y_err</em> must be given at 1-sigma error. All columns must be of type CPL_TYPE_DOUBLE. A first (reference) polynomial fit p(x) is made. If the column <em>y_err</em> was not given, one is created and filled with t [...]
-<p>y = p(x) + y_err * mos_randg(1)</p>
-<p>where p(x) is the fit on the original points, and <em>x</em> are taken from the <em>points</em> table together with the corresponding <em>y_err</em>. The <em>evaluate</em> table should contain a column labeled <em>x</em>, and is returned with a new column labeled <em>sigma</em>, listing the sigma of the model variation at each of the indicated <em>x</em> coordinates. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga2244278b632992a44067afcc42530954"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_apply_photometry </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>response</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>ext_table</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>startwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</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>exptime</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>airmass</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Apply response curve to extracted spectra (or their errors). </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>Image containing extracted spectra (slits or objects) </td></tr>
-    <tr><td class="paramname">response</td><td>Table including the response curve </td></tr>
-    <tr><td class="paramname">ext_table</td><td>Atmospheric extinction table </td></tr>
-    <tr><td class="paramname">startwave</td><td>Start wavelength </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Angstrom per pixel of input image </td></tr>
-    <tr><td class="paramname">gain</td><td>Gain factor (e-/ADU) </td></tr>
-    <tr><td class="paramname">exptime</td><td>Exposure time (seconds) </td></tr>
-    <tr><td class="paramname">airmass</td><td>Airmass of observation</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Photometrically calibrated image at airmass 0.</dd></dl>
-<p>Clearly if this function is applied to extracted spectra, it should be applied to their errors too. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga063b7ef9e5f4fe46ecbcb1b170bc254b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_arc_background </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>msize</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>fsize</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Background determination on emission line spectrum (arc) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>An emission line spectrum exposure </td></tr>
-    <tr><td class="paramname">msize</td><td>Size of min-filter </td></tr>
-    <tr><td class="paramname">fsize</td><td>Size of running-average-filter</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Background image.</dd></dl>
-<table  class="ec" align="center">
-<tr>
-<td class="ecl">CPL_ERROR_NULL_INPUT </td><td class="ecr">The input image is a <code>NULL</code> pointer.   </td></tr>
-<tr>
-<td class="ecl">CPL_ERROR_ILLEGAL_INPUT </td><td class="ecr">Either <em>msize</em> is less than 3, or <em>fsize</em> is less than <em>msize</em>, or <em>fsize</em> is greater than half the input image size in the X direction.   </td></tr>
-</table>
-<p>The input <em>image</em> is assumed to be of type <code>float</code> and to contain MOS arc lamp line spectra dispersed (roughly) along the X direction. The background is estimated independently for each image row. The algorithm is based on the assumption that there is at least one background value at any position of the 1D-min-filter box running along the image row. A min-filter is passed along the row, and the result is smoothed by averaging on a running box of size <em>fsize</em>.  [...]
-<p>It is required that <em>msize</em> is greater than 1, and <em>fsize</em> greater than, or equal to, <em>msize</em>. Likewise, the image size along the X direction must be greater than <em>fsize</em> / 2. If such conditions are not met, or if the input image is a <code>NULL</code> pointer, this function will set an error code and return a <code>NULL</code> pointer. If either <em>msize</em> or <em>fsize</em> are even numbers, they are made odd by adding 1. Suggested values for <em>msize [...]
-
-</div>
-</div>
-<a class="anchor" id="gafeaa9b762d7da8437fef7f5f579c04ba"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_arc_background_1D </td>
-          <td>(</td>
-          <td class="paramtype">float * </td>
-          <td class="paramname"><em>spectrum</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float * </td>
-          <td class="paramname"><em>back</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>msize</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>fsize</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Background determination on 1D emission line spectrum (arc) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectrum</td><td>A 1D emission line spectrum </td></tr>
-    <tr><td class="paramname">back</td><td>A pre-allocated buffer where the background will be written </td></tr>
-    <tr><td class="paramname">length</td><td>Length of spectrum </td></tr>
-    <tr><td class="paramname">msize</td><td>Size of min-filter </td></tr>
-    <tr><td class="paramname">fsize</td><td>Size of running-average-filter</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE in case of success</dd></dl>
-<table  class="ec" align="center">
-<tr>
-<td class="ecl">CPL_ERROR_NULL_INPUT </td><td class="ecr">The input spectrum is a <code>NULL</code> pointer.   </td></tr>
-<tr>
-<td class="ecl">CPL_ERROR_ILLEGAL_INPUT </td><td class="ecr">Either <em>msize</em> is less than 3, or <em>fsize</em> is less than <em>msize</em>, or <em>fsize</em> is greater than <em>length/2</em>.   </td></tr>
-</table>
-<p>This function fills the array <em>back</em> with the estimated values of the background along the input spectrum. The algorithm is based on the assumption that there is at least one background value at any position of the min-filter box running along the spectrum. A min-filter is passed on the spectrum, and the result is smoothed by averaging on a running box of size <em>fsize</em>. The min-filter is run between the positions <em>msize</em> / 2 and <em>length</em> - <em>msize</em> / 2 [...]
-<p>It is required that the <em>back</em> array is at least long as the array <em>spectrum</em>. Moreover <em>msize</em> must be greater than 1, and <em>fsize</em> greater than, or equal to, <em>msize</em>. Likewise, <em>length</em> must be greater than twice <em>fsize</em>. If such conditions are not met, or if the input arrays are <code>NULL</code> pointers, this function will set an error code, and leave the <em>back</em> array untouched. If either <em>msize</em> or <em>fsize</em> are  [...]
-
-</div>
-</div>
-<a class="anchor" id="ga1f2fa7d6396362c0132b82578265b49d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_assign_multiplex_group </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Assign to each slit a group index, where a group has no multiplexing. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slit positions produced by <a class="el" href="group__moses.html#ga3946bc30280b3b041a20ae9c9326f827" title="Create slit location table from FITS header of VIMOS data.">mos_load_slits_vimos()</a></td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Number of groups </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaf8ac142136b23cdce93115d80e455012"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_average_global_distortion </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table ** </td>
-          <td class="paramname"><em>global</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>nglobal</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>scale</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">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>Average global distortion tables. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">global</td><td>Array of global distortion tables to average. </td></tr>
-    <tr><td class="paramname">nglobal</td><td>Number of global distortion tables to average. </td></tr>
-    <tr><td class="paramname">scale</td><td>Expected scale. </td></tr>
-    <tr><td class="paramname">tolerance</td><td>Tolerance around expected scale.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The averaged global distortions table</dd></dl>
-<p>The <em>scale</em> is the value of the first element of column a10 of a global distortion table. If <em>scale</em> and <em>tolerance</em> are positive, only the tables with a scale within tolerance are averaged. </p>
-
-</div>
-</div>
-<a class="anchor" id="gacff89218baba1abf3641c083a1125861"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_build_curv_coeff </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>global</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>maskslits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Build the curvature coefficients table from a global distortions table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">global</td><td>Global distortions table </td></tr>
-    <tr><td class="paramname">maskslits</td><td>Table with slits positions on mask </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits positions on CCD</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Curvature coefficients table</dd></dl>
-<p>The output curvature coefficients table has the same structure of the output of the function <code><a class="el" href="group__moses.html#ga7518d66581d93ab64704fcf90996296b" title="Fit spectral traces.">mos_poly_trace()</a></code>. The column "slit_id" is obtained from the "slit_id" column of the input <em>maskslits</em> table. The coefficients columns are obtained as </p>
-<div class="fragment"><div class="line">c0 = poly7(mx, my)</div>
-<div class="line">c1 = poly8(mx, my)</div>
-<div class="line">c2 = poly9(mx, my)</div>
-</div><!-- fragment --><p> where polyX is the polynomial obtained from row X of the input global distortions table, and (mx, my) are the coordinates of the slits ends listed in the input <em>maskslits</em> table. The slits that are completely outside the CCD are excluded from the table. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4e4da9890ad8d0229f187b4d7eda17be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_build_disp_coeff </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>global</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Build the IDS coefficients table from a global distortions table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">global</td><td>Global distortions table </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits positions on CCD</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>IDS coefficients table</dd></dl>
-<p>The input <em>slits</em> table should be already processed by the function <code><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13" title="Spatial remapping of CCD spectra eliminating the spectral curvature.">mos_spatial_calibration()</a></code>, i.e., it should already have the columns "position" and "length". The output IDS coefficients table will have the same structure of the one created by <code><a class="el" href="group__moses.html#ga1c91e213b5472df075ecc4 [...]
-<div class="fragment"><div class="line">c0 = poly0(xmask, ymask)</div>
-<div class="line">c1 = poly1(x, y)</div>
-<div class="line">c2 = poly2(x, y)</div>
-<div class="line">c3 = poly3(x, y)</div>
-<div class="line">c4 = poly4(x, y)</div>
-<div class="line">c5 = poly5(x, y)</div>
-</div><!-- fragment --><p> where polyX is the polynomial obtained from row X of the input global distortions table, and the (xmask, ymask) are the slit coordinate on the mask. The value of poly0(xmask, ymask) is already contained in the input <em>slits</em> table (columns "xtop" and "xbottom"). </p>
-
-</div>
-</div>
-<a class="anchor" id="gad9b2789388ba6564011d832d276b2ae6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_build_slit_location </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>global</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>maskslits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ysize</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Build the slit location table from a global distortions table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">global</td><td>Global distortions table </td></tr>
-    <tr><td class="paramname">maskslits</td><td>Table with slits positions on mask </td></tr>
-    <tr><td class="paramname">ysize</td><td>Y size of the CCD</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Slits location table</dd></dl>
-<p>The output slits location table has the same structure of the output of the function <code><a class="el" href="group__moses.html#gaa8023ee69b6004f39e3df20e9bd94364" title="Identify slits listed in a slit location table.">mos_identify_slits()</a></code>, i.e. the "position" and "length" columns are still missing (such columns would be added by the <code><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13" title="Spatial remapping of CCD spectra eliminating the spec [...]
-<div class="fragment"><div class="line">xtop    = poly0(mxtop, mytop)</div>
-<div class="line">xbottom = poly0(mxbottom, mybottom)</div>
-<div class="line">ytop    = poly7(mxtop, mytop)</div>
-<div class="line">        + poly8(mxtop, mytop) * xtop;</div>
-<div class="line">        + poly9(mxtop, mytop) * xtop^2</div>
-<div class="line">ybottom = poly7(mxbottom, mybottom)</div>
-<div class="line">        + poly8(mxbottom, mybottom) * xbottom;</div>
-<div class="line">        + poly9(mxbottom, mybottom) * xbottom^2</div>
-</div><!-- fragment --><p> where polyX is the polynomial obtained from row X of the input global distortions table, and mxtop, mytop, mxbottom, mybottom are the coordinates of the slits ends listed in the input <em>maskslits</em> table. The resulting slits location table is finally sorted according to the descending value of "ytop", ordering the slits from top to bottom of the image starting from the first table row. The slits that are completely outside the CCD are excluded from the tab [...]
-
-</div>
-</div>
-<a class="anchor" id="ga332b9bfd8e704446ad24d9fa448f9df2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_check_multiplex </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Determining whether a VIMOS mask has spectral multplexing or not. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slit positions produced by <a class="el" href="group__moses.html#ga3946bc30280b3b041a20ae9c9326f827" title="Create slit location table from FITS header of VIMOS data.">mos_load_slits_vimos()</a></td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Max observed spectral multiplexing. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gac4640b4ae87faf1ba8824c42379d8194"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_check_multiplex_old </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Determining whether a VIMOS mask has spectral multplexing or not. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slit positions produced by <a class="el" href="group__moses.html#ga3946bc30280b3b041a20ae9c9326f827" title="Create slit location table from FITS header of VIMOS data.">mos_load_slits_vimos()</a></td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Max observed spectral multiplexing. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gae97d35cc8cb29cbb0b43d4fc84e4d34b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_check_polarisation </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>q_image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>q_error</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>u_image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>u_error</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>startwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>band</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>pol_sta</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">char * </td>
-          <td class="paramname"><em>filter</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int * </td>
-          <td class="paramname"><em>polarisation</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>p_offset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>p_error</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>a_offset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>a_error</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Estimate linear polarisation parameters on spectral interval. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">q_image</td><td>Image whose rows correspond to extracted spectra </td></tr>
-    <tr><td class="paramname">q_error</td><td>Image with errors of <em>q_image</em> </td></tr>
-    <tr><td class="paramname">u_image</td><td>Image whose rows correspond to extracted spectra </td></tr>
-    <tr><td class="paramname">u_error</td><td>Image with errors of <em>u_image</em> </td></tr>
-    <tr><td class="paramname">startwave</td><td>Start wavelength </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Angstrom per pixel of input image </td></tr>
-    <tr><td class="paramname">band</td><td>Width of band where the signal is averaged (Angstrom) </td></tr>
-    <tr><td class="paramname">pol_sta</td><td>Table with polarimetric standard stars parameters </td></tr>
-    <tr><td class="paramname">ra</td><td>Right Ascension of center of field of view (degrees) </td></tr>
-    <tr><td class="paramname">dec</td><td>Declination of center of field of view (degrees) </td></tr>
-    <tr><td class="paramname">filter</td><td>Returned filter (UBVRI) to which the measurement refers </td></tr>
-    <tr><td class="paramname">polarisation</td><td>Returned polarisation flag (0 = star is not polarised) </td></tr>
-    <tr><td class="paramname">p_offset</td><td>Returned relative variation of P in <em>filter</em> </td></tr>
-    <tr><td class="paramname">p_error</td><td>Returned error on <em>p_offset</em> </td></tr>
-    <tr><td class="paramname">a_offset</td><td>Returned variation of angle in <em>filter</em> (degrees) </td></tr>
-    <tr><td class="paramname">a_error</td><td>Returned error on <em>a_offset</em> (degrees)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 on success.</dd></dl>
-<p>This function is used to estimate the deviation of the linear polarization of observed polarimetric standard stars from expected (catalog) values.</p>
-<p>The parameter <em>p_offset</em> is defined as observed minus expected polarisation, divided by expected polarisation. Only in case the expected polarisation is zero, <em>p_offset</em> is simply defined as the observed polarisation.</p>
-<p>The parameter <em>p_error</em> is obtained by propagating the measurement and the catalog errors.</p>
-<p>The parameter <em>a_offset</em> is defined as observed minus expected polarisation angle. In case the expected polarisation is zero, <em>a_offset</em> is simply set to zero.</p>
-<p>The parameter <em>a_error</em> is obtained by propagating the measurement and the catalog errors. In case the expected polarisation is zero, <em>a_error</em> is simply set to zero.</p>
-<p>The applied algorithm is the following:</p>
-<p>Each row of the input images corresponds to a different object. The row corresponding to the standard star is selected as the one where the S/N ratio is the greatest (this check is performed conventionally on <em>q_error</em>, which is minimal for high S/N objects). The selected row is extracted from all input images.</p>
-<p>From the table <em>pol_sta</em> the standard star closest to the specified <em>ra</em> and <em>dec</em> coordinates is found, and if this is closer than half a degree from the input <em>ra</em> and <em>dec</em> is selected. From the available expected values at the different spectral bands (U, B, V, etc.) the one which is closest to the center of the valid spectral interval for the standard star observation is selected (the valid spectral interval is defined here as the region where t [...]
-<p>U -> 3650 Angstrom B -> 4450 Angstrom V -> 5510 Angstrom R -> 6580 Angstrom I -> 8060 Angstrom</p>
-<p>If the interval <em>band</em> centered at the wavelength closest to center of the valid spectral range is not entirely contained in the valid spectral range, this function fails and 1 is returned. Otherwise, within the defined band, the median values of Q and U, together with their median errors, are determined. From those the values for the output parameters are computed in the usual way. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga71e13921907ec2f25478957d35318e7f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_check_slits </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>rescale</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Check that all slit have been detected, insert them if not. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slits table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 or -1 on error. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga1063de1ae8b4d345ea9ccf584e3a5f1a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_clean_cosmics </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>gain</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>threshold</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>ratio</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Remove cosmic rays from sky-subtracted CCD spectral exposure. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Input image to be cleaned (in ADU) </td></tr>
-    <tr><td class="paramname">gain</td><td>Inverse gain factor (e-/ADU) </td></tr>
-    <tr><td class="paramname">threshold</td><td>Threshold for cosmics detection, given in noise sigmas </td></tr>
-    <tr><td class="paramname">ratio</td><td>Ratio for discrimination between objects and cosmics</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> in case of success</dd></dl>
-<p>If <em>treshold</em> is negative, it is assigned the value 4.0. If <em>ratio</em> is negative, it is assigned the value 2.0. The algorithm used is the same of the MIDAS command FILTER/COSMIC. This function should be used to process not-rectified spectral exposures from where the sky spectrum was already subtracted. Cosmics are not cleaned if either x or y size of the image is not greater than 3: in this case the function returns without setting an error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga8f7402e45942012316738a01000d3f9c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_clean_outliers </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>table</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>name</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Eliminate obvious outliers from table column values. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">table</td><td>Input table </td></tr>
-    <tr><td class="paramname">name</td><td>Column name</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 on success.</dd></dl>
-<p>The method is base on finite differences. First, the median finite difference M is found. Then the median of the absolute second order differences S is also found, and taken as a typical deviation of the first order differences. Then values having both forward and backward differences more than 2S are invalidated. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac442710556a5013dedd29befac482c9d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_compute_offset </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>objects</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>offset</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Estimate offset between two object tables. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">reference</td><td>Reference object table. </td></tr>
-    <tr><td class="paramname">objects</td><td>Object table from offset frame. </td></tr>
-    <tr><td class="paramname">offset</td><td>Returned offset in CCD pixels.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE in case of success.</dd></dl>
-<p>Given two object tables, derived from two scientific exposures obtained with the same mask, this function determines the offset between the two tables.</p>
-<p>The procedure is the following: For each slit (corresponding to one row of the object tables), two integer arrays of length "length" (read from the object table) are allocated. The position of objects in that slit, as given in both the reference and the offset object tables, are flagged with 1, all the rest is left to zero. The two arrays are correlated, finding a preliminary (integer) offset in pixel. This preliminary offset is just used to match corresponding objects. At a second st [...]
-<div class="fragment"><div class="line">CCD_offset = Map_offset * (t - b) / length</div>
-</div><!-- fragment --><p> in the same convention used in function <code><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13" title="Spatial remapping of CCD spectra eliminating the spectral curvature.">mos_spatial_calibration()</a></code>. The returned offset is the median offset obtained from all slits. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2b71edbd4185f77a45cc25465dbe36a3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_detect_objects </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>margin</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>maxradius</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>conradius</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>noise</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Detect objects in rectified scientific frame. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Rectified image of scientific spectra </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits positions </td></tr>
-    <tr><td class="paramname">margin</td><td>Number of pixels to exclude at slits edges </td></tr>
-    <tr><td class="paramname">maxradius</td><td>Maximum extraction radius </td></tr>
-    <tr><td class="paramname">conradius</td><td>Contamination radius</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>Slits</code> mean flux spatial profile</dd></dl>
-<p>This function upgrades the input <em>slits</em> position table with the positions of the objects detected within each slit, and their corresponding extraction intervals. The object positions are listed in columns labeled "object_1", "object_2", etc., while the start and end positions of the extraction interval are marked with "start_1", "start_2", ... and "end_1", "end_2", etc., where the pixel coordinate is counted starting from the bottom position of the slit. Objects are not search [...]
-<p>The algorithm applied is based on the relative peak intensity of each detected object. First of all, a peak is identified by a positive value that is preceded and followed by two lower positive values that decrease with distance. Also the first and the last (valid) spatial pixel of a slit is considered a peak, if followed or preceded by decreasing pixels, to keep it into account in the computation of the contaminations, but it is never extracted in the end. Each peak is compared with  [...]
-<div class="fragment"><div class="line">S = C * (L / L_o)</div>
-</div><!-- fragment --><p> is computed, where C is the indicated contamination radius, <em>conradius</em>, that represents the minimum distance at which two point-like object of equal luminosity can stay without contaminating each others (a typical value for this parameter may be 16 pixels). If the distance between the two peaks is less than S, the examined peak is flagged as contaminated, and is excluded from the <em>final</em> list of detected objects. This empirical formula has the ef [...]
-<div class="fragment"><div class="line">B_i = (P_i * L_j + P_j * L_i) / (L_i + L_j)</div>
-</div><!-- fragment --><p> where P_i is the position of the i-th peak, L_i its peak value, and j = i + 1. The position of the lower limit of the first object is set at the top border of the slit, excluding the number of pixels indicated by the <em>margin</em> argument. Analogously, the position of the upper limit of the last object is set at the bottom border of the slit, excluding the same number of pixels. Finally, the extraction borders exceeding <em>maxradius</em> are corrected accor [...]
-
-</div>
-</div>
-<a class="anchor" id="gae1dbf0de952775b1619a3c636221e2a2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double mos_distortions_rms </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>rectified</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_vector * </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>wavestart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>radius</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>highres</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Estimate the spectral distortion modeling goodness. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">rectified</td><td>Calibrated calibration image </td></tr>
-    <tr><td class="paramname">lines</td><td>Reference wavelengths (line catalog) </td></tr>
-    <tr><td class="paramname">wavestart</td><td>Wavelength of bluest (left) pixel in input image </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Angstrom per pixel of input image </td></tr>
-    <tr><td class="paramname">radius</td><td>Search radius (in pixels of input image) </td></tr>
-    <tr><td class="paramname">highres</td><td>1 = high resolution data, 0 = low resolution data</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Mean RMS of residuals in pixels</dd></dl>
-<p>The input <em>rectified</em> image is the product of either the functions <code><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c" title="Derive wavelength calibration from a raw arc lamp or sky exposure.">mos_wavelength_calibration_raw()</a></code> and <code><a class="el" href="group__moses.html#ga1c91e213b5472df075ecc4af24f9da4f" title="Derive wavelength calibration from a rectified arc lamp or sky exposure.">mos_wavelength_calibration_final()</a></code> The R [...]
-
-</div>
-</div>
-<a class="anchor" id="ga29da0280a1b9f08c181c491f6df0743a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double mos_eval_dds </td>
-          <td>(</td>
-          <td class="paramtype">cpl_polynomial * </td>
-          <td class="paramname"><em>ids</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>refwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>pixel</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Evaluate the wavelength of a pixel position. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ids</td><td>Inverse dispersion relation (from wave to pixel) </td></tr>
-    <tr><td class="paramname">blue</td><td>Start wavelength of ids validity </td></tr>
-    <tr><td class="paramname">red</td><td>End wavelength of ids validity </td></tr>
-    <tr><td class="paramname">refwave</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">pixel</td><td>Pixel position</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Wavelength of pixel</dd></dl>
-<p>The accuracy of the returned wavelength is guaranteed to be better than 0.02 pixels (converted from wavelength units to pixel). If <em>pixel</em> is outside the <em>ids</em> validity range, the wavelength 0.0 is returned. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5291b43599e8dec884137f867fe72bfd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_extract_flux </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>xwidth</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>ywidth</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>dx</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>o_flux</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>o_err</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Measure flux from spectral interval on CCD. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image containing raw spectra. </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits properties. </td></tr>
-    <tr><td class="paramname">dx</td><td>Pixels to extract along the dispersion direction (radius). </td></tr>
-    <tr><td class="paramname">gain</td><td>In electrons/ADU, used for error computation. </td></tr>
-    <tr><td class="paramname">o_flux</td><td>Returned integrated flux, in ADU/mm^2 </td></tr>
-    <tr><td class="paramname">o_err</td><td>Returned error on integrated flux.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Status</dd></dl>
-<p>This one should integrate counts on a rectangle around a given wavelength on a spectrum corresponding to a given slit. Then the counts are normalized to the corresponding physical area on the slit. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf91a99846ae06aa780b59deced1fa215"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_extract_flux_mapped </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>xwidth</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>ywidth</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>lambda</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>startwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>dx</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>o_flux</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>o_err</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Measure flux from spectral interval on remapped frame. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image containing remapped spectra. </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits properties. </td></tr>
-    <tr><td class="paramname">lambda</td><td>Wavelength to examine </td></tr>
-    <tr><td class="paramname">startwave</td><td>Shortest wavelength in image. </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Wavelength units per image pixel </td></tr>
-    <tr><td class="paramname">dx</td><td>Pixels to extract along the dispersion direction (radius). </td></tr>
-    <tr><td class="paramname">gain</td><td>In electrons/ADU, used for error computation. </td></tr>
-    <tr><td class="paramname">o_flux</td><td>Returned integrated flux, in ADU/mm^2 </td></tr>
-    <tr><td class="paramname">o_err</td><td>Returned error on integrated flux.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Status</dd></dl>
-<p>This one should integrate counts on a rectangle around a given wavelength on a spectrum corresponding to the slit closest to the CCD center. Then the counts are normalized to the corresponding physical area on the slit. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga28ce64beccf31d6c0274db1dd4c8b522"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image** mos_extract_objects </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>science</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>sky</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>objects</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>extraction</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>ron</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">int </td>
-          <td class="paramname"><em>ncombined</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Extract detected objects from rectified scientific frame. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">science</td><td>Rectified and sky subtracted scientific spectra </td></tr>
-    <tr><td class="paramname">sky</td><td>Rectified sky spectra </td></tr>
-    <tr><td class="paramname">objects</td><td>Spectra and objects position table </td></tr>
-    <tr><td class="paramname">extraction</td><td>Extraction mode: 0 = aperture, 1 = optimal (Horne) </td></tr>
-    <tr><td class="paramname">ron</td><td>Read-out-noise in ADU </td></tr>
-    <tr><td class="paramname">gain</td><td>Conversion from ADU to electrons (e-/ADU) </td></tr>
-    <tr><td class="paramname">ncombined</td><td>Number of combined scientific frames</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>Images</code> with extracted science, sky, and error spectra</dd></dl>
-<p>The objects spatial extraction intervals are those listed in the input <em>objects</em> table produced by the function <code><a class="el" href="group__moses.html#ga2b71edbd4185f77a45cc25465dbe36a3" title="Detect objects in rectified scientific frame.">mos_detect_objects()</a></code>. The arguments <em>ron</em>, <em>gain</em>, and <em>ncombined</em> are used only in case the <em>extraction</em> mode is set to 1 (optimal extraction). The optimal extraction is based on Horne, K., (1986) [...]
-
-</div>
-</div>
-<a class="anchor" id="ga4ae590c72dce616bcbb426a3c2ec6ffe"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_bivector* mos_find_peaks </td>
-          <td>(</td>
-          <td class="paramtype">const float * </td>
-          <td class="paramname"><em>spectrum</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_vector * </td>
-          <td class="paramname"><em>lines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_polynomial * </td>
-          <td class="paramname"><em>ids</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>refwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>sradius</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Find the reference lines peaks using a polynomial first-guess. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectrum</td><td>A 1D emission line spectrum </td></tr>
-    <tr><td class="paramname">length</td><td>Length of spectrum </td></tr>
-    <tr><td class="paramname">lines</td><td>List of wavelengths </td></tr>
-    <tr><td class="paramname">ids</td><td>Polynomial conversion from wavelengths to pixel </td></tr>
-    <tr><td class="paramname">refwave</td><td>Zero wavelength used in ids determination </td></tr>
-    <tr><td class="paramname">sradius</td><td>Search radius for expected peaks</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>List of pixel positions and wavelengths of all identified peaks</dd></dl>
-<p>The input polynomial <em>ids</em> is applied to the input wavelengths to find the expected position of the corresponding peak along the input <em>spectrum</em>. The expected peak is searched within a window of radius <em>sradius</em>. A list is returned, with the positions of the detected peaks with their associated wavelengths. The <em>sradius</em> must be at least 1 pixel, and the input spectrum must be at least twice + 1 <em>sradius</em>. In case of error, a <code>NULL</code> point [...]
-
-</div>
-</div>
-<a class="anchor" id="ga74be15e9eea7e1a4f025be22ccb12c54"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double mos_get_gain_vimos </td>
-          <td>(</td>
-          <td class="paramtype">cpl_propertylist * </td>
-          <td class="paramname"><em>header</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Return gain factor for a VIMOS exposure. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>FITS header of VIMOS data containing information</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Gain factor (e-/ADU)</dd></dl>
-<p>This function is meant to read the gain factor from VIMOS data FITS headers. In the specific case of VIMOS the keyword used is ESO DET OUT1 CONAD. If no keyword is found a negative gain factor is returned. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae5fb2a72c41bab0464ad35c161e50cac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_get_maxobjs_per_slit </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the maximum possible number of objects in a slit. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slits table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>maximum possible number of objects in a slit </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaf4d5e8a0d6cd0356ab38f0b7be241352"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_get_nobjects </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the total number of objects detected in a slits table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slits table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the number of objects in the table </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gab847fe615b7510fc2d189e80cf5029b5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_global_distortion </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>maskslits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>ids</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>crv</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Determine all global distortions models. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Table with slits positions on CCD </td></tr>
-    <tr><td class="paramname">maskslits</td><td>Table with slits positions on mask </td></tr>
-    <tr><td class="paramname">ids</td><td>IDS coefficients table </td></tr>
-    <tr><td class="paramname">crv</td><td>Spectral curvature coefficients table </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The global distortions table</dd></dl>
-<p>The <em>ids</em> table refers to the spatially rectified spectra, and therefore it has as many rows as the rectified image. The x coordinate of this image corresponds to the x coordinate on the CCD. From the "position" and "length" columns of the <em>slits</em> table it is possible to select from the <em>ids</em> table the rows belonging to the same slit. For each slit the median value of each coefficient is computed, and associated to the CCD coordinates of the slit of the <em>slits< [...]
-<p>The <em>crv</em> table lists the values of the curvature polynomial for each end of the detected slits. Such values are associated to the mask coordinates listed in the <em>maskslits</em> table having the same "slit_id". Each coefficient can then be modeled as a function of the mask coordinates by fitting a second order bivariate polynomial.</p>
-<p>All the coefficients of the obtained bivariate polynomial are written to the newly created global distortions table. Conventionally this table consists of 6 columns and 10 rows. Each row corresponds to the modeling of one coefficient of the original polynomial coefficients belonging to the local solutions. The first 6 table rows are a description of the IDS coefficients, up to the fifth polynomial degree; these rows are followed by a row where just the first element is assigned the va [...]
-<p>At least 12 valid slits must be listed in the slits tables. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0eda8a5abf396113ffbe66607fd72fe6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_global_trace </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>polytraces</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>Recompute tracing coefficients globally. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slits positions on the CCD </td></tr>
-    <tr><td class="paramname">polytraces</td><td>Coefficients of spectral curvature polynomials </td></tr>
-    <tr><td class="paramname">mode</td><td>0 = do nothing, 1 = fill gaps, 2 = global model</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success</dd></dl>
-<p>The <em>polytraces</em> table should be the product of the function <code><a class="el" href="group__moses.html#gaad02c30291fd30d07156ac8f397f439f" title="Trace flat field spectra.">mos_trace_flat()</a></code>, and the <em>slits</em> table should be the same used and processed there. The trend of the tracing coefficients as a function of the first (offset) coefficient c0 is modelled by a linear fit. If <em>mode</em> is 2, all the coefficients are recomputed according to this model. If [...]
-
-</div>
-</div>
-<a class="anchor" id="ga68dc8cea89fe90cd1990d82a6945ca97"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_bivector* mos_identify_peaks </td>
-          <td>(</td>
-          <td class="paramtype">cpl_vector * </td>
-          <td class="paramname"><em>peaks</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_vector * </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>min_disp</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>max_disp</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">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>Identify peak candidates. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">peaks</td><td>List of peaks candidates </td></tr>
-    <tr><td class="paramname">lines</td><td>List of wavelengths </td></tr>
-    <tr><td class="paramname">min_disp</td><td>Min expected spectral dispersion (Angstrom/pixel) </td></tr>
-    <tr><td class="paramname">max_disp</td><td>Max expected spectral dispersion (Angstrom/pixel) </td></tr>
-    <tr><td class="paramname">tolerance</td><td>Tolerance for interval ratio comparison</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>List of pixel positions and wavelengths of all identified peaks</dd></dl>
-<p>The list of input peaks candidates (obtained with the functions <code><a class="el" href="group__moses.html#gad80729870e3acf9f61c820f488eb83b2" title="Find positions of peaks candidates.">mos_peak_candidates()</a></code>, and possibly <code><a class="el" href="group__moses.html#gacfa971d995aac0c8f05c37499861d191" title="Improve (when possible) accuracy of peaks candidates positions.">mos_refine_peaks()</a></code> ) is compared with a list of expected emission lines wavelengths. The al [...]
-<p>In order to work, this method just requires a rough expectation value of the spectral dispersion (in Angstrom/pixel), and a line catalog. The line catalog <em>lines</em> should just include lines that are expected somewhere in the CCD exposure of the calibration lamp (note, however, that a catalog including extra lines at its blue and/or red ends is still allowed).</p>
-<p>Typically, the arc lamp lines candidates <em>peak</em> will include light contaminations, hot pixels, and other unwanted signal, but only in extreme cases this prevents the pattern-recognition algorithm from identifying all the spectral lines. The pattern is detected even in the case <em>peak</em> contained more arc lamp lines than actually listed in the input line catalog.</p>
-<p>This method is based on the assumption that the relation between wavelengths and CCD positions is with good approximation locally linear (this is always true, for any existing spectrograph).</p>
-<p>The ratio between consecutive intervals pairs in wavelength and in pixel is invariant to linear transformations, and therefore this quantity can be used in the recognition of local portions of the searched pattern. All the examined sub-patterns will overlap, leading to the final identification of the whole pattern, notwithstanding the overall non-linearity of the relation between pixels and wavelengths.</p>
-<p>Ambiguous cases, caused by exceptional regularities in the pattern, or by a number of undetected (but expected) peaks that disrupt the pattern on the data, are solved by linear interpolation and extrapolation of the safe identifications.</p>
-<p>More details about the applied algorithm can be found in the comments to the function code. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa8023ee69b6004f39e3df20e9bd94364"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_identify_slits </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>maskslits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>global</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Identify slits listed in a slit location table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slit location on the camera focal plane (CCD pixels). </td></tr>
-    <tr><td class="paramname">maskslits</td><td>Slit location on the telescope focal plane (mask). </td></tr>
-    <tr><td class="paramname">global</td><td>Global distortion table.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>New slit location table</dd></dl>
-<p>This function is meant to assign to the slits positions listed in the input <em>slits</em> table the slit identifiers contained in the input <em>maskslits</em> table. At least 3 slits should be listed in both tables. The input <em>slits</em> table is the one obtained with the function <code><a class="el" href="group__moses.html#ga4e3f1760e6a202108d47c9ef977aa900" title="Find the location of detected spectra on the CCD.">mos_locate_spectra()</a></code>, with no rotation applied. This t [...]
-<p>The output slit location table will contain the same columns as the input tables, with the CCD positions of all the slits listed in the <em>maskslits</em> table: such positions are not necessarily all contained in the CCD. The new positions are obtained by mean of a low degree bivariate polynomial model converting from mask positions to CCD positions. This model is derived from a subset of safely identified slits positions. The preliminary identification is performed by matching simil [...]
-<p>The slit identification may fail in case of masks containing a regular spacing of slits: such masks would invariably lead to ambiguous pattern matching, that would not be processed. This would not prevent that data reduction in itself: simply, the reduced spectra would miss their identification. Note that this is not a real problem, since ambiguous masks are typically masks used for calibration, and not for scientific observations.</p>
-<p>In case a <em>global</em> distortion table is specified in input, the coefficients of the bivariate polynomials describing the relation between mask and CCD coordinates (at reference wavelength) are written to rows 0 and 7. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1f574f5f45840ea69fa03eb26055a1b1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_image_filter_median </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>nx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ny</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convenience function for standard median filtering. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image to smooth </td></tr>
-    <tr><td class="paramname">nx</td><td>Filter size in x. </td></tr>
-    <tr><td class="paramname">ny</td><td>Filter size in y.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Filtered image </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga82c7c158316d8aba35ffa271b44510c6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_image_shift </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dy</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Shift values in an image. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Input image </td></tr>
-    <tr><td class="paramname">dx</td><td>Shift in x </td></tr>
-    <tr><td class="paramname">dy</td><td>Shift in y</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaba740d24473d57d687f75787e4ecc835"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double mos_integrate_signal </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>wavemap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ystart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>yend</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>wstart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>wend</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Integrate signal from wavelength and spatial interval. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>CCD exposure </td></tr>
-    <tr><td class="paramname">wavemap</td><td>Wavelengths map of CCD exposure </td></tr>
-    <tr><td class="paramname">ystart</td><td>Start Y-pixel coordinate on CCD </td></tr>
-    <tr><td class="paramname">yend</td><td>End Y-pixel coordinate on CCD </td></tr>
-    <tr><td class="paramname">wstart</td><td>Start wavelength </td></tr>
-    <tr><td class="paramname">wend</td><td>End wavelength</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Integrated signal</dd></dl>
-<p>This function sum the signal in the specified interval. <em>ystart</em> is inclusive and <em>wend</em> exclusive. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac1680aed5b6d5ebf32f6aa3e74f18ad4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_interpolate_wavecalib </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>wavemap</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 class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>degree</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Interpolate LSS wavelength calibration. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">idscoeff</td><td>Table with IDS polynomials </td></tr>
-    <tr><td class="paramname">wavemap</td><td>Wavelength calibration image </td></tr>
-    <tr><td class="paramname">mode</td><td>0 = do nothing, 1 = fill gaps, 2 = global model </td></tr>
-    <tr><td class="paramname">degree</td><td>0 = median, > 0 order of fitting polynomial.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success.</dd></dl>
-<p>This function is used on LSS data, to interpolate the wavelength calibration obtained with the function <code><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c" title="Derive wavelength calibration from a raw arc lamp or sky exposure.">mos_wavelength_calibration_raw()</a></code> also in those image rows where the calibration failed. The input <em>idscoeff</em> table and <em>wavemap</em> image are reprocessed and modified in-place according to what indicated by t [...]
-
-</div>
-</div>
-<a class="anchor" id="gae5258889aa86b437e2531cdad02f4159"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_interpolate_wavecalib_slit </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>global</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Interpolate MOS wavelength calibration. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">idscoeff</td><td>Table with IDS polynomials </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits positions </td></tr>
-    <tr><td class="paramname">order</td><td>0 = median, > 0 order of fitting polynomial.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success.</dd></dl>
-<p>This function is used on MOS data, to interpolate the wavelength calibration obtained with the function <code><a class="el" href="group__moses.html#ga1c91e213b5472df075ecc4af24f9da4f" title="Derive wavelength calibration from a rectified arc lamp or sky exposure.">mos_wavelength_calibration_final()</a></code> also in those image rows where the calibration failed. The input <em>idscoeff</em> table is reprocessed and modified in-place according to what indicated by the <em>mode</em> arg [...]
-
-</div>
-</div>
-<a class="anchor" id="ga663cfcd4584b6a3e63e7593cba926688"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_ksigma_stack </td>
-          <td>(</td>
-          <td class="paramtype">cpl_imagelist * </td>
-          <td class="paramname"><em>imlist</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>klow</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>khigh</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>kiter</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image ** </td>
-          <td class="paramname"><em>good</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Stack images using k-sigma clipping. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">imlist</td><td>List of images to stack </td></tr>
-    <tr><td class="paramname">klow</td><td>Number of sigmas for rejection of lowest values </td></tr>
-    <tr><td class="paramname">khigh</td><td>Number of sigmas for rejection of highest values </td></tr>
-    <tr><td class="paramname">kiter</td><td>Max number of iterations</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Stacked image.</dd></dl>
-<p>At the first iteration the value of sigma is computed relatively to the median value of all pixels at a given image position. For the next iterations the sigma is computed in the standard way. If at some iteration all points would be rejected, the mean computed at the previous iteration is returned. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga28871a4ecc1e2779022f06d4da892360"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_lines_width </td>
-          <td>(</td>
-          <td class="paramtype">const float * </td>
-          <td class="paramname"><em>spectrum</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>length</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Estimate lines widths (in pixel) in arc lamp spectrum. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectrum</td><td>A 1D emission line spectrum </td></tr>
-    <tr><td class="paramname">length</td><td>Length of spectrum</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Mean lines width</dd></dl>
-<p>This function only works with emission lines spectra. The derivative of the input spectrum is calculated. The result is processed once by setting all its negative values to zero, and once by setting all its positive values to zero and then making positive its negative values. The two profiles are cross-correlated, finding in this way the mean width of all the emission lines. Note that the returned width is the width of the lines measured at the point of max steepness of the signal (i. [...]
-
-</div>
-</div>
-<a class="anchor" id="gaf4872d8e8654dd8733369c071843e464"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_load_overscans_vimos </td>
-          <td>(</td>
-          <td class="paramtype">const cpl_propertylist * </td>
-          <td class="paramname"><em>header</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>check_consistency</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the overscan positions from FITS header of VIMOS data. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>FITS header containing overscan information </td></tr>
-    <tr><td class="paramname">check_consistency</td><td>If true (non-zero), this function fails if the sum of prescan, overscan and detector size is different from the actual FITS image size. (this does not hold true for old FORS data)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A overscan position table</dd></dl>
-<p>This function is meant to convert the information contained in VIMOS data FITS header into an overscan position table. This table will contain the integer columns labeled <em>xlow</em>, <em>ylow</em>, <em>xhig</em>, and <em>yhig</em>, containing the pixel coordinates of opposite corners of the overscan regions, and at its first row the corners coordinates of the valid region (i.e., the CCD proper) within the image. This is a standard table valid for all instruments that should be used [...]
-
-</div>
-</div>
-<a class="anchor" id="ga43072c6a57d094a5d7d341934a096e80"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_load_slits_fors_lss </td>
-          <td>(</td>
-          <td class="paramtype">cpl_propertylist * </td>
-          <td class="paramname"><em>header</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create slit location table from FITS header of FORS1/2 LSS data. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>FITS header of FORS data containing slits information</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A slit position table</dd></dl>
-<p>This function is meant to convert the information contained in FORS1 and FORS2 LSS data FITS header into a slit position table. This table will contain the double precision columns labeled <em>xtop</em>, <em>ytop</em>, <em>xbottom</em>, and <em>ybottom</em>, containing the start and end coordinates of the slits on the telescope focal plane (mask). The coordinates are expected to have a horizontal dispersion direction and red wavelengths on the right side. A flip to the Y coordinate is [...]
-
-</div>
-</div>
-<a class="anchor" id="ga9bc0313a644dfa21c980bcfd933aeeda"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_load_slits_fors_mos </td>
-          <td>(</td>
-          <td class="paramtype">cpl_propertylist * </td>
-          <td class="paramname"><em>header</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create slit location table from FITS header of FORS1/2 MOS data. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>FITS header of FORS data containing slits information</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A slit position table</dd></dl>
-<p>This function is meant to convert the information contained in FORS1 and FORS2 MOS data FITS header into a slit position table. This table will contain the double precision columns labeled <em>xtop</em>, <em>ytop</em>, <em>xbottom</em>, and <em>ybottom</em>, containing the start and end coordinates of the slits on the telescope focal plane (mask). The coordinates are expected to have a horizontal dispersion direction and red wavelengths on the right side. A flip to the Y coordinate is [...]
-
-</div>
-</div>
-<a class="anchor" id="ga2c9ae818bb4b07cf99dc5ae8e9e78d9c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_load_slits_fors_mxu </td>
-          <td>(</td>
-          <td class="paramtype">cpl_propertylist * </td>
-          <td class="paramname"><em>header</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create slit location table from FITS header of FORS2-MXU data. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>FITS header of FORS data containing slits information</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A slit position table</dd></dl>
-<p>This function is meant to convert the information contained in FORS2 MXU data FITS header into a slit position table. This table will contain the double precision columns labeled <em>xtop</em>, <em>ytop</em>, <em>xbottom</em>, and <em>ybottom</em>, containing the start and end coordinates of the slits on the telescope focal plane (mask). The coordinates are expected to have a horizontal dispersion direction and red wavelengths on the right side. A flip to the Y coordinate is applied t [...]
-
-</div>
-</div>
-<a class="anchor" id="ga2dd530fbf8d219a6a6f6e68babebd24a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_load_slits_fors_pmos </td>
-          <td>(</td>
-          <td class="paramtype">cpl_propertylist * </td>
-          <td class="paramname"><em>header</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create PMOS slit location table from FITS header of FORS1/2 MOS data. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>FITS header of FORS data containing slits information</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A slit position table</dd></dl>
-<p>This function is meant to convert the information contained in FORS1 and FORS2 MOS data FITS header into a slit position table. This table will contain the double precision columns labeled <em>xtop</em>, <em>ytop</em>, <em>xbottom</em>, and <em>ybottom</em>, containing the start and end coordinates of the slits on the telescope focal plane (mask). The coordinates are expected to have a horizontal dispersion direction and red wavelengths on the right side. A flip to the Y coordinate is [...]
-
-</div>
-</div>
-<a class="anchor" id="ga3946bc30280b3b041a20ae9c9326f827"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_load_slits_vimos </td>
-          <td>(</td>
-          <td class="paramtype">cpl_propertylist * </td>
-          <td class="paramname"><em>header</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create slit location table from FITS header of VIMOS data. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">header</td><td>FITS header of VIMOS data containing slits information</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A slit position table</dd></dl>
-<p>This function is meant to convert the information contained in VIMOS data FITS header into a slit position table. This table will contain the double precision columns labeled <em>xtop</em>, <em>ytop</em>, <em>xbottom</em>, and <em>ybottom</em>, containing the start and end coordinates of the slits on the telescope focal plane (mask). The coordinates will be rotated to have a horizontal dispersion direction and red wavelengths on the right side. A slit identifying integer column, label [...]
-
-</div>
-</div>
-<a class="anchor" id="ga4e3f1760e6a202108d47c9ef977aa900"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_locate_spectra </td>
-          <td>(</td>
-          <td class="paramtype">cpl_mask * </td>
-          <td class="paramname"><em>mask</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Find the location of detected spectra on the CCD. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">mask</td><td>A reference mask at a given reference wavelength</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Table with characteristics of the detected spectra</dd></dl>
-<p>The input <em>mask</em> is the one obtained with the function <code><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c" title="Derive wavelength calibration from a raw arc lamp or sky exposure.">mos_wavelength_calibration_raw()</a></code>. The output table contains the start and end image coordinates of the slit on the input <em>mask</em> at reference wavelength. The slits are ordered from top to bottom of the image starting from the first table row.</p>
-<p>Note that possible gaps within the images of the slits will result in splitting the same slit into two or more sub-slits. This kind of problem is solved within the slit identification task, performed by the function <code><a class="el" href="group__moses.html#gaa8023ee69b6004f39e3df20e9bd94364" title="Identify slits listed in a slit location table.">mos_identify_slits()</a></code>.</p>
-<p>Find the location of detected spectra on the CCD</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">mask</td><td>A reference mask at a given reference wavelength</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Table with characteristics of the detected spectra</dd></dl>
-<p>The input <em>mask</em> is the one obtained with the function <code><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c" title="Derive wavelength calibration from a raw arc lamp or sky exposure.">mos_wavelength_calibration_raw()</a></code>. The output table contains the start and end image coordinates of the slit on the input <em>mask</em> at reference wavelength. The slits are ordered from top to bottom of the image starting from the first table row.</p>
-<p>Note that possible gaps within the images of the slits will result in splitting the same slit into two or more sub-slits. This kind of problem is solved within the slit identification task, performed by the function <code><a class="el" href="group__moses.html#gaa8023ee69b6004f39e3df20e9bd94364" title="Identify slits listed in a slit location table.">mos_identify_slits()</a></code>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gacec86a61ea4c2b653a551eb067fbcfb5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_map_idscoeff </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>xsize</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create a wavelengths map from an IDS coefficients table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">idscoeff</td><td>Table with IDS polynomials </td></tr>
-    <tr><td class="paramname">xsize</td><td>X size of used CCD </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda for spatial remapping</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Wavelengths map</dd></dl>
-<p>The output wavelength map will have the Y size equal to the number of rows in the <em>idscoeff</em> table. The input <em>xsize</em> will typically be the X size of the used detector. In general this should be identical to the X size of the arc lamp image from where the <em>idscoeff</em> table was derived. The wavelengths map is created by applying the inverses of the IDS polynomials to all the pixel positions of each output image row. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6187454ef3812203ba2d50d1e2d01326"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_map_pixel </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>trend</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create a pixel map from an IDS coefficients table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">idscoeff</td><td>Table with IDS polynomials </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion </td></tr>
-    <tr><td class="paramname">trend</td><td>Trend to remove from IDS polynomials</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Pixel map</dd></dl>
-<p>The output pixel map will have the Y size equal to the number of rows in the <em>idscoeff</em> table. The X size is computed as (<em>red</em> - <em>blue</em>) / <em>dispersion</em>. With <em>trend</em> the number of polynomial coefficients to ignore in the computation can be specified. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga8525f2b52eb7ba887858420f36c53471"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_map_spectrum </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>wavecalib</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spatial</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>polytraces</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>flux</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Remapping of slit spectra into a grid of lambda-space coordinates. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>CCD image containing the observed slit spectra </td></tr>
-    <tr><td class="paramname">wavecalib</td><td>CCD image of wavelengths </td></tr>
-    <tr><td class="paramname">spatial</td><td>CCD image of spatial coordinates </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions on the CCD </td></tr>
-    <tr><td class="paramname">polytraces</td><td>Coefficients of spectral curvature polynomials </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda for remapping </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda for remapping </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion </td></tr>
-    <tr><td class="paramname">flux</td><td>flux = 0 means no flux conservation correction applied</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Extracted slit spectra</dd></dl>
-<p>DO NOT USE THIS FUNCTION, IT GIVES BAD RESULTS (and it should be eventually removed).</p>
-<p>The input <em>wavecalib</em> image is the one returned by the function <code><a class="el" href="group__moses.html#ga2255ec2a344cd3c6f579179c538669b7" title="Remapping of spatially rectified wavelengths to original CCD pixels.">mos_map_wavelengths()</a></code> or, if this is not available, the approximate one returned by the function <em><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c" title="Derive wavelength calibration from a raw arc lamp or sky exposure."> [...]
-<p>The target grid in lambda and pseudo spatial coordinates is defined on the basis of the indicated spectral range and dispersion, while the number of spatial pixels assigned to each slits are compatible with the positions listed in the <em>slits</em> table (column "position") following the convention used in the rest of the spectral reduction, in particular the functions <em><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13" title="Spatial remapping of CCD spectr [...]
-<p>Indicating with (x,y) a pixel position on the CCD, and with (L,S) a pixel position on one extracted slit, the mapping from (x,y) to (L,S) is done in the following way (for each slit): for each (x,y) read the corresponding value of lambda and space from the input images <em>wavecalib</em> and <em>spatial</em>; find the pixel (L,S) on the output (remapped) slit that has the highest lambda and space that are less than the lambda and space obtained above; read the values of the following  [...]
-geometry"). Typically, it will always be N = 0.</p>
-<p>The pixel value to assign to the pixel (L,S) is computed by linear interpolation to its corresponding (x',y') position of the 4 pixel values (horizontal interpolation followed by vertical interpolation of the interpolated values). The corresponding flux-conservation factor, if requested, is computed as (dL/dx)*(dS/dy). The interpolated value is multiplied by this factor before being written to the pixel (L,S).</p>
-<p>DO NOT USE THIS FUNCTION, IT GIVES BAD RESULTS (and it should be eventually removed). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2255ec2a344cd3c6f579179c538669b7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_map_wavelengths </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spatial</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>calibration</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>polytraces</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Remapping of spatially rectified wavelengths to original CCD pixels. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spatial</td><td>CCD image of spatial coordinates </td></tr>
-    <tr><td class="paramname">calibration</td><td>Spatially rectified image of wavelengths </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions on the CCD </td></tr>
-    <tr><td class="paramname">polytraces</td><td>Coefficients of spectral curvature polynomials </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Wavelengths mapping on CCD.</dd></dl>
-<p>The input <em>spatial</em> image is the one produced by the function <code><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13" title="Spatial remapping of CCD spectra eliminating the spectral curvature.">mos_spatial_calibration()</a></code> (argument: <em>calibration</em>). It is expected to be oriented with horizontal dispersion direction and red wavelengths on the right side, and it should have the same x-length of the input <em>calibration</em> image. The <em> [...]
-<p>For each slit, each (x,y) coordinate on the <em>spatial</em> image is characterised by a spatial coordinate p. The wavelength at that spatial coordinate is derived by linear interpolation of the two wavelengths with the same coordinate x that are closer to p on the <em>calibration</em> image. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac6224c743943d88920b1e93f7394d009"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_median_in_slit </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>table</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>slit</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char * </td>
-          <td class="paramname"><em>label</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>mvalue</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Compute median from a table column section corresponding to a slit. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">table</td><td>Table with as many rows as rectified images </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits properties. </td></tr>
-    <tr><td class="paramname">slit</td><td>Row in slits corresponding to slit to examine </td></tr>
-    <tr><td class="paramname">label</td><td>Name of column to examine </td></tr>
-    <tr><td class="paramname">mvalue</td><td>Returned median value</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 in case of success. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga6b94ed200f4b1b8e281417a80b9aa4b5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_normalise_flat </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>flat</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spatial</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>polytraces</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>sradius</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>polyorder</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Normalise a flat field exposure. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">flat</td><td>Image containing the original flat field spectra </td></tr>
-    <tr><td class="paramname">spatial</td><td>Spatial calibration image </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits positions </td></tr>
-    <tr><td class="paramname">polytraces</td><td>Coefficients of spectral curvature polynomials </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda to process </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda to process </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion </td></tr>
-    <tr><td class="paramname">sradius</td><td>Radius of smoothing box along the dispersion direction </td></tr>
-    <tr><td class="paramname">polyorder</td><td>Order of fitting polynomial along the dispersion</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The smoothed flat field exposure used for normalisation</dd></dl>
-<p>The input <em>flat</em> frame should be already bias subtracted, and should be oriented so that the dispersion direction is horizontal with <em>blue</em> on the left and <em>red</em> on the right. The flat field spectra are spatially rectified, heavily smoothed, and then mapped back on the CCD. The original <em>flat</em> image is divided IN PLACE by its smoothed counterpart, which is also returned. If the polynomial <em>polyorder</em> is set to a negative number the smoothing consists [...]
-
-</div>
-</div>
-<a class="anchor" id="ga2efbe02c8b5535d746bc9dd9ece30296"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_normalise_longflat </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>flat</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>sradius</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>dradius</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>polyorder</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Normalise a long slit flat field exposure. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">flat</td><td>Image containing the original flat field spectra </td></tr>
-    <tr><td class="paramname">sradius</td><td>Radius of smoothing box along the spatial direction </td></tr>
-    <tr><td class="paramname">dradius</td><td>Radius of smoothing box along the dispersion direction </td></tr>
-    <tr><td class="paramname">polyorder</td><td>Order of fitting polynomial along the spatial direction</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The smoothed flat field exposure used for normalisation</dd></dl>
-<p>The input <em>flat</em> frame should be already bias subtracted, and should be oriented so that the dispersion direction is horizontal with <em>blue</em> on the left and <em>red</em> on the right. The original <em>flat</em> image is divided IN PLACE by its smoothed counterpart, which is also returned. If the polynomial <em>polyorder</em> is set to a negative number the smoothing consists of a median filtering box of specified sizes. Alternatively, if <em>polyorder</em> is not negative [...]
-
-</div>
-</div>
-<a class="anchor" id="ga5f9947ec541f1291f7c9fb20bd081280"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_object_intersect </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table ** </td>
-          <td class="paramname"><em>slitss</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>origslits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>nscience</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </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>Intersect a number of slit tables. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slitss</td><td>Pointer to the list of slit tables </td></tr>
-    <tr><td class="paramname">origslits</td><td>Pointer to output intersected table </td></tr>
-    <tr><td class="paramname">nscience</td><td>Number of tables in the list </td></tr>
-    <tr><td class="paramname">tolerance</td><td>Tolerance in object position (pixel)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE of corresponding cpl_error_code on error.</dd></dl>
-<p>The intersected table will only contain polarimetric objects which have been detected in all tables in both beams in the input table list (that is, are present, for all angles so polarimetric computation is possible) </p>
-
-</div>
-</div>
-<a class="anchor" id="gad80729870e3acf9f61c820f488eb83b2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_vector* mos_peak_candidates </td>
-          <td>(</td>
-          <td class="paramtype">const float * </td>
-          <td class="paramname"><em>spectrum</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>exp_width</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Find positions of peaks candidates. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectrum</td><td>A 1D emission line spectrum </td></tr>
-    <tr><td class="paramname">length</td><td>Length of spectrum </td></tr>
-    <tr><td class="paramname">level</td><td>Significance level </td></tr>
-    <tr><td class="paramname">exp_width</td><td>Expected lines FWHM (in pixels)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>List of peaks candidates positions</dd></dl>
-<p>A peak candidate corresponds to any pixel value above <em>level</em> that is preceded and followed by a pixel with lower values. The peak candidate position is determined by parabolic interpolation of the three pixel values. A <code>NULL</code> pointer is returned in case no peak candidate is found. No error code is set in this case.</p>
-<p>If very very broad and flat-topped peaks are expected, i.e., if the expected lines FWHM is more than 5 pixels, the <em>spectrum</em> is slightly smoothed before peaks are searched. If the expected lines FWHM is more than 20 pixels, the spectrum is preliminary sampled at a step of half <em>exp_width</em>. These operations are applied to ensure that the top of an emission line profile is never flat. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaad62d9ba866b8abafb2da02053584bf2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_photometric_calibration </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>startwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</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>exptime</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>ext_table</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>airmass</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>flux_table</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Produce instrument response curve, with some ancillary information. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>Image with extracted spectra </td></tr>
-    <tr><td class="paramname">startwave</td><td>Shortest wavelength in input image (Angstrom) </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Angstrom per pixel of input image </td></tr>
-    <tr><td class="paramname">gain</td><td>Gain factor (e-/ADU) </td></tr>
-    <tr><td class="paramname">exptime</td><td>Exposure time (seconds) </td></tr>
-    <tr><td class="paramname">ext_table</td><td>Atmospheric extinction table </td></tr>
-    <tr><td class="paramname">airmass</td><td>Airmass of observation </td></tr>
-    <tr><td class="paramname">flux_table</td><td>Standard star catalog flux </td></tr>
-    <tr><td class="paramname">order</td><td>Order of polynomial to model the instrument response</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A slit position table</dd></dl>
-<p>This function is meant to convert the information contained in</p>
-<p>The brightest extracted spectrum in <em>spectra</em> is assumed to be the standard star spectrum. The <em>order</em> of the polynomial fitting the instrument must be at least 2. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga8d5305df3cb184677081fb285cba6eb5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_polynomial* mos_poly_pix2wav </td>
-          <td>(</td>
-          <td class="paramtype">cpl_bivector * </td>
-          <td class="paramname"><em>pixwav</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reject</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>minlines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int * </td>
-          <td class="paramname"><em>nlines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>err</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Fit polynomial relation from pixels to wavelengths. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">pixwav</td><td>List of pixel positions and associated wavelengths </td></tr>
-    <tr><td class="paramname">order</td><td>Order of the fitting polynomial </td></tr>
-    <tr><td class="paramname">reject</td><td>Max residual tolerated for line rejection (in wave units) </td></tr>
-    <tr><td class="paramname">minlines</td><td>Min number of lines to be used in the fit </td></tr>
-    <tr><td class="paramname">nlines</td><td>Output number of lines actually used in the fit </td></tr>
-    <tr><td class="paramname">err</td><td>Output RMS of the fit residuals</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Polynomial relation from wavelengths to pixels</dd></dl>
-<p>The list of identified peaks and their wavelengths (obtained with the function <code><a class="el" href="group__moses.html#ga68dc8cea89fe90cd1990d82a6945ca97" title="Identify peak candidates.">mos_identify_peaks()</a></code> ) must contain at least <em>minlines</em> entries. A fit is tried, and all the peaks farther than the <em>reject</em> threshold from the model are rejected. This process is iterated until either the number of surviving lines is less than <em>minlines</em> or there [...]
-
-</div>
-</div>
-<a class="anchor" id="ga7518d66581d93ab64704fcf90996296b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_poly_trace </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>traces</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Fit spectral traces. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slits positions on the CCD </td></tr>
-    <tr><td class="paramname">traces</td><td>Spectral traces </td></tr>
-    <tr><td class="paramname">order</td><td>Order of fitting polynomial</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Table with tracing polynomials coefficients</dd></dl>
-<p>The <em>traces</em> table should be the product of the function <code><a class="el" href="group__moses.html#gaad02c30291fd30d07156ac8f397f439f" title="Trace flat field spectra.">mos_trace_flat()</a></code>, and the <em>slits</em> table should be the same used and processed there. The <em>order</em> of the fitting polynomial should not be greater than 5. If the fit of a trace is successful, a column containing the residuals of the fit is added to the <em>traces</em> table. If the fitte [...]
-
-</div>
-</div>
-<a class="anchor" id="ga4d584e69389518aab8d6932e5841d399"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_polynomial* mos_poly_wav2pix </td>
-          <td>(</td>
-          <td class="paramtype">cpl_bivector * </td>
-          <td class="paramname"><em>pixwav</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reject</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>minlines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int * </td>
-          <td class="paramname"><em>nlines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>err</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Fit polynomial relation from wavelengths to pixels. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">pixwav</td><td>List of pixel positions and associated wavelengths </td></tr>
-    <tr><td class="paramname">order</td><td>Order of the fitting polynomial </td></tr>
-    <tr><td class="paramname">reject</td><td>Max residual tolerated for line rejection (in pixel) </td></tr>
-    <tr><td class="paramname">minlines</td><td>Min number of lines to be used in the fit </td></tr>
-    <tr><td class="paramname">nlines</td><td>Output number of lines actually used in the fit </td></tr>
-    <tr><td class="paramname">err</td><td>Output RMS of the fit residuals</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Polynomial relation from wavelengths to pixels</dd></dl>
-<p>The list of identified peaks and their wavelengths (obtained either with the function <code><a class="el" href="group__moses.html#ga68dc8cea89fe90cd1990d82a6945ca97" title="Identify peak candidates.">mos_identify_peaks()</a></code> or the function <code><a class="el" href="group__moses.html#ga4ae590c72dce616bcbb426a3c2ec6ffe" title="Find the reference lines peaks using a polynomial first-guess.">mos_find_peaks()</a></code> ) must contain at least <em>minlines</em> entries. A fit is tr [...]
-
-</div>
-</div>
-<a class="anchor" id="gab09208f34d27855a6db2d933ff3d02e2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_randomise_image </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>ron</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>bias</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Randomise image. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image to randomise (in place) </td></tr>
-    <tr><td class="paramname">ron</td><td>Read out noise (ADU) </td></tr>
-    <tr><td class="paramname">gain</td><td>Gain (electrons/ADU) </td></tr>
-    <tr><td class="paramname">bias</td><td>Bias level (ADU)</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE or corresponding cpl_error_code on error.</dd></dl>
-<p>For each pixel the 1-sigma error is evaluated as the square root of the variance: </p>
-<div class="fragment"><div class="line">V = ron*ron + (S - bias) / gain</div>
-</div><!-- fragment --><p> where S is the pixel value. The pixel value is randomised as </p>
-<div class="fragment"><div class="line">S = S + sqrt(V) * mos_randg(1)</div>
-</div><!-- fragment --> 
-</div>
-</div>
-<a class="anchor" id="gacfa971d995aac0c8f05c37499861d191"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_vector* mos_refine_peaks </td>
-          <td>(</td>
-          <td class="paramtype">const float * </td>
-          <td class="paramname"><em>spectrum</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_vector * </td>
-          <td class="paramname"><em>peaks</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>sradius</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Improve (when possible) accuracy of peaks candidates positions. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectrum</td><td>A 1D emission line spectrum </td></tr>
-    <tr><td class="paramname">length</td><td>Length of spectrum </td></tr>
-    <tr><td class="paramname">peaks</td><td>List of peaks candidates </td></tr>
-    <tr><td class="paramname">sradius</td><td>Search radius for expected peaks</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Vector with refined peak positions</dd></dl>
-<p>The list of input peaks candidates (obtained with the function <code><a class="el" href="group__moses.html#gad80729870e3acf9f61c820f488eb83b2" title="Find positions of peaks candidates.">mos_peak_candidates()</a></code> ) is made more accurate, whenever possible, by applying a line baricenter determination method. In case the baricentric method fails, the corresponding peak position is not rejected, but just kept unchanged. The final peaks candidates list is finally cleaned from peak  [...]
-
-</div>
-</div>
-<a class="anchor" id="gae623b8129e3fd33516f32d866c5106a8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_refmask_find_gaps </td>
-          <td>(</td>
-          <td class="paramtype">cpl_mask * </td>
-          <td class="paramname"><em>refmask</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>master_flat</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>level</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Reconstruct the gaps required for slit location. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">refmask</td><td>Reference mask </td></tr>
-    <tr><td class="paramname">master_flat</td><td>Masterflat. The gaps are detected and inserted based upon the values found in this image.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE of corresponding cpl_error_code on error.</dd></dl>
-<p>Deviation larger than 1 sigma from median are killed from map. If <em>level</em> is greater than zero, deviations less than <em>level</em> from median are killed. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0516bbdd85d665b796da6c362e4aab36"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_remove_bias </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>bias</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>overscans</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Subtract the bias from a CCD exposure. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image containing the data to correct </td></tr>
-    <tr><td class="paramname">bias</td><td>Master bias </td></tr>
-    <tr><td class="paramname">overscans</td><td>Table with the overscan information</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A newly allocated bias subtracted image</dd></dl>
-<p>If the master <em>bias</em> has the same sizes of the input <em>image</em> it is simply subtracted from the <em>image</em>. If it has different sizes, they should be compatible with the description in the <em>overscans</em> table produced by one of the functions <em>mos_load_overscans_<instrument>()</em>. In this case the mean level of the master bias is compared with the mean level of the overscan regions of the input image. The master <em>bias</em> and the difference of mean l [...]
-
-</div>
-</div>
-<a class="anchor" id="gae9f633b64e1880984c084a19f53047fc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_resolution_table </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>startwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>saturation</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_vector * </td>
-          <td class="paramname"><em>lines</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Compute mean spectral resolution at a given arc lamp line. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Rectified and wavelength calibrated arc lamp image </td></tr>
-    <tr><td class="paramname">startwave</td><td>Shortest wavelength in image. </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Wavelength units per image pixel </td></tr>
-    <tr><td class="paramname">saturation</td><td>Saturation value </td></tr>
-    <tr><td class="paramname">lines</td><td>Line catalog</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Spectral resolution table</dd></dl>
-<p>This function loops on the function <code><a class="el" href="group__moses.html#ga58039ea48fa183baf1701567781ad128" title="Compute mean spectral resolution at a given arc lamp line.">mos_spectral_resolution()</a></code> for each line of the input line catalog, and creates a spectral resolution table. This table has a column "wavelength" listing the line catalog wavelengths, a column "resolution" containing the corresponding mean spectral resolutions, a column "rms" with the population [...]
-
-</div>
-</div>
-<a class="anchor" id="ga9880f7b09371ca6babb8b2aa7c9e094f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_rotate_slits </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>rotation</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>nx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ny</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Rotate a slit location table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slit location table to rotate </td></tr>
-    <tr><td class="paramname">rotation</td><td>Rotation angle in multiples of 90 degrees (counterclockwise) </td></tr>
-    <tr><td class="paramname">nx</td><td>X size of reference image </td></tr>
-    <tr><td class="paramname">ny</td><td>Y size of reference image</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE in case of success</dd></dl>
-<p>This function is meant to align the input <em>slits</em> table to the mask coordinates convention used for a given instrument. The input <em>slits</em> table is the one obtained with the function <code><a class="el" href="group__moses.html#ga4e3f1760e6a202108d47c9ef977aa900" title="Find the location of detected spectra on the CCD.">mos_locate_spectra()</a></code>, or by this self. This table is expected to contain double precision columns labeled <em>xtop</em>, <em>ytop</em>, <em>xbot [...]
-
-</div>
-</div>
-<a class="anchor" id="ga854ead782f62a6929aade44b267353e0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_saturation_process </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Process saturation. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image to process saturation</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE of corresponding cpl_error_code on error. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga40e43aa1516aac5fc7e2ccc41381677d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_sky_local </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Local determination of sky. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>Rectified image of scientific spectra </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions table </td></tr>
-    <tr><td class="paramname">order</td><td>Order of the polynomial fitting the sky.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Image of (rectified) sky</dd></dl>
-<p>The median level at each wavelength is determined and subtracted from the data. The position and extension of the objects is detected and the rest of the pixels are flagged as sky, and used for the final determination of the sky level at each wavelength. If the <em>order</em> of the sky-fitting polynomial is zero the median sky level is determined, otherwise a fit with outliers rejection is applied. The sky map generated in this way is returned. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0185eec52be96d5aa325e8fd045406c8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_sky_local_old </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Local determination of sky. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>Rectified image of scientific spectra </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Image of (rectified) sky</dd></dl>
-<p>Each slit spectrum contained in the input image, <em>spectra</em>, is assumed to contain at least 50% of its pixels on the sky. The median level at each wavelength is determined, and the sky map generated in this way is returned. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab724daebffef27587b8183a6d765dc02"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_sky_map </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>wavemap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>skymap</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create a CCD median sky map. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>CCD image of spectra </td></tr>
-    <tr><td class="paramname">wavemap</td><td>CCD image of wavelengths </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion </td></tr>
-    <tr><td class="paramname">skymap</td><td>Returned CCD image of sky</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Table with median sky spectrum</dd></dl>
-<p>The spectra contained in the input image, <em>spectra</em>, taken all together are assumed to contain at least 50% of their pixels on the sky. Moreover, all slits are assumed to have the same width. The CCD image of wavelengths, <em>wavemap</em>, is the one produced by the function <code><a class="el" href="group__moses.html#ga1c91e213b5472df075ecc4af24f9da4f" title="Derive wavelength calibration from a rectified arc lamp or sky exposure.">mos_wavelength_calibration_final()</a></code> [...]
-
-</div>
-</div>
-<a class="anchor" id="ga80b4941dee0d34102ac3d4f5fb15674d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_sky_map_super </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>wavemap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</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 class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>minpoints</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>skymap</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create a CCD median sky map. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>CCD image of spectra </td></tr>
-    <tr><td class="paramname">wavemap</td><td>CCD image of wavelengths </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion </td></tr>
-    <tr><td class="paramname">factor</td><td>Supersampling factor </td></tr>
-    <tr><td class="paramname">minpoints</td><td>Minimum points required per supersampled spectrum bin </td></tr>
-    <tr><td class="paramname">skymap</td><td>Returned CCD image of sky</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Table with median sky spectrum</dd></dl>
-<p>The spectra contained in the input image, <em>spectra</em>, taken all together are assumed to contain at least 50% of their pixels on the sky. Moreover, all slits are assumed to have the same width. The CCD image of wavelengths, <em>wavemap</em>, is the one produced by the function <code><a class="el" href="group__moses.html#ga1c91e213b5472df075ecc4af24f9da4f" title="Derive wavelength calibration from a rectified arc lamp or sky exposure.">mos_wavelength_calibration_final()</a></code> [...]
-
-</div>
-</div>
-<a class="anchor" id="gae575a9875c5e14d7fcb4d74cac44af31"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_slit_closest_to_center </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>nx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ny</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Return slit closest to CCD center. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slit table </td></tr>
-    <tr><td class="paramname">nx</td><td>X size of CCD </td></tr>
-    <tr><td class="paramname">ny</td><td>Y size of CCD</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Table row with the slit closest to center. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga2121a758caa7c8b92b0ddbb1c066bf1a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_slit_wavemap </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>wavemap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>slit</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>polytraces</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Select wavelengths from a single spectrum. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">wavemap</td><td>Wavelength map </td></tr>
-    <tr><td class="paramname">slit</td><td>Slit number </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits positions </td></tr>
-    <tr><td class="paramname">polytraces</td><td>Coefficients of spectral curvature polynomials </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda to process </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda to process </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>CPL_ERROR_NONE</code> on success.</dd></dl>
-<p>The input wavelength map is filled with zeroes, but for the specified slit. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6910eeaa28338a6d447e74130666fe13"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_spatial_calibration </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>polytraces</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>flux</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>calibration</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Spatial remapping of CCD spectra eliminating the spectral curvature. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>CCD image of spectra </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions on the CCD </td></tr>
-    <tr><td class="paramname">polytraces</td><td>Coefficients of spectral curvature polynomials </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion </td></tr>
-    <tr><td class="paramname">flux</td><td>If zero, flux conservation is not applied </td></tr>
-    <tr><td class="paramname">calibration</td><td>Returned spatial calibration image</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Image with the spatially resampled spectra</dd></dl>
-<p>The input <em>spectra</em> image is expected to be oriented with horizontal dispersion direction and red wavelengths on the right side, and it should be of type <code>CPL_TYPE_FLOAT</code>. The <em>slits</em> table should be the output of either the function <code><a class="el" href="group__moses.html#gaa8023ee69b6004f39e3df20e9bd94364" title="Identify slits listed in a slit location table.">mos_identify_slits()</a></code> (if available) or the function <code><a class="el" href="group [...]
-<p>The spectra are spatially remapped (with a slight oversampling) starting from the pixel containing the reference wavelength (as reported for each entry of the <em>slits</em> table). The number of pixels to the left and to the right of the reference pixel is trivially derived from the specified spectral range <em>blue</em> to <em>red</em> and <em>dispersion</em>.</p>
-<p>At each <em>x</em> pixel position the interval between the top and the bottom edges of each spectrum is linearly remapped into N = ceil(t-b)+1 spatial pseudo-pixels, where t and b are its edges positions at the CCD reference pixel (i.e., if the slit spectrum is widening or narrowing along the wavelength range, it is mapped always to the same number of pseudo-pixels). The returned image will have the same x size of the input <em>spectra</em> image, and a y size equal to the sum of the  [...]
-<p>Optionally, an image of the spatially calibrated input exposure, <em>calibration</em>, can be returned. This image must be pre-allocated, and should have the same size of the input <em>spectra</em> image. If a <code>NULL</code> pointer is passed, it is not computed. The <em>calibration</em> image will consist of pixels having the value of their spatial coordinate along the slit they belong to, or the value zero if the pixels do not belong to any spectrum.</p>
-<p>In case <em>flux</em> is set to a value different from zero, the remapping is performed applying a correction for flux conservation.</p>
-<p>Here is how the spatial resampling is applied: the value of a spatial pseudo-pixel p (counted from 0, corresponding to the top spectral trace at a given <em>x</em> position on the CCD of a given spectrum), is computed by linear interpolation between the two values of the consecutive CCD pixels closest to the position y = t - p*(t-b)/N, with the same meaning for N, b, and t, described above, and with 0 <= p <= N.</p>
-<p>On the <em>calibration</em> image the original y pixel positions (at a given x) are assigned the value of their distance from the top spectral trace, computed as p = N*(t-y)/(t-b), where p is now a float, and y an integer varying from ceil(t) to floor(b).</p>
-<p>The input <em>slits</em> table is added two new columns, labeled "position" and "length", reporting the number of the first (bottom) row belonging to the corresponding slit spectrum, and its extension in pseudo-pixels on the returned spatially rectified image. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4592493a392e23ebc56259ed3bfc0719"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_spatial_map </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>spectra</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>polytraces</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create coordinate map from spectral curvature table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">spectra</td><td>CCD image of spectra </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions on the CCD </td></tr>
-    <tr><td class="paramname">polytraces</td><td>Coefficients of spectral curvature polynomials </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda for spatial remapping </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Coordinate map</dd></dl>
-<p>The input <em>spectra</em> image is expected to be oriented with horizontal dispersion direction and red wavelengths on the right side, and it should be of type <code>CPL_TYPE_FLOAT</code>. The <em>slits</em> table should be the output of either the function <code><a class="el" href="group__moses.html#gaa8023ee69b6004f39e3df20e9bd94364" title="Identify slits listed in a slit location table.">mos_identify_slits()</a></code> (if available) or the function <code><a class="el" href="group [...]
-<p>The returned image image has the same size of the input <em>spectra</em> image, and it will consist of pixels having the value of their spatial coordinate along the slit they belong to, or the value zero if the pixels do not belong to any spectrum. The original y pixel positions (at a given x) are assigned the value of their distance from the top spectral trace measured in CCD pixels. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga58039ea48fa183baf1701567781ad128"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int mos_spectral_resolution </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>lambda</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>startwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>saturation</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>mfwhm</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>rmsfwhm</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>resolution</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>rmsres</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int * </td>
-          <td class="paramname"><em>nlines</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Compute mean spectral resolution at a given arc lamp line. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Rectified and wavelength calibrated arc lamp image </td></tr>
-    <tr><td class="paramname">lambda</td><td>Wavelength to examine </td></tr>
-    <tr><td class="paramname">startwave</td><td>Shortest wavelength in image. </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Wavelength units per image pixel </td></tr>
-    <tr><td class="paramname">saturation</td><td>Saturation value </td></tr>
-    <tr><td class="paramname">mfwhm</td><td>Returned: median FWHM </td></tr>
-    <tr><td class="paramname">rmsfwhm</td><td>Returned: RMS of median FWHM </td></tr>
-    <tr><td class="paramname">resolution</td><td>Returned: spectral resolution </td></tr>
-    <tr><td class="paramname">rmsres</td><td>Returned: RMS of spectral resolution </td></tr>
-    <tr><td class="paramname">nlines</td><td>Returned: Number of examined line profiles</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 in case of success, 0 in case of failure</dd></dl>
-<p>Given a wavelength, determine spectral resolution from a given arc lamp line. A high S/N is assumed (virtually no noise). Working with 2D extracted images! </p>
-
-</div>
-</div>
-<a class="anchor" id="gad122076cab5a9b361c652f5c3321ddf0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_subtract_background </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Subtract the background. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image to subtract the background</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE of corresponding cpl_error_code on error. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga0b6cf7b940f617da9ec3f9ce7a9610e2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_subtract_sky </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>science</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>polytraces</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Subtract the sky from the scientific CCD exposure. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">science</td><td>Image containing the CCD scientific spectra </td></tr>
-    <tr><td class="paramname">slits</td><td>Table with slits positions </td></tr>
-    <tr><td class="paramname">polytraces</td><td>Coefficients of spectral curvature polynomials </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda to process </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda to process </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The sky subtracted scientific image</dd></dl>
-<p>The input <em>science</em> frame should be already bias subtracted, and should be oriented so that the dispersion direction is horizontal with <em>blue</em> on the left and <em>red</em> on the right. The sky level is determined by robust linear fitting of flux along the spatial direction. The input <em>science</em> image is sky subtracted IN PLACE using the obtained sky map, that is also returned. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaad02c30291fd30d07156ac8f397f439f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_trace_flat </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>flat</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reference</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>blue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>red</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Trace flat field spectra. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">flat</td><td>Flat field image </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions on the CCD </td></tr>
-    <tr><td class="paramname">reference</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">blue</td><td>Start lambda for tracing </td></tr>
-    <tr><td class="paramname">red</td><td>End lambda for tracing </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Mean spectral dispersion</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A table with the tracings for each spectrum</dd></dl>
-<p>The input <em>flat</em> field image is expected to be oriented with horizontal dispersion direction and red wavelengths on the right side, and it should be of type <code>CPL_TYPE_FLOAT</code>. The <em>slits</em> table should be the output of either the function <code><a class="el" href="group__moses.html#gaa8023ee69b6004f39e3df20e9bd94364" title="Identify slits listed in a slit location table.">mos_identify_slits()</a></code> (if available) or the function <code><a class="el" href="gr [...]
-<p>The flat image is shifted one pixel down and is subtracted from the original image. The result is a vertical gradient map. Next, the negative values are forced positive, to obtain an absolute gradient map. The map is passed with a horizontal median filter, and after that the gradient peaks are traced starting from the slits positions listed in the input <em>slits</em> table. The number of pixels to the left and to the right of the reference pixel is trivially derived from the specifie [...]
-<p>The output table contains the traced spectral edges positions in CCD (Y) coordinates for each spectrum. The columns are named after the "slit_id" listed in the input <em>slits</em> table, and are preceded by a "t" for upper edges, and by a "b" for bottom edges: for instance, the trace corresponding to the upper edge of a spectrum with id = 123 will be found in a column named "t123". If the "slit_id" column is missing in the input table, one will be created with conventional (unique) n [...]
-
-</div>
-</div>
-<a class="anchor" id="ga9133e9d4bebf351c1ef75c903efa3e4d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_error_code mos_validate_slits </td>
-          <td>(</td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Check validity of a slit location table. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">slits</td><td>Slit location table to validate</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>CPL_ERROR_NONE in case of success</dd></dl>
-<p>The input <em>slits</em> table is the one obtained with the functions <code><a class="el" href="group__moses.html#ga4e3f1760e6a202108d47c9ef977aa900" title="Find the location of detected spectra on the CCD.">mos_locate_spectra()</a></code> and <code>mos_rotate_slits</code>. This table is expected to contain double precision columns labeled <em>xtop</em>, <em>ytop</em>, <em>xbottom</em>, and <em>ybottom</em>, and this is the check that is performed here. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga634eb7408671a139e7015185776f4513"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_wavelength_align </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>refwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>firstLambda</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>lastLambda</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_vector * </td>
-          <td class="paramname"><em>skylines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>highres</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>calibration</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>sradius</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Modify the input wavelength solution to match reference sky lines. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image with rectified scientific spectra </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions table </td></tr>
-    <tr><td class="paramname">refwave</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">firstLambda</td><td>Wavelength range start </td></tr>
-    <tr><td class="paramname">lastLambda</td><td>Wavelength range end </td></tr>
-    <tr><td class="paramname">idscoeff</td><td>Table with IDS polynomials </td></tr>
-    <tr><td class="paramname">skylines</td><td>Vector with wavelengths of reference skylines </td></tr>
-    <tr><td class="paramname">highres</td><td>1 = high resolution data, 0 = low resolution data </td></tr>
-    <tr><td class="paramname">order</td><td>Order of sky lines offsets fitting polynomial </td></tr>
-    <tr><td class="paramname">calibration</td><td>Rectified wavelength calibration image </td></tr>
-    <tr><td class="paramname">sradius</td><td>Search radius for sky lines</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Table with measured sky lines offsets (in pixel)</dd></dl>
-<p>The input <em>image</em> is the image of the scientific spectra with the spectral curvature removed, as produced by the function <code><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13" title="Spatial remapping of CCD spectra eliminating the spectral curvature.">mos_spatial_calibration()</a></code>. The input <em>slits</em> table should be the same used and processed by the same function, containing a column named "position" listing the position of the individua [...]
-<p>More in detail: for each slit, a "sky" spectrum is derived by computing the median slit spectrum, reducing in this way possible contamination by bright scientific object(s) contained in the slit. All the IDS polynomials modelling the slit are used to determine the sky lines offsets: with N slit rows, N independent offsets for each reference sky line are found; a new table is created, with columns containing the median offsets obtained for each reference sky line and for each slit. The [...]
-<p>For each slit, the median offsets are fitted by a polynomial relation that is then summed to all the IDS polynomials pertaining to that slit, modifying in this way the input <em>idscoeff</em> table. It is of course advisable not to go beyond a fitting polynomial of 0th or 1st order, unless many and well distributed reference sky lines are available within the specified range. Note that this way of proceeding is applied to avoid destroying the information about irregularities in the sl [...]
-
-</div>
-</div>
-<a class="anchor" id="ga2a7590eb0c36a08b61e08e180d7277d1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_table* mos_wavelength_align_lss </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>refwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>firstLambda</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>lastLambda</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_vector * </td>
-          <td class="paramname"><em>skylines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>highres</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>calibration</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>sradius</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Modify the input wavelength solution to match reference sky lines (LSS). </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image with rectified scientific spectra </td></tr>
-    <tr><td class="paramname">refwave</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">firstLambda</td><td>Wavelength range start </td></tr>
-    <tr><td class="paramname">lastLambda</td><td>Wavelength range end </td></tr>
-    <tr><td class="paramname">idscoeff</td><td>Table with IDS polynomials </td></tr>
-    <tr><td class="paramname">skylines</td><td>Vector with wavelengths of reference skylines </td></tr>
-    <tr><td class="paramname">highres</td><td>1 = High resolution, 0 = Low resolution </td></tr>
-    <tr><td class="paramname">order</td><td>Order of sky lines offsets fitting polynomial </td></tr>
-    <tr><td class="paramname">calibration</td><td>Rectified wavelength calibration image </td></tr>
-    <tr><td class="paramname">sradius</td><td>Search radius for sky lines</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Table with measured sky lines offsets (in pixel)</dd></dl>
-<p>The input <em>image</em> is the image of the scientific spectra with the spectral curvature removed, as produced by the function <code><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13" title="Spatial remapping of CCD spectra eliminating the spectral curvature.">mos_spatial_calibration()</a></code>. The table <em>idscoeff</em> contains the polynomial fits coefficients obtained for each input <em>image</em> row, as produced by the function <code><a class="el" hre [...]
-<p>More in detail: a "sky" spectrum is derived by computing the median spectrum, reducing in this way possible contamination by bright scientific object(s) contained in the image. All the IDS polynomials modelling the image are used to determine the sky lines offsets: with N image rows, N independent offsets for each reference sky line are found; a new table is created, with a column containing the median offsets obtained for each reference sky line and for each image row. This column is [...]
-<p>For each image row, the measured offsets are fitted by a polynomial relation of given <em>order</em>. The coefficients of all the obtained polynomial relations are then modeled as a function of the image row, and their modeled values are then summed to all the IDS polynomials modifying in this way the input <em>idscoeff</em> table. It is of course advisable not to go beyond a fitting polynomial of 0th or 1st order, unless many and well distributed reference sky lines are available wit [...]
-
-</div>
-</div>
-<a class="anchor" id="ga5c5f54b99d64a52b9d90d65bf7421b6b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_wavelength_calibration </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>refwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>firstLambda</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>lastLambda</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>flux</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Remap at constant wavelength step an image of rectified scientific spectra. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>Image with rectified scientific spectra </td></tr>
-    <tr><td class="paramname">refwave</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">firstLambda</td><td>Wavelength of first pixel of resampled image </td></tr>
-    <tr><td class="paramname">lastLambda</td><td>Wavelength of last pixel of resampled image </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Resampling step (wavelength units/pixel) </td></tr>
-    <tr><td class="paramname">idscoeff</td><td>Table with IDS polynomials </td></tr>
-    <tr><td class="paramname">flux</td><td>If zero, flux conservation correction is not applied.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Input image resampled at constant wavelength step.</dd></dl>
-<p>The input <em>image</em> is the image of the scientific spectra with the spectral curvature removed, as produced by the function <code><a class="el" href="group__moses.html#ga6910eeaa28338a6d447e74130666fe13" title="Spatial remapping of CCD spectra eliminating the spectral curvature.">mos_spatial_calibration()</a></code>. The table <em>idscoeff</em> contains the polynomial fits coefficients obtained for each input <em>image</em> row, as produced by the function <code><a class="el" hre [...]
-
-</div>
-</div>
-<a class="anchor" id="ga1c91e213b5472df075ecc4af24f9da4f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_wavelength_calibration_final </td>
-          <td>(</td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>slits</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_vector * </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>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>sradius</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reject</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>refwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>wavestart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>waveend</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int * </td>
-          <td class="paramname"><em>nlines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>error</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>calibration</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>residuals</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>restable</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Derive wavelength calibration from a rectified arc lamp or sky exposure. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>A rectified arc lamp or sky exposure </td></tr>
-    <tr><td class="paramname">slits</td><td>Slits positions table </td></tr>
-    <tr><td class="paramname">lines</td><td>List of reference lines wavelengths </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Expected value of the dispersion (wavelength units/pixel) </td></tr>
-    <tr><td class="paramname">level</td><td>Threshold for peak detection </td></tr>
-    <tr><td class="paramname">sradius</td><td>Search radius for expected peaks (pixels) </td></tr>
-    <tr><td class="paramname">order</td><td>Degree of fitting polynomial for wavelength calibration </td></tr>
-    <tr><td class="paramname">reject</td><td>Max residual tolerated for line rejection (pixels) </td></tr>
-    <tr><td class="paramname">refwave</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">wavestart</td><td>I/O wavelength of first pixel of resampled image </td></tr>
-    <tr><td class="paramname">waveend</td><td>I/O wavelength of last pixel of resampled image </td></tr>
-    <tr><td class="paramname">nlines</td><td>Returned array of number of lines used for each fit </td></tr>
-    <tr><td class="paramname">error</td><td>Returned array of mean accuracies obtained for each fit </td></tr>
-    <tr><td class="paramname">idscoeff</td><td>Returned table with IDS polynomials </td></tr>
-    <tr><td class="paramname">calibration</td><td>Returned wavelength calibration image </td></tr>
-    <tr><td class="paramname">residuals</td><td>Returned residuals image </td></tr>
-    <tr><td class="paramname">restable</td><td>Returned residuals table</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Input image resampled at constant wavelength step.</dd></dl>
-<p>This function applies the same algorithm for line identification that is applied by the function <code><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c" title="Derive wavelength calibration from a raw arc lamp or sky exposure.">mos_wavelength_calibration_raw()</a></code>. The fundamental difference is that the algorithm is here applied to an image containing just spectra where the spectral curvature was eliminated, as produced by the function <code><a class="el [...]
-<p>The rows of the input <em>image</em> are independently calibrated one by one. The spectral continuum is assumed to have been already removed (and it should be so, if the function <code><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c" title="Derive wavelength calibration from a raw arc lamp or sky exposure.">mos_wavelength_calibration_raw()</a></code> was earlier called).</p>
-<p>Optionally, in case <em>sradius</em> is positive, the polynomial solutions obtained for all rows of each individual slit are averaged into a single solution, that is used as a first-guess that is passed to the function <code><a class="el" href="group__moses.html#ga4ae590c72dce616bcbb426a3c2ec6ffe" title="Find the reference lines peaks using a polynomial first-guess.">mos_find_peaks()</a></code>. This function will search again along each row belonging to that slit the reference lines  [...]
-<p>An array <em>nlines</em>, containing the number of lines used for each fit, and an array <em>error</em>, containing the mean error of the polynomial models (in pixels), are returned. A fit failure is indicated with the corresponding element of <em>nlines</em> set to zero. The mean error of the polynomial model is evaluated by dividing the RMS of the fit residuals by the square root of the number of fitted points divided the degrees of freedom of the model: </p>
-<pre class="fragment">          mean error = RMS / sqrt(N / (@em order + 1))
-</pre><p>The arrays <em>nlines</em> and <em>error</em> must be pre-allocated, and should all have as many elements as the number of rows in the input <em>image</em>. If <code>NULL</code> pointers are passed, they are not computed.</p>
-<p>In the table <em>idscoeff</em> will be written the polynomial fits coefficients obtained for each input <em>image</em> row: this table must therefore be preallocated, before calling this function, with the same number of rows as the input <em>image</em>. No columns should be defined in this table: they will be created automatically by this function, and will be labeled c0, c1, c2, ... up to the specified <em>order</em> of the fitting polynomial.</p>
-<p>As a by-product of the wavelength calibration, the input <em>image</em> is resampled at a constant wavelength step, <em>dispersion</em>, and is returned by this function. In case of error a <code>NULL</code> pointer is returned. If the input arguments <em>wavestart</em> and <em>waveend</em> are greater than 1.0, they are taken as the spectral interval where the spectra are resampled; alternatively, the wavelength range covered by the resampled image is equal to the wavelength range of [...]
-<p>Optionally, an image of the wavelength calibrated input exposure, <em>calibration</em>, might be filled with the value of the wavelength for each pixel. This image may be significantly more accurate than the <em>calibration</em> image obtained with the preliminary wavelength calibration, returned by the function <code><a class="el" href="group__moses.html#gab947b4c9f73bfcf811d8122c5ef5c55c" title="Derive wavelength calibration from a raw arc lamp or sky exposure.">mos_wavelength_calib [...]
-
-</div>
-</div>
-<a class="anchor" id="gab947b4c9f73bfcf811d8122c5ef5c55c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">cpl_image* mos_wavelength_calibration_raw </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_vector * </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>dispersion</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>sradius</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>order</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>reject</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>refwave</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>wavestart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>waveend</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int * </td>
-          <td class="paramname"><em>nlines</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>error</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>idscoeff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>calibration</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_image * </td>
-          <td class="paramname"><em>residuals</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>restable</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_mask * </td>
-          <td class="paramname"><em>refmask</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Derive wavelength calibration from a raw arc lamp or sky exposure. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>An arc lamp or sky exposure </td></tr>
-    <tr><td class="paramname">lines</td><td>List of reference lines wavelengths </td></tr>
-    <tr><td class="paramname">dispersion</td><td>Expected value of the dispersion (wavelength units/pixel) </td></tr>
-    <tr><td class="paramname">level</td><td>Threshold for peak detection </td></tr>
-    <tr><td class="paramname">sradius</td><td>Search radius for expected peaks (pixels) </td></tr>
-    <tr><td class="paramname">order</td><td>Degree of fitting polynomial for wavelength calibration </td></tr>
-    <tr><td class="paramname">reject</td><td>Max residual tolerated for line rejection (pixels) </td></tr>
-    <tr><td class="paramname">refwave</td><td>Reference wavelength </td></tr>
-    <tr><td class="paramname">wavestart</td><td>I/O wavelength of first pixel of resampled image </td></tr>
-    <tr><td class="paramname">waveend</td><td>I/O wavelength of last pixel of resampled image </td></tr>
-    <tr><td class="paramname">nlines</td><td>Returned array of number of lines used for each fit </td></tr>
-    <tr><td class="paramname">error</td><td>Returned array of mean accuracies obtained for each fit </td></tr>
-    <tr><td class="paramname">idscoeff</td><td>Returned table with IDS polynomials </td></tr>
-    <tr><td class="paramname">calibration</td><td>Returned wavelength calibration image </td></tr>
-    <tr><td class="paramname">residuals</td><td>Returned residuals image </td></tr>
-    <tr><td class="paramname">restable</td><td>Returned residuals table </td></tr>
-    <tr><td class="paramname">refmask</td><td>Returned monochromatic image at reference wavelength</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Input exposure resampled at constant wavelength step.</dd></dl>
-<p>The input <em>image</em> must contain spectra with the dispersion direction approximately horizontal, with blue on the left and red on the right.</p>
-<p>The rows of the input <em>image</em> are independently calibrated one by one. First, the function <code><a class="el" href="group__moses.html#ga063b7ef9e5f4fe46ecbcb1b170bc254b" title="Background determination on emission line spectrum (arc)">mos_arc_background()</a></code> is used to subtract the continuum from the input spectrum. Second, the two functions <code><a class="el" href="group__moses.html#gad80729870e3acf9f61c820f488eb83b2" title="Find positions of peaks candidates.">mos_p [...]
-<p>Optionally, in case <em>sradius</em> is positive, the obtained polynomial solution is passed to the function <code><a class="el" href="group__moses.html#ga4ae590c72dce616bcbb426a3c2ec6ffe" title="Find the reference lines peaks using a polynomial first-guess.">mos_find_peaks()</a></code>, that searches again along each image row the reference lines candidates around their expected positions, within the specified search radius; The polynomial fitting is then repeated with the new found  [...]
-<p>An array <em>nlines</em>, containing the number of lines used for each fit, and an array <em>error</em>, containing the mean error of the polynomial models (in pixels), are returned. A fit failure is indicated with the corresponding element of <em>nlines</em> set to zero. The mean error of the polynomial model is evaluated by dividing the RMS of the fit residuals by the square root of the number of fitted points divided the degrees of freedom of the model: </p>
-<pre class="fragment">          mean error = RMS / sqrt(N / (@em order + 1))
-</pre><p>The arrays <em>nlines</em> and <em>error</em> must be pre-allocated, and should all have as many elements as the number of rows in the input <em>image</em>. If <code>NULL</code> pointers are passed, they are not computed. In the same way a preallocated <em>idscoeff</em> table may or may not be passed to this function, and it will be filled with the dispersion relation coefficients only in the former case. This table should be preallocated with the same number of rows as the inpu [...]
-<p>As a by-product of the wavelength calibration, the input <em>image</em> is resampled at a constant wavelength step, <em>dispersion</em>, and is returned by this function. In case of error a <code>NULL</code> pointer is returned. If the input arguments <em>wavestart</em> and <em>waveend</em> are greater than 1.0, they are taken as the spectral interval where the spectra are resampled; alternatively, the wavelength range covered by the resampled image is equal to the wavelength range of [...]
-<p>Optionally, an image of the wavelength calibrated input exposure, <em>calibration</em>, an image of the fit residuals, <em>residuals</em>, and a monochromatic mask image, <em>refmask</em>, that is obtained at a given wavelength <em>refwave</em>, can be returned. These images must be pre-allocated, and should all have the same size of the input <em>image</em>. If <code>NULL</code> pointers are passed, they are not computed. The <em>calibration</em> image consists of pixels having the v [...]
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__vimos__calib__impl.html b/html/group__vimos__calib__impl.html
deleted file mode 100644
index 1cdae3f..0000000
--- a/html/group__vimos__calib__impl.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"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: Vimos_calib_impl</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Vimos_calib_impl</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaff1b7bb1f87357c0ae0d3bd62c12b096"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vimos__calib__impl.html#gaff1b7bb1f87357c0ae0d3bd62c12b096">vimos_calib_impl</a> (cpl_frameset *frameset, cpl_parameterlist *parlist)</td></tr>
-<tr class="memdesc:gaff1b7bb1f87357c0ae0d3bd62c12b096"><td class="mdescLeft"> </td><td class="mdescRight">Interpret the command line options and execute the data processing.  <a href="#gaff1b7bb1f87357c0ae0d3bd62c12b096">More...</a><br/></td></tr>
-<tr class="separator:gaff1b7bb1f87357c0ae0d3bd62c12b096"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gaff1b7bb1f87357c0ae0d3bd62c12b096"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vimos_calib_impl </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_parameterlist * </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>Interpret the command line options and execute the data processing. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">parlist</td><td>The parameters list </td></tr>
-    <tr><td class="paramname">frameset</td><td>The set-of-frames</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 if everything is ok </dd></dl>
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__vimos__calib__mult.html b/html/group__vimos__calib__mult.html
deleted file mode 100644
index c39882a..0000000
--- a/html/group__vimos__calib__mult.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"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: Vimos_calib_mult</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Vimos_calib_mult</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaaceaded141325b03b9fa43bf9eb934ab"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vimos__calib__mult.html#gaaceaded141325b03b9fa43bf9eb934ab">vimos_calib_mult</a> (cpl_frameset *frameset, cpl_parameterlist *parlist, cpl_table *allmaskslits)</td></tr>
-<tr class="memdesc:gaaceaded141325b03b9fa43bf9eb934ab"><td class="mdescLeft"> </td><td class="mdescRight">Interpret the command line options and execute the data processing.  <a href="#gaaceaded141325b03b9fa43bf9eb934ab">More...</a><br/></td></tr>
-<tr class="separator:gaaceaded141325b03b9fa43bf9eb934ab"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gaaceaded141325b03b9fa43bf9eb934ab"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vimos_calib_mult </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>frameset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_parameterlist * </td>
-          <td class="paramname"><em>parlist</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">cpl_table * </td>
-          <td class="paramname"><em>allmaskslits</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Interpret the command line options and execute the data processing. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">parlist</td><td>The parameters list </td></tr>
-    <tr><td class="paramname">frameset</td><td>The set-of-frames</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 if everything is ok </dd></dl>
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__vimos__science__impl.html b/html/group__vimos__science__impl.html
deleted file mode 100644
index 8ad2226..0000000
--- a/html/group__vimos__science__impl.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: Vimos_science_impl</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Vimos_science_impl</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a name="details" id="details"></a><h2 class="groupheader">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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__vmcpl.html b/html/group__vmcpl.html
deleted file mode 100644
index 8eeab36..0000000
--- a/html/group__vmcpl.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"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: CPL interface</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">CPL interface</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9234c7aa890cba8bb496843e55351b1e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#ga9234c7aa890cba8bb496843e55351b1e">vmCplFramesetExport</a> (const cpl_frameset *set, PilSetOfFrames *sof)</td></tr>
-<tr class="memdesc:ga9234c7aa890cba8bb496843e55351b1e"><td class="mdescLeft"> </td><td class="mdescRight">Export a CPL frameset.  <a href="#ga9234c7aa890cba8bb496843e55351b1e">More...</a><br/></td></tr>
-<tr class="separator:ga9234c7aa890cba8bb496843e55351b1e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaa42eda7d5192f9f4bb8e08deff38e8c9"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#gaa42eda7d5192f9f4bb8e08deff38e8c9">vmCplFramesetImport</a> (cpl_frameset *set, const PilSetOfFrames *sof)</td></tr>
-<tr class="memdesc:gaa42eda7d5192f9f4bb8e08deff38e8c9"><td class="mdescLeft"> </td><td class="mdescRight">Imports products to a CPL frameset.  <a href="#gaa42eda7d5192f9f4bb8e08deff38e8c9">More...</a><br/></td></tr>
-<tr class="separator:gaa42eda7d5192f9f4bb8e08deff38e8c9"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga9b32d42fb5f1ba28c3788c3bb2a9fac6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#ga9b32d42fb5f1ba28c3788c3bb2a9fac6">vmCplParlistExport</a> (const cpl_parameterlist *list)</td></tr>
-<tr class="memdesc:ga9b32d42fb5f1ba28c3788c3bb2a9fac6"><td class="mdescLeft"> </td><td class="mdescRight">Export a CPL parameter list.  <a href="#ga9b32d42fb5f1ba28c3788c3bb2a9fac6">More...</a><br/></td></tr>
-<tr class="separator:ga9b32d42fb5f1ba28c3788c3bb2a9fac6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2dc265a6a93198edaf76ec2262b5dd8a"><td class="memItemLeft" align="right" valign="top">PilMsgSeverity </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#ga2dc265a6a93198edaf76ec2262b5dd8a">vmCplMsgSeverityExport</a> (cpl_msg_severity level)</td></tr>
-<tr class="memdesc:ga2dc265a6a93198edaf76ec2262b5dd8a"><td class="mdescLeft"> </td><td class="mdescRight">Convert the messaging severity level.  <a href="#ga2dc265a6a93198edaf76ec2262b5dd8a">More...</a><br/></td></tr>
-<tr class="separator:ga2dc265a6a93198edaf76ec2262b5dd8a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga52cdc43f00bb4f80a6caab74ca28623b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#ga52cdc43f00bb4f80a6caab74ca28623b">vmCplRecipeTimerStart</a> (PilTime *time)</td></tr>
-<tr class="memdesc:ga52cdc43f00bb4f80a6caab74ca28623b"><td class="mdescLeft"> </td><td class="mdescRight">Start the recipe execution timer.  <a href="#ga52cdc43f00bb4f80a6caab74ca28623b">More...</a><br/></td></tr>
-<tr class="separator:ga52cdc43f00bb4f80a6caab74ca28623b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gae116673c7ddaa4b6f802364001b22b8b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#gae116673c7ddaa4b6f802364001b22b8b">vmCplRecipeTimerStop</a> (PilTime *time)</td></tr>
-<tr class="memdesc:gae116673c7ddaa4b6f802364001b22b8b"><td class="mdescLeft"> </td><td class="mdescRight">Stop the recipe execution timer.  <a href="#gae116673c7ddaa4b6f802364001b22b8b">More...</a><br/></td></tr>
-<tr class="separator:gae116673c7ddaa4b6f802364001b22b8b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga1557722782161aaec4c68a7e96e49d28"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#ga1557722782161aaec4c68a7e96e49d28">vmCplRecipeStart</a> (const char *recipe, const char *version)</td></tr>
-<tr class="memdesc:ga1557722782161aaec4c68a7e96e49d28"><td class="mdescLeft"> </td><td class="mdescRight">Initialize the VIMOS recipe subsystems.  <a href="#ga1557722782161aaec4c68a7e96e49d28">More...</a><br/></td></tr>
-<tr class="separator:ga1557722782161aaec4c68a7e96e49d28"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga13543b342969ae3aacc5fd926105a96d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#ga13543b342969ae3aacc5fd926105a96d">vmCplRecipeStop</a> (void)</td></tr>
-<tr class="memdesc:ga13543b342969ae3aacc5fd926105a96d"><td class="mdescLeft"> </td><td class="mdescRight">Shutdown the VIMOS recipe subsystems.  <a href="#ga13543b342969ae3aacc5fd926105a96d">More...</a><br/></td></tr>
-<tr class="separator:ga13543b342969ae3aacc5fd926105a96d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga55ed826abea1c0b71f532a0c291713c2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmcpl.html#ga55ed826abea1c0b71f532a0c291713c2">vmCplPostProcessFrames</a> (PilSetOfFrames *sof, const char *recipename)</td></tr>
-<tr class="memdesc:ga55ed826abea1c0b71f532a0c291713c2"><td class="mdescLeft"> </td><td class="mdescRight">Apply post processing steps to all frames in a set of frames.  <a href="#ga55ed826abea1c0b71f532a0c291713c2">More...</a><br/></td></tr>
-<tr class="separator:ga55ed826abea1c0b71f532a0c291713c2"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>This module provides the necessary adaptor functionality in order to execute data reduction tasks using the CPL recipe interface. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga9234c7aa890cba8bb496843e55351b1e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vmCplFramesetExport </td>
-          <td>(</td>
-          <td class="paramtype">const cpl_frameset * </td>
-          <td class="paramname"><em>set</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">PilSetOfFrames * </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>Export a CPL frameset. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">set</td><td>The CPL frameset to export. </td></tr>
-    <tr><td class="paramname">sof</td><td>The set of frames to fill.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 0 on success or a non-zero value otherwise.</dd></dl>
-<p>The function fills an existing set of frames object <em>sof</em> with the converted contents of the source CPL frame set <em>set</em>. If set is empty, or if <em>set</em> is <code>NULL</code>, the target set of frames is left unchanged.</p>
-<p>The intended use of this function is to convert an input CPL frameset into a set of frames structure. The function therefore does not deal with other frame and product attributes than the frame group. Calling this function for a frameset containing products with extended attributes will propagate only the frame group to the created set of frames.</p>
-<p>In most case this is exactly what is needed, since the product attributes are only used to help the calling application to write the frames to the disk. On input to a subsequent data reduction task the file name, the tag and the frame group are sufficient.</p>
-<dl class="section see"><dt>See Also</dt><dd>vmCplImportSof() </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaa42eda7d5192f9f4bb8e08deff38e8c9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vmCplFramesetImport </td>
-          <td>(</td>
-          <td class="paramtype">cpl_frameset * </td>
-          <td class="paramname"><em>set</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const PilSetOfFrames * </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>Imports products to a CPL frameset. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">set</td><td>The CPL frameset to be updated. </td></tr>
-    <tr><td class="paramname">sof</td><td>The set of frames from which products are imported.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 0 on success or a non-zero value otherwise.</dd></dl>
-<p>The function updates an existing CPL frame set <em>set</em> with the product frames found in the set of frames <em>sof</em>. The target CPL frame set must exist. If <em>set</em> is <code>NULL</code> the function returns an error. If the source set of frames <em>sof</em> is empty, or if it is <code>NULL</code> the target frame set is left unchanged, otherwise all product frames found in <em>sof</em> are converted to CPL frames and inserted in <em>set</em>.</p>
-<dl class="section see"><dt>See Also</dt><dd>vmCplExportFrameset() </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga2dc265a6a93198edaf76ec2262b5dd8a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">PilMsgSeverity vmCplMsgSeverityExport </td>
-          <td>(</td>
-          <td class="paramtype">cpl_msg_severity </td>
-          <td class="paramname"><em>level</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert the messaging severity level. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">level</td><td>Message severity level to convert.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The converted message severity level.</dd></dl>
-<p>The function translates a CPL message severity level to a VIMOS message severity level. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9b32d42fb5f1ba28c3788c3bb2a9fac6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vmCplParlistExport </td>
-          <td>(</td>
-          <td class="paramtype">const cpl_parameterlist * </td>
-          <td class="paramname"><em>list</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Export a CPL parameter list. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">list</td><td>The CPL parameter list to export.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 0 on success or a non-zero value otherwise.</dd></dl>
-<p>The function fills the recipe configuration database with the contents of the CPL parameter list <em>list</em>. The recipe configuration database must be initialized before this function is called. If the parameter list is empty, or if <em>list</em> is <code>NULL</code>, the recipe configuration database is left unchanged. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga55ed826abea1c0b71f532a0c291713c2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vmCplPostProcessFrames </td>
-          <td>(</td>
-          <td class="paramtype">PilSetOfFrames * </td>
-          <td class="paramname"><em>sof</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>recipename</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Apply post processing steps to all frames in a set of frames. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">sof</td><td>Set of frames to process.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 0 on success, or a non-zero value otherwise.</dd></dl>
-<p>The function finalizes the set of frames after the data reduction task has completed. For registered product frames, for instance, the FITS header entries are completed with generic product information. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1557722782161aaec4c68a7e96e49d28"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vmCplRecipeStart </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>version</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Initialize the VIMOS recipe subsystems. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">recipe</td><td>The name of the recipe to initialize.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 0 on success or a non-zero value otherwise.</dd></dl>
-<p>The function uses the current CPL subsystem settings to initialize the corresponding VIMOS recipe subsystems in the same way. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga13543b342969ae3aacc5fd926105a96d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vmCplRecipeStop </td>
-          <td>(</td>
-          <td class="paramtype">void </td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Shutdown the VIMOS recipe subsystems. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 0 on success or a non-zero value otherwise.</dd></dl>
-<p>The function stops the VIMOS recipe subsystems initialized by a call to <b><a class="el" href="group__vmcpl.html#ga1557722782161aaec4c68a7e96e49d28" title="Initialize the VIMOS recipe subsystems.">vmCplRecipeStart()</a></b>. the corresponding VIMOS recipe subsystems in the same way. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga52cdc43f00bb4f80a6caab74ca28623b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vmCplRecipeTimerStart </td>
-          <td>(</td>
-          <td class="paramtype">PilTime * </td>
-          <td class="paramname"><em>time</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Start the recipe execution timer. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">time</td><td>Address of the variable where the start time will be stored.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 0 on success and a non-zero values in case of an error.</dd></dl>
-<p>The function starts the recipe's execution timer and saves the start time to the recipe information structure. In addition, if <em>time</em> is not <code>NULL</code>, the recipe's start time is stored in the variable pointed to by <em>time</em>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae116673c7ddaa4b6f802364001b22b8b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int vmCplRecipeTimerStop </td>
-          <td>(</td>
-          <td class="paramtype">PilTime * </td>
-          <td class="paramname"><em>time</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Stop the recipe execution timer. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">time</td><td>Address of the variable where the stop time will be stored.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The function returns 0 on success and a non-zero values in case of an error.</dd></dl>
-<p>The function stops the recipe's execution timer and saves the stop time to the recipe information structure. In addition, if <em>time</em> is not <code>NULL</code>, the recipe's stop time is stored in the variable pointed to by <em>time</em>. </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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__vmimage.html b/html/group__vmimage.html
deleted file mode 100644
index ff5eb1a..0000000
--- a/html/group__vmimage.html
+++ /dev/null
@@ -1,1455 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Images</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga7c9a4cd1daad57a646908dbe7f823288"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga7c9a4cd1daad57a646908dbe7f823288">imageArith</a> (VimosImage *ima1, VimosImage *ima2, VimosOperator optype)</td></tr>
-<tr class="separator:ga7c9a4cd1daad57a646908dbe7f823288"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gac428a6a8c0c0b4a990486e32a2e29ffb"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gac428a6a8c0c0b4a990486e32a2e29ffb">constArith</a> (VimosImage *ima_in, double constant, VimosOperator optype)</td></tr>
-<tr class="separator:gac428a6a8c0c0b4a990486e32a2e29ffb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2307b14125d71223fc2c7f6ad5a588bb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga2307b14125d71223fc2c7f6ad5a588bb">imageArithLocal</a> (VimosImage *ima1, VimosImage *ima2, VimosOperator optype)</td></tr>
-<tr class="separator:ga2307b14125d71223fc2c7f6ad5a588bb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0a16191fd68e8e3950f8d65e7832266f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga0a16191fd68e8e3950f8d65e7832266f">constArithLocal</a> (VimosImage *ima_in, double constant, VimosOperator optype)</td></tr>
-<tr class="separator:ga0a16191fd68e8e3950f8d65e7832266f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad5d8b02460088d654bb92ccf717c7aa7"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gad5d8b02460088d654bb92ccf717c7aa7">VmFrAveFil</a> (VimosImage *ima_in, int filtsizex, int filtsizey, int excludeCenter)</td></tr>
-<tr class="separator:gad5d8b02460088d654bb92ccf717c7aa7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaff1b3948e559a25af9821b18b48d5e63"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gaff1b3948e559a25af9821b18b48d5e63">VmFrMedFil</a> (VimosImage *ima_in, int filtsizex, int filtsizey, int excludeCenter)</td></tr>
-<tr class="separator:gaff1b3948e559a25af9821b18b48d5e63"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaf181d729d3e62caa636d4817532db8b1"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gaf181d729d3e62caa636d4817532db8b1">VmFrFilter</a> (VimosImage *image, int xSize, int ySize, FilterMethod method, int excludeCenter)</td></tr>
-<tr class="separator:gaf181d729d3e62caa636d4817532db8b1"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga59f7d5d96de8fb0bc5351aface228e28"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga59f7d5d96de8fb0bc5351aface228e28">VmImNorm</a> (VimosImage *ima_in, Method meth)</td></tr>
-<tr class="separator:ga59f7d5d96de8fb0bc5351aface228e28"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad4dba69e82dab57459815b706c2fc1be"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gad4dba69e82dab57459815b706c2fc1be">frComb</a> (VimosImage **ima_list, int num, CombMethod combMethod, CombParameters *combParameter, int flag)</td></tr>
-<tr class="separator:gad4dba69e82dab57459815b706c2fc1be"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga3913022272a3dcb6c20fea0894de8d55"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga3913022272a3dcb6c20fea0894de8d55">frCombSum</a> (VimosImage **ima_list, int num)</td></tr>
-<tr class="separator:ga3913022272a3dcb6c20fea0894de8d55"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga79a781b80904ea74de3ca78f6f9f3bbf"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga79a781b80904ea74de3ca78f6f9f3bbf">frCombAverage</a> (VimosImage **ima_list, int num)</td></tr>
-<tr class="separator:ga79a781b80904ea74de3ca78f6f9f3bbf"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga9a74a62dd73bc7b26c56fb515fb8b19b"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga9a74a62dd73bc7b26c56fb515fb8b19b">frCombMedian</a> (VimosImage **ima_list, int num, int flag)</td></tr>
-<tr class="separator:ga9a74a62dd73bc7b26c56fb515fb8b19b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaa8d51f9df9ee7bade9052028b369875f"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gaa8d51f9df9ee7bade9052028b369875f">frCombMinMaxReject</a> (VimosImage **ima_list, int minrej, int maxrej, int num)</td></tr>
-<tr class="separator:gaa8d51f9df9ee7bade9052028b369875f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga944055fcbe4fd585c067808454a48233"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga944055fcbe4fd585c067808454a48233">OLDfrCombMinMaxReject</a> (VimosImage **ima_list, double minrej, double maxrej, int num)</td></tr>
-<tr class="separator:ga944055fcbe4fd585c067808454a48233"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2883df586c53dcf15c1833da67822b5c"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga2883df586c53dcf15c1833da67822b5c">frCombKSigma</a> (VimosImage **ima_list, double dklow, double dkhigh, int num)</td></tr>
-<tr class="separator:ga2883df586c53dcf15c1833da67822b5c"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga7f7a486af5afbaf6c7cebebeb2ee2b31"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga7f7a486af5afbaf6c7cebebeb2ee2b31">imageMean</a> (VimosImage *ima_in)</td></tr>
-<tr class="separator:ga7f7a486af5afbaf6c7cebebeb2ee2b31"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaf39b65ce15ce82029a72b44bfe68fb3e"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gaf39b65ce15ce82029a72b44bfe68fb3e">imageMedian</a> (VimosImage *ima_in)</td></tr>
-<tr class="separator:gaf39b65ce15ce82029a72b44bfe68fb3e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga9e24f667fac7bfb4d3b876dcc48522f7"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga9e24f667fac7bfb4d3b876dcc48522f7">imageAverageDeviation</a> (VimosImage *image, float level)</td></tr>
-<tr class="separator:ga9e24f667fac7bfb4d3b876dcc48522f7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga03d9c2f3188a6210207363d143440a32"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga03d9c2f3188a6210207363d143440a32">imageSigma</a> (VimosImage *image)</td></tr>
-<tr class="separator:ga03d9c2f3188a6210207363d143440a32"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaa65fe8aaebe158e33ecf0b0ee7fe4b02"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gaa65fe8aaebe158e33ecf0b0ee7fe4b02">imageMedSigma</a> (VimosImage *image)</td></tr>
-<tr class="separator:gaa65fe8aaebe158e33ecf0b0ee7fe4b02"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaf63d428a1a8d665adf4b8483fc6aca3a"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gaf63d428a1a8d665adf4b8483fc6aca3a">imageMinimum</a> (VimosImage *ima_in)</td></tr>
-<tr class="separator:gaf63d428a1a8d665adf4b8483fc6aca3a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga198a0b9a61c0e7aad0c5e1975e1dafc5"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga198a0b9a61c0e7aad0c5e1975e1dafc5">imageMaximum</a> (VimosImage *ima_in)</td></tr>
-<tr class="separator:ga198a0b9a61c0e7aad0c5e1975e1dafc5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gace9171a6dd0bef339625bf97d1f8ad4f"><td class="memItemLeft" align="right" valign="top">VimosDpoint * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gace9171a6dd0bef339625bf97d1f8ad4f">imageHistogram</a> (VimosImage *ima_in, unsigned int nbins)</td></tr>
-<tr class="separator:gace9171a6dd0bef339625bf97d1f8ad4f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad25a06620688bfd2c51b7a339478afdd"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gad25a06620688bfd2c51b7a339478afdd">imageMode</a> (VimosImage *ima_in)</td></tr>
-<tr class="separator:gad25a06620688bfd2c51b7a339478afdd"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gac0d3d5a706b858702e9c4a1482823377"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gac0d3d5a706b858702e9c4a1482823377">sumPixelsInImage</a> (VimosImage *ima_in, int x, int y, int nx, int ny)</td></tr>
-<tr class="separator:gac0d3d5a706b858702e9c4a1482823377"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga02154640adcd631b765fd5a5f6aff5c0"><td class="memItemLeft" align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga02154640adcd631b765fd5a5f6aff5c0">collapse2Dto1D</a> (VimosImage *ima_in, int x, int y, int nx, int ny, Direction collapse)</td></tr>
-<tr class="separator:ga02154640adcd631b765fd5a5f6aff5c0"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4951d49415abb8025a2d3daca11f5694"><td class="memItemLeft" align="right" valign="top">VimosPixel * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga4951d49415abb8025a2d3daca11f5694">finePosition</a> (VimosImage *ima_in, VimosPixel *p_list, int npix, double r1, double r2, double r3)</td></tr>
-<tr class="separator:ga4951d49415abb8025a2d3daca11f5694"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gad04c42209bb68c8a673c0111c7d51192"><td class="memItemLeft" align="right" valign="top">VimosPixel * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gad04c42209bb68c8a673c0111c7d51192">finePositionSimple</a> (VimosImage *ima_in, VimosPixel *in_pixel, double r1)</td></tr>
-<tr class="separator:gad04c42209bb68c8a673c0111c7d51192"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0553e968f900d443d8765e4b263b1e24"><td class="memItemLeft" align="right" valign="top">VimosImage * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga0553e968f900d443d8765e4b263b1e24">imageShift</a> (VimosImage *imageIn, float xshift, float yshift, int outXlen, int outYlen, float outVal)</td></tr>
-<tr class="separator:ga0553e968f900d443d8765e4b263b1e24"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gab4d8a620a7f4166f89daf340ad533e11"><td class="memItemLeft" align="right" valign="top">char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#gab4d8a620a7f4166f89daf340ad533e11">getFitsFileExtensionsNames</a> (fitsfile *fptr, int *extNum)</td></tr>
-<tr class="separator:gab4d8a620a7f4166f89daf340ad533e11"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga182f1cc76996f53744a2e9b8d1731664"><td class="memItemLeft" align="right" valign="top">VimosBool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimage.html#ga182f1cc76996f53744a2e9b8d1731664">createFitsImage</a> (char *filename, VimosImage *image, const char *category)</td></tr>
-<tr class="separator:ga182f1cc76996f53744a2e9b8d1731664"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>The module provides the image datatype and the fundamental operations. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga02154640adcd631b765fd5a5f6aff5c0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float* collapse2Dto1D </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </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>nx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ny</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Direction </td>
-          <td class="paramname"><em>collapse</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Collapse a rectangle inside an image into one column/row.</p>
-<dl class="section return"><dt>Returns</dt><dd>the collapsed array</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image </td></tr>
-    <tr><td class="paramname">x</td><td>x lower left corner of the rectangle </td></tr>
-    <tr><td class="paramname">y</td><td>y lower left corner of the rectangle </td></tr>
-    <tr><td class="paramname">nx</td><td>number of pixels in x </td></tr>
-    <tr><td class="paramname">ny</td><td>number of pixels in y </td></tr>
-    <tr><td class="paramname">collapse</td><td>direction of collape: ROW or COLUMNS</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>collapse a rectangle inside an image into one column. Compute the sum of the rows or of the columns of a rectangle. Input an Image, the lower left corner coordinates (x,y) of the rectangle; the number of pixels (nx, ny) from (x,y), and the collapsing direction: collapse ROW: sum of rows and collapse COLUMN: sum of columns.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti , C. Izzo </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gac428a6a8c0c0b4a990486e32a2e29ffb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* constArith </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>constant</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosOperator </td>
-          <td class="paramname"><em>optype</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Arithmetic operations between an image and a constant. Result is a new image.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>pointer to image </td></tr>
-    <tr><td class="paramname">constant</td><td>constant </td></tr>
-    <tr><td class="paramname">optype</td><td>operation type</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Arithmetic operations between an image and a constant. The result is a new image. The aritmetic operations are VM_OPER_ADD, VM_OPER_SUB, VM_OPER_MUL, VM_OPER_DIV</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga0a16191fd68e8e3950f8d65e7832266f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int constArithLocal </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>constant</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosOperator </td>
-          <td class="paramname"><em>optype</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Arithmetic operations between an image and a constant. Result is stored in the input image.</p>
-<dl class="section return"><dt>Returns</dt><dd>0 on success 1 on failure</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>pointer to image </td></tr>
-    <tr><td class="paramname">constant</td><td>constant </td></tr>
-    <tr><td class="paramname">optype</td><td>operation type</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Arithmetic operations between an image and a constant. The result is stored in the input image. The aritmetic operations are VM_OPER_ADD, VM_OPER_SUB, VM_OPER_MUL, VM_OPER_DIV</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga182f1cc76996f53744a2e9b8d1731664"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosBool createFitsImage </td>
-          <td>(</td>
-          <td class="paramtype">char * </td>
-          <td class="paramname"><em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char * </td>
-          <td class="paramname"><em>category</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Write a VimosImage into a disk FITS file</p>
-<dl class="section return"><dt>Returns</dt><dd>VM_TRUE or VM_FALSE.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">filename</td><td>name of the fitsfile </td></tr>
-    <tr><td class="paramname">image</td><td>Vimos Image to be written as a FITS file </td></tr>
-    <tr><td class="paramname">category</td><td>Category of image to write</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Create a disk image FITS file from structure VimosImage</p>
-<dl class="section author"><dt>Author</dt><dd>C. Izzo </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga4951d49415abb8025a2d3daca11f5694"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosPixel* finePosition </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosPixel * </td>
-          <td class="paramname"><em>p_list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>npix</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>r1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>r2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>r3</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Refine the peak centers by computing the baricenter.</p>
-<dl class="section return"><dt>Returns</dt><dd>the list of corrected positions</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image </td></tr>
-    <tr><td class="paramname">p_list</td><td>list of pixel position to refine </td></tr>
-    <tr><td class="paramname">npix</td><td>size of p_list array </td></tr>
-    <tr><td class="paramname">r1</td><td>defines a disk in which the barycenter will be computed </td></tr>
-    <tr><td class="paramname">r2</td><td>inner radius of the ring where the background is computed </td></tr>
-    <tr><td class="paramname">r3</td><td>outer radius of the ring where the background is computed</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Refine the peak centers, by computing a barycenter The 3 doubles (r1, r2, r3) define 3 circle radiuses: r2 and r3 define a ring centered on each pixel in the list, around which the background will be estimated. r1 defines a disk in which the barycenter will be computed, i.e. the centroid pixel, weighted by pixel values, from which the background value has been subtracted: x_center = (1/sum(pixel[i]-bg))*(sum(x[i] * (pixel[i]-bg))) y_center = (1/sum(pixel[i]-bg))*(sum(y[i] * (pixel[i]- [...]
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti. Algorithm (fine_position_centers) taken from Eclipse (N.Devillard) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gad04c42209bb68c8a673c0111c7d51192"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosPixel* finePositionSimple </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosPixel * </td>
-          <td class="paramname"><em>in_pixel</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>r1</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Refine a peak center by computing the baricenter.</p>
-<dl class="section return"><dt>Returns</dt><dd>the peak corrected positions or NULL if the peak is not found.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image </td></tr>
-    <tr><td class="paramname">in_pixel</td><td>expected position of the peak </td></tr>
-    <tr><td class="paramname">r1</td><td>defines a square around expected position where to look for the peak</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Refine a single peak centers, by computing a barycenter. Define a squared region of the image of dimension r1 around expected position and compute baricenter (for baricenter determination see doc of "findPeak2D")</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti and C.Izzo </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gad4dba69e82dab57459815b706c2fc1be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* frComb </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage ** </td>
-          <td class="paramname"><em>ima_list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>num</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">CombMethod </td>
-          <td class="paramname"><em>combMethod</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">CombParameters * </td>
-          <td class="paramname"><em>combParameter</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>flag</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Combine a list of images.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_list</td><td>Pointer to the array of images to combine </td></tr>
-    <tr><td class="paramname">num</td><td>Number of images to combine </td></tr>
-    <tr><td class="paramname">combMethod</td><td>Combination method </td></tr>
-    <tr><td class="paramname">combParameter</td><td>Used just when combination the method requires extra parameters, as in COMB_REJECT or COMB_KSIGMA. </td></tr>
-    <tr><td class="paramname">flag</td><td>Reject or not -32000 values in input</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Combine a list of images according to the method. Possible methods are COMB_KSIGMA, COMB_MEDIAN, COMB_AVERAGE, COMB_SUM, COMB_REJECT, and AUTO. AUTO automatically selects the combination method based on the number of frames</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti, C.Izzo </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga79a781b80904ea74de3ca78f6f9f3bbf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* frCombAverage </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage ** </td>
-          <td class="paramname"><em>ima_list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>num</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute average image of a list of images.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_list</td><td>pointer to the array of images to combine </td></tr>
-    <tr><td class="paramname">num</td><td>number of images</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Average a list of images. Result is a newly allocated image.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga2883df586c53dcf15c1833da67822b5c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* frCombKSigma </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage ** </td>
-          <td class="paramname"><em>ima_list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dklow</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>dkhigh</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>num</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Combine a list of images with rejection of pixels outside a K*sigma threshold (sigma-clipping)</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_list</td><td>pointer to the array of images to combine </td></tr>
-    <tr><td class="paramname">klow</td><td>number of sigma for low values sigma-clipping </td></tr>
-    <tr><td class="paramname">khigh</td><td>number of sigma for high values sigma-clipping </td></tr>
-    <tr><td class="paramname">num</td><td>number of images</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Combine frame with rejection of pixels outside a k*sigma treshold. The threshold is calculated on the median value, and not on the average to limit the influence of bad pixels. Input a list of images; klow to set the low treshold (=median-klow*sigma), and khigh to set the high treshold (=median+khigh*sigma). Result is a newly allocated image.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga9a74a62dd73bc7b26c56fb515fb8b19b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* frCombMedian </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage ** </td>
-          <td class="paramname"><em>ima_list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>num</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>flag</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute median image of a list of images.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_list</td><td>pointer to the array of images to combine </td></tr>
-    <tr><td class="paramname">num</td><td>number of images</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute median image of a list of images. Result is a newly allocated image.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaa8d51f9df9ee7bade9052028b369875f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* frCombMinMaxReject </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage ** </td>
-          <td class="paramname"><em>ima_list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>minrej</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>maxrej</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>num</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Combine images with rejection of highest/lowest pixels values.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_list</td><td>pointer to the array of images to combine </td></tr>
-    <tr><td class="paramname">minrej</td><td>number of pixels to min-reject </td></tr>
-    <tr><td class="paramname">maxrej</td><td>number of pixels to max-reject </td></tr>
-    <tr><td class="paramname">num</td><td>number of images</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>A zero value for both minrej and maxrej is illegal, and in that case a NULL pointer is returned. If the total number of pixels to be rejected is greater then or equal to the number of input images, nothing is done and a NULL pointer is returned.</p>
-<dl class="section author"><dt>Author</dt><dd>P.Sartoretti, C.Izzo </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga3913022272a3dcb6c20fea0894de8d55"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* frCombSum </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage ** </td>
-          <td class="paramname"><em>ima_list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>num</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sum a list of images.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_list</td><td>pointer to the array of images to combine </td></tr>
-    <tr><td class="paramname">num</td><td>number of images</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Sum a list of images. Result is a newly allocated image.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gab4d8a620a7f4166f89daf340ad533e11"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">char** getFitsFileExtensionsNames </td>
-          <td>(</td>
-          <td class="paramtype">fitsfile * </td>
-          <td class="paramname"><em>fptr</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>Get the list of</p>
-<dl class="section return"><dt>Returns</dt><dd>list of extension names.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">fptr</td><td>pointer to fitsfile </td></tr>
-    <tr><td class="paramname">extNum</td><td>pointer to extension number</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Create a list of extension names of a FITS file</p>
-<dl class="section author"><dt>Author</dt><dd>C. Izzo </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga7c9a4cd1daad57a646908dbe7f823288"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* imageArith </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosOperator </td>
-          <td class="paramname"><em>optype</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Arithmetic operations between 2 images. Result is a new image.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima1</td><td>pointer to first image </td></tr>
-    <tr><td class="paramname">ima2</td><td>pointer to second image </td></tr>
-    <tr><td class="paramname">optype</td><td>operation type</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Arithmetic operations between 2 images. The 2 images must have the same dimensions. The output is 1 newly allocated image. The aritmetic operations are VM_OPER_ADD, VM_OPER_SUB, VM_OPER_MUL, VM_OPER_DIV</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga2307b14125d71223fc2c7f6ad5a588bb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int imageArithLocal </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosOperator </td>
-          <td class="paramname"><em>optype</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Arithmetic operations between 2 images. Result is stored in the first image.</p>
-<dl class="section return"><dt>Returns</dt><dd>0 on success 1 on failure</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima1</td><td>pointer to first image </td></tr>
-    <tr><td class="paramname">ima2</td><td>pointer to second image </td></tr>
-    <tr><td class="paramname">optype</td><td>operation type</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Arithmetic operations between 2 images. The 2 images must have the same dimensions. The output is stored in the first image. The aritmetic operations are VM_OPER_ADD, VM_OPER_SUB, VM_OPER_MUL, VM_OPER_DIV</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga9e24f667fac7bfb4d3b876dcc48522f7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float imageAverageDeviation </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>level</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute average deviation from any given value</p>
-<dl class="section return"><dt>Returns</dt><dd>average deviation</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>input image </td></tr>
-    <tr><td class="paramname">level</td><td>reference value</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute average deviation from any given value</p>
-<dl class="section author"><dt>Author</dt><dd>C. Izzo </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gace9171a6dd0bef339625bf97d1f8ad4f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosDpoint* imageHistogram </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned int </td>
-          <td class="paramname"><em>nbins</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute image histogram</p>
-<dl class="section return"><dt>Returns</dt><dd>the histogram</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image </td></tr>
-    <tr><td class="paramname">nbins</td><td>number of bins for the histogram</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute an image histogram. Input one image and the number of bins for the histogram. Output a list of [nbins] VimosDpoints, where x contains the central pixelvalue for each bin, and y contains the number of pixels in this bin.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti. This algorithm is taken from Eclipse (N.Devillard) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga198a0b9a61c0e7aad0c5e1975e1dafc5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float imageMaximum </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute image maximum value of an image</p>
-<dl class="section return"><dt>Returns</dt><dd>the maximum value</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the maximum value of an image</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga7f7a486af5afbaf6c7cebebeb2ee2b31"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float imageMean </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute the average value of an image</p>
-<dl class="section return"><dt>Returns</dt><dd>the average value, or 0 in case of failure</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the average value of an image</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaf39b65ce15ce82029a72b44bfe68fb3e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float imageMedian </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute the median value of an image</p>
-<dl class="section return"><dt>Returns</dt><dd>the median value, or 0 in case of failure</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the median value of an image. Use median-wirth.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaa65fe8aaebe158e33ecf0b0ee7fe4b02"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float imageMedSigma </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>image</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute image sigma using median value instead of mean estimate</p>
-<dl class="section return"><dt>Returns</dt><dd>the sigma value</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>input image</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the sigma value of an image using the median value instead of the mean</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaf63d428a1a8d665adf4b8483fc6aca3a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float imageMinimum </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute image minimum value of an image</p>
-<dl class="section return"><dt>Returns</dt><dd>the maximum value</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the minimum value of an image</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gad25a06620688bfd2c51b7a339478afdd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float imageMode </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute image mode value of an image</p>
-<dl class="section return"><dt>Returns</dt><dd>the mode, or -1 in case of failure</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the mode value of an image (i.e. the histo peak position) It depends on the number of bins (binzise). Here take the bin size = 1 data unit (i.e. bin number =(int) max - min)</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga0553e968f900d443d8765e4b263b1e24"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* imageShift </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>imageIn</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>xshift</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>yshift</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>outXlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>outYlen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>outVal</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Shift an image in X and/or Y</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">imageIn</td><td>pointer to input image </td></tr>
-    <tr><td class="paramname">xshift</td><td>shift in X coordinate </td></tr>
-    <tr><td class="paramname">yshift</td><td>shift in Y coordinate </td></tr>
-    <tr><td class="paramname">outVal</td><td>substitution value</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Image shifting. The output is 1 newly allocated image.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Franzetti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga03d9c2f3188a6210207363d143440a32"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float imageSigma </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>image</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute image sigma</p>
-<dl class="section return"><dt>Returns</dt><dd>the sigma value,</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>input image</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the sigma value of an image</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga944055fcbe4fd585c067808454a48233"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* OLDfrCombMinMaxReject </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage ** </td>
-          <td class="paramname"><em>ima_list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>minrej</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>maxrej</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>num</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Combine images with rejection of high/low pixels values.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_list</td><td>pointer to the array of images to combine </td></tr>
-    <tr><td class="paramname">minrej</td><td>percent of pixels to min-reject </td></tr>
-    <tr><td class="paramname">maxrej</td><td>percent of pixels to max-reject </td></tr>
-    <tr><td class="paramname">num</td><td>number of images</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Percentages are expressed with numbers from 0 to 100. If the percent of pixels to max or min reject is less then the min percentage step (i.e. 100/num), no image will be min or max rejected. Not more than 90 percent of pixel values can be rejected: if such threshold is trespassed, a NULL pointer is returned.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gac0d3d5a706b858702e9c4a1482823377"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float sumPixelsInImage </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </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>nx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ny</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compute the sum of all pixelvalues in a rectangle.</p>
-<dl class="section return"><dt>Returns</dt><dd>the sum, or -1 in case of failure</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>input image </td></tr>
-    <tr><td class="paramname">x</td><td>x lower left corner of the rectangle </td></tr>
-    <tr><td class="paramname">y</td><td>y lower left corner of the rectangle </td></tr>
-    <tr><td class="paramname">nx</td><td>number of pixels in x </td></tr>
-    <tr><td class="paramname">ny</td><td>number of pixels in y</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the sum of all pixelvalues in a rectangle. The rectangle is given by the lower left corner coordinates (x,y) and the number of pixels nx and ny.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gad5d8b02460088d654bb92ccf717c7aa7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* VmFrAveFil </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>filtsizex</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>filtsizey</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>excludeCenter</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Apply a average filter to an image.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>pointer to input image </td></tr>
-    <tr><td class="paramname">filtsizex</td><td>size in x of the filter box </td></tr>
-    <tr><td class="paramname">filtsizey</td><td>size in y of the filter box </td></tr>
-    <tr><td class="paramname">excludeCenter</td><td>flag to exclude the center of the box in the computation of the average</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Apply an optimized average filter of sizes filtsizex, filtsixey to an image. The output is a newly allocated image. Set excludeCenter flag to 1 to exclude the center of the median kernel from the median computation. If the median kernel extends over the image edges, the boundary points are repeated such that the box has always the same size (this is a modification compared to the original algorithm).</p>
-<dl class="section author"><dt>Author</dt><dd>C.Izzo. The original algorithm is taken from Eclipse (N.Devillard) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaf181d729d3e62caa636d4817532db8b1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* VmFrFilter </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>image</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>xSize</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>ySize</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">FilterMethod </td>
-          <td class="paramname"><em>method</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>excludeCenter</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Filter an image.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">image</td><td>pointer to input image </td></tr>
-    <tr><td class="paramname">xSize</td><td>size in x of the filter box </td></tr>
-    <tr><td class="paramname">ySize</td><td>size in y of the filter box </td></tr>
-    <tr><td class="paramname">method</td><td>filter method </td></tr>
-    <tr><td class="paramname">excludecenter</td><td>flag to exclude the center of the box in the computation of the median</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Apply a filter of choice to an image. Available method are median, average, gaussian filter. An automatic method can be specified.</p>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__vmimage.html#gaff1b3948e559a25af9821b18b48d5e63">VmFrMedFil</a>, <a class="el" href="group__vmimage.html#gad5d8b02460088d654bb92ccf717c7aa7">VmFrAveFil</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>C.Izzo and P.Sartoretti </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaff1b3948e559a25af9821b18b48d5e63"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* VmFrMedFil </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>filtsizex</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>filtsizey</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>excludeCenter</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Apply a median filter to an image.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>pointer to input image </td></tr>
-    <tr><td class="paramname">filtsizex</td><td>size in x of the filter box </td></tr>
-    <tr><td class="paramname">filtsizey</td><td>size in y of the filter box </td></tr>
-    <tr><td class="paramname">excludecenter</td><td>flag to exclude the center of the box in the computation of the median</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Apply an optimized median filter of sizes filtsizex, filtsixey to an image. The output is a newly allocated image. Set excludeCenter flag to 1 to exclude the center of the median kernel from the median computation. If the median kernel extends over the image edges, the boundary points are repeated such that the box has always the same size (this is a modification compared to the original algorithm).</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti, C.Izzo. Algorithm taken from Eclipse (N.Devillard) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga59f7d5d96de8fb0bc5351aface228e28"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosImage* VmImNorm </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>ima_in</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Method </td>
-          <td class="paramname"><em>meth</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Normalize an image.</p>
-<dl class="section return"><dt>Returns</dt><dd>Pointer to the resulting image</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ima_in</td><td>pointer to input image </td></tr>
-    <tr><td class="paramname">meth</td><td>normalization method</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Normalize an image. Possible normalization methods are: MEAN normalize image to its mean value, MEDIAN: normalize image to its median value, and MODE: normalize image to its mode. The output is a newly allocated image.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Sartoretti </dd></dl>
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__vmimgastrometry.html b/html/group__vmimgastrometry.html
deleted file mode 100644
index f26bf55..0000000
--- a/html/group__vmimgastrometry.html
+++ /dev/null
@@ -1,354 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: Astrometry 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Astrometry Utilities</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga72edb079ad3c556ed74eb841be4a1b10"><td class="memItemLeft" align="right" valign="top">VimosBool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimgastrometry.html#ga72edb079ad3c556ed74eb841be4a1b10">VmAstroComputeCD</a> (VimosTableArray *calTables, const VimosImage *refImage)</td></tr>
-<tr class="memdesc:ga72edb079ad3c556ed74eb841be4a1b10"><td class="mdescLeft"> </td><td class="mdescRight">Fit a CD matrix (pointing and rotation)  <a href="#ga72edb079ad3c556ed74eb841be4a1b10">More...</a><br/></td></tr>
-<tr class="separator:ga72edb079ad3c556ed74eb841be4a1b10"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gacbb05955cc221de3ea94c4812aaaefb2"><td class="memItemLeft" align="right" valign="top">VimosBool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimgastrometry.html#gacbb05955cc221de3ea94c4812aaaefb2">VmAstroComputeCO</a> (VimosImage *calImage, float tolrad, float sigClip, VimosTable *stmcTable, unsigned int tflag, double tdevmax)</td></tr>
-<tr class="memdesc:gacbb05955cc221de3ea94c4812aaaefb2"><td class="mdescLeft"> </td><td class="mdescRight">Fit a CO matrix (scale and distortions)  <a href="#gacbb05955cc221de3ea94c4812aaaefb2">More...</a><br/></td></tr>
-<tr class="separator:gacbb05955cc221de3ea94c4812aaaefb2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga77ad644eca1195f87a63d11efc7b76b8"><td class="memItemLeft" align="right" valign="top">VimosTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimgastrometry.html#ga77ad644eca1195f87a63d11efc7b76b8">resetAstroTable</a> (int count, char *filterName)</td></tr>
-<tr class="memdesc:ga77ad644eca1195f87a63d11efc7b76b8"><td class="mdescLeft"> </td><td class="mdescRight">Build Astrometric Table.  <a href="#ga77ad644eca1195f87a63d11efc7b76b8">More...</a><br/></td></tr>
-<tr class="separator:ga77ad644eca1195f87a63d11efc7b76b8"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaacf48ad4c4cd1749d67bb8484906374b"><td class="memItemLeft" align="right" valign="top">VimosTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimgastrometry.html#gaacf48ad4c4cd1749d67bb8484906374b">resetStarMatchTable</a> (int count, int naxis1, int naxis2)</td></tr>
-<tr class="memdesc:gaacf48ad4c4cd1749d67bb8484906374b"><td class="mdescLeft"> </td><td class="mdescRight">Build StarMatchTable Table.  <a href="#gaacf48ad4c4cd1749d67bb8484906374b">More...</a><br/></td></tr>
-<tr class="separator:gaacf48ad4c4cd1749d67bb8484906374b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4351cab8d20427ea817365bd60be82bc"><td class="memItemLeft" align="right" valign="top">VimosTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimgastrometry.html#ga4351cab8d20427ea817365bd60be82bc">shiftStarMatch</a> (VimosTable **starMatchTable)</td></tr>
-<tr class="memdesc:ga4351cab8d20427ea817365bd60be82bc"><td class="mdescLeft"> </td><td class="mdescRight">Build StarMatchTable Table.  <a href="#ga4351cab8d20427ea817365bd60be82bc">More...</a><br/></td></tr>
-<tr class="separator:ga4351cab8d20427ea817365bd60be82bc"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga848a731b0f94ebf12521b1d2f70f37fc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmimgastrometry.html#ga848a731b0f94ebf12521b1d2f70f37fc">calcres</a> (VimosTable *o_star, VimosTable *a_star, int imatch[], int nmatch, double *rms)</td></tr>
-<tr class="memdesc:ga848a731b0f94ebf12521b1d2f70f37fc"><td class="mdescLeft"> </td><td class="mdescRight">Compute the RMS error of the CCD <-> Sky transformation.  <a href="#ga848a731b0f94ebf12521b1d2f70f37fc">More...</a><br/></td></tr>
-<tr class="separator:ga848a731b0f94ebf12521b1d2f70f37fc"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>The module provides the utility functions to determine the correct astrometry (CD and CO matrices) for a VIMOS image. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga848a731b0f94ebf12521b1d2f70f37fc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int calcres </td>
-          <td>(</td>
-          <td class="paramtype">VimosTable * </td>
-          <td class="paramname"><em>o_star</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosTable * </td>
-          <td class="paramname"><em>a_star</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>imatch</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>nmatch</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double * </td>
-          <td class="paramname"><em>rms</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Compute the RMS error of the CCD <-> Sky transformation. </p>
-<dl class="section return"><dt>Returns</dt><dd>VM_TRUE/VM_FALSE</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">wcs</td><td>wcs structure </td></tr>
-    <tr><td class="paramname">o_star</td><td>star table </td></tr>
-    <tr><td class="paramname">a_star</td><td>astrometric table </td></tr>
-    <tr><td class="paramname">imatch</td><td>table of matching indexes </td></tr>
-    <tr><td class="paramname">nmatch</td><td>number of matches </td></tr>
-    <tr><td class="paramname">rms</td><td>pointer to the returned array</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Compute the RMS error of the CCD <-> Sky transformation.</p>
-<dl class="section author"><dt>Author</dt><dd>P. Montegriffo (i/o modified by P.Sartoretti) </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga77ad644eca1195f87a63d11efc7b76b8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosTable* resetAstroTable </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>count</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char * </td>
-          <td class="paramname"><em>filterName</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Build Astrometric Table. </p>
-<dl class="section return"><dt>Returns</dt><dd>VimosTable</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">count</td><td>N. of entries </td></tr>
-    <tr><td class="paramname">filterName</td><td>Image filter</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Build up an astrometric Table (empty) of count*count rows for filter FilterName (used by VmImComputeCO)</p>
-<dl class="section author"><dt>Author</dt><dd>B.Garilli </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaacf48ad4c4cd1749d67bb8484906374b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosTable* resetStarMatchTable </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>count</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>naxis1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>naxis2</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Build StarMatchTable Table. </p>
-<dl class="section return"><dt>Returns</dt><dd>VimosTable</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">count</td><td>N. of entries</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>Build up an StarTable Table of count*count rows Fill it up with an equally spaced grid of count*count points (used by VmImComputeCO)</p>
-<dl class="section author"><dt>Author</dt><dd>B.Garilli </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga4351cab8d20427ea817365bd60be82bc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosTable* shiftStarMatch </td>
-          <td>(</td>
-          <td class="paramtype">VimosTable ** </td>
-          <td class="paramname"><em>starMatchTable</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Build StarMatchTable Table. </p>
-<dl class="section return"><dt>Returns</dt><dd>VimosTable</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">**starMatchTable</td><td>Array of 4 StarMatchTables (1 per quadrant)</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>put together the 4 tables, different for each quadrant we must change the image coordinates, and then change the CRPIX1 and 2 values to 0,0</p>
-<p>for positive X quads (quad 1 and 4) it is: new X = oldX-crpix1-0.5 for neg. X quads (2 and 3) new X = -crpix1+oldX+0.5 for pos. Y quads (1 and 2) new Y = oldY-crpix2-0.5 for neg. Y quads (3 and 4) new Y = -crpix2+oldY+0.5</p>
-<dl class="section author"><dt>Author</dt><dd>B.Garilli </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga72edb079ad3c556ed74eb841be4a1b10"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosBool VmAstroComputeCD </td>
-          <td>(</td>
-          <td class="paramtype">VimosTableArray * </td>
-          <td class="paramname"><em>calTables</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const VimosImage * </td>
-          <td class="paramname"><em>refImage</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Fit a CD matrix (pointing and rotation) </p>
-<dl class="section return"><dt>Returns</dt><dd><code>VM_TRUE</code> or <code>VM_FALSE</code> </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">calTables</td><td>Set of star match tables from different quadrants. </td></tr>
-    <tr><td class="paramname">refImage</td><td>Reference image.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function merges the star match tables from the input set <em>set</em> into a single star match table having the origin of the coordinate system a pixel (0, 0) (given by the CRPIXi keywords). The new CD matrix is computed fitting pixels versus right ascension and declination.</p>
-<p>The reference image <em>refImage</em> is used to obtain the image size in pixels of the images from which the input star match tables were created. It is assumed that all images have the same size.</p>
-<p>The headers of each star match table in the input set is updated with the computed CD matrix.</p>
-<dl class="section note"><dt>Note</dt><dd>To work properly the pixel coordinates of the input star match tables must be corrected for temperature effects. </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gacbb05955cc221de3ea94c4812aaaefb2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosBool VmAstroComputeCO </td>
-          <td>(</td>
-          <td class="paramtype">VimosImage * </td>
-          <td class="paramname"><em>calImage</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>tolrad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">float </td>
-          <td class="paramname"><em>sigClip</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">VimosTable * </td>
-          <td class="paramname"><em>stmcTable</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned int </td>
-          <td class="paramname"><em>tflag</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">double </td>
-          <td class="paramname"><em>tdevmax</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Fit a CO matrix (scale and distortions) </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">calImage</td><td>The image for which CO has to be computed </td></tr>
-    <tr><td class="paramname">tolrad</td><td>Search radius. </td></tr>
-    <tr><td class="paramname">sigClip</td><td>Threshold for sigma clipping (?) </td></tr>
-    <tr><td class="paramname">stmcTable</td><td>Star match table. </td></tr>
-    <tr><td class="paramname">tflag</td><td>Flag to enable/disable temperature checks </td></tr>
-    <tr><td class="paramname">tdevmax</td><td>Tolerance in C for beam temperature</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>VM_TRUE</code> or <code>VM_FALSE</code> </dd></dl>
-<p>The function reads the CD matrix from the image <em>calImage</em>, or, if the a star match table was given, i.e. <em>stmcTable</em> is different from <code>NULL</code>, it is taken from <em>stmcTable</em>.</p>
-<p>An artificial star table with a grid of 10 times 10 points is created and the CCD to sky coordinate transformation is applied to them, computing right ascension and declination. The right ascension and declination are used to build an astrometric table, and from both tables, star table and astrometric table, a star match table is created and the CO matrix is fitted. The result is an image <em>calImage</em> having a CO matrix which comprises wcs and CcdToSky.</p>
-<p>For details on the temperature check see the documentation for <b>computeVirtualPixels</b> </p>
-<dl class="section see"><dt>See Also</dt><dd>computeVirtualPixels </dd></dl>
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/group__vmtablearray.html b/html/group__vmtablearray.html
deleted file mode 100644
index c2e7ceb..0000000
--- a/html/group__vmtablearray.html
+++ /dev/null
@@ -1,407 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS Reference Manual: Table Arrays</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Table Arrays</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga4bdf262608328b596071563d58ff19a6"><td class="memItemLeft" align="right" valign="top">VimosTableArray * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#ga4bdf262608328b596071563d58ff19a6">newTableArray</a> (int size)</td></tr>
-<tr class="memdesc:ga4bdf262608328b596071563d58ff19a6"><td class="mdescLeft"> </td><td class="mdescRight">Create an empty table array of appropriate size.  <a href="#ga4bdf262608328b596071563d58ff19a6">More...</a><br/></td></tr>
-<tr class="separator:ga4bdf262608328b596071563d58ff19a6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga0d5d613801220ae55550e8c4f17d8bdb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#ga0d5d613801220ae55550e8c4f17d8bdb">deleteTableArray</a> (VimosTableArray *array)</td></tr>
-<tr class="memdesc:ga0d5d613801220ae55550e8c4f17d8bdb"><td class="mdescLeft"> </td><td class="mdescRight">Delete an table array object.  <a href="#ga0d5d613801220ae55550e8c4f17d8bdb">More...</a><br/></td></tr>
-<tr class="separator:ga0d5d613801220ae55550e8c4f17d8bdb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gac4b555d8765c31e349f6a7ab82ab36f0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#gac4b555d8765c31e349f6a7ab82ab36f0">destroyTableArray</a> (VimosTableArray *array)</td></tr>
-<tr class="memdesc:gac4b555d8765c31e349f6a7ab82ab36f0"><td class="mdescLeft"> </td><td class="mdescRight">Destroy an table array object.  <a href="#gac4b555d8765c31e349f6a7ab82ab36f0">More...</a><br/></td></tr>
-<tr class="separator:gac4b555d8765c31e349f6a7ab82ab36f0"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gada05ea1fa9b60d6958b51c9629145c60"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#gada05ea1fa9b60d6958b51c9629145c60">tblArrayIsEmpty</a> (const VimosTableArray *array)</td></tr>
-<tr class="memdesc:gada05ea1fa9b60d6958b51c9629145c60"><td class="mdescLeft"> </td><td class="mdescRight">Check if an table array object is empty.  <a href="#gada05ea1fa9b60d6958b51c9629145c60">More...</a><br/></td></tr>
-<tr class="separator:gada05ea1fa9b60d6958b51c9629145c60"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga58310ea58502f06630979eea593967c3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#ga58310ea58502f06630979eea593967c3">tblArrayCapacity</a> (const VimosTableArray *array)</td></tr>
-<tr class="memdesc:ga58310ea58502f06630979eea593967c3"><td class="mdescLeft"> </td><td class="mdescRight">Get the capacity of an table array.  <a href="#ga58310ea58502f06630979eea593967c3">More...</a><br/></td></tr>
-<tr class="separator:ga58310ea58502f06630979eea593967c3"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga4524c2ac2f8d112f7c4bf3e0096b483f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#ga4524c2ac2f8d112f7c4bf3e0096b483f">tblArraySize</a> (const VimosTableArray *array)</td></tr>
-<tr class="memdesc:ga4524c2ac2f8d112f7c4bf3e0096b483f"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of tables stored in an table array.  <a href="#ga4524c2ac2f8d112f7c4bf3e0096b483f">More...</a><br/></td></tr>
-<tr class="separator:ga4524c2ac2f8d112f7c4bf3e0096b483f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gaaa503c90f08a11d6a94b9b3be79efb1a"><td class="memItemLeft" align="right" valign="top">const VimosTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#gaaa503c90f08a11d6a94b9b3be79efb1a">tblArrayGet</a> (const VimosTableArray *array, int index)</td></tr>
-<tr class="memdesc:gaaa503c90f08a11d6a94b9b3be79efb1a"><td class="mdescLeft"> </td><td class="mdescRight">The function retrieves an table from an table array object.  <a href="#gaaa503c90f08a11d6a94b9b3be79efb1a">More...</a><br/></td></tr>
-<tr class="separator:gaaa503c90f08a11d6a94b9b3be79efb1a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga265a608a797560fe56e6d3f3ae78ae1a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#ga265a608a797560fe56e6d3f3ae78ae1a">tblArraySet</a> (VimosTableArray *array, int index, const VimosTable *table)</td></tr>
-<tr class="memdesc:ga265a608a797560fe56e6d3f3ae78ae1a"><td class="mdescLeft"> </td><td class="mdescRight">Set an element of an table array.  <a href="#ga265a608a797560fe56e6d3f3ae78ae1a">More...</a><br/></td></tr>
-<tr class="separator:ga265a608a797560fe56e6d3f3ae78ae1a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:gade563562936e4973229f7a53692be635"><td class="memItemLeft" align="right" valign="top">VimosTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#gade563562936e4973229f7a53692be635">tblArrayRemove</a> (VimosTableArray *array, int index)</td></tr>
-<tr class="memdesc:gade563562936e4973229f7a53692be635"><td class="mdescLeft"> </td><td class="mdescRight">Remove an table from an table array object.  <a href="#gade563562936e4973229f7a53692be635">More...</a><br/></td></tr>
-<tr class="separator:gade563562936e4973229f7a53692be635"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ga2e5016427215f9ad0dd843592fdcaac7"><td class="memItemLeft" align="right" valign="top">VimosTable ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group__vmtablearray.html#ga2e5016427215f9ad0dd843592fdcaac7">tblArrayGetData</a> (const VimosTableArray *array)</td></tr>
-<tr class="memdesc:ga2e5016427215f9ad0dd843592fdcaac7"><td class="mdescLeft"> </td><td class="mdescRight">Get reference to the array objects data.  <a href="#ga2e5016427215f9ad0dd843592fdcaac7">More...</a><br/></td></tr>
-<tr class="separator:ga2e5016427215f9ad0dd843592fdcaac7"><td class="memSeparator" colspan="2"> </td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>The module <b>VimosTableArray</b> implements a simple, fixed size array container for tables. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga0d5d613801220ae55550e8c4f17d8bdb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void deleteTableArray </td>
-          <td>(</td>
-          <td class="paramtype">VimosTableArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Delete an table array object. </p>
-<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object to be deallocated.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function deallocates the table array object <em>array</em>. The array object must be empty.</p>
-<dl class="section note"><dt>Note</dt><dd>If <em>array</em> is <code>NULL</code> nothing is done.</dd></dl>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__vmtablearray.html#gac4b555d8765c31e349f6a7ab82ab36f0" title="Destroy an table array object.">destroyTableArray</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gac4b555d8765c31e349f6a7ab82ab36f0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void destroyTableArray </td>
-          <td>(</td>
-          <td class="paramtype">VimosTableArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Destroy an table array object. </p>
-<dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object to be destroyed.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function works as <b><a class="el" href="group__vmtablearray.html#ga0d5d613801220ae55550e8c4f17d8bdb" title="Delete an table array object.">deleteTableArray()</a></b>, but any table which is stored in the array is deallocated prior to the deallocation of the array object <em>array</em>.</p>
-<dl class="section note"><dt>Note</dt><dd>If <em>array</em> is <code>NULL</code> nothing is done.</dd></dl>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__vmtablearray.html#ga0d5d613801220ae55550e8c4f17d8bdb" title="Delete an table array object.">deleteTableArray</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga4bdf262608328b596071563d58ff19a6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosTableArray* newTableArray </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>size</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create an empty table array of appropriate size. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns the pointer to the allocated array object if no error occurred, or <code>NULL</code> otherwise.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">size</td><td>Size of the table array.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function allocates the memory for an table array of <em>size</em> elements. All array elements are initialized to to <code>NULL</code>.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga58310ea58502f06630979eea593967c3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int tblArrayCapacity </td>
-          <td>(</td>
-          <td class="paramtype">const VimosTableArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the capacity of an table array. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns the table array's capacity.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function reports the capacity of the array <em>array</em>, i.e. the maximum number of tables which could be stored in the array.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gaaa503c90f08a11d6a94b9b3be79efb1a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const VimosTable* tblArrayGet </td>
-          <td>(</td>
-          <td class="paramtype">const VimosTableArray * </td>
-          <td class="paramname"><em>array</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>index</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>The function retrieves an table from an table array object. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns a handle to a stored table. If no table is associated to an array element <code>NULL</code> is returned.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object. </td></tr>
-    <tr><td class="paramname">index</td><td>Array element offset.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function returns a reference to the table stored in the array <em>array</em>. The offset <em>index</em> is the usual C array offset, i.e. the first table is accessed by passing 0 as <em>index</em>.</p>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__vmtablearray.html#ga265a608a797560fe56e6d3f3ae78ae1a" title="Set an element of an table array.">tblArraySet</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga2e5016427215f9ad0dd843592fdcaac7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosTable** tblArrayGetData </td>
-          <td>(</td>
-          <td class="paramtype">const VimosTableArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get reference to the array objects data. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns the reference to the array data block. This function always succeeds.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function returns a handle of the the array's data block.</p>
-<dl class="section note"><dt>Note</dt><dd>This function should be used with care.</dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gada05ea1fa9b60d6958b51c9629145c60"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int tblArrayIsEmpty </td>
-          <td>(</td>
-          <td class="paramtype">const VimosTableArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Check if an table array object is empty. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>VM_TRUE</code> if the array is empty, otherwise <code>VM_FALSE</code> is returned.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object to be tested.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function checks if any table is stored in the array.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="gade563562936e4973229f7a53692be635"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">VimosTable* tblArrayRemove </td>
-          <td>(</td>
-          <td class="paramtype">VimosTableArray * </td>
-          <td class="paramname"><em>array</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>index</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Remove an table from an table array object. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns a handle to the removed table.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object. </td></tr>
-    <tr><td class="paramname">index</td><td>Array element offset.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function removes the table stored at the array offset <em>index</em> and returns a reference to the removed table. The array element is reset to <code>NULL</code>. If no table was stored in the array element the function succeeds and the returned reference is <code>NULL</code>.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga265a608a797560fe56e6d3f3ae78ae1a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int tblArraySet </td>
-          <td>(</td>
-          <td class="paramtype">VimosTableArray * </td>
-          <td class="paramname"><em>array</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"><em>index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const VimosTable * </td>
-          <td class="paramname"><em>table</em> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Set an element of an table array. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns <code>EXIT_SUCCESS</code> if no error occurred, or <code>EXIT_FAILURE</code> otherwise.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object. </td></tr>
-    <tr><td class="paramname">index</td><td>Array element offset. </td></tr>
-    <tr><td class="paramname">table</td><td>Table object.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The functions stores the table <em>table</em> into the element with offset <em>index</em> of the table array object <em>array</em>. To be successfull <em>index</em> must be equal or larger than 0, smaller than the array's capacity and the array element must not already reference another table. If a stored table should be replaced by another table first use <b>tableArrayRemove()</b> to extract an table from the array object.</p>
-<dl class="section note"><dt>Note</dt><dd>One cannot use this function to reset an array element, i.e. one cannot pass <code>NULL</code> as table <em>table</em>.</dd></dl>
-<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__vmtablearray.html#gaaa503c90f08a11d6a94b9b3be79efb1a" title="The function retrieves an table from an table array object.">tblArrayGet</a>, <a class="el" href="group__vmtablearray.html#gade563562936e4973229f7a53692be635" title="Remove an table from an table array object.">tblArrayRemove</a></dd></dl>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</div>
-</div>
-<a class="anchor" id="ga4524c2ac2f8d112f7c4bf3e0096b483f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int tblArraySize </td>
-          <td>(</td>
-          <td class="paramtype">const VimosTableArray * </td>
-          <td class="paramname"><em>array</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Get the number of tables stored in an table array. </p>
-<dl class="section return"><dt>Returns</dt><dd>The function returns the number of stored tables.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">array</td><td>Table array object.</td></tr>
-  </table>
-  </dd>
-</dl>
-<p>The function retrieves the number of tables currently stored in the table array object <em>array</em>. The reported number is not the array objects capacity, i.e. the maximum number of tables which could be stuffed into the array.</p>
-<dl class="section author"><dt>Author</dt><dd>R. Palsa </dd></dl>
-
-</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.3.1
-</small></address>
-</body>
-</html>
diff --git a/html/index.html b/html/index.html
deleted file mode 100644
index edb88ba..0000000
--- a/html/index.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li class="current"><a href="index.html"><span>Main Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">VIMOS DRS Reference Manual Documentation</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.3.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 b80a10d..0000000
--- a/html/modules.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.3.1"/>
-<title>VIMOS DRS 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">VIMOS DRS Reference Manual
-    <span id="projectnumber">2.9.9</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.3.1 -->
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main Page</span></a></li>
-      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
-    </ul>
-  </div>
-</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__forsdfs.html" target="_self">DFS Utilities</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__forsPaf.html" target="_self">PAF File Utilities</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__forsqc.html" target="_self">Quality Control Utilities</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__fors__tools.html" target="_self">High level functions</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__moses.html" target="_self">MOS data reduction library</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__vmcpl.html" target="_self">CPL interface</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__vmimage.html" target="_self">Images</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__VimosImageArray.html" target="_self">VimosImageArray</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__vmimgastrometry.html" target="_self">Astrometry Utilities</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__vmtablearray.html" target="_self">Table Arrays</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__vimos__calib__impl.html" target="_self">Vimos_calib_impl</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__vimos__calib__mult.html" target="_self">Vimos_calib_mult</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="group__vimos__science__impl.html" target="_self">Vimos_science_impl</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.3.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/sync_off.png b/html/sync_off.png
deleted file mode 100644
index 3b443fc..0000000
Binary files a/html/sync_off.png and /dev/null differ
diff --git a/html/sync_on.png b/html/sync_on.png
deleted file mode 100644
index e08320f..0000000
Binary files a/html/sync_on.png and /dev/null differ
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 e2b4a86..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 fd5cb70..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 9cf578f..0000000
--- a/html/tabs.css
+++ /dev/null
@@ -1,60 +0,0 @@
-.tabs, .tabs2, .tabs3 {
-    background-image: url('tab_b.png');
-    width: 100%;
-    z-index: 101;
-    font-size: 13px;
-    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-}
-
-.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-vimos.git



More information about the debian-science-commits mailing list