Skip to main content

MR image simulator for teaching purposes

Project description

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.

Phantom construction

To create a new phantom, add a directory with the phantom name under spinsight/phantoms. This directory shall contain specifications in a .toml file with the same name (see brain.toml for reference). 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 TISSUES dict in constants.py (this defines the tissue).
  • Only polygons are supported (not Bézier curves etc)

Alternatively a second .toml file can be specified with a list of shapes (see Shepp-Logan_shapes.toml for reference).

Dependencies

See pyproject.toml under heading [tool.poetry.dependencies].

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–2025 Johan Berglund.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spinsight-1.2.0.tar.gz (606.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spinsight-1.2.0-py3-none-any.whl (107.6 kB view details)

Uploaded Python 3

File details

Details for the file spinsight-1.2.0.tar.gz.

File metadata

  • Download URL: spinsight-1.2.0.tar.gz
  • Upload date:
  • Size: 606.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for spinsight-1.2.0.tar.gz
Algorithm Hash digest
SHA256 0770e4946e95453c3acfc3625a84aeffbca0728ab8f4a2035846119d820899a6
MD5 a764d56498be80a9d945569ac633c25a
BLAKE2b-256 2345ece9dd813eb3db37cd49b62f59bf8072f991950ed6cf6f6bc2d0c1167faf

See more details on using hashes here.

File details

Details for the file spinsight-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: spinsight-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 107.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for spinsight-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7dc875ff01a48b55a520cd8328b057f5b3370110481bbc2b184a8bae64e57d0a
MD5 377b986e0a97899776135daabdcf32f5
BLAKE2b-256 ab13c41bb0854e15806d3547d8519040025dfdd060b659ec4601fa03c60ade0a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page