Modelling discrete states and long-term dynamics in functional brain networks.
The 36 matches
- [1] § Methods › Simulation analysis ↔ simulation/04_compare_simulations.py, lines 169–257 · score 0.81 · Jensen Shannon, JS distances, RV coefficient, rensen coefficient, Dice, DyNeStE
- [2] § Methods › Simulation analysis ↔ simulation/03_analyze_simulations.py, lines 105–151 · score 0.79 · sample Kolmogorov Smirnov, alpha threshold, lifetime distribution, state lifetime, Bonferroni correction, activation
- [3] § Methods › Replay data analysis › Statistical analysis ↔ replay/utils/plotting.py, lines 278–389 · score 0.77 · replay evoked network, Bonferroni corrected, state probabilities, MNE, cluster, dimension
- [4] § Results › Real data analysis: Replay ↔ replay/utils/plotting.py, lines 278–389 · score 0.76 · Replay evoked network, standard error, RSN state, Bonferroni corrected, state probabilities, cluster
- [5] § Methods › TINDA analysis › Detection of cyclical structure and cycle strength ↔ nott_meguk/utils/plotting.py, lines 830–955 · score 0.70 · unit circle, asymmetry matrix, nodes, counterclockwise, cycle, edges
- [6] § Methods › Model training ↔ nott_meguk/01_train_dyneste.py, lines 44–132 · score 0.69 · variational free energy, model hyperparameters, state covariance, curves, trained
- [7] § Methods › Power and functional connectivity ↔ nott_meguk/04_analyze_network_descriptions.py, lines 91–136 · score 0.68 · half bandwidth, 1–45 Hz, taper, computation, spectral, PSDs
- [8] § Methods › Power and functional connectivity ↔ replay/02_analyze_network_descriptions.py, lines 88–133 · score 0.68 · half bandwidth, 1–45 Hz, taper, computation, spectral, PSDs
- [9] § Methods › Datasets › Simulation ↔ simulation/04_compare_simulations.py, lines 169–257 · score 0.66 · JS distance, RV coefficients, rensen coefficient, violin, Dice, DyNeStE
- [10] § Methods › Model training ↔ nott_meguk/02_train_hmm.py, lines 44–120 · score 0.66 · variational free energy, model hyperparameters, state covariance, trained
- [11] § Methods › Dynamic network states (DyNeStE) › Inference of model parameters ↔ nott_meguk/01_train_dyneste.py, lines 44–132 · score 0.66 · variational free energy, state covariances, train DyNeStE, gradient, inference, model
- [12] § Methods › Replay data analysis ↔ replay/03_analyze_replay_network.py, lines 132–174 · score 0.66 · prevent high variance, replay intervals, RSN state, active
- [13] § Methods › Split-half reproducibility ↔ nott_meguk/06_analyze_split_half_reproducibility.py, lines 91–166 · score 0.64 · split halves, power maps, cosine, reproducible, permutation, MEGUK
- [14] § Results › Real data analysis: Nottingham MEGUK › DyNeStE infers plausible categorical dynamic brain networks ↔ nott_meguk/05_analyze_network_dynamics.py, lines 55–144 · score 0.64 · switching rates, fractional occupancies, network dynamics, lifetimes, DyNeStE, intervals
- [15] § Methods › TINDA analysis › Circle plot visualisation and timescale-specific analysis ↔ nott_meguk/09_run_tinda_analysis.py, lines 544–589 · score 0.63 · equal variance assumptions, cycle strengths, Welch, TINDA, quintiles, Bonferroni
- [16] § Methods › Replay data analysis › Statistical analysis ↔ replay/04_visualize_replay_network.py, lines 44–82 · score 0.63 · replay evoked, replay rates, replay intervals, Fano factor, activations, network
- [17] § Results › Real data analysis: Nottingham MEGUK › DyNeStE infers plausible categorical dynamic brain networks ↔ nott_meguk/05_analyze_network_dynamics.py, lines 55–144 · score 0.60 · Riemannian distances, Network dynamics, HMM state, violin, correlations, DyNeStE
- [18] § Results › Simulation analysis › DyNeStE captures long-range temporal dependencies in simulated data ↔ simulation/03_analyze_simulations.py, lines 47–103 · score 0.59 · ground truth, rensen coefficients, covariance matrices, Dice, simulation, matched
- [19] § Methods › Datasets › Simulation ↔ simulation/03_analyze_simulations.py, lines 105–151 · score 0.59 · state lifetime distributions, covariance matrices, KS, gamma, distances, simulated
- [20] § Methods › Replay data analysis ↔ replay/03_analyze_replay_network.py, lines 87–130 · score 0.59 · baseline corrected, Replay evoked, epoched, activations, network
- [21] § Methods › Measures of long-range temporal dependencies › Statistical analysis ↔ nott_meguk/08_visualize_long_term_dependency.py, lines 97–153 · score 0.59 · Bonferroni correction, MNE, Fano factor, cluster, MI, lags
- [22] § Results › Simulation analysis › DyNeStE learns categorical latent states in simulated data ↔ simulation/03_analyze_simulations.py, lines 47–103 · score 0.58 · ground truth, rensen coefficient, covariance matrices, Dice, simulated, DyNeStE
- [23] § Methods › Measures of long-range temporal dependencies › Time-lagged mutual information ↔ nott_meguk/utils/analysis.py, lines 322–416 · score 0.58 · mutual information, geometric, entropy, nats, lags, MI
- [24] § Methods › Power and functional connectivity ↔ nott_meguk/04_analyze_network_descriptions.py, lines 180–257 · score 0.57 · power spectral densities, power maps, connectivity, PSDs, networks, HMM
- [25] § Results › Real data analysis: Nottingham MEGUK › DyNeStE learns long-range temporal dependencies ↔ nott_meguk/08_visualize_long_term_dependency.py, lines 97–153 · score 0.57 · mutual information, Bonferroni corrected, window lengths, Fano factors, cluster, lags
- [26] § Results › Simulation analysis › DyNeStE captures long-range temporal dependencies in simulated data ↔ simulation/01_train_dyneste.py, lines 67–108 · score 0.57 · transition probability matrix, ground truth, trained DyNeStE, simulated, models
- [27] § Methods › Power and functional connectivity ↔ replay/02_analyze_network_descriptions.py, lines 177–244 · score 0.57 · power spectral densities, power maps, connectivity, PSDs, networks
- [28] § Methods › TINDA analysis › Detection of cyclical structure and cycle strength ↔ nott_meguk/09_run_tinda_analysis.py, lines 544–589 · score 0.57 · equal variance assumptions, cycle strength, alpha, matrix, HMM, DyNeStE
- [29] § Methods › TINDA analysis › Circle plot visualisation and timescale-specific analysis ↔ nott_meguk/utils/statistics.py, lines 76–138 · score 0.56 · equal variance assumptions, Bonferroni correction, Welch, threshold, alpha
- [30] § Results › Real data analysis: Replay ↔ replay/04_visualize_replay_network.py, lines 44–82 · score 0.56 · replay evoked, replay rates, replay interval, activations, network, HMM
- [31] § Methods › TINDA analysis › Fractional occupancy asymmetry matrix ↔ nott_meguk/utils/analysis.py, lines 671–692 · score 0.56 · fractional occupancy, asymmetry matrices, cyclic, TINDA
- [32] § Methods › Dynamic network states (DyNeStE) › Generative model ↔ simulation/01_train_dyneste.py, lines 110–183 · score 0.55 · variational free energy, model RNN, predict, DyNeStE, inference, covariance
- [33] § Methods › Dynamic network states (DyNeStE) › Inference of model parameters ↔ nott_meguk/02_train_hmm.py, lines 44–120 · score 0.54 · variational free energy, state covariances, inference, train, model
- [34] § Methods › Split-half reproducibility ↔ nott_meguk/utils/statistics.py, lines 141–191 · score 0.52 · power maps, cosine, reproducible, split, permutation, MEGUK
- [35] § Results › Real data analysis: Nottingham MEGUK › DyNeStE infers plausible categorical dynamic brain networks ↔ nott_meguk/utils/analysis.py, lines 12–45 · score 0.52 · switching rates, fractional occupancies, lifetimes, intervals
- [36] § Methods › Replay data analysis ↔ replay/03_analyze_replay_network.py, lines 132–174 · score 0.51 · Active RSN States, Replay Intervals
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Python · 151 lines · 5.1 KB · MIT · 4 matches
- """Script for analyzing model ability to learn long-range dependencies."""
- # Import packages
- import os
- import numpy as np
- from scipy.stats import ks_2samp
- from osl_dynamics.analysis import post_hoc
- from utils import validate_nd_arrays
- from utils import data as ud
- from utils import plotting as up
- if __name__ == "__main__":
- # -------------- [1] Settings -------------- #
- print("Step 1: Setting up ...")
- # Set user-defined parameters
- dyneste_run_ids = 0
- hmm_run_ids = 0
- # Validate user inputs
- if dyneste_run_ids != hmm_run_ids:
- raise ValueError(
- "Run IDs for DyNeStE and HMM must match to enable a valid comparison."
- )
- # Set directories
- BASE_DIR = "/well/woolrich/users/olt015/Cho2026_DyNeStE/simulation"
- MODEL_DIR = os.path.join(BASE_DIR, "results")
- FIG_DIR = os.path.join(BASE_DIR, "figures")
- os.makedirs(FIG_DIR, exist_ok=True)
- # Set colors for visualization
- cmap = ["#E69F00", "#56B4E9", "#009E73"] # Okabe-Ito color palette
- # -------------- [2] Single Simulation -------------- #
- print("Step 2: Analyzing a representative simulation ...")
- # Load inferred parameters
- dyneste_inf_params = ud.load_inf_params(
- MODEL_DIR, "dyneste", dyneste_run_ids
- )
- hmm_inf_params = ud.load_inf_params(
- MODEL_DIR, "hmm", hmm_run_ids
- )
- # Get state time courses
- dyneste_sim_stc = dyneste_inf_params["sim_stc"]
- dyneste_inf_stc = dyneste_inf_params["inf_stc"]
- dyneste_sam_stc = dyneste_inf_params["sam_stc"]
- hmm_sim_stc = hmm_inf_params["sim_stc"]
- hmm_inf_stc = hmm_inf_params["inf_stc"]
- hmm_sam_stc = hmm_inf_params["sam_stc"]
- # Match number of samples
- n_samples = dyneste_sam_stc.shape[0]
- dyneste_sim_stc = dyneste_sim_stc[:n_samples]
- dyneste_inf_stc = dyneste_inf_stc[:n_samples]
- hmm_sim_stc = hmm_sim_stc[:n_samples]
- hmm_inf_stc = hmm_inf_stc[:n_samples]
- # *_stc.shape = (n_samples, n_states)
- # Get dice coefficients
- dices = [
- dyneste_inf_params["dice_coefficient"],
- hmm_inf_params["dice_coefficient"],
- ]
- # Get state-specific covariance matrices
- dyneste_sim_cov = dyneste_inf_params["sim_cov"]
- dyneste_inf_cov = dyneste_inf_params["inf_cov"]
- hmm_sim_cov = hmm_inf_params["sim_cov"]
- hmm_inf_cov = hmm_inf_params["inf_cov"]
- # *_cov.shape = (n_states, n_channels, n_channels)
- # Validate simulation data
- validate_nd_arrays(dyneste_sim_stc, hmm_sim_stc)
- validate_nd_arrays(dyneste_sim_cov, hmm_sim_cov)
- sim_stc = dyneste_sim_stc
- sim_cov = dyneste_sim_cov
- n_states = sim_stc.shape[-1]
- # Plot state time courses
- print("(Step 2-1) Plotting state time courses ...")
- fig, axes = up.plot_alpha(
- sim_stc,
- dyneste_inf_stc,
- hmm_inf_stc,
- n_samples=4000,
- plot_kwargs={"alpha": 0.75},
- colors=cmap,
- )
- titles = ["Ground Truth", "DyNeStE", "HMM"]
- axes[-1].set_xlabel("Time (samples)", fontsize=14)
- for i, ax in enumerate(axes):
- title = f"{titles[i]}"
- if i > 0:
- title += f" (Dice Sørensen Coefficient: {dices[i - 1]:.4f})"
- ax.set_ylabel("Probabilities", fontsize=14)
- ax.set_title(title, fontsize=14)
- ax.tick_params(axis="both", which="both", labelsize=14)
- up.save(fig, os.path.join(FIG_DIR, "state_time_courses.png"))
- # Plot covariance matrices
- print("(Step 2-2) Plotting covariance matrices ...")
- covs = np.concatenate([
- sim_cov, dyneste_inf_cov, hmm_inf_cov,
- ], axis=0)
- # covs.shape = (n_total_states, n_channels, n_channels)
- fig, _ = up.plot_matrices(covs, cbar_label="Covariance")
- up.save(fig, os.path.join(FIG_DIR, "covariance_matrices.png"))
- # Plot state lifetime distributions
- print("(Step 2-3) Plotting state lifetime distributions ...")
- stcs = [sim_stc, dyneste_inf_stc, hmm_inf_stc, dyneste_sam_stc, hmm_sam_stc]
- stc_names = ["sim", "dyneste_inf", "hmm_inf", "dyneste_sam", "hmm_sam"]
- for stc, name in zip(stcs, stc_names):
- filename = os.path.join(FIG_DIR, f"{name}_lt.png")
- up.plot_state_lifetime_dist(
- stc,
- colors=cmap,
- gamma_shape=10,
- gamma_scale=5,
- filename=filename,
- )
- # Perform statistical testing on state lifetime distributions
- print("(Step 2-4) Two-Sample Kolmogorov-Smirnov test for goodness of fit")
- bonferroni_n_tests = n_states * 4
- alpha_thr = 0.05 / bonferroni_n_tests
- print(f"\tBonferroni-corrected alpha threshold: {alpha_thr:.4e}")
- sim_lt = post_hoc.lifetimes(sim_stc)
- for name, stc in zip(stc_names[1:], stcs[1:]):
- print(f"\tComparing '{name}' with simulated data ...")
- stc_lt = post_hoc.lifetimes(stc)
- # stc_lt.shape = (n_states, n_activations)
- for i, lt in enumerate(stc_lt):
- res = ks_2samp(sim_lt[i], lt, method="auto")
- print(
- f"\t\tState {i + 1}: test statistic = {res.statistic:.4f}, "
- f"p-value = {res.pvalue:.4e}, significance = {res.pvalue < alpha_thr}"
- )
- print("Analysis complete.")
03_analyze_simulations.py at commit b78a86c, under MIT · at the source
Overview
- Oxford Centre for Integrative Neuroimaging (OxCIN), University of Oxford, Oxford, United Kingdom
- Nuffield Department of Clinical Neurosciences, University of Oxford, Oxford, United Kingdom
- Department of Psychiatry, University of Oxford, Oxford, United Kingdom
- Department of Engineering Science, University of Oxford, Oxford, United Kingdom
Abstract
Functional brain network dynamics underlie fundamental aspects of human cognition and behaviour, including memory, ageing, and a range of clinical disorders. It has been shown that ongoing brain network dynamics can be reliably inferred at fast, sub-second timescales from electrophysiological data using unsupervised machine learning. However, these methods often struggle with inherent trade-offs. For example, Hidden Markov Models (HMMs) have been used to infer categorical brain network states that provide good interpretability but do not model long-range temporal structure. Recently, deep learning approaches using recurrent neural networks (e.g., Dynamic Network Modes) have been proposed to model long-range temporal dependencies, but at the expense of interpretability. In this paper, we introduce Dynamic Network States (DyNeStE) to address this problem. This new model employs amortised Bayesian inference with recurrent neural networks to model long-range temporal structure and uses a Gumbel-Softmax distribution to enforce categorical states for greater interpretability. In both simulations and real resting-state magnetoencephalography data, DyNeStE was able to recover plausible dynamic brain network states and showed superior performance over the HMM in capturing long-range temporal dependencies in network dynamics. These dynamic networks were reproducible across independent data splits and build on established HMM-based findings. Together, these results highlight DyNeStE as an interpretable and temporally informative framework, capable of representing large-scale neural activity as discrete state transitions while capturing transient and long-range brain network dynamics.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 36 matches between paragraphs and lines of code.
OHBA-analysis/Cho2026_DyNeStE
b78a86c688b472741067ba8abaa5c14146d77888, 18 February 2026Availability: 1 check, the latest on 28 September 2026: the link answers
- 28 September 2026: the link answers
40 files
- nott_meguk/
01_train_dyneste.py , Python, 132 lines, 2 matches - nott_meguk/
02_train_hmm.py , Python, 120 lines, 2 matches - nott_meguk/
03_select_best_model.py , Python, 78 lines - nott_meguk/
04_analyze_network_descr , Python, 257 lines, 2 matchesiptions.py - nott_meguk/
05_analyze_network_dynam , Python, 144 lines, 2 matchesics.py - nott_meguk/
06_analyze_split_half_re , Python, 166 lines, 1 matchproducibility.py - nott_meguk/
07_analyze_long_term_dep , Python, 232 linesendency.py - nott_meguk/
08_visualize_long_term_d , Python, 202 lines, 2 matchesependency.py - nott_meguk/
09_run_tinda_analysis.py , Python, 708 lines, 2 matches - nott_meguk/
data/ , Python, 126 linesget_demographics.py - nott_meguk/
data/ , Python, 72 linesprepare_data.py - nott_meguk/
model_run_variability.py , Python, 95 lines - nott_meguk/
utils/ , Python, 8 lines__init__.py - nott_meguk/
utils/ , Python, 770 lines, 3 matchesanalysis.py - nott_meguk/
utils/ , Python, 132 linesarray_ops.py - nott_meguk/
utils/ , Python, 151 linesdata.py - nott_meguk/
utils/ , Python, 103 linesmodel.py - nott_meguk/
utils/ , Python, 1,549 lines, 1 matchplotting.py - nott_meguk/
utils/ , Python, 298 lines, 2 matchesstatistics.py - replay/
01_infer_with_pretrain.p , Python, 109 linesy - replay/
02_analyze_network_descr , Python, 244 lines, 2 matchesiptions.py - replay/
03_analyze_replay_networ , Python, 257 lines, 3 matchesk.py - replay/
04_visualize_replay_netw , Python, 184 lines, 2 matchesork.py - replay/
data/ , Python, 84 linesorganize_data.py - replay/
utils/ , Python, 5 lines__init__.py - replay/
utils/ , Python, 108 linesarray_ops.py - replay/
utils/ , Python, 48 linesdata.py - replay/
utils/ , Python, 1,183 lines, 2 matchesplotting.py - simulation/
01_train_dyneste.py , Python, 183 lines, 2 matches - simulation/
02_train_hmm.py , Python, 166 lines - simulation/
03_analyze_simulations.p , Python, 151 lines, 4 matchesy - simulation/
04_compare_simulations.p , Python, 257 lines, 2 matchesy - simulation/
utils/ , Python, 7 lines__init__.py - simulation/
utils/ , Python, 99 linesanalysis.py - simulation/
utils/ , Python, 78 linesarray_ops.py - simulation/
utils/ , Python, 72 linesdata.py - simulation/
utils/ , Python, 618 linesplotting.py - simulation/
utils/ , Python, 131 linesstatistics.py - LICENSE, License, 21 lines
- README.md, Text, 34 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 38 scripts, each with its path and the digest of its content;
- 36 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
Data and Code Availability
The Nottingham MEGUK dataset is publicly available at https://
The source code for DyNeStE can be found in the osl-dynamics toolbox (Gohil, Huang, et al., 2024), along with example scripts for basic usage. All scripts for reproducing the results, figures, and analyses in this paper are written in Python and available at https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 28 September 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 5 authors, 5 keywords, 2 funders, 54 references.
Cite
This paper
Cho, S., Huang, R., Gohil, C., Jones, O. P., & Woolrich, M. W. (2026). Modelling discrete states and long-term dynamics in functional brain networks. Imaging neuroscience (Cambridge, Mass.), 4, IMAG.a.1237. https://
BibTeX
@article{cho2026modellin
author = {Cho, SungJun and Huang, Rukuang and Gohil, Chetan and Jones, Oiwi Parker and Woolrich, Mark W},
title = {{Modelling discrete states and long-term dynamics in functional brain networks}},
journal = {Imaging neuroscience (Cambridge, Mass.)},
year = {2026},
month = may,
volume = {4},
pages = {IMAG.a.1237},
publisher = {MIT Press},
issn = {2837-6056},
doi = {10.1162/
url = {https://
pmid = {42212226},
pmcid = {PMC13214575}
}
RIS
TY - JOUR
AU - Cho, SungJun
AU - Huang, Rukuang
AU - Gohil, Chetan
AU - Jones, Oiwi Parker
AU - Woolrich, Mark W
TI - Modelling discrete states and long-term dynamics in functional brain networks
T2 - Imaging neuroscience (Cambridge, Mass.)
J2 - Imaging Neurosci (Camb)
PY - 2026
DA - 2026/
VL - 4
SP - IMAG.a.1237
SN - 2837-6056
PB - MIT Press
DO - 10.1162/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1162/
"type": "article-journal",
"title": "Modelling discrete states and long-term dynamics in functional brain networks",
"container-title": "Imaging neuroscience (Cambridge, Mass.)",
"author": [
{
"family": "Cho",
"given": "SungJun"
},
{
"family": "Huang",
"given": "Rukuang"
},
{
"family": "Gohil",
"given": "Chetan"
},
{
"family": "Jones",
"given": "Oiwi Parker"
},
{
"family": "Woolrich",
"given": "Mark W"
}
],
"container-title-short":
"volume": "4",
"page": "IMAG.a.1237",
"DOI": "10.1162/
"PMID": "42212226",
"PMCID": "PMC13214575",
"ISSN": "2837-6056",
"publisher": "MIT Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
26
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1162/imag.a.1190 [code]
- Canonical Hidden Markov Model Networks for studying M/
EEG. Journal: Imaging neuroscience (Cambridge, Mass.)In common: MNE-Python, scikit-learn, pandas, 3 other tools, MEG, 16 references, author Chetan Gohil - [2] doi:10.1002/hbm.70516 [code]
- Effects of Age on Resting-State Cortical Networks.Journal: Human brain mappingIn common: MNE-Python, scikit-learn, pandas, 3 other tools, MEG, 15 references, author Chetan Gohil
- [3] doi:10.1162/imag.a.1188 [code]
- Modelling variability in functional brain networks using embeddings.Journal: Imaging neuroscience (Cambridge, Mass.)In common: seaborn, scikit-learn, pandas, 3 other tools, systems, 12 references, author Rukuang Huang
- [4] doi:10.1162/imag.a.1301 [code]
- MEG-GPT: A transformer-based foundation model for magnetoencephalography data.Journal: Imaging neuroscience (Cambridge, Mass.)In common: TensorFlow, MNE-Python, seaborn, 5 other tools, MEG, 8 references, author Chetan Gohil
- [5] doi:10.1038/s41531-026-01372-1 [code]
- Varying patterns of association between cortical large-scale networks and subthalamic nucleus activity in Parkinson's disease.Journal: NPJ Parkinson's diseaseIn common: MNE-Python, seaborn, scikit-learn, 4 other tools, systems, 10 references
- [6] doi:10.1093/braincomms/fcag236 [code]
- Dynamic, state-dependent characteristics of cognitive fluctuations in Lewy body dementia: a magnetoencephalography study.Journal: Brain communicationsIn common: MNE-Python, pandas, NumPy, MEG, 8 references
- [7] doi:10.1038/s41597-025-05174-7 [code]
- A large-scale MEG and EEG dataset for object recognition in naturalistic scenesJournal: n/aIn common: TensorFlow, MNE-Python, seaborn, 5 other tools, MEG, 2 references
- [8] doi:10.7554/elife.108023 [code]
- Challenges in replay detection by TDLM in post-encoding resting state.Journal: eLifeIn common: MNE-Python, seaborn, scikit-learn, 4 other tools, MEG, 3 references
- [9] doi:10.1162/imag.a.1269 [code]
- From early to contemporary normative modeling: Mapping individual differences in neurophysiological signals.Journal: Imaging neuroscience (Cambridge, Mass.)In common: MNE-Python, seaborn, scikit-learn, 4 other tools, MEG, 2 references
- [10] doi:10.1093/nc/niag029 [code]
- A data-driven approach to identifying and evaluating connectivity-based neural correlates of conscious visual perception.Journal: Neuroscience of consciousnessIn common: MNE-Python, seaborn, scikit-learn, 4 other tools, MEG, 2 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 38 scripts, and 36 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:ecf8b686287dbc23…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
