OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
ias_types.h
Go to the documentation of this file.
1 #ifndef IAS_TYPES_H
2 #define IAS_TYPES_H
3 
4 /* valid data types */
5 typedef enum ias_data_type
6 {
7  type_error=-1, /* invalid type */
8  IAS_BYTE, /* 1-byte */
9  IAS_I2, /* 2-byte signed integer */
10  IAS_UI2, /* 2-byte unsigned integer */
11  IAS_I4, /* 4-byte signed integer */
12  IAS_UI4, /* 4-byte unsigned integer */
13  IAS_R4, /* 4-byte floating point */
14  IAS_R8, /* 8-byte floating point */
15  IAS_CHAR, /* C-character type */
16  IAS_UCHAR, /* unsigned C-character type */
17  IAS_NDTYPES /* number of different data types */
18 } IAS_DATA_TYPE;
19 
20 /* Define the C types for the above enumerations */
21 typedef unsigned char IAS_BYTE_TYPE; /* 1-byte */
22 typedef short IAS_I2_TYPE; /* 2-byte signed integer */
23 typedef unsigned short IAS_UI2_TYPE; /* 2-byte unsigned integer */
24 typedef int IAS_I4_TYPE; /* 4-byte signed integer */
25 typedef unsigned int IAS_UI4_TYPE; /* 4-byte unsigned integer */
26 typedef float IAS_R4_TYPE; /* 4-byte floating point */
27 typedef double IAS_R8_TYPE; /* 8-byte floating point */
28 typedef char IAS_CHAR_TYPE; /* C-character type */
29 typedef unsigned char IAS_UCHAR_TYPE; /* unsigned C-character type */
30 
31 /* file access modes */
32 typedef enum ias_access_mode
33 {
37 } IAS_ACCESS_MODE;
38 
39 typedef enum ias_frame_type
40 {
42  IAS_GEOBOX = 1, /* User specifies UL and LR lat/long */
43  IAS_PROJBOX, /* User specifies LR output projection
44  coordinates and another output space
45  point, plus input space line/sample */
46  IAS_UL_SIZE, /* User specifies UL output projection
47  coordinate, number of output space
48  lines and samples */
49  IAS_MINBOX, /* Minbox framing - optimal band */
50  IAS_MAXBOX, /* Maxbox framing - output frame contains
51  all input pixels from all bands */
52  IAS_PATH_ORIENTED, /* Path oriented framing - framing based
53  on preset number of lines/samples */
54  IAS_PATH_MINBOX, /* Combines path oriented and minbox */
55  IAS_PATH_MAXBOX, /* Combines path oriented and maxbox */
56  IAS_LUNAR_MINBOX, /* Lunar based Minbox framing */
57  IAS_LUNAR_MAXBOX, /* Lunar based Maxbox framing */
58  IAS_STELLAR_FRAME /* Stellar based framing */
59 } IAS_FRAME_TYPE;
60 
61 
62 /* fit method used in correlation */
63 typedef enum ias_corr_fit_method
64 {
66  IAS_FIT_ELLIP_PARA=1, /* Elliptical paraboloid */
67  IAS_FIT_ELLIP_GAUSS, /* Elliptical Gaussian */
68  IAS_FIT_RECIP_PARA, /* Reciprocal paraboloid */
69  IAS_FIT_ROUND /* Round to nearest integer */
70 } IAS_CORRELATION_FIT_TYPE;
71 
72 
74 {
75  IAS_ACQUISITION_TYPE_ERROR = -1,/* invalid type */
76  IAS_EARTH, /* Earth based acquisition */
77  IAS_LUNAR, /* Lunar based acquisition */
78  IAS_STELLAR, /* Stellar based acquisition */
79  IAS_OTHER_ACQUISITION /* Other acquisition (e.g. an RPS type) */
80 } IAS_ACQUISITION_TYPE;
81 
82 typedef enum ias_correction_type
83 {
84  IAS_CORRECTION_TYPE_ERROR = -1, /* invalid type */
85  IAS_SYSTEMATIC, /* Systematic image correction */
86  IAS_PRECISION, /* Precision image correction */
87  IAS_TERRAIN /* Systematic terrain correction */
88 } IAS_CORRECTION_TYPE;
89 
90 
91 /* Date/time string format types */
93 {
94  IAS_DATETIME_TYPE_ERROR = -1, /* Invalid date/time string format */
97 } IAS_DATETIME_FORMAT_TYPE;
98 
99 /* Processing system types */
101 {
102  IAS_PROCESSING_SYSTEM_UNDEF = -1, /* Undefined processing system */
105 } IAS_PROCESSING_SYSTEM_TYPE;
106 
107 #endif
@ IAS_PATH_MAXBOX
Definition: ias_types.h:55
ias_data_type
Definition: ias_types.h:5
ias_datetime_format_type
Definition: ias_types.h:92
@ IAS_DATETIME_CPF_FORMAT
Definition: ias_types.h:96
@ IAS_MAXBOX
Definition: ias_types.h:50
@ IAS_UI2
Definition: ias_types.h:10
@ IAS_STELLAR
Definition: ias_types.h:78
@ IAS_CHAR
Definition: ias_types.h:15
@ IAS_PATH_ORIENTED
Definition: ias_types.h:52
@ IAS_PATH_MINBOX
Definition: ias_types.h:54
@ IAS_CORRECTION_TYPE_ERROR
Definition: ias_types.h:84
@ IAS_EARTH
Definition: ias_types.h:76
@ IAS_LUNAR_MAXBOX
Definition: ias_types.h:57
@ IAS_MINBOX
Definition: ias_types.h:49
@ IAS_UI4
Definition: ias_types.h:12
@ IAS_UPDATE
Definition: ias_types.h:36
@ IAS_PROCESSING_SYSTEM_IAS
Definition: ias_types.h:103
@ IAS_PRECISION
Definition: ias_types.h:86
double IAS_R8_TYPE
Definition: ias_types.h:27
@ IAS_NDTYPES
Definition: ias_types.h:17
@ IAS_R8
Definition: ias_types.h:14
@ IAS_FIT_ERROR
Definition: ias_types.h:65
@ IAS_STELLAR_FRAME
Definition: ias_types.h:58
short IAS_I2_TYPE
Definition: ias_types.h:22
@ IAS_DATETIME_L0R_FORMAT
Definition: ias_types.h:95
@ IAS_PROCESSING_SYSTEM_LPGS
Definition: ias_types.h:104
@ IAS_READ
Definition: ias_types.h:34
@ IAS_DATETIME_TYPE_ERROR
Definition: ias_types.h:94
@ IAS_FIT_ELLIP_GAUSS
Definition: ias_types.h:67
@ IAS_TERRAIN
Definition: ias_types.h:87
@ IAS_FIT_RECIP_PARA
Definition: ias_types.h:68
unsigned int IAS_UI4_TYPE
Definition: ias_types.h:25
@ IAS_BYTE
Definition: ias_types.h:8
@ IAS_I4
Definition: ias_types.h:11
@ IAS_ACQUISITION_TYPE_ERROR
Definition: ias_types.h:75
@ IAS_GEOBOX
Definition: ias_types.h:42
@ IAS_OTHER_ACQUISITION
Definition: ias_types.h:79
unsigned char IAS_BYTE_TYPE
Definition: ias_types.h:21
ias_acquisition_type
Definition: ias_types.h:73
ias_corr_fit_method
Definition: ias_types.h:63
ias_correction_type
Definition: ias_types.h:82
@ IAS_WRITE
Definition: ias_types.h:35
@ IAS_LUNAR
Definition: ias_types.h:77
@ IAS_I2
Definition: ias_types.h:9
unsigned char IAS_UCHAR_TYPE
Definition: ias_types.h:29
ias_access_mode
Definition: ias_types.h:32
ias_frame_type
Definition: ias_types.h:39
float IAS_R4_TYPE
Definition: ias_types.h:26
unsigned short IAS_UI2_TYPE
Definition: ias_types.h:23
ias_processing_system_type
Definition: ias_types.h:100
char IAS_CHAR_TYPE
Definition: ias_types.h:28
@ IAS_UNKNOWN_FRAME_TYPE
Definition: ias_types.h:41
@ IAS_LUNAR_MINBOX
Definition: ias_types.h:56
@ IAS_PROJBOX
Definition: ias_types.h:43
@ IAS_FIT_ROUND
Definition: ias_types.h:69
@ IAS_UL_SIZE
Definition: ias_types.h:46
int IAS_I4_TYPE
Definition: ias_types.h:24
@ IAS_PROCESSING_SYSTEM_UNDEF
Definition: ias_types.h:102
@ IAS_SYSTEMATIC
Definition: ias_types.h:85
@ IAS_FIT_ELLIP_PARA
Definition: ias_types.h:66
@ IAS_R4
Definition: ias_types.h:13
@ type_error
Definition: ias_types.h:7
@ IAS_UCHAR
Definition: ias_types.h:16