🫀 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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| myopari-0.1.6.tar.gz | 10.4 MB | Without provenance | Details for myopari-0.1.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| myopari-0.1.6-py3-none-any.whl | Python 3 | none | any | Details for myopari-0.1.6-py3-none-any.whl |
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
|
Security for myopari 0.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.