TUM-Logo

libRASCH

 

Home
 

General

About libRASCH/News
Design
Screen shots
Sample programs (with source code)
License
 

Download

libRASCH
Tools
 

Documentation

User
Developer
 

Resources

Mailing list
Supported Formats
Plugins
Status
Links
 
Contact
About this site
 
Last updated
Tue Mar 27 23:03:52 2007
libRASCH: ra_defines.h Source File

ra_defines.h

Go to the documentation of this file.
00001 
00010 /*----------------------------------------------------------------------------
00011  *
00012  * Copyright (C) 2002-2005, Raphael Schneider
00013  * See the file COPYING for information on usage and redistribution.
00014  *
00015  * $Id: ra_defines.h 797 2005-05-10 08:37:10Z rasch $
00016  *
00017  *--------------------------------------------------------------------------*/
00018 
00019 #ifndef _RA_DEFINES_H
00020 #define _RA_DEFINES_H
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00026 #ifdef WIN32
00027 #ifndef _LIBRASCH_BUILD
00028 #define LIBRAAPI __declspec(dllimport)
00029 #else
00030 #define LIBRAAPI __declspec(dllexport)
00031 #endif
00032 #else
00033 #define LIBRAAPI
00034 #endif
00035 
00036 
00037 typedef void *ra_handle;
00038 typedef void *value_handle;
00039 typedef void *meas_handle;
00040 typedef void *rec_handle;
00041 typedef void *ra_find_handle;
00042 typedef void *eval_handle;
00043 typedef void *class_handle;
00044 typedef void *prop_handle;
00045 typedef void *sum_handle;
00046 typedef void *plugin_handle;
00047 typedef void *proc_handle;
00048 typedef void *view_handle;
00049 typedef void *any_handle;       /* can be a handle of any type (up to now it is used for
00050                                    proc_handle and view_handle in ra_gui_call() */
00051 
00052 
00053 #define RA_HANDLE_LIB            1
00054 #define RA_HANDLE_MEAS           2
00055 #define RA_HANDLE_REC            3
00056 #define RA_HANDLE_FIND           4
00057 #define RA_HANDLE_EVAL           5
00058 #define RA_HANDLE_EVAL_CLASS     6
00059 #define RA_HANDLE_EVAL_PROP      7
00060 #define RA_HANDLE_EVAL_SUMMARY   8
00061 #define RA_HANDLE_PLUGIN         9
00062 #define RA_HANDLE_PROC          10      
00063 #define RA_HANDLE_VIEW          11
00064 #define RA_HANDLE_VALUE         12
00065 
00066 
00067 #ifndef MAX_PATH_RA
00068 #define MAX_PATH_RA      4096
00069 #endif
00070 
00071 /* SLASH and BACK-SLASH are ASCII char's therefore no special
00072    UTF-8 char's are necessary */
00073 #ifdef WIN32
00074 #define SEPERATOR '\\'
00075 #endif
00076 #ifdef LINUX
00077 #define SEPERATOR '/'
00078 #endif
00079 
00080 #ifndef BYTE
00081 typedef unsigned char BYTE;
00082 #endif
00083 #ifndef WORD
00084 typedef unsigned short int WORD;
00085 #endif
00086 #ifndef DWORD
00087 typedef unsigned long DWORD;
00088 #endif
00089 
00090 #ifdef WIN32
00091 #define RA_STRICMP stricmp
00092 #endif
00093 #ifdef LINUX
00094 #define RA_STRICMP strcasecmp
00095 #endif
00096 
00097 #define RA_VALUE_NAME_MAX    50
00098 #define RA_VALUE_DESC_MAX   250
00099 #define RA_VALUE_VALUE_MAX 2000 /* TODO: check what this is for */
00100 
00101 #define RA_VALUE_TYPE_NONE           0
00102 #define RA_VALUE_TYPE_SHORT          1 /* not supported by ra_value_* yet */
00103 #define RA_VALUE_TYPE_LONG           2
00104 #define RA_VALUE_TYPE_DOUBLE         3
00105 #define RA_VALUE_TYPE_CHAR           4
00106 #define RA_VALUE_TYPE_VOIDP          5
00107 #define RA_VALUE_TYPE_SHORT_ARRAY    6 /* not supported by ra_value_* yet */
00108 #define RA_VALUE_TYPE_LONG_ARRAY     7
00109 #define RA_VALUE_TYPE_DOUBLE_ARRAY   8
00110 #define RA_VALUE_TYPE_CHAR_ARRAY     9
00111 #define RA_VALUE_TYPE_VOIDP_ARRAY   10
00112 #define RA_VALUE_TYPE_VH_ARRAY      11
00113 
00114 
00115 /* defines describing the type of a measurement */
00116 #define RA_MEAS_TYPE_UNKNOWN       0
00117 #define RA_MEAS_TYPE_ECG_HOLTER    1
00118 #define RA_MEAS_TYPE_ECG_REST      2
00119 #define RA_MEAS_TYPE_ECG_STRESS    3
00120 
00121 
00122 /* defines for identification of recordings */
00123 #define RA_REC_TYPE_UNKNOWN        0
00124 #define RA_REC_TYPE_MIXED          1    /* recording has sub-recordings of different types */
00125 #define RA_REC_TYPE_TIMESERIES    10    /* recording is a timeseries (e.g. ecg) */
00126 #define RA_REC_TYPE_IMAGE         11    /* recording is an image (e.g. x-ray image) */
00127 #define RA_REC_TYPE_MOVIE         12    /* recording is a movie (e.g. cath-lab examination) */
00128 
00129 
00130 /* defines for identification of channel-types */
00131 #define RA_CH_TYPE_UNKNOWN  0
00132 /* timeseries channels */
00133 #define RA_CH_TYPE_ECG        1 /* electrocardiogram */
00134 #define RA_CH_TYPE_RR         2 /* continues bloodpressure signal */
00135 #define RA_CH_TYPE_RESP       3 /* continues respiration signal */
00136 #define RA_CH_TYPE_TEMP       4 /* temperature */
00137 #define RA_CH_TYPE_TEMP_C     5 /* temperature in Celsius (FIXME: why different degree units?) */
00138 #define RA_CH_TYPE_TEMP_F     6 /* temperature in Fahrenheit */
00139 #define RA_CH_TYPE_ACTIVITY   7 /* activity */
00140 #define RA_CH_TYPE_EEG        8 /* electroencephalogram */
00141 #define RA_CH_TYPE_EMG        9 /* ??? */
00142 #define RA_CH_TYPE_CTG_FHR   10 /* fetal heart rate in the CTG */
00143 #define RA_CH_TYPE_CTG_UC    11 /* uterine contractions in the CTG */
00144 #define RA_CH_TYPE_ANGLE     12 /* angle in degree */
00145 /* picture channels */
00146 /* movie channels */
00147 
00148 /* defines for sample storage types */
00149 #define RA_CH_SAMPLE_TYPE_INT      0  /* samples are stored as signed integer values (size is given in RA_INFO_REC_CH_NUM_BITS_L) */
00150 #define RA_CH_SAMPLE_TYPE_WORD     1  /* samples are stored as unsigned integer values (size is given in RA_INFO_REC_CH_NUM_BITS_L) */
00151 #define RA_CH_SAMPLE_TYPE_FLOAT    2  /* samples are stored as float values (4 bytes) */
00152 #define RA_CH_SAMPLE_TYPE_FLOAT2   3  /* samples are float values but stored in 2 bytes; values are log-scaled;
00153                                          up to now only the EDF(+) format supports it (see http://www.hsr.nl/edf/edffloat.htm) */
00154 #define RA_CH_SAMPLE_TYPE_DOUBLE   4  /* samples are stored as double values (8 bytes) */
00155 
00156 
00157 /* defines for evaluations */
00158 #define EVAL_MAX_NAME      64
00159 #define EVAL_MAX_DESC     256
00160 #define EVAL_MAX_UNIT      64
00161 
00162 #define EVPROP_TYPE_NONE         -1
00163 #define EVPROP_TYPE_SHORT         0
00164 #define EVPROP_TYPE_LONG          1
00165 #define EVPROP_TYPE_DOUBLE        2
00166 #define EVPROP_TYPE_CHAR          3
00167 #define EVPROP_TYPE_SHORT_ARRAY   4
00168 #define EVPROP_TYPE_LONG_ARRAY    5
00169 #define EVPROP_TYPE_DOUBLE_ARRAY  6
00170 #define EVPROP_TYPE_CHAR_ARRAY    7
00171 
00172 #define EVENT_FLAG_USER_EDIT   0x00000001
00173 
00174 #define PLUGIN_DAQ     16       /* access data acquisition boards */
00175 
00176 /* possible type's of plugins */
00177 #define PLUGIN_ACCESS   1       /* do file access */
00178 #define PLUGIN_PROCESS  2       /* process data */
00179 #define PLUGIN_GUI      4       /* user interface modules (mostly dialog boxes) */
00180 #define PLUGIN_VIEW     8       /* views on data */
00181 
00182 
00205 struct view_info
00206 {
00207         unsigned short handle_id;
00208 
00209         ra_handle ra;
00210         meas_handle mh;
00211         rec_handle rh;
00212         eval_handle eh;
00213         plugin_handle plugin;
00214 
00215         /* list of channels which should be shown in view */
00216         int num_ch;             /* -1: all views */
00217         int *ch;                /* can be NULL if num_ch == -1 */
00218 
00219         void *parent;
00220         char name[200];         /* FIXME: use const */
00221         void *signal;           /* signal object in GUI (FIXME: better explanation, after remembering what it means) */
00222 
00223         char pos_name[64];      /* name of position event-property */
00224         char templ_name[64];    /* name of event-property which holds template-numbers (only needed for template-views) */
00225 
00226         /* handle(s) of created view(s), it can be more than one view if ra_view-module
00227            is used and the the recording has sub-recordings (TODO: find better way to organize returning of views) */
00228         int num_views;
00229         void **views;
00230         void **real_views;
00231 
00232         /*  At the moment there is no real option-handling for views. The variable options is just used
00233             to transfer an address and the source using this has to know what is stored there.
00234             TODO: Think about options for view-plugins (there are some var's in this structure which are
00235             options and should be set as the options in the proc-plugins). */
00236         long num_options;
00237         void *options;
00238 };  /* struct view_info */
00239 
00240 /* ------------------------------ types ------------------------------ */
00241 
00258 struct ra_value
00259 {
00260         unsigned short handle_id;
00261 
00262         char name[RA_VALUE_NAME_MAX];
00263         char name_locale[RA_VALUE_NAME_MAX];
00264         char desc[RA_VALUE_DESC_MAX];
00265         char desc_locale[RA_VALUE_DESC_MAX];
00266         int utype;              /* values see above RA_VALUE_TYPE_* */
00267         long num_values;        /* if array-type is used */
00268         int value_is_valid;     /* flag if value is valid (at the moment it is used only by process-results) */
00269         union
00270         {
00271                 short s;
00272                 long l;
00273                 double d;
00274                 char *c;
00275                 void *vp;
00276 
00277                 short *sp;
00278                 long *lp;
00279                 double *dp;
00280                 char **cp;
00281                 void **vpp;
00282                 value_handle *vhp;
00283         } value;
00284 
00285         /* when string or string-array, store these in "original" encoding */
00286         union
00287         {
00288                 char *c;
00289                 char **cp;
00290         } value_locale;
00291 
00292         int id;          /* id of info (see enum ra_info_ids below) */
00293         int can_be_changed;     /* flag if value can be saved */
00294 
00295         long number;
00296 };  /* struct ra_value */
00297 
00298 
00304 struct ra_find_struct
00305 {
00306         char name[MAX_PATH_RA];
00307 };  /* struct ra_find_struct */
00308 
00309 
00310 /* ------------------------------ infos ------------------------------ */
00311 enum ra_info_ids
00312 {
00313         RA_INFO_NONE = -1,
00314 
00315         /* -------------------- infos about library -------------------- */
00316         RA_INFO_LIB_START = 0,
00317         RA_INFO_NUM_PLUGINS_L,
00318         RA_INFO_VERSION_C,
00319         RA_INFO_LIB_END,
00320 
00321         /* -------------------- infos about measurement -------------------- */
00322         RA_INFO_MEASUREMENT_START = 1000,
00323         RA_INFO_NUM_SESSIONS_L,
00324         RA_INFO_NUM_OBJ_INFOS_L,
00325         RA_INFO_NUM_REC_GEN_INFOS_L,
00326         RA_INFO_NUM_REC_DEV_INFOS_L,
00327         RA_INFO_NUM_REC_CH_INFOS_L,
00328         RA_INFO_NUM_EVAL_INFOS_L,
00329         RA_INFO_MAX_SAMPLERATE_D,  /* maximum samplerate used in the recording 
00330                                        (this samplerate will be used for sampleunits
00331                                        in positions in evaluations) */
00332         RA_INFO_CH_XSCALE_D,  /* factor for a specific channel to scale the positions from
00333                                   evaluations to positions in the channel (needed for measurements
00334                                   with different samplerates) */
00335         RA_INFO_SIZE_L,
00336         RA_INFO_FILES_CA,
00337         RA_INFO_PATH_C, /* full path of measurement incl. measurement name */
00338         RA_INFO_DIR_L,  /* flag if measurement was saved in directory */
00339         RA_INFO_TYPE_L, /* type of the measurement (e.g. Holter ECG), see RA_MEAS_TYPE_* */
00340         RA_INFO_MEASUREMENT_END,
00341         
00342         /* -------------------- infos about the measurement object -------------------- */
00343         RA_INFO_OBJECT_START = 2000,
00344         RA_INFO_OBJECT = RA_INFO_OBJECT_START,
00345         /* ---------- mobj is a person ---------- */
00346         RA_INFO_OBJ_PERSON_START,
00347         RA_INFO_OBJ_PERSON_NAME_C,
00348         RA_INFO_OBJ_PERSON_FORENAME_C,
00349         RA_INFO_OBJ_PERSON_BIRTHDAY_C,
00350         RA_INFO_OBJ_PERSON_GENDER_C,
00351         RA_INFO_OBJ_PERSON_AGE_L,
00352         RA_INFO_OBJ_PERSON_HEIGHT_L,
00353         RA_INFO_OBJ_PERSON_WEIGHT_L,
00354         RA_INFO_OBJ_PERSON_STREET_C,
00355         RA_INFO_OBJ_PERSON_CITY_C,
00356         RA_INFO_OBJ_PERSON_POSTALCODE_C,
00357         RA_INFO_OBJ_PERSON_COUNTRY_C,
00358         RA_INFO_OBJ_PERSON_ADDRESS_C,
00359         RA_INFO_OBJ_PERSON_PHONE1_C,
00360         RA_INFO_OBJ_PERSON_PHONE2_C,
00361         RA_INFO_OBJ_PERSON_PHONE_MOBILE_C,
00362         RA_INFO_OBJ_PERSON_FAX_C,
00363         RA_INFO_OBJ_PERSON_EMAIL_C,
00364         RA_INFO_OBJ_PERSON_WEBSITE_C,
00365         RA_INFO_OBJ_PERSON_COMMENT_C,
00366         RA_INFO_OBJ_PERSON_END,
00367         /* ---------- mobj is a patient ---------- */
00368         /* (for person related infos use RA_INFO_OBJ_PERSON_*) */
00369         RA_INFO_OBJ_PATIENT_START,
00370         RA_INFO_OBJ_PATIENT_ID_C,
00371         RA_INFO_OBJ_PATIENT_REASON_C,
00372         RA_INFO_OBJ_PATIENT_DIAGNOSIS_C,
00373         RA_INFO_OBJ_PATIENT_THERAPY_C,
00374         RA_INFO_OBJ_PATIENT_MEDICATION_C,
00375         RA_INFO_OBJ_PATIENT_HOSPITAL_C,
00376         RA_INFO_OBJ_PATIENT_DEPARTMENT_C,
00377         RA_INFO_OBJ_PATIENT_DOCTOR_C,
00378         RA_INFO_OBJ_PATIENT_EXAMINER_C,
00379         RA_INFO_OBJ_PATIENT_END,
00380         /* ---------- mobj is a pregnant woman ---------- */
00381         /* (for person related infos use RA_INFO_OBJ_PERSON_*) */
00382         /* (for patient related infos use RA_INFO_OBJ_PATIENT_*) */
00383         RA_INFO_OBJ_PREG_WOMAN_START,
00384         RA_INFO_OBJ_PREG_WOMAN_NUM_FETUS_L,
00385         RA_INFO_OBJ_PREG_WOMAN_GESTATION_DATE_C,
00386         RA_INFO_OBJ_PREG_WOMAN_END,
00387         RA_INFO_OBJECT_END,
00388 
00389         /* -------------------- infos about the recording -------------------- */
00390         RA_INFO_RECORDING_START = 3000,
00391         RA_INFO_REC_GENERAL_START,
00392         RA_INFO_REC_GENERAL = RA_INFO_REC_GENERAL_START,
00393         RA_INFO_REC_GEN_TYPE_L, /* type of recording (see RA_REC_TYPE_*) */
00394         RA_INFO_REC_GEN_NAME_C, /* name of recording */
00395         RA_INFO_REC_GEN_DESC_C,
00396         RA_INFO_REC_GEN_COMMENT_C,
00397         RA_INFO_REC_GEN_TIME_C, /* start time of recording (hh:mm:ss) */
00398         RA_INFO_REC_GEN_DATE_C, /* start date of recording (dd.mm.yyyy) */
00399         RA_INFO_REC_GEN_DURATION_SEC_D,
00400         RA_INFO_REC_GEN_NUMBER_L,       /* number of recording (0: main recording) */
00401         RA_INFO_REC_GEN_NUM_SUB_REC_L,  /* number of sub-recordings */
00402         RA_INFO_REC_GEN_NUM_DEVICES_L,  /* number of devices used for recording */
00403         RA_INFO_REC_GEN_NUM_CHANNEL_L,  /* number of channels */
00404         RA_INFO_REC_GEN_OFFSET_L,       /* if sub-recording: num of msec time shift between
00405                                    the sub-recordings (first sub-rec. is 0) */
00406         RA_INFO_REC_GEN_PATH_C, /* when rec-number#0: same as RA_INFO_PATH_C */
00407         RA_INFO_REC_GEN_DIR_L,  /* when rec-number#0: same as RA_INFO_DIR_L */
00408         RA_INFO_REC_GEN_MM_SEC_D,       /* mm per second (hint for displaing signal) */
00409         RA_INFO_REC_GENERAL_END,
00410         /* ---------- device infos ---------- */
00411         RA_INFO_REC_DEVICE_START,
00412         RA_INFO_REC_DEVICE = RA_INFO_REC_DEVICE_START,
00413         RA_INFO_REC_DEV_HW_NAME_C,
00414         RA_INFO_REC_DEV_HW_MANUFACTURER_C,
00415         RA_INFO_REC_DEV_HW_SERIAL_NO_C,
00416         RA_INFO_REC_DEV_HW_VERSION_C,
00417         RA_INFO_REC_DEV_SW_NAME_C,
00418         RA_INFO_REC_DEV_SW_MANUFACTURER_C,
00419         RA_INFO_REC_DEV_SW_SERIAL_NO_C,
00420         RA_INFO_REC_DEV_SW_VERSION_C,
00421         RA_INFO_REC_DEVICE_END,
00422         /* ---------- channel infos ---------- */
00423         RA_INFO_REC_CHANNEL_START,
00424         RA_INFO_REC_CHANNEL = RA_INFO_REC_CHANNEL_START,
00425         RA_INFO_REC_CH_NAME_C,
00426         RA_INFO_REC_CH_DESC_C,
00427         RA_INFO_REC_CH_NUM_SAMPLES_L,
00428         RA_INFO_REC_CH_SAMPLERATE_D,
00429         RA_INFO_REC_CH_NUM_BITS_L,
00430         RA_INFO_REC_CH_AMP_RESOLUTION_D,
00431         RA_INFO_REC_CH_SAMPLE_TYPE_L,   /* storage type of the sample values (e.g. integer, real) */
00432         RA_INFO_REC_CH_UNIT_C,
00433         RA_INFO_REC_CH_CENTER_VALUE_D,  /* value[unit] signal is centered */
00434         RA_INFO_REC_CH_CENTER_SAMPLE_D, /* center value as sample-value */
00435         RA_INFO_REC_CH_MIN_UNIT_D,      /* minimum value in units */
00436         RA_INFO_REC_CH_MAX_UNIT_D,      /* maximum value in units */
00437         RA_INFO_REC_CH_MM_UNIT_D,       /* mm per unit (hint for displaing signal) */
00438         RA_INFO_REC_CH_TYPE_L,  /* type of channel (see above RA_CH_TYPE_*) */
00439         RA_INFO_REC_CH_DO_IGNORE_VALUE_L,
00440         RA_INFO_REC_CH_IGNORE_VALUE_D,
00441         RA_INFO_REC_CHANNEL_END,
00442         RA_INFO_RECORDING_END,
00443 
00444         /* -------------------- infos about evalution -------------------- */
00445         RA_INFO_EVALUATION = 4000,
00446         RA_INFO_EVAL_START,
00447         RA_INFO_EVAL_NAME_C,      /* name of the evaluation (optional) */
00448         RA_INFO_EVAL_DESC_C,      /* description of the evaluation (optional) */
00449         RA_INFO_EVAL_ADD_TS_C,    /* timestamp when eval was added */
00450         RA_INFO_EVAL_MODIFY_TS_C, /* timestamp when eval was last modified */
00451         RA_INFO_EVAL_USER_C,      /* user who added eval */
00452         RA_INFO_EVAL_HOST_C,      /* machine on which eval was added */
00453         RA_INFO_EVAL_PROG_C,      /* program which added eval */
00454         RA_INFO_EVAL_ORIGINAL_L,  /* evaluation done in recording system */
00455         RA_INFO_EVAL_DEFAULT_L,   /* evaluation which should be used */
00456         RA_INFO_EVAL_END,
00457         /* ---------- infos about event-classes ---------- */
00458         RA_INFO_CLASS_START,
00459         RA_INFO_CLASS_ASCII_ID_C, /* id-string of event-class */
00460         RA_INFO_CLASS_NAME_C,     /* name of the event class (optional) */
00461         RA_INFO_CLASS_DESC_C,     /* description of event class (optional) */
00462         RA_INFO_CLASS_EV_NUM_L,   /* number of events in the event class */
00463         RA_INFO_CLASS_END,
00464         /* ---------- infos about event-properties ---------- */
00465         RA_INFO_PROP_START,
00466         RA_INFO_PROP_ASCII_ID_C,   /* id-string of event-property */
00467         RA_INFO_PROP_VALTYPE_L,    /* type of the event-property values (short, long, double, char) */
00468         RA_INFO_PROP_NAME_C,       /* name of event-property (optional) */
00469         RA_INFO_PROP_DESC_C,       /* description of event property (optional) */
00470         RA_INFO_PROP_UNIT_C,       /* unit of the property (optional) */
00471         RA_INFO_PROP_HAS_MINMAX_L, /* flag if property has min-/max-values (i.e. normal value range) (optional) */
00472         RA_INFO_PROP_MIN_D,        /* normal min-value of the property (optional) */
00473         RA_INFO_PROP_MAX_D,        /* normal max-value of the property (optional) */
00474         RA_INFO_PROP_END,
00475         /* ---------- infos about event-summaries ---------- */
00476         RA_INFO_SUM_START,         /* start of event-summary specific info-ids */
00477         RA_INFO_SUM_ASCII_ID_C,    /* id-string of event-summary */
00478         RA_INFO_SUM_NAME_C,        /* name of the event summary */
00479         RA_INFO_SUM_DESC_C,        /* description of the event summary */
00480         RA_INFO_SUM_NUM_CH_L,      /* number of channels where a summary where got */
00481         RA_INFO_SUM_CH_NUM_L,      /* channel-number used */
00482         RA_INFO_SUM_CH_FIDUCIAL_L, /* offset of fiducial point (-1 if none) */
00483         RA_INFO_SUM_CH_NUM_DIM_L,  /* number of dimensions used for the summary */
00484         RA_INFO_SUM_CH_DIM_UNIT_CA,/* unit of the dimensions in the channel */
00485         RA_INFO_SUM_CH_DIM_NAME_CA,/* name of the dimensions in the channel */
00486         RA_INFO_SUM_END,           /* end of event-summary specific info-ids */
00487         RA_INFO_EVALUATION_END,
00488 
00489         /* -------------------- infos about plugins -------------------- */
00490         RA_INFO_PLUGIN_START = 5000,
00491         RA_INFO_PL_NAME_C,      /* name of plugin, used for identification */
00492         RA_INFO_PL_DESC_C,      /* description of plugin */
00493         RA_INFO_PL_FILE_C,      /* filename with path of plugin */
00494         RA_INFO_PL_USE_IT_L,    /* flag if plugin should be used */
00495         RA_INFO_PL_TYPE_L,      /* type of plugin (see PLUGIN_XXX above) */
00496         RA_INFO_PL_VERSION_C,   /* version of plugin */
00497         RA_INFO_PL_BUILD_TS_C,  /* timestamp when plugin was build */
00498         RA_INFO_PL_LICENSE_L,   /* license-id used for plugin (see LICENSE_* defines in ra_priv.h) */
00499         RA_INFO_PL_NUM_OPTIONS_L,       /* number of options available in the plugin */
00500         RA_INFO_PL_OPT_NAME_C,  /* short name of option */
00501         RA_INFO_PL_OPT_DESC_C,  /* description of option */
00502         RA_INFO_PL_OPT_TYPE_L,  /* type of option (long, double, char) */
00503         RA_INFO_PL_NUM_RESULTS_L,       /* number of values returned from plugin */
00504         RA_INFO_PL_RES_NAME_C,  /* short name of result (can be used as table header) */
00505         RA_INFO_PL_RES_DESC_C,  /* description of result */
00506         RA_INFO_PL_RES_TYPE_L,  /* type of result (long, double, char) */
00507         RA_INFO_PL_RES_DEFAULT_L, /* flag if result belongs to default-values (=1) */
00508         RA_INFO_PLUGIN_END,
00509 
00510         /* -------------------- infos about sessions -------------------- */
00511         RA_INFO_SESSION_START = 6000,
00512         RA_INFO_SES_NAME_C,     /* name of session */
00513         RA_INFO_SES_DESC_C,     /* description of session */
00514         RA_INFO_SESSION_END,
00515 
00516         /* -------------------- infos about processing results -------------------- */
00517         RA_INFO_PROCESSING_START = 7000,
00518         RA_INFO_PROC_NUM_RES_SETS_L, /* number of available result sets */
00519         RA_INFO_PROC_NUM_RES_L,      /* number of available results per set */
00520         RA_INFO_PROCESSING_END
00521 }; /* enum ra_info_ids */
00522 
00523 
00524 /* ------------------------------ predefined evaluation infos ------------------------------ */
00525 /* ---------- event classes ---------- */
00526 enum event_class_ids
00527 {
00528         EVENT_CLASS_HEARTBEAT,           /* all infos about heart beats */
00529         EVENT_CLASS_RR_CALIBRATION,      /* all infos about calibration sequences in bloodpressure measurements */
00530         EVENT_CLASS_ANNOT,               /* annotations/comments */
00531         EVENT_CLASS_ARRHYTHMIA,          /* arrhythmic events */
00532         EVENT_CLASS_ARRHYTHMIA_ORIGINAL, /* arrhythmic events from original evaluation */
00533         EVENT_CLASS_UTERINE_CONTRACTION  /* infos about uterine contraction */
00534 }; /* enum event_class_ids */
00535 
00536 /* ---------- event properties ---------- */
00537 enum event_prop_ids
00538 {
00539         /* -------------------- values for QRS complexes -------------------- */
00540         EVENT_PROP_QRS_TEMPLATE,
00541         EVENT_PROP_QRS_TEMPLATE_CORR,
00542         EVENT_PROP_QRS_POS,
00543         EVENT_PROP_QRS_ANNOT,
00544         EVENT_PROP_QRS_CH,
00545         EVENT_PROP_QRS_TEMPORAL,
00546         /* morphology values */
00547         EVENT_PROP_P_START_OFFSET,
00548         EVENT_PROP_P_MAX_OFFSET,
00549         EVENT_PROP_P_END_OFFSET,
00550         EVENT_PROP_Q_OFFSET,
00551         EVENT_PROP_R_OFFSET,
00552         EVENT_PROP_S_OFFSET,
00553         EVENT_PROP_J_OFFSET,
00554         EVENT_PROP_T_START_OFFSET,
00555         EVENT_PROP_T_MAX_OFFSET,
00556         EVENT_PROP_T_END_OFFSET,
00557         EVENT_PROP_U_START_OFFSET,
00558         EVENT_PROP_U_MAX_OFFSET,
00559         EVENT_PROP_U_END_OFFSET,
00560 
00561         /* -------------------- values for RR intervals -------------------- */
00562         EVENT_PROP_RRI,
00563         EVENT_PROP_RRI_ANNOT,
00564         EVENT_PROP_RRI_REFVALUE,
00565         EVENT_PROP_RRI_NUM_REFVALUE,
00566 
00567         /* -------------------- values for QT intervals -------------------- */
00568         EVENT_PROP_QT,
00569         EVENT_PROP_QTA,
00570         EVENT_PROP_QT_RRI,
00571 
00572         /* -------------------- values for respiration signals -------------------- */
00573         EVENT_PROP_RESP_CHEST_MEAN_RRI,
00574         EVENT_PROP_RESP_CHEST_MEAN_IBI,
00575         
00576         /* -------------------- values for bloodpressure -------------------- */
00577         EVENT_PROP_RR_TEMPLATE,
00578         EVENT_PROP_RR_SYSTOLIC,
00579         EVENT_PROP_RR_SYSTOLIC_POS,
00580         EVENT_PROP_RR_DIASTOLIC,
00581         EVENT_PROP_RR_DIASTOLIC_POS,
00582         EVENT_PROP_RR_MEAN,
00583         EVENT_PROP_RR_FLAGS,
00584         EVENT_PROP_RR_IBI,
00585 
00586         /* -------------------- values for bloodpressure calibration -------------------- */
00587         EVENT_PROP_RR_CALIBRATION_SEQ,
00588 
00589         /* -------------------- values for uterine contraction -------------------- */
00590         EVENT_PROP_UC_MAX_POS,
00591         EVENT_PROP_UC_TEMPLATE,
00592         EVENT_PROP_UC_TEMPLATE_CORR,
00593 
00594         /* -------------------- values for comments/annotations -------------------- */
00595         EVENT_PROP_ANNOT,
00596 
00597         /* ---------- values for arryhthmic events (set in the ecg libRASCH plugin) ---------- */
00598         EVENT_PROP_ARR_TYPE,
00599         EVENT_PROP_ARR_HR,
00600         EVENT_PROP_ARR_NUM_QRS,
00601         /* ---------- values for arryhthmic events from original evaluation ---------- */
00602         EVENT_PROP_ARR_ORIG_TYPE,
00603         EVENT_PROP_ARR_ORIG_HR,
00604         EVENT_PROP_ARR_ORIG_NUM_QRS
00605 }; /* enum event_prop_ids */
00606 
00607 #ifdef __cplusplus
00608 }
00609 #endif
00610 
00611 #endif /* _RA_DEFINES_H */

Generated on Fri May 27 11:32:39 2005 for libRASCH by  doxygen 1.4.2