Source code for peakdet.external

# -*- coding: utf-8 -*-
"""
Functions for interacting with physiological data acquired by external packages
"""

import warnings
import numpy as np
from peakdet import physio, utils


[docs]@utils.make_operation(exclude=[]) def load_rtpeaks(fname, channel, fs): """ Loads data file as obtained from the ``rtpeaks`` Python module Data file `fname` should have a single, comma-delimited header of format: time,channel#,channel#,...,channel# Raw data should be stored in columnar format, also comma-delimited, beneath this header. All data should be stored as integers. For more information, see the ``rtpeaks`` homepage: https://github.com/rmarkello/rtpeaks. Parameters ---------- fname : str Path to data file to be loaded channel : int Integer corresponding to the channel number in `fname` from which data should be loaded fs : float Sampling rate at which `fname` was acquired Returns ------- data : :class:`peakdet.Physio` Loaded physiological data """ if fname.startswith('/'): warnings.warn('Provided file seems to be an absolute path. In order ' 'to ensure full reproducibility it is recommended that ' 'a relative path is provided.') with open(fname, 'r') as src: header = src.readline().strip().split(',') col = header.index('channel{}'.format(channel)) data = np.loadtxt(fname, usecols=col, skiprows=1, delimiter=',') phys = physio.Physio(data, fs=fs) return phys