GIRAFFE Pipeline Reference Manual

gifov.h
1 /* $Id$
2  *
3  * This file is part of the GIRAFFE Pipeline
4  * Copyright (C) 2002-2006 European Southern Observatory
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 /*
22  * $Author$
23  * $Date$
24  * $Revision$
25  * $Name$
26  */
27 
28 #ifndef GIFOV_H
29 #define GIFOV_H
30 
31 #include <cxslist.h>
32 
33 #include <cpl_macros.h>
34 #include <cpl_array.h>
35 #include <cpl_parameterlist.h>
36 
37 #include <giimage.h>
38 #include <gitable.h>
39 #include <gicube.h>
40 #include <girebinning.h>
41 
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 
48  enum GiFieldOfViewCubeFormat {
49  GIFOV_FORMAT_SINGLE = 1 << 0,
50  GIFOV_FORMAT_ESO3D = 1 << 1
51  };
52 
53  typedef enum GiFieldOfViewCubeFormat GiFieldOfViewCubeFormat;
54 
55 
56  struct GiFieldOfViewConfig {
57  cxdouble minimum;
58  cxdouble maximum;
59  cxbool cube;
60 
61  GiFieldOfViewCubeFormat format;
62  };
63 
64  typedef struct GiFieldOfViewConfig GiFieldOfViewConfig;
65 
66 
67  struct GiFieldOfView {
68  GiInstrumentMode mode;
69 
70  cpl_array* ssn;
71 
72  struct {
73  GiImage* spectra;
74  GiImage* errors;
75  } fov;
76 
77  struct {
78  cx_slist* spectra;
79  cx_slist* errors;
80  } images;
81 
82  struct {
83  cx_slist* spectra;
84  cx_slist* errors;
85  } cubes;
86  };
87 
88  typedef struct GiFieldOfView GiFieldOfView;
89 
90 
91  /*
92  * Spectrum localization
93  */
94 
95  cxint giraffe_fov_build(GiFieldOfView* result,
96  GiRebinning* rebinning, GiTable* fibers,
97  GiTable* wsolution, GiTable* grating,
98  GiTable* slitgeometry,
99  GiFieldOfViewConfig* config);
100 
101 
102  /*
103  * Convenience functions
104  */
105 
106  GiFieldOfView* giraffe_fov_new(void);
107  void giraffe_fov_delete(GiFieldOfView* self);
108  void giraffe_fov_clear(GiFieldOfView* self);
109 
110  cxint giraffe_fov_save_cubes(const GiFieldOfView* self,
111  cpl_propertylist* properties,
112  const cxchar* filename, cxptr data);
113 
114  cxint giraffe_fov_save_cubes_eso3d(const GiFieldOfView* self,
115  cpl_propertylist* properties,
116  const cxchar* filename, cxptr data);
117 
118  GiFieldOfViewConfig* giraffe_fov_config_create(cpl_parameterlist* list);
119  void giraffe_fov_config_destroy(GiFieldOfViewConfig* config);
120  void giraffe_fov_config_add(cpl_parameterlist* list);
121 
122 
123 #ifdef __cplusplus
124 }
125 #endif
126 
127 #endif /* GIFOV_H */
GiFieldOfView * giraffe_fov_new(void)
Create an empty container for the results of the field of view reconstruction.
Definition: gifov.c:1401
void giraffe_fov_delete(GiFieldOfView *self)
Deallocate a field of view object and its contents.
Definition: gifov.c:1502
void giraffe_fov_config_add(cpl_parameterlist *list)
Adds parameters for the image and data cube construction.
Definition: gifov.c:2097
void giraffe_fov_clear(GiFieldOfView *self)
Delete the contents of a field of view object.
Definition: gifov.c:1435
GiFieldOfViewConfig * giraffe_fov_config_create(cpl_parameterlist *list)
Creates a setup structure for the field of view reconstruction.
Definition: gifov.c:2020
cxint giraffe_fov_save_cubes_eso3d(const GiFieldOfView *self, cpl_propertylist *properties, const cxchar *filename, cxptr data)
Write the cube components of a field-of-view object to a file.
Definition: gifov.c:1681
cxint giraffe_fov_build(GiFieldOfView *result, GiRebinning *rebinning, GiTable *fibers, GiTable *wsolution, GiTable *grating, GiTable *slitgeometry, GiFieldOfViewConfig *config)
Create and image and a data cube from extracted and rebinned spectra.
Definition: gifov.c:436
cxint giraffe_fov_save_cubes(const GiFieldOfView *self, cpl_propertylist *properties, const cxchar *filename, cxptr data)
Write the cube components of a field-of-view object to a file.
Definition: gifov.c:1538
void giraffe_fov_config_destroy(GiFieldOfViewConfig *config)
Destroys a field of view setup structure.
Definition: gifov.c:2075

This file is part of the GIRAFFE Pipeline Reference Manual 2.14.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Wed Mar 11 2015 13:19:41 by doxygen 1.8.9.1 written by Dimitri van Heesch, © 1997-2004