🫀 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_ACDCandTIRAMISU_EMIDECsegmentation 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
- Launch napari.
- Load a cardiac MRI image or volume.
- Open
Plugins → myopari → myopari. - Click Select image layer and choose the image to analyze.
- Select the edge device and segmentation model.
- Optionally enable Myocardium only.
- Click Segment. The result appears as a new labels layer named
segmentation_<input_layer_name>_<count>.
📝 Create a report
After segmentation:
- Optionally click Choose patient info files and select
.cfg,.txt, or.mdfiles. - Optionally enable Use LLM for report.
- Click Create report.
- 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. 🎉
- Download and install the official napari bundled app:
- Before installing myopari, install
llama-cpp-pythonusing the installer for your operating system:- 🪟 Windows: Download install_llama2napari_windows.bat, double-click it, and follow the prompts.
- 🐧 Linux: Download install_llama2napari_linux.sh, run it by bash, and follow the prompts.
- Open napari after the
llama-cpp-pythoninstallation finishes. - Go to
Plugins → Install/Uninstall Plugins. - Search for myopari.
- Click Install and restart napari when installation finishes.
- Open the plugin from
Plugins → myopari → myopari. ✅
The plugin is also listed on the napari hub.
🛠️ Troubleshooting
- Segmentation runtime/provider issues: Check whether
onnxruntimeoronnxruntime-gpuis installed. For GPU inference, ensure that the CUDA and driver versions match the installed ONNX Runtime build. - LLM report generation fails: Install
llama-cpp-pythonin 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 Pluginsto confirm that myopari is installed and enabled.
📜 License
myopari is open-source software licensed under the MIT License.
Release files for myopari 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| myopari-0.1.6.tar.gz | 10.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| myopari-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.9 MB
Release files / myopari-0.1.6.tar.gz
| Download URL | myopari-0.1.6.tar.gz |
|---|---|
| Size | 10.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
befc676785cdd2f12c2f816de17c1d0436d8df02f7da4b17941652a3e3ae93a7
|
|
BLAKE2b-256 checksum How to use checksums |
937b5ee917fbffd61046a5cc15eb0018aba6940e0e8506eb0c2d87defdd2080a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.13
|
Release files / myopari-0.1.6-py3-none-any.whl
| Download URL | myopari-0.1.6-py3-none-any.whl |
|---|---|
| Size | 10.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65c0067dadfecb4372411b409a4e9d1a901f16aefa53375df0fcaea423e3e393
|
|
BLAKE2b-256 checksum How to use checksums |
4ceed7644b52887fc83817c34291725c5e28d28412e8b6881541d1b7ad7fb33e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.13
|