Project Aghermann
|
|
This is Project Aghermann, a program designed to run Process S
simulations on Slow-Wave Activity profiles from (human) EEG
recordings as outlined in
Achermann et al (1993) and further developed in my
thesis.
In this capacity, Aghermann produces a set of sleep homeostat
parameters that can be used to describe and differentiate
individual sleepers, such as short vs long sleepers,
early vs late, etc.
Along the way to that goal, it has also grown to become a
capable sleep-research experiment manager, useful in
its own right.
|
Features
Experiment design
Aghermann keeps the recordings in an organized fashion in a
tree, following an experimental design commonly used in
sleep research, i.e., groups of subjects sleeping several
episodes per session, with recordings from a number of
channels.
- Overview of all subjects sleeping in a given session,
showing all episodes' SWA profiles stringed on a common
timeline, aligned and laid out against day/night
cycle.
-
Per-channel annotations, with an
experiment-wide dialog for quickly jumping to so
bookmarked episodes.
- There is a sample dataset (two
subjects, 4 episodes in each, C3, Fz and EOG+EMG), which
can be downloaded and immediately used in Aghermann on
fresh start).
Experimental design overview
| |
Viewing/Scoring facility
Facility for displaying EEG and accompanying recordings,
such as EOG and EMG, saved in
EDF European Data Format files.
All minute details exposed thanks
to cairo subpixel drawing
(alternatively, signal can be downsampled for faster
redraw).
Butterworth low-pass, high-pass and
band-pass filters.
Display of either original and filtered signal, or
both.
For EEG signals, PSD profiles can be
displayed (in a defined frequency range or in a
conventional band) in overlay.
EMG signal profile, allowing easily to spot REM or
the time when subject sees a violent dream.
-
Recordings can be conveniently scored; scores can be
imported/exported in plain ASCII.
- Scoring asistance is very rudimentry, and will likely remain so.
Independent Component Analysis
using FastICA routines
from itpp. Reconstituted signals can be
saved back to EDF source.
EEG signals can be further manually filtered
for artifacts. The resulting PSD comes from
cleaner epochs, greatly enhancing the SWA profile
(crucial for a good Process S model simulation
output).
Pattern finding. A pattern is
characterized by its low-frequency component (adjustable
cutoff and filter order), its envelope (a pair of lines
connecting local extrema, with adjustable 'tightness'),
and a density function of the zerocrossings of signal
derivative (with variable sigma and sampling interval,
interpolated). Using these criteria and some tuning,
one can find occurrences of a pattern (say, a K-complex)
in the signal.
Phase difference between channels,
which can hint at the direction of propagation of EEG
waves in a certain frequency band. It is determined as
a shift of one signal's band-passed component against
another such that the difference between them is
minimal. (This
feature's usefulness is highly tentative
though.)
EDF header viewer/editor
A simple EDF header editor (edfhed-gtk) and a console-only
viewer (edfhed) are provided.
|
Scoring facility, showing a marked artifact
Scoring facility, showing an annotation and the pattern
find dialog
|
Achermann model simulation
Simulated annealing (configurable, from gsl) is used to fit
SWA in Achermann's model simulations. You can also:
Interactively explore the effect of
each model parameter on the course of Process S by
tweaking the knobs manually;
Generate and save a summary of
simulations for your subjects, for further stats.
|
A model run
|
Planned features
- Support EDF+.
- More advanced Slow-Wave metrics than gross SWA profile (defined as PSD/band/page).
Download
|
|
The latest version is 0.4.0, released 2011-11-01 (ChangeLog).
The
current release
(and older versions) can be found here,
along with deb packages for the amd64
and i386 architectures.
The project's public Git repositories are hosted on
GitHub and
at SourceForge.
|