Source code for pyVHR.datasets.mahnob

import numpy as np
import pybdf
from biosppy.signals import ecg
from pyVHR.datasets.dataset import Dataset
from pyVHR.utils.ecg import ECGsignal

"""
In order to use this module you need a Fortran Compiler.

For Linux you can use:
    sudo apt-get install gfortran

"""

[docs]class MAHNOB(Dataset): """ Mahnob Dataset .. Mahnob dataset structure: .. ----------------- .. datasetDIR/ .. | .. ||-- vidDIR1/ .. | |-- videoFile.avi .. | |-- physioFile.bdf .. |... .. |... """ name = 'MAHNOB' signalGT = 'ECG' # GT signal type numLevels = 2 # depth of the filesystem collecting video and BVP files numSubjects = 40 # number of subjects video_EXT = 'avi' # extension of the video files frameRate = 20 # video frame rate VIDEO_SUBSTRING = 'Section' # substring contained in the filename SIG_EXT = 'bdf' # extension of the ECG files SIG_SUBSTRING = 'emotion' # substring contained in the filename SIG_SampleRate = 256 # sample rate of the ECG files
[docs] def readSigfile(self, filename): """ Load ECG signal. Returns: a pyVHR.utils.ecg.ECGsignal object that can be used to extract ground truth BPM signal. """ bdfRec = pybdf.bdfRecording(filename) rec = bdfRec.getData(channels=[33]) self.SIG_SampleRate = bdfRec.sampRate[33] data = np.array(rec['data'][0])[rec['eventTable']['idx'][2]:] return ECGsignal(data, self.SIG_SampleRate)