UVES Pipeline Reference Manual  5.4.0
uves_extract.h
1 /*
2  * This file is part of the ESO UVES Pipeline
3  * Copyright (C) 2004,2005 European Southern Observatory
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
18  */
19 
20 /*
21  * $Author: amodigli $
22  * $Date: 2013-08-08 13:36:46 $
23  * $Revision: 1.38 $
24  * $Name: not supported by cvs2svn $
25  *
26  */
27 #ifndef UVES_EXTRACT_H
28 #define UVES_EXTRACT_H
29 #include <uves_cpl_size.h>
30 
31 #include <uves_utils_polynomial.h>
32 #include <uves_chip.h>
33 
34 #include <cpl.h>
35 
36 #include <stdbool.h>
37 
38 typedef enum {EXTRACT_AVERAGE,
39  EXTRACT_LINEAR,
40  EXTRACT_2D,
41  EXTRACT_ARCLAMP,
42  EXTRACT_WEIGHTED,
43  EXTRACT_OPTIMAL} extract_method;
44 
45 
46 cpl_parameterlist *uves_extract_define_parameters(void);
47 
48 extract_method
49 uves_get_extract_method(const cpl_parameterlist *parameters,
50  const char *context, const char *subcontext);
51 
52 cpl_image *
53 uves_extract(cpl_image *image,
54  cpl_image *image_noise,
55  const uves_propertylist *image_header,
56  const cpl_table *ordertable,
57  const polynomial *order_locations_raw,
58  double slit_length,
59  double offset,
60  const cpl_parameterlist *parameters,
61  const char *context,
62  const char *mode,
63  bool extract_partial,
64  bool debug_mode,
65  enum uves_chip chip,
66  uves_propertylist **header,
67  cpl_image **spectrum_noise,
68  cpl_image **sky_spectrum,
69  cpl_image **sky_spectrum_noise,
70  cpl_table **cosmic_mask,
71  cpl_image **cosmic_image,
72  cpl_table **profile_table,
73  cpl_image **weights,
74  cpl_table **info_tbl,
75  cpl_table **order_trace);
76 
77 #endif