ocssw  1.0
Classes | Defines | Typedefs | Enumerations | Functions
/disk01/web/ocssw/build/inc/meris/epr_api.h File Reference

(r8102/r7671)

#include <stdio.h>
#include "epr_ptrarray.h"

Go to the source code of this file.

Classes

struct  EPR_SProductId
struct  EPR_SDatasetId
struct  EPR_SDSD
struct  EPR_SRecord
struct  EPR_SField
struct  EPR_SRaster
struct  EPR_SDatasetRef
struct  EPR_SFlagDef
struct  EPR_SBandId
struct  EPR_STime

Defines

#define EPR_PRODUCT_API_NAME_STR   "ENVISAT Product Reader API"
#define EPR_PRODUCT_API_VERSION_STR   "2.3"
#define EPR_MAGIC_PRODUCT_ID   0xCAFFEE64
#define EPR_MAGIC_DATASET_ID   0xEFEABDCA
#define EPR_MAGIC_BAND_ID   0xFEC21ABD
#define EPR_MAGIC_RECORD   0x7BABACAE
#define EPR_MAGIC_FIELD   0xBA0BABBA
#define EPR_MAGIC_RASTER   0x0BABA0EB
#define EPR_MAGIC_FLAG_DEF   0xCABA11AD
#define EPR_TRUE   1
#define EPR_FALSE   0
#define EPR_PRODUCT_ID_STRLEN   48

Typedefs

typedef enum EPR_DataTypeId EPR_EDataTypeId
typedef enum EPR_ErrCode EPR_EErrCode
typedef enum EPR_LogLevel EPR_ELogLevel
typedef enum EPR_SampleModel EPR_ESampleModel
typedef enum EPR_ScalingMethod EPR_EScalingMethod
typedef struct EPR_BitmaskTerm EPR_SBitmaskTerm
typedef struct EPR_FlagSet EPR_SFlagSet
typedef void(* EPR_FErrHandler )(EPR_EErrCode err_code, const char *err_message)
typedef void(* EPR_FLogHandler )(EPR_ELogLevel log_level, const char *log_message)
typedef int epr_boolean
typedef unsigned char epr_uchar
typedef unsigned short epr_ushort
typedef unsigned int epr_uint
typedef unsigned long epr_ulong
typedef int EPR_Magic

Enumerations

enum  EPR_DataTypeId {
  e_tid_unknown = 0, e_tid_uchar = 1, e_tid_char = 2, e_tid_ushort = 3,
  e_tid_short = 4, e_tid_uint = 5, e_tid_int = 6, e_tid_float = 7,
  e_tid_double = 8, e_tid_string = 11, e_tid_spare = 13, e_tid_time = 21
}
enum  EPR_ErrCode {
  e_err_none = 0, e_err_null_pointer = 1, e_err_illegal_arg = 2, e_err_illegal_state = 3,
  e_err_out_of_memory = 4, e_err_index_out_of_range = 5, e_err_illegal_conversion = 6, e_err_illegal_data_type = 7,
  e_err_file_not_found = 101, e_err_file_access_denied = 102, e_err_file_read_error = 103, e_err_file_write_error = 104,
  e_err_file_open_failed = 105, e_err_file_close_failed = 106, e_err_api_not_initialized = 201, e_err_invalid_product_id = 203,
  e_err_invalid_record = 204, e_err_invalid_band = 205, e_err_invalid_raster = 206, e_err_invalid_dataset_name = 207,
  e_err_invalid_field_name = 208, e_err_invalid_record_name = 209, e_err_invalid_product_name = 210, e_err_invalid_band_name = 211,
  e_err_invalid_data_format = 212, e_err_invalid_value = 213, e_err_invalid_keyword_name = 214, e_err_unknown_endian_order = 216,
  e_err_flag_not_found = 301, e_err_invalid_ddbb_format = 402
}
enum  EPR_LogLevel { e_log_debug = -1, e_log_info = 0, e_log_warning = 1, e_log_error = 2 }
enum  EPR_SampleModel {
  e_smod_1OF1 = 0, e_smod_1OF2 = 1, e_smod_2OF2 = 2, e_smod_3TOI = 3,
  e_smod_2TOF = 4
}
enum  EPR_ScalingMethod { e_smid_non = 0, e_smid_lin = 1, e_smid_log = 2 }

Functions

int epr_init_api (EPR_ELogLevel log_level, EPR_FLogHandler log_handler, EPR_FErrHandler err_handler)
void epr_close_api ()
int epr_set_log_level (EPR_ELogLevel log_level)
void epr_set_log_handler (EPR_FLogHandler log_handler)
void epr_log_message (EPR_ELogLevel log_level, const char *log_message)
void epr_set_err_handler (EPR_FErrHandler err_handler)
EPR_EErrCode epr_get_last_err_code ()
const char * epr_get_last_err_message ()
void epr_clear_err ()
EPR_SProductId * epr_open_product (const char *product_file_path)
int epr_close_product (EPR_SProductId *product_id)
void epr_print_record (const EPR_SRecord *record, FILE *ostream)
void epr_print_field (const EPR_SField *field, FILE *ostream)
void epr_print_element (const EPR_SRecord *record, epr_uint field_index, epr_uint element_index, FILE *ostream)
void epr_dump_record (const EPR_SRecord *record)
void epr_dump_field (const EPR_SField *field)
void epr_dump_element (const EPR_SRecord *record, epr_uint field_index, epr_uint element_index)
epr_uint epr_get_scene_width (const EPR_SProductId *product_id)
epr_uint epr_get_scene_height (const EPR_SProductId *product_id)
epr_uint epr_get_num_datasets (EPR_SProductId *product_id)
EPR_SDatasetId * epr_get_dataset_id_at (EPR_SProductId *product_id, epr_uint index)
EPR_SDatasetId * epr_get_dataset_id (EPR_SProductId *product_id, const char *dataset_name)
const char * epr_get_dataset_name (EPR_SDatasetId *dataset_id)
const char * epr_get_dsd_name (const EPR_SDatasetId *dataset_id)
EPR_SRecord * epr_get_mph (const EPR_SProductId *product_id)
EPR_SRecord * epr_get_sph (const EPR_SProductId *product_id)
const EPR_SDSD * epr_get_dsd (const EPR_SDatasetId *dataset_id)
epr_uint epr_get_num_records (const EPR_SDatasetId *dataset_id)
epr_uint epr_get_num_dsds (const EPR_SProductId *product_id)
EPR_SDSD * epr_get_dsd_at (const EPR_SProductId *product_id, epr_uint dsd_index)
EPR_SRecord * epr_create_record (EPR_SDatasetId *dataset_id)
EPR_SRecord * epr_read_record (EPR_SDatasetId *dataset_id, epr_uint record_index, EPR_SRecord *record)
void epr_free_record (EPR_SRecord *record)
const EPR_SField * epr_get_field (const EPR_SRecord *record, const char *field_name)
epr_uint epr_get_num_fields (const EPR_SRecord *record)
const EPR_SField * epr_get_field_at (const EPR_SRecord *record, epr_uint field_index)
const char * epr_get_field_unit (const EPR_SField *field)
const char * epr_get_field_description (const EPR_SField *field)
epr_uint epr_get_field_num_elems (const EPR_SField *field)
const char * epr_get_field_name (const EPR_SField *field)
EPR_EDataTypeId epr_get_field_type (const EPR_SField *field)
char epr_get_field_elem_as_char (const EPR_SField *field, epr_uint elem_index)
epr_uchar epr_get_field_elem_as_uchar (const EPR_SField *field, epr_uint elem_index)
short epr_get_field_elem_as_short (const EPR_SField *field, epr_uint elem_index)
epr_ushort epr_get_field_elem_as_ushort (const EPR_SField *field, epr_uint elem_index)
int epr_get_field_elem_as_int (const EPR_SField *field, epr_uint elem_index)
epr_uint epr_get_field_elem_as_uint (const EPR_SField *field, epr_uint elem_index)
float epr_get_field_elem_as_float (const EPR_SField *field, epr_uint elem_index)
double epr_get_field_elem_as_double (const EPR_SField *field, epr_uint elem_index)
const EPR_STime * epr_get_field_elem_as_mjd (const EPR_SField *field)
const char * epr_get_field_elem_as_str (const EPR_SField *field)
const char * epr_get_field_elems_char (const EPR_SField *field)
const epr_ucharepr_get_field_elems_uchar (const EPR_SField *field)
const short * epr_get_field_elems_short (const EPR_SField *field)
const epr_ushortepr_get_field_elems_ushort (const EPR_SField *field)
const int * epr_get_field_elems_int (const EPR_SField *field)
const epr_uintepr_get_field_elems_uint (const EPR_SField *field)
const float * epr_get_field_elems_float (const EPR_SField *field)
const double * epr_get_field_elems_double (const EPR_SField *field)
epr_uint epr_copy_field_elems_as_ints (const EPR_SField *field, int *buffer, epr_uint num_elems)
epr_uint epr_copy_field_elems_as_uints (const EPR_SField *field, epr_uint *buffer, epr_uint num_elems)
epr_uint epr_copy_field_elems_as_floats (const EPR_SField *field, float *buffer, epr_uint num_elems)
epr_uint epr_copy_field_elems_as_doubles (const EPR_SField *field, double *buffer, epr_uint num_elems)
EPR_SRaster * epr_create_compatible_raster (EPR_SBandId *band_id, epr_uint source_width, epr_uint source_height, epr_uint source_step_x, epr_uint source_step_y)
EPR_SRaster * epr_create_raster (EPR_EDataTypeId data_type, epr_uint source_width, epr_uint source_height, epr_uint source_step_x, epr_uint source_step_y)
EPR_SRaster * epr_create_bitmask_raster (epr_uint source_width, epr_uint source_height, epr_uint source_step_x, epr_uint source_step_y)
int epr_read_band_raster (EPR_SBandId *band_id, int offset_x, int offset_y, EPR_SRaster *raster)
epr_uint epr_get_raster_elem_size (const EPR_SRaster *raster)
void * epr_get_raster_elem_addr (const EPR_SRaster *raster, epr_uint offset)
void * epr_get_raster_pixel_addr (const EPR_SRaster *raster, epr_uint x, epr_uint y)
void * epr_get_raster_line_addr (const EPR_SRaster *raster, epr_uint y)
epr_uint epr_get_raster_width (EPR_SRaster *raster)
epr_uint epr_get_raster_height (EPR_SRaster *raster)
epr_uint epr_get_num_bands (EPR_SProductId *product_id)
EPR_SBandId * epr_get_band_id_at (EPR_SProductId *product_id, epr_uint index)
EPR_SBandId * epr_get_band_id (EPR_SProductId *product_id, const char *band_name)
const char * epr_get_band_name (EPR_SBandId *band_id)
void epr_free_raster (EPR_SRaster *raster)
epr_uint epr_get_pixel_as_uint (const EPR_SRaster *raster, int x, int y)
int epr_get_pixel_as_int (const EPR_SRaster *raster, int x, int y)
float epr_get_pixel_as_float (const EPR_SRaster *raster, int x, int y)
double epr_get_pixel_as_double (const EPR_SRaster *raster, int x, int y)
int epr_read_bitmask_raster (EPR_SProductId *product_id, const char *bm_expr, int offset_x, int offset_y, EPR_SRaster *raster)
epr_uint epr_get_data_type_size (EPR_EDataTypeId data_type_id)
const char * epr_data_type_id_to_str (EPR_EDataTypeId data_type_id)

Define Documentation

#define EPR_FALSE   0

Definition at line 211 of file epr_api.h.

#define EPR_MAGIC_BAND_ID   0xFEC21ABD

Definition at line 204 of file epr_api.h.

#define EPR_MAGIC_DATASET_ID   0xEFEABDCA

Definition at line 203 of file epr_api.h.

#define EPR_MAGIC_FIELD   0xBA0BABBA

Definition at line 206 of file epr_api.h.

#define EPR_MAGIC_FLAG_DEF   0xCABA11AD

Definition at line 208 of file epr_api.h.

#define EPR_MAGIC_PRODUCT_ID   0xCAFFEE64

Definition at line 202 of file epr_api.h.

#define EPR_MAGIC_RASTER   0x0BABA0EB

Definition at line 207 of file epr_api.h.

#define EPR_MAGIC_RECORD   0x7BABACAE

Definition at line 205 of file epr_api.h.

#define EPR_PRODUCT_API_NAME_STR   "ENVISAT Product Reader API"

Definition at line 33 of file epr_api.h.

#define EPR_PRODUCT_API_VERSION_STR   "2.3"

Definition at line 34 of file epr_api.h.

#define EPR_PRODUCT_ID_STRLEN   48

Definition at line 213 of file epr_api.h.

#define EPR_TRUE   1

Definition at line 210 of file epr_api.h.


Typedef Documentation

typedef int epr_boolean

Definition at line 193 of file epr_api.h.

Definition at line 169 of file epr_api.h.

typedef enum EPR_ErrCode EPR_EErrCode

Definition at line 170 of file epr_api.h.

Definition at line 171 of file epr_api.h.

Definition at line 172 of file epr_api.h.

Definition at line 173 of file epr_api.h.

typedef void(* EPR_FErrHandler)(EPR_EErrCode err_code, const char *err_message)

Definition at line 189 of file epr_api.h.

typedef void(* EPR_FLogHandler)(EPR_ELogLevel log_level, const char *log_message)

Definition at line 190 of file epr_api.h.

typedef int EPR_Magic

Definition at line 200 of file epr_api.h.

typedef struct EPR_BitmaskTerm EPR_SBitmaskTerm

Definition at line 187 of file epr_api.h.

typedef struct EPR_FlagSet EPR_SFlagSet

Definition at line 188 of file epr_api.h.

typedef unsigned char epr_uchar

Definition at line 194 of file epr_api.h.

typedef unsigned int epr_uint

Definition at line 196 of file epr_api.h.

typedef unsigned long epr_ulong

Definition at line 197 of file epr_api.h.

typedef unsigned short epr_ushort

Definition at line 195 of file epr_api.h.


Enumeration Type Documentation

The EPR_DataTypeId enumeration lists all possible data types for field elements in ENVISAT dataset records.

Enumerator:
e_tid_unknown 

The ID for unknown types.

e_tid_uchar 

An array of unsigned 8-bit integers, C type is uchar*

e_tid_char 

An array of signed 8-bit integers, C type is char*

e_tid_ushort 

An array of unsigned 16-bit integers, C type is ushort*

e_tid_short 

An array of signed 16-bit integers, C type is short*

e_tid_uint 

An array of unsigned 32-bit integers, C type is uint*

e_tid_int 

An array of signed 32-bit integers, C type is int*

e_tid_float 

An array of 32-bit floating point numbers, C type is float*

e_tid_double 

An array of 64-bit floating point numbers, C type is double*

e_tid_string 

A zero-terminated ASCII string, C type is char*

e_tid_spare 

An array of unsigned character, C type is uchar*

e_tid_time 

A time (MJD) structure, C type is EPR_Time

Definition at line 45 of file epr_api.h.

The EPR_ErrCode enumeration lists all possible error codes for the ENVISAT product reader API.

Enumerator:
e_err_none 
e_err_null_pointer 
e_err_illegal_arg 
e_err_illegal_state 
e_err_out_of_memory 
e_err_index_out_of_range 
e_err_illegal_conversion 
e_err_illegal_data_type 
e_err_file_not_found 
e_err_file_access_denied 
e_err_file_read_error 
e_err_file_write_error 
e_err_file_open_failed 
e_err_file_close_failed 
e_err_api_not_initialized 
e_err_invalid_product_id 
e_err_invalid_record 
e_err_invalid_band 
e_err_invalid_raster 
e_err_invalid_dataset_name 
e_err_invalid_field_name 
e_err_invalid_record_name 
e_err_invalid_product_name 
e_err_invalid_band_name 
e_err_invalid_data_format 
e_err_invalid_value 
e_err_invalid_keyword_name 
e_err_unknown_endian_order 
e_err_flag_not_found 
e_err_invalid_ddbb_format 

Definition at line 78 of file epr_api.h.

The EPR_LogLevel enumeration lists possible log levels for the ENVISAT product reader API.

Enumerator:
e_log_debug 
e_log_info 
e_log_warning 
e_log_error 

Definition at line 129 of file epr_api.h.

Enumerator:
e_smod_1OF1 
e_smod_1OF2 
e_smod_2OF2 
e_smod_3TOI 
e_smod_2TOF 

Definition at line 137 of file epr_api.h.

Enumerator:
e_smid_non 
e_smid_lin 
e_smid_log 

Definition at line 146 of file epr_api.h.