DOI10.5281/zenodo.13940412Zenodo13940412MaRDI QIDQ6695424FDOQ6695424
Dataset published at Zenodo repository.
Hiroyuki Ito, Johannes Sarnthein, Giacomo Indiveri, Saptarshi Ghosh, Jim Bartels, Olympia Gallou, Cook Matthew
Publication date: 16 October 2024
Copyright license: Creative Commons Attribution-ShareAlike 4.0 International
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 InstallationThe 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
This page was built for dataset: Spiking Seizure Classification Dataset