MferReader Class Reference

A MFER reader class. More...

#include <mferreader.h>

List of all members.


struct  mfer_frame_t
 Type for wrapping a MFER frame. More...
struct  mfer_tags_t
 Type for wrapping a MFER tag (TLV). More...

Public Types

enum  MFER_TAGS {
  MWF_IVL = 0x0B,
  MWF_SEN = 0x0C,
  MWF_BLK = 0x04,
  MWF_CHN = 0x05,
  MWF_SEQ = 0x06,
  MWF_WFM = 0x08,
  MWF_LDN = 0x09,
  MWF_WAV = 0x1E,
  MWF_ATT = 0x3F,
  MWF_DTP = 0x0A,
  MWF_OFF = 0x0D,
  MWF_NUL = 0x12,
  MWF_CMP = 0x0E,
  MWF_BLE = 0x01,
  MWF_PNT = 0x07,
  MWF_ZRO = 0x00,
  MWF_PRE = 0x40,
  MWF_MAN = 0x17,
  MWF_EVT = 0x41,
  MWF_INF = 0x15,
  MWF_CND = 0x44,
  MWF_NTE = 0x16,
  MWF_VER = 0x02,
  MWF_TXC = 0x03,
  MWF_FLT = 0x11,
  MWF_IPD = 0x0F,
enum  SamplingRateUnit {
  Frequency_hz = 0,
  Time_interval_sec = 1,
  Distance_m = 2
enum  SamplingResolutionUnit {
  Volt = 0,
  mmHg_Torr = 1,
  Pa = 2,
  cmH2O = 3,
  mmHg_s = 4,
  dyne = 5,
  Newton = 6
enum  WaveformType {
  ECG_STD12 = 1,
  ECG_LTERM = 2,
  ECG_VECTR = 3,
  ECG_EXCER = 4,
  ECG_INTR = 5,
  ECG_SURF = 6,
  ECG_ILATE = 7,
  ECG_LATE = 8
enum  WaveformCode {
  Lead_I = 1,
  Lead_2 = 2,
  Lead_V1 = 3,
  Lead_V2 = 4,
  Lead_V3 = 5,
  Lead_V4 = 6,
  Lead_V5 = 7,
  Lead_V6 = 8,
  Lead_V7 = 9
typedef struct
typedef qint16 mfer_data_block
typedef struct
typedef void(MferReader::* pt2mem )(char *, int)
typedef std::map< MFER_TAGS,
typedef std::map< MFER_TAGS,
pt2mem >::const_iterator 

Public Member Functions

 MferReader (const QString &filename="")
bool readFile (const QString &filename)
int fillData (QVector< QVector< double > > &pDest, int screennumber, int channel)
bool isValid () const
QPointF lineAxisBounds () const
int samplesprSecond () const

Public Attributes

QVector< mfer_tagstagsVector
mfer_frame mferFrame
QByteArray baTemp

Detailed Description

A MFER reader class.

MferReader is a class which parses a file encoded after the MFER ISO standard (ISO/TS 11073-92001). Files are encoded using TLV (tag length value) concept.

Definition at line 35 of file mferreader.h.

Member Typedef Documentation

Type for waveform data.

Definition at line 147 of file mferreader.h.

Type for wrapping a MFER frame.

Type for wrapping a MFER tag (TLV).

Type for list of parsing function pointers.

Definition at line 163 of file mferreader.h.

typedef std::map<MFER_TAGS, pt2mem>::const_iterator MferReader::parseFuncMap_cit

Type for const iterator to list of parsing functions.

Definition at line 165 of file mferreader.h.

typedef void(MferReader::* MferReader::pt2mem)(char *, int)

Type for parsing functions pointers.

Definition at line 161 of file mferreader.h.

Member Enumeration Documentation

List of MFER tags.

MWF_IVL  Sampling rate.
MWF_SEN  Sampling resolution.
MWF_BLK  Data block length.
MWF_CHN  Number of channels.
MWF_SEQ  Number of sequences.
MWF_WFM  Waveform class.
MWF_LDN  Waveform attributes (lead name, etc.).
MWF_WAV  Wavefrom data.
MWF_ATT  Channel attributes (channel definitioin).
MWF_DTP  Data type.
MWF_OFF  Offset value.
MWF_NUL  NULL value.
MWF_CMP  Compression.
MWF_BLE  Endianity.
MWF_PNT  Pointer.
MWF_ZRO  Blank/End-of-contents.
MWF_PRE  Preamble.
MWF_MAN  Manufacturer information of medical device.
MWF_EVT  Event.
MWF_INF  Waveform information.
MWF_CND  Acquisition of processing information.
MWF_NTE  Comment.
MWF_VER  Version.
MWF_TXC  Character code.
MWF_FLT  Filter.
MWF_IPD  Interpolation or decimation.
MWF_INVALID  None of the above/undefined tag.

Definition at line 39 of file mferreader.h.

List of supported units for MWF_IVL.

Frequency_hz  Measured in Hertz (Hz).
Time_interval_sec  Measured in seconds (s).
Distance_m  Mesaured in distance (m).

Definition at line 88 of file mferreader.h.

List of supported units for MWF_SEN.

Volt  Voltage.
mmHg_Torr  Pressure.
Pa  Pressure.
cmH2O  Pressure.
mmHg_s  Pressure.
dyne  Force.
Newton  Force.

Definition at line 96 of file mferreader.h.

List of supported types for MWF_LDN.

Lead_I  Lead I.
Lead_2  Lead II.
Lead_V1  Lead V1.
Lead_V2  Lead V2.
Lead_V3  Lead V3.
Lead_V4  Lead V4.
Lead_V5  Lead V5.
Lead_V6  Lead V6.
Lead_V7  Lead V7.

Definition at line 122 of file mferreader.h.

List of supported types for MWF_WFM.

UNDEFINED  Unidentified waveform.
ECG_STD12  Standard 12 lead ECG.
ECG_LTERM  Long-term ECG.
ECG_VECTR  Vectorcardiogram.
ECG_INTR  Intracardiac ECG.
ECG_SURF  Body surface ECG.
ECG_ILATE  Ventricular late potential.
ECG_LATE  Body surface late potential.

Definition at line 108 of file mferreader.h.

Constructor & Destructor Documentation

MferReader::MferReader ( const QString &  filename = ""  ) 


filename The file to read.

Definition at line 41 of file mferreader.cpp.

Member Function Documentation

int MferReader::fillData ( QVector< QVector< double > > &  pDest,
int  screennumber,
int  channel 

Copy from the internal data structure to another data structure.

pDest Destination data structure.
screennumber Screen number used to fill the data structure.
channel Channel number used to fill the data structure. (UNUSED)
The number of screens containted in the internal data structure.
See also:

Definition at line 227 of file mferreader.cpp.

bool MferReader::isValid (  )  const [inline]

true if the MferReader has read and parsed it's file.

Definition at line 191 of file mferreader.h.

QPointF MferReader::lineAxisBounds (  )  const [inline]

Y-axis scale.

Definition at line 248 of file mferreader.h.

bool MferReader::readFile ( const QString &  filename  ) 

Read and parse a file into an interal data structure.

filename The file to read.

Definition at line 54 of file mferreader.cpp.

int MferReader::samplesprSecond (  )  const

Samples per second.

Definition at line 530 of file mferreader.cpp.

Member Data Documentation

QByteArray MferReader::baTemp

Wrapper for waveform data parsing.

Definition at line 199 of file mferreader.h.

Current parsed frame.

Definition at line 198 of file mferreader.h.

List of all tags in the file.

Definition at line 197 of file mferreader.h.

The documentation for this class was generated from the following files:

Generated on Wed May 20 14:28:20 2009 for CardioCurves by  doxygen 1.5.9