MUniverse: Benchmarking Motor Unit Decomposition Algorithms

1Imperial College London, 2University of Stuttgart

MUniverse is a modular framework for simulated and experimental EMG dataset generation, motor unit decomposition algorithm benchmarking, and performance evaluation.

It integrates biomechanical simulation (via NeuroMotion), generative models (BioMime), standardized formats (e.g. BIDS/Croissant), and FAIR data hosting (Harvard Dataverse).

Features

Algorithm Benchmarking

Compare multiple motor unit decomposition algorithms including CBSS, SCD, Upperbound, and AE methods with standardized evaluation metrics and report card generation.

Dataset Generation

Generate simulated EMG datasets using NeuroMotion biomechanical simulation and experimental datasets in standardized BIDS and Croissant formats.

FAIR Data Access

Access datasets through Harvard Dataverse with persistent DOIs, following FAIR principles for Findable, Accessible, Interoperable, and Reusable data.

Containerized Workflows

Docker and Singularity support for reproducible algorithm execution, ensuring consistent results across different computing environments.

Performance Evaluation

Comprehensive evaluation metrics including silhouette scores, spike train comparisons, and automated report card generation for algorithm comparison.

Tutorial Notebooks

Interactive Jupyter notebooks providing step-by-step guides for dataset loading, algorithm usage, and result evaluation.

Available Datasets

All datasets are hosted on Harvard Dataverse and follow FAIR principles with persistent DOIs:

Supported Algorithms

CBSS

Convolutional Blind Source Separation for motor unit decomposition.

SCD

Swarm Contrastive Decomposition - GitHub

Upperbound

Upper bound performance estimation for algorithm comparison.

AE

Autoencoder-based decomposition methods.

Quick Start

Installation

# Clone the repository
git clone https://github.com/dfarinagroup/muniverse.git
cd muniverse

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install package
pip install -e .

# Install development dependencies (optional)
pip install -e ".[dev]"

Basic Usage

from muniverse.datasets import load_dataset
from muniverse.algorithms import decompose_recording

# Load a dataset
dataset = load_dataset("neuromotion-test", output_dir="./data")

# Run decomposition
results, metadata = decompose_recording(
    data="path/to/emg_data.edf",
    method="cbss"
)

Citation

If you use MUniverse in your research, please cite:

@software{muniverse2024,
  title = {MUniverse: Benchmarking Motor Unit Decomposition Algorithms},
  author = {Mamidanna, Pranav and Klotz, Thomas and Halatsis, Dimitrios and Mendez Guerra, Irene},
  year = {2024},
  url = {https://github.com/dfarinagroup/muniverse},
  license = {GPL-3.0}
}

License

MUniverse is licensed under the GNU General Public License v3.0 (GPL-3.0).

Important Licensing Notes:

  • This project uses NeuroMotion, which is licensed under GNU GPL v3.0. As a result, MUniverse is also licensed under GNU GPL v3.0 to comply with the copyleft requirements.
  • This project also integrates with Swarm-Contrastive-Decomposition, which is licensed under Creative Commons Attribution-NonCommercial 4.0 International Public License.

See the LICENSE file for full details.

Acknowledgments

  • NeuroMotion - Biomechanical simulation framework (GitHub)
  • Swarm-Contrastive-Decomposition - Decomposition algorithm (GitHub)
  • Harvard Dataverse - FAIR data hosting platform
  • BIDS - Brain Imaging Data Structure standard
  • Croissant - ML dataset metadata format