Overview

This section provides an overview of the AperiodicMethods project.

The AperiodicMethods project is an investigation and comparison of methods that can be used to measure aperiodic activity in neural time series.

Various conceptual and methodological approaches have been taken to investigate the structure of electrophysiological data. This includes various methods and approaches for investigating ‘aperiodic’ activity, by which we mean activity that has no characteristic frequency. This contrasts with periodic activity, or neural oscillations, which have characteristic, repetitive structure.

In this project, we take a general approach to considering methods that measure ‘aperiodic activity’, and include methods that explicitly measure specifically defined aperiodic components of the data (such as 1/f components), as well as potentially related methods that measure aspects of the structure of the data, (for example, complexity and entropy measures). While these methods have clearly distinct contexts and technical details, the extent to which they empirically relate to each other is under-investigated. Therefore, in this project, we attempt to systematically compare these methods, using simulated and empirical data.

Project Guide

This project is an investigation of available methods for investigating aperiodic neural activity.

Tooling

The following tools are used in this project:

  • neurodsp is used for simulating data and applying DSP measures

  • specparam is used for simulating and parameterizing power spectra

  • antropy is used for complexity and entropy measures

  • neurokit2 is used for some additional complexity measures

  • lisc is used for the literature analyses

# Setup notebook state
from nbutils import setup_notebook; setup_notebook()
# Import neurodsp functions for computing measures and plotting results
from neurodsp.plts import plot_time_series, plot_power_spectra
from neurodsp.spectral import compute_spectrum
# Import custom project code
from apm.sim.examples import get_times, get_examples
from apm.sim.settings import FS

Settings

# Get example signals
times = get_times()
examples = get_examples()

Neural Time Series

This section introduces the basics of the kinds of neural time series we will examine in this project.

First, let’s visualize an example time series, simulated to mimic a neural time series, having an aperiodic component, and overlying periodic activity.

# Visualize a simulated neural time series
plot_time_series(times, examples['combined'], xlim=[5, 8])
../_images/00-Overview_8_0.png

Next, let’s examine the power spectrum for the signal we just imported.

# Compute and visualize a power spectrum from the above signal
freqs, powers = compute_spectrum(examples['combined'], FS)
plot_power_spectra(freqs, powers)
../_images/00-Overview_10_0.png

This kind of signal is representative of the kind of neural signals we will examine in this project.

In the subsequent sections, we will explore the different kinds of methods that can be used to examine these kinds of signals, define some simulations to test these methods, and then evaluate these methods across both simulated and empirical data.