OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
ias_structures.h
Go to the documentation of this file.
1 #ifndef _IAS_STRUCTURES_H_
2 #define _IAS_STRUCTURES_H_
3 
4 
5 /* A data structure for decomposed date/time information */
6 typedef struct IAS_DATETIME
7 {
8  int year;
9  int month;
12  int hour;
13  int minute;
14  double second; /* Allows for fractional seconds */
15 } IAS_DATETIME;
16 
17 
18 typedef struct IAS_DBL_XY
19  {
20  double x; /* X value */
21  double y; /* Y value */
22  } IAS_DBL_XY;
23 
24 typedef struct IAS_VECTOR
25  {
26  double x; /* Vector X component */
27  double y; /* Vector Y component */
28  double z; /* Vector Z component */
29  } IAS_VECTOR;
30 
31 typedef struct IAS_FLOAT_VECTOR
32 {
33  float x;
34  float y;
35  float z;
37 
38 typedef struct IAS_QUATERNION
39 {
41  double scalar;
43 
44 typedef struct IAS_COMPLEX
45  {
46  double re;
47  double im;
48  } IAS_COMPLEX;
49 
50 typedef struct IAS_LNG_XY
51 {
52  int x; /* X value */
53  int y; /* Y value */
54 } IAS_LNG_XY;
55 
56 typedef struct IAS_LNG_HW
57 {
58  int height; /* Height value */
59  int width; /* Width value */
60 } IAS_LNG_HW;
61 
62 typedef struct IAS_LNG_LS
63 {
64  int line; /* Line value */
65  int samp; /* Sample value */
66 } IAS_LNG_LS;
67 
68 typedef struct IAS_DBL_LS
69 {
70  double line; /* Line value */
71  double samp; /* Sample value */
72 } IAS_DBL_LS;
73 
74 typedef struct IAS_DBL_LAT_LONG
75 {
76  double lat; /* Latitude value */
77  double lng; /* Longitude value */
79 
80 #define COEFS_SIZE 4
81 typedef struct IAS_COEFFICIENTS
82 {
83  double a[COEFS_SIZE]; /* Array of a coefficients */
84  double b[COEFS_SIZE]; /* Array of b coefficients */
86 
87 typedef struct IAS_CORNERS
88 {
89  IAS_DBL_XY upleft; /* X/Y value of the upper left corner */
90  IAS_DBL_XY upright; /* X/Y value of the upper right corner */
91  IAS_DBL_XY loleft; /* X/Y value of the lower left corner */
92  IAS_DBL_XY loright; /* X/Y value of the lower right corner */
93 } IAS_CORNERS;
94 
95 typedef struct IAS_IMAGE
96 {
97  int data_type;
98  int nl;
99  int ns;
101  short *data;
102  double pixel_size_x;
103  double pixel_size_y;
105 } IAS_IMAGE;
106 
107 #endif
IAS_DBL_XY upright
short * data
IAS_DBL_XY loleft
double pixel_size_x
double b[COEFS_SIZE]
IAS_DBL_XY loright
double pixel_size_y
IAS_CORNERS corners
IAS_VECTOR vector
double a[COEFS_SIZE]
IAS_DBL_XY upleft
#define COEFS_SIZE