Pyrem is a python package to help feature extraction from physiological time series such as electroencephalograms(EEGs) and such.
It provides:
Data structures for time series (pyrem.time_series) based on numpy arrays. This extends functionality of numpy arrays by:
- Providing extra attributes such as sampling frequency and metadata
- Allow new functionality such as time-string indexing (e.g. signal["28m":"2h22.4s"])
A data structure for annotations (pyrem.time_series.Annotation) based on numpy recarrays. This allows to describe time series of discrete states linked to a confidence/probability of observation of each states.
A data structure for collection of time series (pyrem.polygram). It features:
- Support for heterogeneous sampling rates between time series.
- An iterator through arbitrary epochs (temporal slices)
- Slicing using time strings and seamless merging between polygrams
Implementations of algorithms often used in analysis of EEGs (see pyrem.univariate). They are essentially faster and curated reimplementation of the function available in PyEEG.
Utilities to load, save and visualize the data (still in development).
Wrappers around samplerate and pywt libraries, to efficiently resample, and compute discrete wavelet decomposition on signals.