Documentation#

Welcome to the osl-dynamics documentation!

New users can start with the Getting Started guide for a quick introduction and then work through the tutorials below. The FAQ covers common questions about data preparation, model training, and post-hoc analysis.

API Reference#

The API reference provides documentation for all classes, methods, and functions in osl-dynamics.

Models#

Model

State type

Temporal model

Best for

HMM

Discrete (mutually exclusive)

Markovian (transition probability matrix)

Resting-state analysis; interpretable summary stats

DyNeMo

Continuous (linear mixture of modes)

Non-Markovian (RNN)

Task data; overlapping network activity

DyNeSte

Discrete (mutually exclusive)

Non-Markovian (RNN)

Discrete states with long-range dynamics

M-DyNeMo

Continuous (linear mixture; separate for power and FC)

Non-Markovian (RNN)

Separate power and connectivity dynamics

HIVE

Discrete (mutually exclusive)

Markovian (transition probability matrix)

Modelling inter-session variability (e.g. subjects, scanners, sites)

Also see the FAQ for guidance on choosing a model and hyperparameters.

Parcellations#

For information regarding the parcellations available in osl-dynamics, see here.

Tutorials#

The following tutorials illustrate basic usage and analysis that can be done with osl-dynamics.

M/EEG processing tutorials:

Also see Canonical-HMM-Networks for start-to-end tutorials with Elekta, CTF, OPM and EEG data.

Data tutorials:

Static (time-averaged) modelling tutorials for MEG:

Dynamic modelling tutorials:

HMM post-hoc analysis tutorials:

DyNeMo post-hoc analysis tutorials:

Task analysis tutorials:

Group-level analysis tutorials:

Examples Directory#

More examples scripts can be found in the examples directory of the repository.

Workshops#

The OHBA Methods Group organises teaching workshops for analysing M/EEG data using osl-ephys and osl-dynamics.

Links to past workshops: