trame-slicer library
Project description
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.
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-slicerto install the latest release
- Use
- 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
- Windows:
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 :
- Cure Overgrowth Syndromes (COSY) RHU Project (ANR-18-RHUS-005).
- Handling heterogeneous Imaging and signal data for analysing the Neurodevelopmental Trajectories of premature newborns (HINT) ANR project (ANR-22-CE45-0034)
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
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
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
File details
Details for the file trame_slicer-1.6.1.tar.gz.
File metadata
- Download URL: trame_slicer-1.6.1.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e02259e7a308c6f658f1a4b05693d45c52feced46cf779405939c29a2262c2e8
|
|
| MD5 |
1e33e341277aa0607df38bc9481806d1
|
|
| BLAKE2b-256 |
42ecf74a473dfdcc76af6ec567a415e8de84ea77935d4acd742d1bde420b3ca9
|
Provenance
The following attestation bundles were made for trame_slicer-1.6.1.tar.gz:
Publisher:
release.yml on KitwareMedical/trame-slicer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trame_slicer-1.6.1.tar.gz -
Subject digest:
e02259e7a308c6f658f1a4b05693d45c52feced46cf779405939c29a2262c2e8 - Sigstore transparency entry: 679983061
- Sigstore integration time:
-
Permalink:
KitwareMedical/trame-slicer@5e57b476fed1f4e494c787d859f409cb6d91fa4e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/KitwareMedical
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5e57b476fed1f4e494c787d859f409cb6d91fa4e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file trame_slicer-1.6.1-py3-none-any.whl.
File metadata
- Download URL: trame_slicer-1.6.1-py3-none-any.whl
- Upload date:
- Size: 892.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
683c9f555e53a4b8270c2c1d07a37f40083fcfc5994f3c5de92e390784c8eb65
|
|
| MD5 |
980435b198363e17635999f834a5114a
|
|
| BLAKE2b-256 |
4526b678301e5721a2a33d9220d73817d6f305a5317d57544ba6f41825b0d07e
|
Provenance
The following attestation bundles were made for trame_slicer-1.6.1-py3-none-any.whl:
Publisher:
release.yml on KitwareMedical/trame-slicer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trame_slicer-1.6.1-py3-none-any.whl -
Subject digest:
683c9f555e53a4b8270c2c1d07a37f40083fcfc5994f3c5de92e390784c8eb65 - Sigstore transparency entry: 679983078
- Sigstore integration time:
-
Permalink:
KitwareMedical/trame-slicer@5e57b476fed1f4e494c787d859f409cb6d91fa4e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/KitwareMedical
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5e57b476fed1f4e494c787d859f409cb6d91fa4e -
Trigger Event:
workflow_dispatch
-
Statement type: