Python toolkit for quantitative MRI modeling, fitting, and simulation.
Project description
qmrpy
Python toolkit for quantitative MRI (qMRI) modeling, fitting, and simulation.
Installation
pip install qmrpy
# or
uv add qmrpy
Quickstart
import numpy as np
from qmrpy.models import T2Mono
# Define model
model = T2Mono(te_ms=[10, 20, 40, 80])
# Simulate signal
signal = model.forward(m0=1000, t2_ms=80)
# Fit single voxel
fit = model.fit(signal)
print(fit) # {'m0': 1000.0, 't2_ms': 80.0}
# Fit image with auto-masking and parallel processing
result = model.fit_image(image_data, mask="otsu", n_jobs=-1)
Features
- Models: T1 (VFA, IR, DESPOT1-HIFI, T1MP2RAGE), T2/T2* (mono-exp, EPG, EMC, R2*), B0/B1, QSM, denoising
- Parallel fitting:
n_jobs=-1for multi-core acceleration - Auto-masking:
mask="otsu"for automatic thresholding - I/O:
save_tiff()/load_tiff()for uncompressed TIFF export - Validation suite: reproducible cross-domain checks for
T1/T2/B1/QSM/Simulation
Validation (JOSS-friendly, external dependency free)
Run the core validation suite:
uv run --locked -- python scripts/summarize_parity.py \
--suite core \
--formats csv,markdown,json \
--config configs/exp/validation_core.toml \
--out-dir output/reports/parity_summary
Key outputs:
output/reports/parity_summary/core_validation.csvoutput/reports/parity_summary/core_validation_metrics.csvoutput/reports/parity_summary/summary.mdoutput/reports/parity_summary/summary.json
API
from qmrpy.models import T2Mono, T2EPG, T1VFA, T1InversionRecovery
from qmrpy import save_tiff, load_tiff
# All models follow the same pattern:
model = Model(acquisition_params)
signal = model.forward(**tissue_params)
fit = model.fit(signal)
result = model.fit_image(image, mask="otsu", n_jobs=-1)
License
MIT
qmrpy(日本語)
定量MRI(qMRI)のモデリング・フィッティング・シミュレーション用Pythonツールキット。
インストール
pip install qmrpy
# または
uv add qmrpy
クイックスタート
import numpy as np
from qmrpy.models import T2Mono
# モデル定義
model = T2Mono(te_ms=[10, 20, 40, 80])
# 信号シミュレーション
signal = model.forward(m0=1000, t2_ms=80)
# 単一ボクセルのフィッティング
fit = model.fit(signal)
print(fit) # {'m0': 1000.0, 't2_ms': 80.0}
# 画像フィッティング(自動マスク+並列処理)
result = model.fit_image(image_data, mask="otsu", n_jobs=-1)
主な機能
- モデル: T1(VFA, IR, DESPOT1-HIFI, T1MP2RAGE)、T2/T2*(単指数、EPG、EMC、R2*)、B0/B1、QSM、ノイズ除去
- 並列フィッティング:
n_jobs=-1でマルチコア高速化 - 自動マスク:
mask="otsu"でOtsu二値化 - I/O:
save_tiff()/load_tiff()で非圧縮TIFF保存 - 検証スイート:
T1/T2/B1/QSM/Simulationを横断した再現可能な検証
検証実行(JOSS向け・外部依存なし)
uv run --locked -- python scripts/summarize_parity.py \
--suite core \
--formats csv,markdown,json \
--config configs/exp/validation_core.toml \
--out-dir output/reports/parity_summary
主要な成果物:
output/reports/parity_summary/core_validation.csvoutput/reports/parity_summary/core_validation_metrics.csvoutput/reports/parity_summary/summary.mdoutput/reports/parity_summary/summary.json
ライセンス
MIT
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
qmrpy-1.0.0.tar.gz
(488.7 kB
view details)
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
qmrpy-1.0.0-py3-none-any.whl
(119.1 kB
view details)
File details
Details for the file qmrpy-1.0.0.tar.gz.
File metadata
- Download URL: qmrpy-1.0.0.tar.gz
- Upload date:
- Size: 488.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fb4e35ddda7aea4bb53e5356ff6d80274e3365e0472dc29e0f8ce0b8579dbd3
|
|
| MD5 |
ac6a44f4dc735efe1951c4a66d151930
|
|
| BLAKE2b-256 |
db5c39ad14f163b7c8eb658db218acafb2037ac3188a0589284fe799c4992736
|
File details
Details for the file qmrpy-1.0.0-py3-none-any.whl.
File metadata
- Download URL: qmrpy-1.0.0-py3-none-any.whl
- Upload date:
- Size: 119.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8186240cc2171971e1769d0f4e82959e1664b6c3673bc369b5aaf41a9365afc8
|
|
| MD5 |
9f6e2c34bfd990859421fd25462051be
|
|
| BLAKE2b-256 |
1a2cbce0e673e69ce3b297d2ec74d32e55e36da9707575ab5f25b14f9d1a1da4
|