Skip to main content

License: GPL v3

SpinSight MRI simulator

SpinSight is an MRI simulator written in Python and created for educational puposes. It jointly visualizes the imaging parameters, the MRI pulse sequence, the k-space data matrix, and the MR image. These are updated in near real-time when the user changes parameters. The simulator is run as a web browser dashboard. The data is simulated from computational 2D phantoms in vector graphics format (SVG).

Running the Simulator

Install using pip:

pip install spinsight

Then run as a command line tool

spinsight

This serves SpinSight on the local host, so that the simulator can be run by navigating to localhost in the web browser. The same command line tool can be used to deploy the simulator on a local network, or on a web server (run spinsight -h for help). Be aware that several minutes are required upon loading a phantom for the first time.

Help mode can be enabled in the sidebar menu, to provide explanations of each parameter.

Phantom construction

To create a new phantom, add a directory with the phantom name under spinsight/phantoms. This directory shall contain files with the same name as the directory. Two formats are supported:

A single .toml file

The file shall consist of a list of shapes (see Shepp-Logan_shapes.toml for reference). Each shape is assigned a tissue type which must be defined in the TISSUES dict in constants.py.

A pair of .toml and .svg files

The .toml file specifies a mapping from hexcolors to tissues (see brain.toml for reference). The tissues must be defined in the TISSUES dict in constants.py.

The specified .svg file must meet the following specifications:

  • All paths must be closed
  • All paths must have a fill color matching a hexcolor defined in the .toml file (this defines the tissue).
  • Only polygons are supported (not Bézier curves etc.)

Dependencies

See pyproject.toml, dependencies under heading [project].

How to cite

If you use this software in your research, please cite:

Berglund J, Jain K, Sousa JM, Hedman K, Fahlström M. “SpinSight – An educational open-source MRI simulator with joint visualization of pulse sequence, k-space, and MR image. In: Proceedings of the Annual Meeting of the International Society of Magnetic Resonance in Medicine, Honolulu 2025, pp. 1968.

License

SpinSight is distributed under the terms of the GNU General Public License. See LICENSE.md.

Contact Information

Johan Berglund, Ph.D.
Uppsala University Hospital,
Uppsala, Sweden
johan.berglund@akademiska.se


Copyright © 2021–2026 Johan Berglund.

Metadata

Release files for spinsight 1.3.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spinsight 1.3.9
File Size Uploaded
spinsight-1.3.9.tar.gz 581.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spinsight 1.3.9
File Interpreter ABI Platform
spinsight-1.3.9-py3-none-any.whl Python 3 none any Details

Total release size: 711.8 kB

Release files / spinsight-1.3.9.tar.gz

Download URL spinsight-1.3.9.tar.gz
Size 581.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b548fec12ef80d28da0d48a7ed8077ed96368cdbb4a1ae79f5441a736acb3166
BLAKE2b-256 checksum
How to use checksums
c8bbcfb1aee65fdb944e8025189d90a4b5e2ad04b25dece0441282a458b7f1a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / spinsight-1.3.9-py3-none-any.whl

Download URL spinsight-1.3.9-py3-none-any.whl
Size 130.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f33cda69453e0439989a1a256ac18bd630919ff9ea3cc6ed744e7d3b98429d9
BLAKE2b-256 checksum
How to use checksums
9d1babe38d534aa3781b8a2356f5669c9b4c925429bcda8f098dea95d8dd71a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.3.9 This release

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.0

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.5

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page