Skip to main content

A Python package for normative modeling on large-scale EEG and MEG data.

Project description

MEGaNorm

Made with Python Python Documentation Status Last Commit Binder DOI License: GPLv3

MEGaNorm Logo

MEGaNorm

Normative modeling of EEG/MEG brain dynamics across populations and timescales.

MEGaNorm is a Python package that wraps MNE-Python and PCNToolkit functionalities for extracting functional imaging-derived phenotypes (f-IDPs) from large-scale EEG and MEG datasets, and then deriving their normative ranges. It allows researchers to analyze large MEG and EEG dataset using high-performance computing facilities, and then build, visualize, and analyze normative models of brain dynamics across individuals.

Overview


🚀 Features

  • Compatibility with MNE-Python, PCNToolkit, SpecParam libraries
  • Normative modeling of oscillatory brain activity
  • Using high performance capabilities on SLURM clusters
  • EEG and MEG support with BIDS integration
  • Ready for reproducible deployment with Docker

📦 Installation

Option 1: From PyPI (recommended)

This is the easiest way to get started if you just want to use the toolbox.

conda create --channel=conda-forge --strict-channel-priority --name mne python=3.12 mne

conda activate mne

pip install meganorm

Option 2: Installl from the source files

# 1. Create and activate environment
conda create --channel=conda-forge --strict-channel-priority --name mne python=3.12 mne

conda activate mne

# 2. Clone and install MEGaNorm
git clone https://github.com/ML4PNP/MEGaNorm.git
cd MEGaNorm/
pip install .

Option 3: Using Docker

We provide a pre-configured Docker environment with Jupyter Lab. You can either build the image locally or pull the latest version from Docker Hub.

Option A: Build the image locally

make build
make run

Option B: Pull the latest image from Docker Hub

make pull
make run

This mounts:

  • notebooks/ → for saving Jupyter notebooks
  • results/ → for analysis outputs
  • data/ → for raw/processed EEG/MEG data

Jupyter will open in your browser on http://localhost:8888


📒 Getting Started (under construction)

import meganorm

Explore examples in the notebooks/ folder.


🧚‍♂️ Testing (under construction)

Run unit tests using:

pytest tests/

🧠 Citing MEGaNorm (under construction)

If you use MEGaNorm in your work, please cite:

[To be added: preprint / paper DOI or BibTeX]

🤝 Contributing

Contributions, issues and feature requests are welcome!

See CONTRIBUTING.md for more info.


📜 License

This project is licensed under the terms of the GNU General Public License v3.0 – see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meganorm-0.1.0.tar.gz (78.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meganorm-0.1.0-py3-none-any.whl (81.1 kB view details)

Uploaded Python 3

File details

Details for the file meganorm-0.1.0.tar.gz.

File metadata

  • Download URL: meganorm-0.1.0.tar.gz
  • Upload date:
  • Size: 78.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for meganorm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 16276dbed35f59c35a93c2e270f3bfa4cb9209fe96bc5ac0f11462a227f6671a
MD5 3740a077b16e5fe410452b8c3449da25
BLAKE2b-256 d85f78570c725ba6c39a72c056ceb5566dd745cafaa98310acee997d01d0f57e

See more details on using hashes here.

File details

Details for the file meganorm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: meganorm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 81.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for meganorm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce86b13adcc0613bb141608a35c8ae6e3172788c2de62be70778aff30dcf43bc
MD5 53b9d2d6a758611926c1633a3ee98066
BLAKE2b-256 b1524af3835933fb0dcb9924d6f02948368c6d7d7867635b49183b036f15ed15

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page