Main Page | Class List | Directories | File List | Class Members | File Members

c_hdf_reader.h

Go to the documentation of this file.
00001 #ifndef HDF_READER_H
00002 #define HDF_READER_H
00003 
00018 #include <stdio.h>
00019 #include <string.h>
00020 #include "mfhdf.h"
00021 
00026 typedef struct {
00028     char name[MAX_NC_NAME];
00030     int32 data_type;
00032     int32 n_val;
00034     void * value;
00035 } ATTR;
00036 
00041 typedef struct {
00043     char name[MAX_NC_NAME];
00045     int32 data_type;
00047     int32 rank;
00049     int32 dim_size[MAX_VAR_DIMS];
00051     int32 n_attr;
00053     ATTR * v_attr;
00054 } SDS_INFO;
00055 
00061 int32 open_hdf_file(const char* filename);
00062 
00068 int32 close_hdf_file(const int32 hdf_id);
00069 
00079 int32 get_file_info( const char* filename, int32 * n_sds, char *** v_sds_name, int32 * n_file_attr, char *** v_file_attr_name );
00080 
00088 int32 get_sds_info( const char* filename, const char * sds_name, SDS_INFO * sds_info );
00089 
00097 int32 get_sds_info_by_id( const int32 sd_id, const char * sds_name, SDS_INFO * sds_info );
00098 
00103 void print_sds_info (const SDS_INFO * sds_info);
00104 
00112 int32 get_file_attr ( const char* filename, const char* attr_name, ATTR * attr);
00113 
00121 int32 get_file_attr_by_id ( const int32 sd_id, const char* attr_name, ATTR * attr);
00122 
00131 int32 get_sds_attr ( const char* filename, const char * sds_name, const char* attr_name, ATTR * attr);
00132 
00137 void print_attr (const ATTR * attr);
00138 
00147 int32 get_obj_attr ( const int32 obj_id, const char* attr_name, ATTR * attr );
00148 
00157 int32 get_obj_attr_by_index( const int32 obj_id, const int32 i_attr, ATTR * attr );
00158 
00170 int32 read_scaled_sds( const char * filename, const char* sds_name, double **sds_data, int32 *start, int32 *stride, int32 *edges );
00171 
00183 int32 read_scaled_sds_by_id( const int32 sd_id, const char* sds_name, double **sds_data, int32 *start, int32 *stride, int32 *edges );
00184 
00197 int32 read_sds( const char * filename, const char* sds_name, void **sds_data, int32 *start, int32 *stride, int32 *edges );
00198 
00211 int32 read_sds_by_id( const int32 sd_id, const char* sds_name, void **sds_data, int32 *start, int32 *stride, int32 *edges );
00212 
00224 int32 get_sds_calibration( const char* filename, const char* sds_name, float64 *cal, float64 *cal_err, float64 *offset, float64 *offset_err, int32 *data_type );
00225 
00238 int32 get_sds_calibration_by_id( const int32 sd_id, const char* sds_name, float64 *cal, float64 *cal_err, float64 *offset, float64 *offset_err, int32 *data_type );
00239 
00245 int16 get_data_type_size ( const int32 data_type );
00246 
00251 void print_data_type_description ( const int32 data_type );
00252 
00260 int32 get_sds_id ( const int32 sd_id, const char * sds_name ) ;
00261 
00272 int32 set_start_stride_edge (const int32 sd_id, const char * sds_name, int32 **start, const int32 *stride, int32 **edges);
00273 
00284 int32 scale_data( const void* unscaled_data, const int32 unscaled_data_type, const int32 nb_data, const double scale_factor, const double offset, double* scaled_data );
00285 
00291 void free_typed_data (void** data, const int32 data_type);
00292 
00297 void free_attr (ATTR * attr);
00298 
00303 void free_sds_info (SDS_INFO * sds_info);
00304 
00310 void free_v_string( char *** v_string, const int32 n_string );
00311 
00312 #endif
00313 

Generated on Mon Apr 14 16:16:18 2008 for c_hdf_reader by  doxygen 1.4.4