GIRAFFE Pipeline Reference Manual

gicube.h

00001 /* $Id: gicube.h,v 1.3 2012/08/17 14:16:01 rpalsa Exp $
00002  *
00003  * This file is part of the GIRAFFE Pipeline
00004  * Copyright (C) 2002-2007 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00019  */
00020 
00021 /*
00022  * $Author: rpalsa $
00023  * $Date: 2012/08/17 14:16:01 $
00024  * $Revision: 1.3 $
00025  * $Name: giraffe-2_10 $
00026  */
00027 
00028 #ifndef GICUBE_H
00029 #define GICUBE_H
00030 
00031 #include <cxtypes.h>
00032 
00033 #include <cpl_matrix.h>
00034 #include <cpl_image.h>
00035 #include <cpl_propertylist.h>
00036 
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 
00043     typedef struct GiCube GiCube;
00044 
00045 
00046     GiCube* giraffe_cube_new(void);
00047     GiCube* giraffe_cube_create(cxsize width, cxsize height, cxsize depth,
00048                                 cxdouble* data);
00049     void giraffe_cube_delete(GiCube* self);
00050 
00051     cxsize giraffe_cube_get_width(const GiCube* self);
00052     cxsize giraffe_cube_get_height(const GiCube* self);
00053     cxsize giraffe_cube_get_depth(const GiCube* self);
00054 
00055     cxsize giraffe_cube_get_size(const GiCube* self);
00056     cxint giraffe_cube_set_size(GiCube* self, cxsize width, cxsize height,
00057                                 cxsize depth);
00058 
00059     cxdouble* giraffe_cube_get_data(const GiCube* self);
00060 
00061     cxbool giraffe_cube_has_xaxis(const GiCube* self);
00062     cxbool giraffe_cube_has_yaxis(const GiCube* self);
00063     cxbool giraffe_cube_has_zaxis(const GiCube* self);
00064     cxbool giraffe_cube_has_wcs(const GiCube* self);
00065 
00066     cxint giraffe_cube_get_xaxis(const GiCube* self, cxdouble* start,
00067                                  cxdouble* step);
00068     cxint giraffe_cube_get_yaxis(const GiCube* self, cxdouble* start,
00069                                  cxdouble* step);
00070     cxint giraffe_cube_get_zaxis(const GiCube* self, cxdouble* start,
00071                                  cxdouble* step);
00072 
00073     cxint giraffe_cube_set_xaxis(GiCube* self, cxdouble start, cxdouble step);
00074     cxint giraffe_cube_set_yaxis(GiCube* self, cxdouble start, cxdouble step);
00075     cxint giraffe_cube_set_zaxis(GiCube* self, cxdouble start, cxdouble step);
00076 
00077     void giraffe_cube_clear_wcs(GiCube* self);
00078 
00079     cxint giraffe_cube_set_wcs(GiCube* self, const cpl_propertylist* axes,
00080                                const cpl_matrix* transformation);
00081 
00082     cxint giraffe_cube_sqrt(GiCube* self);
00083 
00084     cpl_image* giraffe_cube_integrate(const GiCube* self, cxdouble start,
00085                                       cxdouble end);
00086 
00087     cxint giraffe_cube_save(const GiCube* self, cpl_propertylist* properties,
00088                             const cxchar* filename, cxcptr data);
00089 
00090 
00091 #ifdef __cplusplus
00092 }
00093 #endif
00094 
00095 #endif /* GICUBE_H */

This file is part of the GIRAFFE Pipeline Reference Manual 2.10.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Thu Mar 7 14:11:02 2013 by doxygen 1.4.7 written by Dimitri van Heesch, © 1997-2004