irplib_access.h

00001 /* $Id: irplib_access.h,v 1.2 2006/11/15 14:04:08 jmlarsen Exp $
00002  *
00003  * This file is part of the irplib package
00004  * Copyright (C) 2002,2003 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  02111-1307  USA
00019  */
00020 
00021 /*
00022  * $Author: jmlarsen $
00023  * $Date: 2006/11/15 14:04:08 $
00024  * $Revision: 1.2 $
00025  * $Name:  $
00026  */
00027 
00028 #ifndef IRPLIB_ACCESS_H
00029 #define IRPLIB_ACCESS_H
00030 
00031 #include <cpl.h>
00032 
00033 /* Accessor functions */
00034 
00035       cpl_vector *irplib_bivector_get_x      (      cpl_bivector *in);
00036 const cpl_vector *irplib_bivector_get_x_const(const cpl_bivector *in);
00037 
00038       cpl_vector *irplib_bivector_get_y      (      cpl_bivector *in);
00039 const cpl_vector *irplib_bivector_get_y_const(const cpl_bivector *in);
00040 
00041       double *irplib_bivector_get_x_data      (      cpl_bivector *in);
00042 const double *irplib_bivector_get_x_data_const(const cpl_bivector *in);
00043 
00044       double *irplib_bivector_get_y_data      (      cpl_bivector *in);
00045 const double *irplib_bivector_get_y_data_const(const cpl_bivector *in);
00046 
00047       cpl_mask *irplib_image_get_bpm      (      cpl_image *img);
00048 const cpl_mask *irplib_image_get_bpm_const(const cpl_image *img);
00049 
00050       void *irplib_image_get_data      (      cpl_image *img);
00051 const void *irplib_image_get_data_const(const cpl_image *img);
00052 
00053       double *irplib_image_get_data_double      (      cpl_image *img);
00054 const double *irplib_image_get_data_double_const(const cpl_image *img);
00055 
00056       float *irplib_image_get_data_float      (      cpl_image *img);
00057 const float *irplib_image_get_data_float_const(const cpl_image *img);
00058 
00059       int *irplib_image_get_data_int      (      cpl_image *img);
00060 const int *irplib_image_get_data_int_const(const cpl_image *img);
00061 
00062       cpl_image *irplib_imagelist_get      (      cpl_imagelist *imlist,
00063                         int inum);
00064 const cpl_image *irplib_imagelist_get_const(const cpl_imagelist *imlist, 
00065                         int inum);
00066 
00067       cpl_binary *irplib_mask_get_data      (      cpl_mask *in);
00068 const cpl_binary *irplib_mask_get_data_const(const cpl_mask *in);
00069 
00070       double *irplib_matrix_get_data      (      cpl_matrix *matrix);
00071 const double *irplib_matrix_get_data_const(const cpl_matrix *matrix);
00072 
00073       cpl_array      **irplib_table_get_data_array      (      cpl_table *table,
00074                              const char *name);
00075 const cpl_array *const*irplib_table_get_data_array_const(const cpl_table *table,
00076                              const char *name);
00077 
00078       int *irplib_table_get_data_int      (      cpl_table *table, 
00079                        const char *name);
00080 const int *irplib_table_get_data_int_const(const cpl_table *table, 
00081                        const char *name);
00082 
00083       float *irplib_table_get_data_float      (      cpl_table *table, 
00084                            const char *name);
00085 const float *irplib_table_get_data_float_const(const cpl_table *table, 
00086                            const char *name);
00087 
00088       double *irplib_table_get_data_double      (      cpl_table *table, 
00089                          const char *name);
00090 const double *irplib_table_get_data_double_const(const cpl_table *table, 
00091                          const char *name);
00092 
00093       cpl_array *irplib_table_get_array      (      cpl_table *table, 
00094                           const char *name, int row);
00095 const cpl_array *irplib_table_get_array_const(const cpl_table *table, 
00096                           const char *name, int row);
00097 
00098       char      **irplib_table_get_data_string(      cpl_table *table, 
00099                            const char *name);
00100 const char *const*irplib_table_get_data_string_const(const cpl_table *table,
00101                              const char *name);
00102 
00103       double *irplib_vector_get_data      (      cpl_vector *in);
00104 const double *irplib_vector_get_data_const(const cpl_vector *in);
00105 
00106       cpl_frame *irplib_frameset_find      (      cpl_frameset *self, 
00107                         const char *tag);
00108 const cpl_frame *irplib_frameset_find_const(const cpl_frameset *self, 
00109                         const char *tag);
00110 
00111       cpl_frame *irplib_frameset_get_first      (      cpl_frameset *self);
00112 const cpl_frame *irplib_frameset_get_first_const(const cpl_frameset *self);
00113 
00114       cpl_frame *irplib_frameset_get_next      (      cpl_frameset *self);
00115 const cpl_frame *irplib_frameset_get_next_const(const cpl_frameset *self);
00116 
00117       cpl_frame *irplib_frameset_get_frame      (      cpl_frameset *set, 
00118                          int position);
00119 const cpl_frame *irplib_frameset_get_frame_const(const cpl_frameset *set, 
00120                          int position);
00121 
00122       cpl_property *irplib_propertylist_get      (      cpl_propertylist *self,
00123                             long position);
00124 const cpl_property *irplib_propertylist_get_const(const cpl_propertylist *self,
00125                           long position);
00126 
00127 const cpl_parameter *
00128 irplib_parameterlist_get_first_const(const cpl_parameterlist *self);
00129 
00130 const cpl_parameter *
00131 irplib_parameterlist_get_next_const(const cpl_parameterlist *self);
00132 
00133 const cpl_parameter *
00134 irplib_parameterlist_get_last_const(const cpl_parameterlist *self);
00135 
00136 const cpl_parameter *
00137 irplib_parameterlist_find_const(const cpl_parameterlist *self,
00138                 const char *name);
00139 
00140 const cpl_parameter *
00141 irplib_parameterlist_find_type_const(const cpl_parameterlist *self,
00142                      cpl_type type);
00143 
00144 const cpl_parameter *
00145 irplib_parameterlist_find_context_const(const cpl_parameterlist *self,
00146                     const char *context);
00147 const cpl_parameter *
00148 irplib_parameterlist_find_tag_const(const cpl_parameterlist *self,
00149                     const char *tag);
00150 
00151 const cpl_plugin *irplib_pluginlist_get_first_const(const cpl_pluginlist *self);
00152 const cpl_plugin *irplib_pluginlist_get_next_const(const cpl_pluginlist *self);
00153 const cpl_plugin *irplib_pluginlist_get_last_const(const cpl_pluginlist *self);
00154 
00155 const cpl_plugin *irplib_pluginlist_find_const(const cpl_pluginlist *self, 
00156                            const char *name);
00157 
00158       int *irplib_array_get_data_int      (      cpl_array *array);
00159 const int *irplib_array_get_data_int_const(const cpl_array *array);
00160 
00161       float *irplib_array_get_data_float      (      cpl_array *array);
00162 const float *irplib_array_get_data_float_const(const cpl_array *array);
00163 
00164       double *irplib_array_get_data_double      (      cpl_array *array);
00165 const double *irplib_array_get_data_double_const(const cpl_array *array);
00166 
00167       char      **irplib_array_get_data_string      (      cpl_array *array);
00168 const char *const*irplib_array_get_data_string_const(const cpl_array *array);
00169 
00170 
00171 /* Wrappers / unwrappers */
00172 
00173 const cpl_array *irplib_array_wrap_double_const(const double *data,
00174                          int length);
00175 const cpl_array *irplib_array_wrap_float_const(const float *data,
00176                         int length);
00177 const cpl_array *irplib_array_wrap_int_const(const int *data,
00178                       int length);
00179 const cpl_array *irplib_array_wrap_string_const(const char *const*data,
00180                          int length);
00181 
00182 const void *irplib_array_unwrap_const(const cpl_array *array);
00183 
00184 const cpl_bivector *irplib_bivector_wrap_vectors_const(const cpl_vector *x,
00185                                const cpl_vector *y);
00186 
00187 
00188 const void *irplib_image_unwrap_const(const cpl_image *d);
00189 
00190 cpl_image *irplib_image_wrap_double(int nx,
00191                     int ny,
00192                     double *pixels);
00193 
00194 const cpl_image *irplib_image_wrap_double_const(int nx,
00195                         int ny,
00196                         const double *pixels);
00197 
00198 cpl_image *irplib_image_wrap_float(int nx,
00199                    int ny,
00200                    float *pixels);
00201 
00202 const cpl_image *irplib_image_wrap_float_const(int nx,
00203                            int ny,
00204                            const float *pixels);
00205 
00206 cpl_image *irplib_image_wrap_int(int nx,
00207                  int ny,
00208                  int *pixels);
00209 
00210 const cpl_image *irplib_image_wrap_int_const(int nx,
00211                          int ny,
00212                          const int *pixels);
00213 
00214 const cpl_matrix *irplib_matrix_wrap_const(int rows,
00215                        int columns,
00216                        const double *data);
00217 
00218 const void *irplib_matrix_unwrap_const(const cpl_matrix *matrix);
00219 
00220 const cpl_vector *irplib_vector_wrap_const(int n,
00221                        const double *data);
00222 
00223 const void *irplib_vector_unwrap_const(const cpl_vector *v);
00224 
00225 /* Deallocators */
00226 
00227 void irplib_apertures_delete(const cpl_apertures *apert); 
00228 void irplib_array_delete(const cpl_array *array); 
00229 void irplib_bivector_delete(const cpl_bivector *f); 
00230 void irplib_frame_delete(const cpl_frame *self); 
00231 void irplib_frameset_delete(const cpl_frameset *self); 
00232 void irplib_image_delete(const cpl_image *d); 
00233 void irplib_imagelist_delete(const cpl_imagelist *imlist); 
00234 void irplib_mask_delete(const cpl_mask *m); 
00235 void irplib_matrix_delete(const cpl_matrix *matrix);
00236 void irplib_parameter_delete(const cpl_parameter *self); 
00237 void irplib_parameterlist_delete(const cpl_parameterlist *self); 
00238 void irplib_plugin_delete(const cpl_plugin *self); 
00239 void irplib_pluginlist_delete(const cpl_pluginlist *self); 
00240 void irplib_polynomial_delete(const cpl_polynomial *p);   
00241 void irplib_property_delete(const cpl_property *self);   
00242 void irplib_propertylist_delete(const cpl_propertylist *self); 
00243 void irplib_stats_delete(const cpl_stats *stats); 
00244 void irplib_table_delete(const cpl_table *table); 
00245 void irplib_vector_delete(const cpl_vector *v); 
00246 void irplib_free(const void *memblk);
00247 
00248 #endif /* IRPLIB_ACCESS_H */

Generated on Wed Jan 17 08:33:41 2007 for SINFONI Pipeline Reference Manual by  doxygen 1.4.4