/MRzero-Core

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Documentation Status

MRzero Core

The MRzero Core contains the core functionality of MRzero like MRI sequence building, simulation and reconstruction. MRzero Core does not force you to take any particular approach to e.g., reconstruction, as it targets easy integration in existing projects. Nevertheless, more tools can be added in the future if they helpful for the general application space.

Usage

MRzero Core is written in Python, heavily relying on PyTorch for fast (GPU-) Tensor calculations. To improve performance, parts of the simulation are written in Rust and compiled for x86 Windows and Linux, other platforms are currently not supported.

Install with pip:

pip install MRzeroCore

The typical way of using it is like the following:

import MRzeroCore as mr0

Examples on how to use can be found in the Playground.

Links

Building from source

This assumes windows as host operating system. For building the python wheel, you need:

Building for Windows

maturin build --interpreter python

Building for Linux

docker run --rm -v <path-to-repo>/MRzero-Core:/io ghcr.io/pyo3/maturin build

To build the documentation, run

jupyter-book build documentation/

in the root folder of this project. This requires jupyter-book as well as MRzeroCore itself to be installed.

Official builds

The python wheels hosted by PyPI is built as described above, and uploaded as following:

maturin upload target/wheels/MRzeroCore-{ version }-cp37-abi3-win_amd64.whl target/wheels/MRzeroCore-{ version }-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -u <pypi-user> -p <pypi-pwd>

The documentation is built using readthedocs, which works the same as described above.