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)

👉 documentation Early helpers are available at: https://meganorm.readthedocs.io. We are working hard to add more thorough documentations and tutorials and they will be available soon.

import meganorm

Explore examples in the notebooks/ folder.


🧚‍♂️ Testing (under construction)

Run unit tests using:

pytest tests/

🧠 Citing MEGaNorm

If you use MEGaNorm in your work, please cite:

DOI: 10.5281/zenodo.15441320

You can download BibTeX and other citation formats directly from the Zenodo page.


🤝 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.1.tar.gz (78.5 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.1-py3-none-any.whl (81.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: meganorm-0.1.1.tar.gz
  • Upload date:
  • Size: 78.5 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.1.tar.gz
Algorithm Hash digest
SHA256 d3439b8f45bf9afbcbe25c006c76ff4626d483088836e8c1ba4dd4207bd52c16
MD5 3d8d843cdf4aa4a59ec23f49e7733a37
BLAKE2b-256 b0128538af1fbd60c908b28ced7a85c7a02fca4e4aa891ae3cf9b702330c9cdb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: meganorm-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 81.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a653dd03287df8b083a8c8cfb43e51f82ac0af96a9506d8ae037067eb6002854
MD5 69c7a577dd2402c431dc6baf7533ee1a
BLAKE2b-256 672c003c0696878b16d571d8aeb555af406b025ef238846b92a9ec4d943dfb47

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