Skip to main content

Python tools for DAQ-HDF5 (dh5) file format used at Brain Research Institute of University of Bremen

Project description

Python Tools for the DAQ-HDF5 format

A Python package for handling DAQ-HDF5(*.dh5) files. The DH5 format is a hierarchical data format based on HDF5 designed for storing and sharing neurophysiology data, used in the Brain Research Institute of the University of Bremen since 2005.

Python Tests

  • dhspec contains the specification of the DAQ-HDF5 file format as Python code.
  • dh5io contains code for reading, writing and validating HDF5 files containing data according to the DAQ-HDF5 specfication.
  • dh5neo (WIP) contains code for reading DAQ-HDF5 data into Neo objects (e.g. for use with Elephant, SpikeInterface and ephyviewer

Getting started

Installation

Install the package using uv (recommended):

uv pip install dh5io

Or with pip:

pip install dh5io

Reading and writing from and into DH5 files

from dh5io.dh5file import DH5File

with DH5File(example_filename, "r") as dh5:
    # inspect file content
    print(dh5)

    cont = dh5.get_cont_group_by_id(1)  # Get CONT group with id 1
    print(cont)

    trialmap = dh5.get_trialmap()
    print(trialmap)
  DAQ-HDF5 File (version 2) <example_filename> containing:
      ├───CONT Groups (7):
      │   ├─── CONT1
      │   ├─── CONT60
      │   ├─── CONT61
      │   ├─── CONT62
      │   ├─── CONT63
      │   ├─── CONT64
      │   └─── CONT1001
      ├───SPIKE Groups (1):
      │   └─── SPIKE0
      ├─── 10460 Events
      └─── 385 Trials in TRIALMAP

  /CONT1 in <example_filename>
      ├─── id: 1
      ├─── name:
      ├─── comment:
      ├─── sample_period: 1000000 ns (1000.0 Hz)
      ├─── n_channels: 1
      ├─── n_samples: 1443184
      ├─── duration: 3021.76 s
      ├─── n_regions: 385
      ├─── signal_type: None
      ├─── calibration: [1.0172526e-07]
      ├─── data: (1443184, 1)
      └─── index: (385,)

This example shows how to open a DH5 file, inspect its content, and retrieve a specific CONT group. The DH5File class provides methods for accessing the various groups and datasets within the file. The Cont, Spike (coming in next versions) and Trialmap classes provide convenient wrappers for working with these raw HDF5 groups and datasets. The corresponding h5py classes can be accessed directly for lower-level operations using the _file, _group and _dataset attributes (e.g. cont._group or cont.data._dataset).

As an alternative to the object-oriented approach using DH5File, you can use the functional API provided by the library. This API offers a set of functions for reading and writing data to DH5 files without the need to create file objects. These functions in the respective modules (h5io.cont, h5io.spike, etc.) use the h5py classes as input and output. This is the recommended way if you are familiar with HDF5 and the specification of the DH5 format.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dh5io-0.4.1.tar.gz (115.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dh5io-0.4.1-py3-none-any.whl (86.9 kB view details)

Uploaded Python 3

File details

Details for the file dh5io-0.4.1.tar.gz.

File metadata

  • Download URL: dh5io-0.4.1.tar.gz
  • Upload date:
  • Size: 115.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dh5io-0.4.1.tar.gz
Algorithm Hash digest
SHA256 c098fa51568c27e7f2cef7095dba143f3a776b40d2c692feda599a77140ffb5c
MD5 815cfd66e35109b9fa9aa7d1e878d85b
BLAKE2b-256 0dfbe358270fd43c7360e7174a3063d56fd65c6c1d7e10740cd9f7172face685

See more details on using hashes here.

File details

Details for the file dh5io-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: dh5io-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 86.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dh5io-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 747f17645117e2b0cd15bec3b9b5d2b5c7833c665330c4ce546abfec6832b404
MD5 5981358cbf08f027cd6241cb27c4d1f9
BLAKE2b-256 b7b15eb07d8815c172d669365e76392a5d765a5a35548c9ecdc4935cfcaf1452

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page