Skip to main content

License MIT PyPI Python Version napari hub

🫀 myopari

myopari: An Open-Source Edge AI Framework for Automated Quantitative Cardiac MRI Analysis.

💓 Introduction

myopari is a napari plugin for cardiac MRI segmentation and quantitative report generation. It brings ONNX-based AI inference to edge devices through an interactive interface that works with both 2D images and 3D volumes.

✨ Main features

  • 🧠 Built-in TIRAMISU_ACDC and TIRAMISU_EMIDEC segmentation models
  • 🖥️ Local, edge-friendly ONNX inference
  • 🫀 Optional myocardium-only segmentation
  • 📊 Per-class volume measurements and myocardium mass estimates
  • 📄 Markdown report generation with optional patient information
  • 🤖 Optional LLM-assisted report rewriting with llama-cpp-python

🎯 Model segmentation outputs

The output label groups for each model are defined as below:

Model Segmentation output Label value(s)
TIRAMISU_ACDC Right ventricle 1
TIRAMISU_ACDC Myocardium 2
TIRAMISU_ACDC Left ventricle 3
TIRAMISU_EMIDEC Cavity 1
TIRAMISU_EMIDEC Myocardium 2, 3, 4
TIRAMISU_EMIDEC Infarction 3, 4
TIRAMISU_EMIDEC No-reflow 4

Some EMIDEC groups intentionally overlap: infarction and no-reflow are included in the broader myocardium group for quantitative reporting.

🚀 Usage

  1. Launch napari.
  2. Load a cardiac MRI image or volume.
  3. Open Plugins → myopari → myopari.
  4. Click Select image layer and choose the image to analyze.
  5. Select the edge device and segmentation model.
  6. Optionally enable Myocardium only.
  7. Click Segment. The result appears as a new labels layer named segmentation_<input_layer_name>_<count>.

📝 Create a report

After segmentation:

  1. Optionally click Choose patient info files and select .cfg, .txt, or .md files.
  2. Optionally enable Use LLM for report.
  3. Click Create report.
  4. Click Save report to .md to export the result.

The report includes per-label volumes in mL and an estimated myocardium mass. If a logo is available in Resources, it is embedded in the report and copied beside the saved Markdown file.

⌨️ Installation Guide (Command Line)

The commands below create a dedicated Conda environment, install napari, automatically select the appropriate CPU or CUDA wheel for llama-cpp-python, and install myopari:

conda create -y -n myopari python=3.13
conda activate myopari
pip install "napari[all]==0.7.1"

# Check your CUDA version. If nvidia-smi is unavailable, use the CPU command.
# CPU:
pip install llama-cpp-python \
    --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
# CUDA (replace cu124 with your CUDA wheel tag, for example cu118 or cu121):
pip install llama-cpp-python \
    --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu132
pip install myopari

napari

After napari opens, select Plugins → myopari → myopari.

🧩 Installation Guide (No Code — Highly Recommended)

This is the easiest installation method; no terminal or programming experience is required. 🎉

  1. Download and install the official napari bundled app:
  2. Before installing myopari, install llama-cpp-python using the installer for your operating system:
  3. Open napari after the llama-cpp-python installation finishes.
  4. Go to Plugins → Install/Uninstall Plugins.
  5. Search for myopari.
  6. Click Install and restart napari when installation finishes.
  7. Open the plugin from Plugins → myopari → myopari. ✅

The plugin is also listed on the napari hub.

🛠️ Troubleshooting

  • Segmentation runtime/provider issues: Check whether onnxruntime or onnxruntime-gpu is installed. For GPU inference, ensure that the CUDA and driver versions match the installed ONNX Runtime build.
  • LLM report generation fails: Install llama-cpp-python in napari's environment and ensure internet access is available for the first model download. Disable Use LLM for report to continue with standard report generation.
  • Plugin is missing after installation: Restart napari and check Plugins → Install/Uninstall Plugins to confirm that myopari is installed and enabled.

📜 License

myopari is open-source software licensed under the MIT License.

Download files

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

Source Distribution

myopari-0.1.6.tar.gz (10.4 MB view details)

Uploaded Source

Built Distribution

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

myopari-0.1.6-py3-none-any.whl (10.4 MB view details)

Uploaded Python 3

File details

Details for the file myopari-0.1.6.tar.gz.

File metadata

  • Download URL: myopari-0.1.6.tar.gz
  • Upload date:
  • Size: 10.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for myopari-0.1.6.tar.gz
Algorithm Hash digest
SHA256 befc676785cdd2f12c2f816de17c1d0436d8df02f7da4b17941652a3e3ae93a7
MD5 01d32a9e2f7105e105df7f6184c9fce0
BLAKE2b-256 937b5ee917fbffd61046a5cc15eb0018aba6940e0e8506eb0c2d87defdd2080a

See more details on using hashes here.

File details

Details for the file myopari-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: myopari-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 10.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for myopari-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 65c0067dadfecb4372411b409a4e9d1a901f16aefa53375df0fcaea423e3e393
MD5 de6025df457324cc8b8119f6f450946a
BLAKE2b-256 4ceed7644b52887fc83817c34291725c5e28d28412e8b6881541d1b7ad7fb33e

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 Sentry Error logging StatusPage Status page