Skip to main content

Python library for automatically detecting interictal epileptiform discharges (IEDs) by means of nonnegative matrix factorization (NMF)

Project description

automatic-spike-detection

The automatic-spike-detection package is a Python library for automatically detecting interictal epileptiform discharges (IEDs) in intracranial EEG (iEEG) recordings.

IEDs, also referred to as ”spikes”, are a characteristic of the epileptic brain that are recognizable as large transient events in the electroencephalogram of patients living with epilepsy [1]. Whereas, for clinicians, IEDs can provide valuable information about the epileptogenic zone, for researchers, they can also be a source of noise and need to be excluded, such as in [2] where Cusinato and Alnes et al. studied how the human brain processes sounds. Regardless of the context, the localization of IEDs in EEG recordings is a very time-consuming task.

This package aims to contribute to this issue by building on an algorithm previously developed by Baud et al. [3] that employs nonnegative matrix factorization (NMF) to automatically detect IEDs, an unsupervised machine-learning algorithm that produces a lower-dimensional approximation of the input.

It is important to note, that the algorithm used by this package is optimized for and was solely tested on iEEG recordings. Intracranial EEG is an invasive technique with implanted electrodes that is used for clinical monitoring, e.g. to identify the epileptogenic zone and prepare for epilepsy surgery. The primary characteristic of iEEG is that it provides high spatial and temporal resolution of the electrical activity in the brain, which makes it a valuable resource for neuroscientific research as well [4].

Please consult the automatic-spike-detection Documentation for details on the underlying concepts of the algorithm, the Installation and Usage , and the application programming interface (API)

Contributions

In addition to the dependencies in the requirements.txt file, you need to install the dependencies listed in the dev-requirements.txt file, which provides some formatting tools:

pip install requirements.txt
pip install dev-requirements.txt

References

[1] Marco de Curtis and Giuliano Avanzini. "Interictal spikes in focal epileptogenesis". Progress in Neurobiology 63, no.5 (2001): 541-567.

[2] Riccardo Cusinato, Sigurd L. Alnes, Ellen van Maren, Ida Boccalaro, Debora Ledergerber, Antoine Adamantidis, Lukas L. Imbach, Kaspar Schindler, Maxime O. Baud, and Athina Tzovara. Intrinsic neural timescales in the temporal lobe support an auditory processing hierarchy. Journal of Neuroscience, 43(20):3696–3707, 2023.

[3] Maxime O. Baud, Jonathan K. Kleen, Gopala K. Anumanchipalli, Liberty S. Hamilton, Yee-Leng Tan, Robert Knowlton, and Edward F. Chang. Unsupervised learning of spatiotemporal interictal discharges in focal epilepsy. Neurosurgery, 83(4), 2018.

[4] Elizabeth L Johnson, Julia W Y Kam, Athina Tzovara, and Robert T Knight. Insights into human cognition from intracranial eeg: A review of audition, memory, internal cognition, and causality. Journal of Neural Engineering, 17(5):051001, oct 2020.

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

automatic-spike-detection-1.2.6.tar.gz (48.0 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file automatic-spike-detection-1.2.6.tar.gz.

File metadata

File hashes

Hashes for automatic-spike-detection-1.2.6.tar.gz
Algorithm Hash digest
SHA256 98a286ac10f666b2515b39d33d98d8fc36ead28d7552e25611d4e52ca6b6e0c0
MD5 ddd5f0956acec7758e0b1affe29856f8
BLAKE2b-256 a602c3a0c6c26661065f05fe2e07d74f0ead6c9af9e925eccc167bfc4c7ac42a

See more details on using hashes here.

File details

Details for the file automatic_spike_detection-1.2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for automatic_spike_detection-1.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1f38d9e00bffd2a0c7ea7dbf22f3ae88dfbd49edd6e5d05d288b9eaadf526ebd
MD5 3e8cdbb3723d9f01c83cfd0a0fb41cea
BLAKE2b-256 a2a4e26a6869bd03db19bd33abf379f39bbdf8264c24fd219f974c48cb0cc175

See more details on using hashes here.

Supported by

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