GIRAFFE Pipeline Reference Manual

gicube.h

00001 /* $Id: gicube.h,v 1.2 2009/05/29 09:50:53 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: 2009/05/29 09:50:53 $
00024  * $Revision: 1.2 $
00025  * $Name: giraffe-2_8_8 $
00026  */
00027 
00028 #ifndef GICUBE_H
00029 #define GICUBE_H
00030 
00031 #include <cxtypes.h>
00032 
00033 #include <cpl_image.h>
00034 #include <cpl_propertylist.h>
00035 
00036 
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040 
00041 
00042     typedef struct GiCube GiCube;
00043 
00044 
00045     GiCube* giraffe_cube_new(void);
00046     GiCube* giraffe_cube_create(cxsize width, cxsize height, cxsize depth,
00047                                 cxdouble* data);
00048     void giraffe_cube_delete(GiCube* self);
00049 
00050     cxsize giraffe_cube_get_width(const GiCube* self);
00051     cxsize giraffe_cube_get_height(const GiCube* self);
00052     cxsize giraffe_cube_get_depth(const GiCube* self);
00053 
00054     cxsize giraffe_cube_get_size(const GiCube* self);
00055     cxint giraffe_cube_set_size(GiCube* self, cxsize width, cxsize height,
00056                                 cxsize depth);
00057 
00058     cxdouble* giraffe_cube_get_data(const GiCube* self);
00059 
00060     cxbool giraffe_cube_has_xaxis(const GiCube* self);
00061     cxbool giraffe_cube_has_yaxis(const GiCube* self);
00062     cxbool giraffe_cube_has_zaxis(const GiCube* self);
00063 
00064     cxint giraffe_cube_get_xaxis(const GiCube* self, cxdouble* start,
00065                                  cxdouble* step);
00066     cxint giraffe_cube_get_yaxis(const GiCube* self, cxdouble* start,
00067                                  cxdouble* step);
00068     cxint giraffe_cube_get_zaxis(const GiCube* self, cxdouble* start,
00069                                  cxdouble* step);
00070 
00071     cxint giraffe_cube_set_xaxis(GiCube* self, cxdouble start, cxdouble step);
00072     cxint giraffe_cube_set_yaxis(GiCube* self, cxdouble start, cxdouble step);
00073     cxint giraffe_cube_set_zaxis(GiCube* self, cxdouble start, cxdouble step);
00074 
00075     cxint giraffe_cube_sqrt(GiCube* self);
00076 
00077     cpl_image* giraffe_cube_integrate(const GiCube* self, cxdouble start,
00078                                       cxdouble end);
00079 
00080     cxint giraffe_cube_save(const GiCube* self, cpl_propertylist* properties,
00081                             const cxchar* filename, cxcptr data);
00082 
00083 
00084 #ifdef __cplusplus
00085 }
00086 #endif
00087 
00088 #endif /* GICUBE_H */

This file is part of the GIRAFFE Pipeline Reference Manual 2.8.8.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Fri Mar 4 10:50:26 2011 by doxygen 1.6.3 written by Dimitri van Heesch, © 1997-2004