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_event_props.h Source File

ra_event_props.h

Go to the documentation of this file.
00001 
00009 /*----------------------------------------------------------------------------
00010  *
00011  * Copyright (C) 2002-2005, Raphael Schneider
00012  * See the file COPYING for information on usage and redistribution.
00013  *
00014  * $Id: ra_event_props.h 794 2005-05-07 12:46:04Z rasch $
00015  *
00016  *--------------------------------------------------------------------------*/
00017 
00018 #ifndef _RA_EVENT_PROPS_H
00019 #define _RA_EVENT_PROPS_H
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00025 #include <ra_defines.h>
00026 
00027 
00028 /* -------------------- defines -------------------- */
00029 
00030 
00031 /* -------------------- struct definitions -------------------- */
00040 struct event_class_desc
00041 {
00042         int id;
00043         char ascii_id[EVAL_MAX_NAME];
00044 
00045         char name[EVAL_MAX_NAME];
00046         char desc[EVAL_MAX_DESC];
00047 }; /* struct event_class_desc */
00048 
00049 
00065 struct event_prop_desc
00066 {
00067         int id;
00068 
00069         int event_set_id;
00070 
00071         char ascii_id[EVAL_MAX_NAME];
00072 
00073         char name[EVAL_MAX_NAME];
00074         char desc[EVAL_MAX_DESC];
00075         char unit[EVAL_MAX_UNIT];
00076         long val_type;
00077         long num_values;
00078 
00079         /* default min- and max-values */
00080         int use_minmax;
00081         double min_value;
00082         double max_value;
00083 }; /* struct event_prop_desc */
00084 
00085 
00086 #ifdef _DEFINE_INFO_STRUCTS
00087 
00088 /* -------------------- predefined infos for event-classes and event-properties -------------------- */
00089 static struct event_class_desc ra_event_class[] = {
00090         {EVENT_CLASS_HEARTBEAT, "heartbeat", gettext_noop("heartbeat"),
00091          gettext_noop("infos about a heart beat")},
00092 
00093         {EVENT_CLASS_RR_CALIBRATION, "rr-calibration", gettext_noop("rr-calibration"),
00094          gettext_noop("infos about sequences of calibration in bloodpressure measurements")},
00095 
00096         {EVENT_CLASS_ANNOT, "annotation", gettext_noop("annotations"), gettext_noop("annotations/comments")},
00097 
00098         {EVENT_CLASS_ARRHYTHMIA, "arrhythmia", gettext_noop("arrhythmia"), gettext_noop("arrhythmic events")},
00099 
00100         {EVENT_CLASS_ARRHYTHMIA_ORIGINAL, "arrhythmia-original", gettext_noop("arrhythmia-original"),
00101          gettext_noop("arrhythmic events from original evaluation")},
00102 
00103         {EVENT_CLASS_UTERINE_CONTRACTION, "uterine-contraction", gettext_noop("uterine-contraction"),
00104          gettext_noop("infos about uterine contraction")},
00105 }; /* ra_event_class */
00106 
00107 #endif /* _DEFINE_INFO_STRUCTS */
00108 
00109 #ifdef _DEFINE_INFO_STRUCTS_PROP
00110 #define _DEFINE_INFO_STRUCTS
00111 #endif /* _DEFINE_INFO_STRUCTS_PROP */
00112 
00113 #ifdef _DEFINE_INFO_STRUCTS
00114 
00115 static struct event_prop_desc ra_event_prop[] = {
00116         /* QRS complex infos */
00117         {EVENT_PROP_QRS_TEMPLATE, EVENT_CLASS_HEARTBEAT, "qrs-template", gettext_noop("qrs-template"),
00118          gettext_noop("QRS template number"), "", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00119 
00120         {EVENT_PROP_QRS_TEMPLATE_CORR, EVENT_CLASS_HEARTBEAT, "qrs-template-corr", gettext_noop("qrs-template-corr"),
00121          gettext_noop("correlation of qrs-complex with template"), "", RA_VALUE_TYPE_DOUBLE, 1, 0, 0, 0},
00122 
00123         {EVENT_PROP_QRS_POS, EVENT_CLASS_HEARTBEAT, "qrs-pos", gettext_noop("qrs-pos"),
00124          gettext_noop("position of fiducial point of QRS-complex in sampleunits"), "su", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00125 
00126         {EVENT_PROP_QRS_ANNOT, EVENT_CLASS_HEARTBEAT, "qrs-annot", gettext_noop("qrs-annot"),
00127          gettext_noop("annotation of QRS complex"), "", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00128 
00129         {EVENT_PROP_QRS_CH, EVENT_CLASS_HEARTBEAT, "qrs-ch", gettext_noop("qrs-ch"),
00130          gettext_noop("bitmask of channels where qrs was detected"), "", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00131 
00132         {EVENT_PROP_QRS_TEMPORAL, EVENT_CLASS_HEARTBEAT, "qrs-temporal", gettext_noop("qrs-temporal"),
00133          gettext_noop("temporal setting of beat"), "", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00134 
00135         /* heart beat morphology values */
00136         {EVENT_PROP_P_START_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-p-start", gettext_noop("qrs-p-start"),
00137          gettext_noop("offset of p-wave begin from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00138 
00139         {EVENT_PROP_P_MAX_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-p-max", gettext_noop("qrs-p-max"),
00140          gettext_noop("offset of p-wave maximum from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00141 
00142         {EVENT_PROP_P_END_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-p-end", gettext_noop("qrs-p-end"),
00143          gettext_noop("offset of p-wave end from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00144 
00145         {EVENT_PROP_Q_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-q", gettext_noop("qrs-q"),
00146          gettext_noop("offset of q-wave from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00147 
00148         {EVENT_PROP_R_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-r", gettext_noop("qrs-r"),
00149          gettext_noop("offset of r-wave from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00150 
00151         {EVENT_PROP_S_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-s", gettext_noop("qrs-s"),
00152          gettext_noop("offset of s-wave from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00153 
00154         {EVENT_PROP_J_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-j", gettext_noop("qrs-j"),
00155          gettext_noop("offset of j-point from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00156 
00157         {EVENT_PROP_T_START_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-t-start", gettext_noop("qrs-t-start"),
00158          gettext_noop("offset of t-wave begin from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00159 
00160         {EVENT_PROP_T_MAX_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-t-max", gettext_noop("qrs-t-max"),
00161          gettext_noop("offset of t-wave max from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00162 
00163         {EVENT_PROP_T_END_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-t-end", gettext_noop("qrs-t-end"),
00164          gettext_noop("offset of t-wave end from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00165 
00166         {EVENT_PROP_U_START_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-u-start", gettext_noop("qrs-u-start"),
00167          gettext_noop("offset of u-wave begin from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00168 
00169         {EVENT_PROP_U_MAX_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-u-max", gettext_noop("qrs-u-max"),
00170          gettext_noop("offset of u-wave max from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00171 
00172         {EVENT_PROP_U_END_OFFSET, EVENT_CLASS_HEARTBEAT, "qrs-u-end", gettext_noop("qrs-u-end"),
00173          gettext_noop("offset of u-wave end from qrs-pos in sampleunits"), "su", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00174 
00175 
00176         /* RR interval infos */
00177         {EVENT_PROP_RRI, EVENT_CLASS_HEARTBEAT, "rri", gettext_noop("rri"), gettext_noop("RR interval"),
00178          "ms", RA_VALUE_TYPE_DOUBLE, 1, 1, 200, 2000},
00179 
00180         {EVENT_PROP_RRI_ANNOT, EVENT_CLASS_HEARTBEAT, "rri-annot", gettext_noop("rri-annotation"),
00181          gettext_noop("annoation of RR interval"), "", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00182 
00183         {EVENT_PROP_RRI_REFVALUE, EVENT_CLASS_HEARTBEAT, "rri-refvalue", gettext_noop("rri-refvalue"),
00184          gettext_noop("reference rri representing the current heart-rate"), "ms", RA_VALUE_TYPE_DOUBLE, 1, 1, 200, 2000},
00185 
00186         {EVENT_PROP_RRI_NUM_REFVALUE, EVENT_CLASS_HEARTBEAT, "rri-num-refvalue", gettext_noop("rri-num-refvalue"),
00187          gettext_noop("number of rri's used for calculation of reference value"), "#", RA_VALUE_TYPE_SHORT, 1, 1, 0, 5},
00188 
00189 
00190         /* QT values */
00191         {EVENT_PROP_QT, EVENT_CLASS_HEARTBEAT, "qt", gettext_noop("qt"), gettext_noop("QT interval"),
00192          "ms", RA_VALUE_TYPE_DOUBLE, 1, 1, 200, 600},
00193 
00194         {EVENT_PROP_QTA, EVENT_CLASS_HEARTBEAT, "qta", gettext_noop("qta"), gettext_noop("QTa interval"),
00195          "ms", RA_VALUE_TYPE_DOUBLE, 1, 1, 200, 600},
00196 
00197         {EVENT_PROP_QT_RRI, EVENT_CLASS_HEARTBEAT, "qt-rri", gettext_noop("qt-rri"),
00198          gettext_noop("the rr-interval belonging to the QT values"), "ms", RA_VALUE_TYPE_DOUBLE, 1, 1, 200, 2000},
00199 
00200 
00201         /* values for respiration signals */
00202         {EVENT_PROP_RESP_CHEST_MEAN_RRI, EVENT_CLASS_HEARTBEAT, "resp-chest-mean-rri", gettext_noop("resp-chest-mean-rri"),
00203          gettext_noop("mean chest measurement of the rr interval"), "%", RA_VALUE_TYPE_DOUBLE, 1, 0, 0, 0},
00204 
00205         {EVENT_PROP_RESP_CHEST_MEAN_IBI, EVENT_CLASS_HEARTBEAT, "resp-chest-mean-ibi", gettext_noop("resp-chest-mean-ibi"),
00206          gettext_noop("mean chest measurement of the inter beat interval"), "%", RA_VALUE_TYPE_DOUBLE, 1, 0, 0, 0},
00207 
00208 
00209         /* bloodpressure infos */
00210         {EVENT_PROP_RR_TEMPLATE, EVENT_CLASS_HEARTBEAT, "rr-template", gettext_noop("rr-template"),
00211          gettext_noop("bloodpressure template number"), "", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00212 
00213         {EVENT_PROP_RR_SYSTOLIC, EVENT_CLASS_HEARTBEAT, "rr-systolic", gettext_noop("rr-systolic"),
00214          gettext_noop("systolic bloodpressure in mmHg"), "mmHg", RA_VALUE_TYPE_DOUBLE, 1, 1, 0, 200},
00215 
00216         {EVENT_PROP_RR_SYSTOLIC_POS, EVENT_CLASS_HEARTBEAT, "rr-systolic-pos", gettext_noop("rr-systolic-pos"),
00217          gettext_noop("position of systolic bloodpressure in sampleunits"), "su", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00218 
00219         {EVENT_PROP_RR_DIASTOLIC, EVENT_CLASS_HEARTBEAT, "rr-diastolic", gettext_noop("rr-diastolic"),
00220          gettext_noop("diastolic bloodpressure in mmHg"), "mmHg", RA_VALUE_TYPE_DOUBLE, 1, 1, 0, 200},
00221 
00222         {EVENT_PROP_RR_DIASTOLIC_POS, EVENT_CLASS_HEARTBEAT, "rr-diastolic-pos", gettext_noop("rr-diastolic-pos"),
00223          gettext_noop("position of diastolic bloodpressure in sampleunits"), "su", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00224 
00225         {EVENT_PROP_RR_MEAN, EVENT_CLASS_HEARTBEAT, "rr-mean", gettext_noop("rr-mean"),
00226          gettext_noop("mean bloodpressure in mmHg"), "mmHg", RA_VALUE_TYPE_DOUBLE, 1, 1, 0, 200},
00227 
00228         {EVENT_PROP_RR_FLAGS, EVENT_CLASS_HEARTBEAT, "rr-flags", gettext_noop("rr-flags"),
00229          gettext_noop("flags for the rr-values"), "", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00230 
00231         {EVENT_PROP_RR_IBI, EVENT_CLASS_HEARTBEAT, "ibi", gettext_noop("ibi"),
00232          gettext_noop("inter-beat-interval"), "ms", RA_VALUE_TYPE_DOUBLE, 1, 0, 0, 0},
00233 
00234 
00235         /* rr-calibration infos */
00236         {EVENT_PROP_RR_CALIBRATION_SEQ, EVENT_CLASS_RR_CALIBRATION, "rr-calibration-flags", gettext_noop("rr-calibration-flags"),
00237          gettext_noop("flags of the RR calibration sequences"), "",
00238          RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00239 
00240 
00241         /* uterine contraction infos */
00242         {EVENT_PROP_UC_MAX_POS, EVENT_CLASS_UTERINE_CONTRACTION, "uc-max-pos", gettext_noop("uc-max-pos"),
00243          gettext_noop("position of uterine contraction (max. peak)"), "su", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00244 
00245         {EVENT_PROP_UC_TEMPLATE, EVENT_CLASS_UTERINE_CONTRACTION, "uc-template", gettext_noop("uc-template"),
00246          gettext_noop("Uterine Contraction template number"), "", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00247 
00248         {EVENT_PROP_UC_TEMPLATE_CORR, EVENT_CLASS_UTERINE_CONTRACTION, "uc-template-corr", gettext_noop("uc-template-corr"),
00249          gettext_noop("correlation of uterine contraction with template"), "", RA_VALUE_TYPE_DOUBLE, 1, 0, 0, 0},
00250 
00251 
00252         /* values for comments/annotations */
00253         {EVENT_PROP_ANNOT, EVENT_CLASS_ANNOT, "annotation", gettext_noop("annotations"),
00254          gettext_noop("annotations/comments"), "", RA_VALUE_TYPE_CHAR, 1, 0, 0, 0},
00255 
00256 
00257         /* arryhthmic events (set in the ecg libRASCH plugin) */
00258         {EVENT_PROP_ARR_TYPE, EVENT_CLASS_ARRHYTHMIA, "arr-type", gettext_noop("arr-type"),
00259          gettext_noop("type of arrhythmic event"), "", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00260 
00261         {EVENT_PROP_ARR_HR, EVENT_CLASS_ARRHYTHMIA, "arr-hr", gettext_noop("arr-hr"),
00262          gettext_noop("heart rate [bpm] of arrhythmic event"), "", RA_VALUE_TYPE_DOUBLE, 1, 0, 0, 0},
00263 
00264         {EVENT_PROP_ARR_NUM_QRS, EVENT_CLASS_ARRHYTHMIA, "arr-num-qrs", gettext_noop("arr-num-qrs"),
00265          gettext_noop("number of qrs-complexes in arryhthmic event"), "", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00266 
00267 
00268         /* arryhthmic events from original evaluation*/
00269         {EVENT_PROP_ARR_ORIG_TYPE, EVENT_CLASS_ARRHYTHMIA_ORIGINAL, "arr_o-type", gettext_noop("arr_o-type"),
00270          gettext_noop("type of arrhythmic event (original eval)"), "", RA_VALUE_TYPE_SHORT, 1, 0, 0, 0},
00271 
00272         {EVENT_PROP_ARR_ORIG_HR, EVENT_CLASS_ARRHYTHMIA_ORIGINAL, "arr_o-hr", gettext_noop("arr_o-hr"),
00273          gettext_noop("heart rate [bpm] of arrhythmic event (original eval)"), "", RA_VALUE_TYPE_DOUBLE, 1, 0, 0, 0},
00274 
00275         {EVENT_PROP_ARR_ORIG_NUM_QRS, EVENT_CLASS_ARRHYTHMIA_ORIGINAL, "arr_o-num-qrs", gettext_noop("arr_o-num-qrs"),
00276          gettext_noop("number of qrs-complexes in arryhthmic event (original eval)"), "", RA_VALUE_TYPE_LONG, 1, 0, 0, 0},
00277 }; /* ra_event_prop */
00278 
00279 #endif /* _DEFINE_INFO_STRUCTS */
00280 
00281 #ifdef __cplusplus
00282 }
00283 #endif
00284 
00285 #endif /* _RA_EVENT_PROPS_H */

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