GIRAFFE Pipeline Reference Manual

gicube.h
1 /* $Id$
2  *
3  * This file is part of the GIRAFFE Pipeline
4  * Copyright (C) 2002-2007 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 GICUBE_H
29 #define GICUBE_H
30 
31 #include <cxtypes.h>
32 
33 #include <cpl_matrix.h>
34 #include <cpl_image.h>
35 #include <cpl_propertylist.h>
36 
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 
43  typedef struct GiCube GiCube;
44 
45 
46  GiCube* giraffe_cube_new(void);
47  GiCube* giraffe_cube_create(cxsize width, cxsize height, cxsize depth,
48  cxdouble* data);
49  void giraffe_cube_delete(GiCube* self);
50 
51  cxsize giraffe_cube_get_width(const GiCube* self);
52  cxsize giraffe_cube_get_height(const GiCube* self);
53  cxsize giraffe_cube_get_depth(const GiCube* self);
54 
55  cxsize giraffe_cube_get_size(const GiCube* self);
56  cxint giraffe_cube_set_size(GiCube* self, cxsize width, cxsize height,
57  cxsize depth);
58 
59  cxdouble* giraffe_cube_get_data(const GiCube* self);
60 
61  cxbool giraffe_cube_has_xaxis(const GiCube* self);
62  cxbool giraffe_cube_has_yaxis(const GiCube* self);
63  cxbool giraffe_cube_has_zaxis(const GiCube* self);
64  cxbool giraffe_cube_has_wcs(const GiCube* self);
65 
66  cxint giraffe_cube_get_xaxis(const GiCube* self, cxdouble* start,
67  cxdouble* step);
68  cxint giraffe_cube_get_yaxis(const GiCube* self, cxdouble* start,
69  cxdouble* step);
70  cxint giraffe_cube_get_zaxis(const GiCube* self, cxdouble* start,
71  cxdouble* step);
72 
73  cxint giraffe_cube_set_xaxis(GiCube* self, cxdouble start, cxdouble step);
74  cxint giraffe_cube_set_yaxis(GiCube* self, cxdouble start, cxdouble step);
75  cxint giraffe_cube_set_zaxis(GiCube* self, cxdouble start, cxdouble step);
76 
77  void giraffe_cube_clear_wcs(GiCube* self);
78 
79  cxint giraffe_cube_set_wcs(GiCube* self, const cpl_propertylist* axes,
80  const cpl_matrix* transformation);
81 
82  cxint giraffe_cube_sqrt(GiCube* self);
83 
84  cpl_image* giraffe_cube_integrate(const GiCube* self, cxdouble start,
85  cxdouble end);
86 
87  cxint giraffe_cube_save(const GiCube* self, cpl_propertylist* properties,
88  const cxchar* filename, cxcptr data);
89 
90 
91 #ifdef __cplusplus
92 }
93 #endif
94 
95 #endif /* GICUBE_H */
cxbool giraffe_cube_has_xaxis(const GiCube *self)
Check whether an x-axis is defined for the given cube.
Definition: gicube.c:746
cxsize giraffe_cube_get_height(const GiCube *self)
Get the height of the given data cube.
Definition: gicube.c:561
cxint giraffe_cube_get_yaxis(const GiCube *self, cxdouble *start, cxdouble *step)
Get the data cube's y-axis start value and step size.
Definition: gicube.c:867
cxsize giraffe_cube_get_depth(const GiCube *self)
Get the depth of the given data cube.
Definition: gicube.c:584
cxint giraffe_cube_save(const GiCube *self, cpl_propertylist *properties, const cxchar *filename, cxcptr data)
Save the given data cube to disk.
Definition: gicube.c:1244
cxint giraffe_cube_set_size(GiCube *self, cxsize width, cxsize height, cxsize depth)
Set the size of a data cube.
Definition: gicube.c:635
cxbool giraffe_cube_has_wcs(const GiCube *self)
Check whether a world coordinate system is defined for the given cube.
Definition: gicube.c:809
cxint giraffe_cube_set_wcs(GiCube *self, const cpl_propertylist *axes, const cpl_matrix *transformation)
Set the data cube's world coordinate system.
Definition: gicube.c:1040
cxbool giraffe_cube_has_zaxis(const GiCube *self)
Check whether a z-axis is defined for the given cube.
Definition: gicube.c:788
cxdouble * giraffe_cube_get_data(const GiCube *self)
Get a reference to the data cube's pixel buffer.
Definition: gicube.c:715
cxint giraffe_cube_set_zaxis(GiCube *self, cxdouble start, cxdouble step)
Set the data cube's z-axis start value and step size.
Definition: gicube.c:976
cxint giraffe_cube_set_xaxis(GiCube *self, cxdouble start, cxdouble step)
Set the data cube's x-axis start value and step size.
Definition: gicube.c:924
cxsize giraffe_cube_get_width(const GiCube *self)
Get the width of the given data cube.
Definition: gicube.c:538
GiCube * giraffe_cube_new(void)
Create an empty data cube.
Definition: gicube.c:420
cxint giraffe_cube_get_zaxis(const GiCube *self, cxdouble *start, cxdouble *step)
Get the data cube's z-axis start value and step size.
Definition: gicube.c:898
cxbool giraffe_cube_has_yaxis(const GiCube *self)
Check whether a y-axis is defined for the given cube.
Definition: gicube.c:767
void giraffe_cube_delete(GiCube *self)
Destroys a cube object.
Definition: gicube.c:512
cxsize giraffe_cube_get_size(const GiCube *self)
Get the size of the given data cube.
Definition: gicube.c:607
cxint giraffe_cube_sqrt(GiCube *self)
Compute the square root of the elements of a cube.
Definition: gicube.c:1099
cxint giraffe_cube_get_xaxis(const GiCube *self, cxdouble *start, cxdouble *step)
Get the data cube's x-axis start value and step size.
Definition: gicube.c:836
void giraffe_cube_clear_wcs(GiCube *self)
Remove the world coordinate system from the cube.
Definition: gicube.c:1001
GiCube * giraffe_cube_create(cxsize width, cxsize height, cxsize depth, cxdouble *data)
Create a data cube with the given width, height and depth.
Definition: gicube.c:455
cxint giraffe_cube_set_yaxis(GiCube *self, cxdouble start, cxdouble step)
Set the data cube's y-axis start value and step size.
Definition: gicube.c:950
cpl_image * giraffe_cube_integrate(const GiCube *self, cxdouble start, cxdouble end)
Integrate a cube along the z-axis.
Definition: gicube.c:1150

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