v2.0.0
Loading...
Searching...
No Matches
decoding_spoc.h File Reference

Source Power Comodulation (SPoC) for regressing continuous targets onto narrowband M/EEG power. More...

#include "decoding_global.h"
#include <Eigen/Core>
#include <vector>
Include dependency graph for decoding_spoc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DECODINGLIB::DecodingSpoc
 Source Power Comodulation decoder for continuous-target regression on band-power. More...

Namespaces

namespace  DECODINGLIB
 Supervised and unsupervised spatial-filter decompositions for M/EEG decoding.

Detailed Description

Source Power Comodulation (SPoC) for regressing continuous targets onto narrowband M/EEG power.

SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.2.1
Date
May 2026

SPoC is the regression analogue of CSP: instead of two class covariances it solves the generalised eigenproblem \(\Sigma_z w = \lambda \Sigma w\) where \(\Sigma\) is the trial-averaged covariance of band-passed epochs and \(\Sigma_z\) is the same covariance weighted (and centred) by the per-trial target variable \(z\). The leading eigenvector therefore extracts a spatial filter whose epoch-wise band-power envelope maximally covaries with the external regressor, which can be a behavioural score, a stimulus parameter, a haemodynamic signal recorded in parallel, or any other continuous label. The method was introduced by Dähne, Meinecke, Haufe, Höhne, Tangermann, Müller & Nikulin, SPoC: a novel framework for relating the amplitude of neuronal oscillations to behaviorally relevant parameters, NeuroImage 86, 2014.

DecodingSpoc mirrors mne.decoding.SPoC and reuses the same fit / transform / fitTransform scikit-learn pattern as DecodingCsp, including the AveragePower vs CspSpace TransformMode switch and the optional log / z-score normalisation of the band-power features. Inputs are expected to be already band-passed (SPoC has no spectral component of its own) and the target vector must be aligned one-to-one with the epoch list.

Definition in file decoding_spoc.h.