Implementation of the Unisens data storage format
Stable version can be installed via pip install pyunisens
or most recent version via pip install git+https://github.com/Unisens/pyunisens
pyunisens
is running on Python 3.6+
You can load any unisens object simply like this
import unisens
u = unisens.Unisens('c:/folder/dataset/') # folder containing the unisens.xml
Entries are saved under .entries
can be accessed either via attributes or using the unisens object as a dictionary
print(u.entries)
# four ways to Rome
signal = u.signal_bin
signal = u['signal.bin']
signal = u.entries['signal.bin']
signal = u[0]
# shortcuts also work, if they are not ambiguous
signal = u.signal
signal = u['signal']
print(type(signal))
# signalEntry
Data can be loaded (if datatypeis supported, ie a standard numpy dtype) via data= signal.get_data()
You can add Entries simply by
import numpy as np
from unisens import SignalEntry
data = np.random(2, 2560)
s = SignalEntry(id='eeg.bin', parent=u)
# parent=u makes sure the signal is added to this Unisens object
# saving the data to eeg.bin
s.set_data(data, sampleRate=256, contentClass='EEG')
u.save() # will update the unisens.xml
More documentation can be found at API-OVERVIEW.md and in the function descriptors
Please report any bugs or improvements via a Github issue.