Main Page   Modules   Data Structures   File List   Data Fields   Globals  

incl/3D_items.h

Go to the documentation of this file.
00001 /* === Doxygen File Comment ============================== */
00013 /* ======================================================= */
00014 
00015 /* Euro3d Format predefined values */
00016 
00017 /* columns */
00018 
00019 #define E3D_VERS       "E3D_VERS"
00020 #define E3D_ADC        "E3D_ADC"
00021 #define E3D_DATA       "E3D_DATA"
00022 #define E3D_GRP        "E3D_GRP"
00023 #define E3D_COL_ID     "SPEC_ID"
00024 #define E3D_COL_INT    "INTENSITY"
00025 #define E3D_COL_DQ     "QUALITY"
00026 #define E3D_COL_RMS    "RMS"
00027 #define E3D_COL_GRP    "GROUP_N"
00028 #define E3D_COL_NSPAX  "NSPAX"
00029 #define E3D_COL_NPIX   "NPIX"
00030 #define E3D_COL_IDX    "INDEXSTART"
00031 #define E3D_COL_SPAXID "SPAX_ID"
00032 #define E3D_COL_XPOS   "XPOS"
00033 #define E3D_COL_YPOS   "YPOS"
00034 #define E3D_COL_FLAG   "TSELTABL"
00035 #define E3D_COL_SHAPE  "G_SHAPE"
00036 #define E3D_COL_SIZE1  "G_SIZE1"
00037 #define E3D_COL_ANGLE  "G_ANGLE"
00038 #define E3D_COL_SIZE2  "G_SIZE2"
00039 #define E3D_COL_PWAVE  "G_POSWAV"
00040 #define E3D_COL_AIRM   "G_AIRMAS"
00041 #define E3D_COL_PANG   "G_PARANG"
00042 #define E3D_COL_PRES   "G_PRESSU"
00043 #define E3D_COL_TEMP   "G_TEMPER"
00044 #define E3D_COL_HUM    "G_RELHUM"
00045 
00046 /* descriptors */
00047 
00048 #define E3D_KW_START   "CRVALS"
00049 #define E3D_KW_STEP    "CRDELTS"
00050 #define E3D_KW_NPTS    "NPTS"
00051 #define E3D_KW_UNITS   "CTYPES"
00052 #define E3D_KW_REFPIX  "CRPIXS"
00053 
00054 /* shapes */
00055 
00056 #define RECTANG 'R'
00057 #define SQUARE  'S'
00058 #define CIRCLE  'C'
00059 #define HEXAGON 'H'
00060 
00061 /*_________________________________ SPAXEL ___________________________________*/
00062 
00063 typedef struct            
00064 {
00065     int specId;                   /* spectrum ID  */
00066     char spaxelId;                /* spaxel ID    */               
00067     int group;                    /* group number */
00068     float xpos;                   /* x position   */
00069     float ypos;                   /* y position   */
00070 
00071 } SPAXEL;
00072 
00073 /*_________________________________ GROUPS ___________________________________*/
00074 
00075 typedef struct
00076 {
00077     int groupId;                  /* group number                   */
00078     char shape;                   /* shape keyword                  */
00079     float size1;                  /* first spaxel size parameter    */
00080     float size2;                  /* second spaxel size parameter   */
00081     float angle;                  /* orientation of the spaxel      */
00082     float poswav;                 /* wavelength for ADC             */
00083     float airmass;                /* airmass                        */
00084     float parang;                 /* paralactic angle for ADC       */
00085     float pressure;               /* pressure for ADC               */
00086     float temperature;            /* temperature for ADC            */
00087     float rel_humidity;           /* relative humidity              */
00088 
00089 } GROUP;
00090 
00091 /*__________________________________ E3D_file _____________________________*/
00092 
00093 typedef struct            
00094 {
00095     int      specId;              /* no of associated lens          */
00096     double   start;               /* coordinate of 1st pixel        */
00097     double   end;                 /* coordinate of last pixel       */
00098     int      npix;                /* number of pixels               */
00099     unsigned int data_offset;     /* offset for data values         */
00100 
00101 } E3Dspec_desc;
00102 
00103 typedef struct            
00104 {
00105     char   name[lg_name+1];       /* name of data frame             */
00106     int    imno;                  /* image number                   */
00107     short  file_type;             /* Euro 3D file                   */
00108     short  data_format;           /* file format                    */
00109     int    iomode;                /* I_MODE, O_MODE, IO_MODE        */
00110     char   history[lg_hist+1];    /* history                        */
00111     void   *external_info;        /* for descriptors                */
00112     char   ident[lg_ident+1];     /* identifier                     */
00113     char   cunit[lg_unit+1];      /* unit                           */
00114     char   table_name[lg_name+1]; /* name of associated table       */
00115     double step;                  /* step size                      */
00116     short  data_type;             /* data_type                      */
00117     char   version[lg_version+1]; /* version of file format         */
00118     int    nbspec;                /* number of included spectra     */
00119     int    crop;                  /* flag for cropping spectra      */
00120     char   *crop_mask;            /* crop mask (data quality values)*/
00121     short  common_bounds;         /* TRUE if all spectra have the   */
00122                                   /* same bound parameters          */
00123     double common_parameters[3];  /* common param. if common bounds */
00124     int    extra_hd_off;          /* offset for extra header data   */
00125     unsigned int data_offset;     /* offset for data                */
00126 
00127     /* E3Dspec_desc *spectrum;  */     /* spectra description            */
00128     E3Dspec_desc *signal;       /* spectra description            */
00129     E3Dspec_desc *noise;       /* spectra description            */
00130 
00131     short  swapbytes;             /* if bytes need to be swapped    */
00132 
00133     int    ngroups;               /* number of groups               */
00134     GROUP  *groups;               /* description of each group      */
00135     
00136 } E3D_file;
00137 
00138 /*______________________________________ SLICE _______________________________
00139 */
00140 
00141 typedef struct
00142 {
00143     int    index;                 /* index                         */
00144     int    npts;                  /* length                        */
00145     int    *specId;               /* pointer to associated spectrum*/
00146     short  data_type;             /* data_type                     */
00147     union {
00148       short  *s_data;             /* pointer to first data         */
00149       long   *l_data;             /* pointer to first data         */
00150       float  *f_data;             /* pointer to first data         */
00151       double *d_data;             /* pointer to first data         */
00152     } data;
00153     unsigned long *quality;       /* pointer to quality flags      */
00154 
00155 } SLICE;
00156 
00157 #include <3D_iofunc.h>

Generated on Tue Jul 1 17:35:45 2003 for IFU_C_iolibs by doxygen1.3