Published October 16, 2024 | Version v2
Dataset Open

Spiking Seizure Classification Dataset

  • 1. Institute of Neuroinformatics
  • 2. ROR icon University of Zurich
  • 3. ROR icon ETH Zurich
  • 4. ROR icon Tokyo Institute of Technology
  • 5. ROR icon University Hospital of Zurich

Description

Dataset for event encoded analog EEG signals for detection of Epileptic seizures 

This dataset contains events that are encoded from the analog signals recorded during pre-surgical evaluations of patients at the Sleep-Wake-Epilepsy-Center (SWEC) of the University Department of Neurology at the Inselspital Bern. The analog signals are sourced from the SWEC-ETHZ iEEG Database

This database contains event streams for 10 seizures recorded from 5 patients and generated by the DYnamic Neuromorphic Asynchronous Processor (DYNAP-SE2) to demonstrate a proof-of-concept of encoding seizures with network synchronization. The pipeline consists of two parts (I) an Analog Front End (AFE) and (II) an SNN termed as"Non-Local Non-Global" (NLNG) network. 

In the first part of the pipeline, the digitally recorded signals from SWEC-ETHZ iEEG Database are converted to analog signals via an 18-bit Digital-to-Analog converter (DAC) and then amplified and encoded into events by an Asynchronous Delta Modulator (ADM). Then in the second part, the encoded event streams are fed into the SNN that extracts the features of the epileptic seizure by extracting the partial synchronous patterns intrinsic to the seizure dynamics. 

Details about the neuromorphic processing pipeline and the encoding process are included in a manuscript under review.  The preprint is available in bioRxiv

Installation
The installation requires Python>=3.x and conda (or py-venv) package. Users can then install the requirements inside a conda environment using 

conda env create -f requirements.txt -n sez


Once created the conda environment can be activated with conda activate sez

The main files in the database are described in the hierarchy below.
 
EventSezDataset/
├─ data/
│ ├─ P x S x
│ │ ├─ Pat x _Sz_ x _CH x .csv
├─ LSVM_Params/
│ ├─ opt_svm_params/
│ ├─ pat_x_features_SYNCH/
├─ fig_gen.py
├─ sync_mat_gen.py
├─ SeizDetection_FR.py
├─ SeizDetection_SYNCH.py
├─ support.py
├─ run.sh
├─ requirements.txt
 
where x represents the Patient ID and the Seizure ID respectively.
  • requirements.txt: This file lists the requirements for the execution of the Python code.
  • fig_gen.py: This file plots the analog signals and the associated AFE and NLNG event streams. The execution of the code happens with `python fig_gen.py 1 1 13', where patient 2, seizure 1, and channel 13 of the recording are plotted.
  • sync_mat_gen.py: This file describes the function for plotting the synchronization matrices emerging from the ADM and the NLNG spikes with either linear or log colorbar. The execution of the code happens with `python sync_mat_gen.py  1 1' or `python sync_mat_gen.py 1 1 log'. This execution generated four figures for pre-seizure, First Half of seizure, Second Half of seizure, and post-seizure time periods, where patient 1 and seizure 1. The third option can either be left blank or input as `lin` or `log`, for respective color bar scales. The time is the signal-time as mentioned in the table below.
  • run.sh: A simple Linux script to run the above code for all patients and seizures.
  • SeizDetection_FR.py: This file runs the LSVM on the ADM and NLNG spikes, using the firing rate (FR) as a feature. The code is currently set up with plotting with pre-computed features (in the LSVM_Params/opt_svm_params/ folder). Users can use the code for training the LSVM with different parameters as well.
  • SeizDetection_SYNCH.py: This file runs the LSVM on the kernelized ADM and NLNG spikes, using the flattened SYNC matrices as a feature. The code is currently set up with plotting with pre-computed features (in the LSVM_Params/pat_x_features_SYNCH/ folder). Users can use the code for training the LSVM with different parameters as well.
  • LSVM_Params: Folder containing LSVM features with different parameter combinations.
  • support.py: This file contains the necessary functions.
  • data/P1S1/: This folder, for example, contains the event streams for all channels for seizure 1 of patient 1.</p>
    • Pat1_Sz_1_CH1.csv: This file contains the spikes of the AFE and the NLNG layers with the following tabular format (which can be extracted by the fig_gen.py)

## Comments

# SStart: 180        //Start of the Seizure in signal time
# SEnd: 276.0       //Start of the Seizure in signal time
# Pid: 2                  // The patient ID as per the SWEC-ETHZ iEEG Database             
# Sid: 1                  // The Seizure ID as per the SWEC-ETHZ iEEG Database             
# Channel_No: 1  // The channel number

SYS_time signal_time dac_value ADMspikes NLNGspikes
The time from the interface FPGA The time of the signal as per the SWEC ETHZ Database The value of the analog signals as recorded in the SWEC ETHZ Database The event-steam is the output of the AFE in boolean format. True represents a spike The spike-steam is the output of the SNN in boolean format. True represents a spike

Notes (English)

Patient Description

ID SWEC Database ID Age (y) Engel outcome  No. of electrodes

Seizure durations

(Sez-1/Sez-2) (s)

Epilepsy

lobe/MRI 

1 ID2 19 1 42 96/260 TLE/pos. 
2 ID9 27 1 56 104/118 TLE/neg.    
3 ID1 24 2 47 125/70 TLE/neg.    
4 ID16 31 2 59 81/67 TLE/pos.  
5 ID4 32 4 62 160/127 PLE/pos.

 

Abstract (English)

Long-term monitoring of biomedical signals is crucial for modern clinical treatment of neurological disorders such as epilepsy. Encoding epileptic seizures with partial synchronization using a spiking neural network (SNN) offers a promising avenue as such networks can be implemented on ultra-low-power neuromorphic processors. Indeed, such bio-inspired neuromorphic systems containing mixed-signal asynchronous electronic circuits can perform always-on monitoring of biomedical signals for extended periods of time, without having to employ traditional clocked analog-to-digital conversion or cloud-based processing platforms.

Here, we present a novel SNN architecture, co-designed and implemented with a mixed-signal neuromorphic chip, for monitoring epileptic seizures. Our hardware-aware SNN captures the phenomenon of partial synchronization within brain activity during seizures. We validate the network on a full-custom mixed-signal neuromorphic hardware using real-time analog signals converted from an Electroencephalographic (EEG) seizure data-set, and encoded as streams of events by an asynchronous delta modulation (ADM) circuit, directly integrated, together with its analog front-end (AFE) signal conditioning circuits, on the same die of the neuromorphic SNN chip.

We demonstrate the ability of the hardware SNN to extract local synchronization patterns from the event streams and show that such patterns can facilitate seizure detection using a simple linear classifier. This research represents a significant advancement toward developing embedded intelligent “wear and forget” units for resource-constrained environments. These units could autonomously detect and log relevant EEG events of interest in out-of-hospital environments, offering new possibilities for patient care and management of neurological disorders.

Files

EventSezDataset.zip

Files (999.6 MB)

Name Size Download all
md5:182398cd02e518f1f26f75364b2975e8
999.6 MB Preview Download

Additional details

Additional titles

Alternative title (English)
An event-driven neural network for monitoring of epileptic seizures on low-power neuromorphic hardware

Dates

Updated
2024-10-16