This repository contains specifications for the "Experiment Directory Layout" (EDL) storage layout as used by the Syntalos data acquisition tool.
It also contains a Python module, edlio
, to easily load and save data in an EDL structure
for simplified raw experiment data management.
Check out the online documentation to learn more about this project!
You can install edlio
using pip:
pip install edlio
You can then use it in your projects to load data, for example for a project
that comntains some camera capture data in a videos
group:
import sys
import edlio
import cv2 as cv
# load our data collection
dcoll = edlio.load('/path/to/edl/dataset/directory')
# display some information about this dataset
print('Loaded data collection {}, created on {}, recording length: {}'.format(
dcoll.collection_idname,
dcoll.time_created,
dcoll.attributes.get('recording_length_msec', 'unknown')))
# get reference to the "videos" group
egroup = dcoll.group_by_name('videos')
if not egroup:
print('This dataset did not contain a "videos" group!')
sys.exit(1)
# get the "generic-camera" dataset
dset = egroup.dataset_by_name('generic-camera')
if not dset:
print('Dataset "generic-camera" was not found in {}.'.format(dcoll.collection_idname))
sys.exit(1)
# display all frames from this dataset and their timestamps (if any were found)
for frame in dset.read_data():
print('Frame time: {}'.format(frame.time))
cv.imshow(dset.name, frame.mat)
if cv.waitKey(25) & 0xFF == ord('q'):
break
You can find more examples in the documentation. We also provide full API documentation.