Skip to main content

trame-slicer library

Project description

trame-slicer

Welcome to trame-slicer

trame-slicer is a Python library bringing 3DSlicer components in trame as a composable library.

It uses 3D Slicer's python wrapping and adds a thin wrapping to make it available with the trame framework.

Test and Release PyPI PyPI - Downloads GitHub stars Documentation Status codecov

Usage

The API Reference documentation provides API-level documentation.

Warning

As the 3D Slicer Python wheel is not yet generated by the 3D Slicer CI, manually generated wheels are provided for Python 3.10 for Windows and Linux WSL.

The API has not been stabilized / reviewed by the 3D Slicer core developers so please use this library with caution.

Downloading the latest wheels

Links to the latest VTK MRML wheels necessary to use this library in a Python environment can be downloaded here:

To use the library with other platforms (and Python 3.12), you can use the Slicer Trame module directly available in the Slicer 5.9+ extension manager.

Installing

The library can be installed as follows :

  • Setup a Python 3.10 environment
  • Activate your environment
  • From PyPI
    • Use pip install trame-slicer to install the latest release
  • From GitHub
    • Git clone the library
    • cd into the library
    • Use the pip install -e . command to install the library along it's dependencies
  • Copy the vtk_mrml wheel file matching your OS (see Downloading the latest wheels)
    • Windows: pip install vtk_mrml-9.4.0-cp310-cp310-win_amd64.whl
    • Linux: pip install vtk_mrml-9.4.0-cp310-cp310-manylinux_2_35_x86_64.whl
  • For better FPS, you can optionally install turbo-jpeg

Getting started

To get started using trame, please have a look at the introductory trame course.

To start using the trame-slicer library, have a look and run the medical viewer app

Features

The following subset of 3D Slicer features are currently supported :

  • (limited) file loading
  • Volume files (DCM, NRRD, NIFTI, ...)
  • Model files (STL, OBJ)
  • MRML / MRB files
  • Segmentations (NRRD, NIFTI, ...)
  • Display
    • 2D/3D with 3D Slicer UI manipulation
    • Volume Rendering preset / shift
  • Bare bone access to 3D Slicer MRML scene and Core logic components

Work in progress

To make it easier for users to use trame-slicer, the following work are in progress :

  • Slicer wheel generation merge into 3D Slicer's preview release
  • CI changes to build the Slicer wheel along 3D Slicer's release
  • 3D Slicer extension to install trame-slicer and launch a trame-slicer server directly from 3D Slicer

Troubleshooting

If you get the following error on Linux:

ImportError: cannot import name 'vtkMRMLDisplayableNode' from 'slicer' (XXX/lib/python3.10/site-packages/slicer/__init__.py)

You might be using a statically compiled Python. Please switch to a shared version of Python.

Contributing

Contributions are welcomed, please follow the CONTRIBUTING.md file for more information.

License

The library is distributed with a permissive license. Please look at the LICENSE file for more information.

Acknowledgment

This library was funded by the following projects :

This library was created from the trame-cookicutter library.

Contact

If you are interested in learning how you can use trame-slicer for your use case in the near future, or want to get an early start using the framework, don't hesitate to contact us. Or reach out in the issue tracker and 3DSlicer discourse community.

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

trame_slicer-1.7.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

trame_slicer-1.7.0-py3-none-any.whl (893.8 kB view details)

Uploaded Python 3

File details

Details for the file trame_slicer-1.7.0.tar.gz.

File metadata

  • Download URL: trame_slicer-1.7.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for trame_slicer-1.7.0.tar.gz
Algorithm Hash digest
SHA256 41263419df11aa7d8c734b22e90857f424f8411b3b03c5ec66708a3175d472e6
MD5 b75dd81f2c493cf1032af55478f50fbd
BLAKE2b-256 e793b392e3ed9709a9f3c132432d5682f28fbfd6dd5de80d44165bb33cdda3e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for trame_slicer-1.7.0.tar.gz:

Publisher: release.yml on KitwareMedical/trame-slicer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file trame_slicer-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: trame_slicer-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 893.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for trame_slicer-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1ae18687a4adf6be618d21b3a3015d3cc0fdce7f33eb94d3418fb602cf82ceb
MD5 ba071d829591542cd45386f8af65ca63
BLAKE2b-256 df44622b3c70cb31d311245ffdd78b52675e5c07cbc1927d56fea2c4afe7aa03

See more details on using hashes here.

Provenance

The following attestation bundles were made for trame_slicer-1.7.0-py3-none-any.whl:

Publisher: release.yml on KitwareMedical/trame-slicer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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