https://github.com/cvjena/sleepstageclassification

https://github.com/cvjena/sleepstageclassification

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: sciencedirect.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: cvjena
  • Language: MATLAB
  • Default Branch: main
  • Size: 137 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

Sleep Stage Classification

Overview

We developed and trained three models based on ECG data, piezo data and the combination of both signals.

  1. Relevant features were first extracted from the two signals.
  2. These features for each 30s epoch served as a basis to train Support Vector Machines (SVM).
  3. The trained models were then applied to different data sets to test their applicability and generalisation capability.
  4. Finally, a comprehensive evaluation was carried out to assess the performance of the models.

The heart rate (BPM: beats per minute) and activity (short, moving average over one minute) from a 30-minute recording are displayed as examples. Below, the manually annotated sleep stages (observed Dataset B), the predictions from the piezo+ECG model, and the classifications from the Sleepware G3 (Philips) sleep lab software are shown for comparison.

Data

We used 28 PSG data sets from preterm infants. ECG (200 Hz) and piezo signal (200 Hz) were extracted from these data sets.

The probands had a gestational age at birth of 27-34 weeks and a postmenstrual age at measurement with a median of 35.5 weeks.

Due to data protection restrictions, the data cannot be published.

Code

  • src/preprocessing/ Scripts for filtering signals and removing noise.
  • src/data_analysis/ Calculate statistical measures like Cohen's kappa to evaluate agreement.
  • src/feature/ Extract features from ECG and piezo signals, such as heart rate variability (HRV) and movement patterns.
  • src/SVM/ Build, train, and test Support Vector Machine (SVM) models.
  • src/sleep_analysis/ Analyze sleep data, including calculating average sleep duration and the distribution of sleep stages.
  • models/ Store trained models used for testing on different datasets.
  • plots/ Generate plots and visualizations of results, such as performance metrics and analysis outcomes.

Dependencies

requirements.txt contains all the packages that are related to the project.

Citation

The work can be cited using below citation information. Demme, N., Shadaydeh, M., Schieder, L., Doerfel, C., Jähkel, S., Holthoff, K., Proquitté, H., Denzler, J., Graf, J. (2025). Towards unobtrusive sleep stage classification in preterm infants using machine learning. In: Biomedical Signal Processing and Control

or as bib entry ```bibtex @article{DemmeSleepClassification2025, author="Demme, Nathalie and Shadaydeh, Maha and Schieder, Laura and Doerfel, Claus and J{\"a}hkel, Stella and Holthoff, Knut and Proquitté, Hans and Denzler, Joachim and Graf, J{\"u}rgen", journal="Biomedical Signal Processing and Control", title="Towards unobtrusive sleep stage classification in preterm infants using machine learning", year="2025", url={https://www.sciencedirect.com/science/article/pii/S174680942500415X} }

```

Owner

  • Name: Computer Vision Group Jena
  • Login: cvjena
  • Kind: organization
  • Location: Jena

GitHub Events

Total
  • Push event: 1
  • Public event: 1
  • Fork event: 1
Last Year
  • Push event: 1
  • Public event: 1
  • Fork event: 1

Dependencies

requirements.txt pypi
  • Fleiss ==2.0.0.0
  • HeartRateVariabilityFeatureSet ==0.1.3
  • Matlabtools *
  • Plot *
  • SignalProcessingToolbox *
  • SimpleCohen *
  • edfRead ==2.10.0.1
  • export_fig ==3.47