Python implementation (translation) of qMRLab models for quantitative MRI.
Project description
qmrpy
qMRLab(MATLAB実装)の概念・モデルを Python へ段階的に移植するためのリポジトリです。
本プロジェクトは upstream の qMRLab(MIT License)に着想を得ており、モデル定義・検証方針は qMRLab を参照しつつ Python で再構成します。
開発(ローカル)
現時点では最小のパッケージ雛形のみです(今後、モデル実装を段階的に追加します)。
uv sync --extra viz(可視化を含める)uv sync --extra viz --extra dev(pytest/ruff 等を含める)uv run --locked -m pytest
パッケージ利用
uv を使う場合の導入例:
uv add qmrpy
最小利用例
import numpy as np
from qmrpy.models.t1.vfa_t1 import VfaT1
model = VfaT1(
tr_ms=15.0,
flip_angles_deg=np.array([2, 5, 10, 15]),
)
signal = model.forward(m0=1.0, t1_ms=1200.0)
fit = model.fit_linear(signal)
print(fit["t1_ms"], fit["m0"])
関数API(オブジェクト不要):
import numpy as np
from qmrpy import vfa_t1_fit_linear
signal = np.array([0.02, 0.06, 0.12, 0.18], dtype=float)
fit = vfa_t1_fit_linear(
signal,
flip_angle_deg=np.array([2, 5, 10, 15]),
tr_ms=15.0,
)
print(fit["t1_ms"], fit["m0"])
QSM の最小利用例
import numpy as np
from qmrpy.models.qsm import QsmSplitBregman
shape = (6, 6, 6)
phase = np.random.default_rng(0).normal(0, 1, size=shape)
mask = np.ones(shape, dtype=float)
qsm = QsmSplitBregman(
sharp_filter=False,
l1_regularized=True,
l2_regularized=False,
no_regularization=False,
pad_size=(1, 1, 1),
)
out = qsm.fit(phase, mask, image_resolution_mm=[1.0, 1.0, 1.0])
print(out.keys())
ライセンス
qmrpy本体:MIT(LICENSE)- 参照元
qMRLab/:MIT(upstream、ローカル参照用) - 翻訳・参考実装・vendor の詳細は
THIRD_PARTY_NOTICES.mdを参照
第三者由来コードの扱い
qMRLab(MATLAB)およびDECAES.jlの概念・アルゴリズムを翻訳/再構成しています。epgpyはsrc/epgpy/に vendor しています。- ライセンス表記・出自は
THIRD_PARTY_NOTICES.mdに集約しています。
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-0.3.0.tar.gz
(260.3 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-0.3.0-py3-none-any.whl
(132.0 kB
view details)
File details
Details for the file qmrpy-0.3.0.tar.gz.
File metadata
- Download URL: qmrpy-0.3.0.tar.gz
- Upload date:
- Size: 260.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b39bbbf1483b4b5035b3cd190f33580813cb011f73796e13fd34bb1f1dfe681e
|
|
| MD5 |
24d8be2caa5a4afa22cf17ed0e3136db
|
|
| BLAKE2b-256 |
22f06e80b3154026ab6b4b805d794e67192f3943e4eddb4d76af64458438beeb
|
File details
Details for the file qmrpy-0.3.0-py3-none-any.whl.
File metadata
- Download URL: qmrpy-0.3.0-py3-none-any.whl
- Upload date:
- Size: 132.0 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 |
429494dcb0bde49fcb0f6d6acbe2779d58d9c51cbd0c6868ea1bf5af9a0a0f25
|
|
| MD5 |
5388830b43d89deb97539170a80a584e
|
|
| BLAKE2b-256 |
aed53eee81b0a343a6d3e6276e2a60f3df68bcb1a3a6d876ba6f324410144569
|