A Python package for normative modeling on large-scale EEG and MEG data.
Project description
MEGaNorm
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.
🚀 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 notebooksresults/→ for analysis outputsdata/→ 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:
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3439b8f45bf9afbcbe25c006c76ff4626d483088836e8c1ba4dd4207bd52c16
|
|
| MD5 |
3d8d843cdf4aa4a59ec23f49e7733a37
|
|
| BLAKE2b-256 |
b0128538af1fbd60c908b28ced7a85c7a02fca4e4aa891ae3cf9b702330c9cdb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a653dd03287df8b083a8c8cfb43e51f82ac0af96a9506d8ae037067eb6002854
|
|
| MD5 |
69c7a577dd2402c431dc6baf7533ee1a
|
|
| BLAKE2b-256 |
672c003c0696878b16d571d8aeb555af406b025ef238846b92a9ec4d943dfb47
|