GIRAFFE Pipeline Reference Manual

gifov.h
1/*
2 * This file is part of the GIRAFFE Pipeline
3 * Copyright (C) 2002-2019 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, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20#ifndef GIFOV_H
21#define GIFOV_H
22
23#include <cxslist.h>
24
25#include <cpl_macros.h>
26#include <cpl_array.h>
27#include <cpl_parameterlist.h>
28
29#include <giimage.h>
30#include <gitable.h>
31#include <gicube.h>
32#include <girebinning.h>
33
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39
40 enum GiFieldOfViewCubeFormat {
41 GIFOV_FORMAT_SINGLE = 1 << 0,
42 GIFOV_FORMAT_ESO3D = 1 << 1
43 };
44
45 typedef enum GiFieldOfViewCubeFormat GiFieldOfViewCubeFormat;
46
47
48 struct GiFieldOfViewConfig {
49 cxdouble minimum;
50 cxdouble maximum;
51 cxbool cube;
52
53 GiFieldOfViewCubeFormat format;
54 };
55
56 typedef struct GiFieldOfViewConfig GiFieldOfViewConfig;
57
58
59 struct GiFieldOfView {
60 GiInstrumentMode mode;
61
62 cpl_array* ssn;
63
64 struct {
65 GiImage* spectra;
66 GiImage* errors;
67 } fov;
68
69 struct {
70 cx_slist* spectra;
71 cx_slist* errors;
72 } images;
73
74 struct {
75 cx_slist* spectra;
76 cx_slist* errors;
77 } cubes;
78 };
79
80 typedef struct GiFieldOfView GiFieldOfView;
81
82
83 /*
84 * Spectrum localization
85 */
86
87 cxint giraffe_fov_build(GiFieldOfView* result,
88 GiRebinning* rebinning, GiTable* fibers,
89 GiTable* wsolution, GiTable* grating,
90 GiTable* slitgeometry,
91 GiFieldOfViewConfig* config);
92
93
94 /*
95 * Convenience functions
96 */
97
98 GiFieldOfView* giraffe_fov_new(void);
99 void giraffe_fov_delete(GiFieldOfView* self);
100 void giraffe_fov_clear(GiFieldOfView* self);
101
102 cxint giraffe_fov_save_cubes(const GiFieldOfView* self,
103 cpl_propertylist* properties,
104 const cxchar* filename, cxptr data);
105
106 cxint giraffe_fov_save_cubes_eso3d(const GiFieldOfView* self,
107 cpl_propertylist* properties,
108 const cxchar* filename, cxptr data);
109
110 GiFieldOfViewConfig* giraffe_fov_config_create(cpl_parameterlist* list);
111 void giraffe_fov_config_destroy(GiFieldOfViewConfig* config);
112 void giraffe_fov_config_add(cpl_parameterlist* list);
113
114
115#ifdef __cplusplus
116}
117#endif
118
119#endif /* GIFOV_H */
GiFieldOfViewConfig * giraffe_fov_config_create(cpl_parameterlist *list)
Creates a setup structure for the field of view reconstruction.
Definition: gifov.c:2012
void giraffe_fov_clear(GiFieldOfView *self)
Delete the contents of a field of view object.
Definition: gifov.c:1427
void giraffe_fov_config_destroy(GiFieldOfViewConfig *config)
Destroys a field of view setup structure.
Definition: gifov.c:2067
GiFieldOfView * giraffe_fov_new(void)
Create an empty container for the results of the field of view reconstruction.
Definition: gifov.c:1393
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:1673
void giraffe_fov_delete(GiFieldOfView *self)
Deallocate a field of view object and its contents.
Definition: gifov.c:1494
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:428
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:1530
void giraffe_fov_config_add(cpl_parameterlist *list)
Adds parameters for the image and data cube construction.
Definition: gifov.c:2089

This file is part of the GIRAFFE Pipeline Reference Manual 2.16.14.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Wed Nov 20 2024 21:40:14 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2004