Volspy is an interactive volume visualization tool. Volspy is being developed to support research involving 3D fluorescence microscopy imaging, but may be applicable to other 3D images as well.
Volspy is experimental software that is subject to frequent changes in direction depending on the needs of the authors and their scientific collaborators.
Volspy has two usage scenarios:
- A framework for volumetric data processing tools, where a basic interactive volume rendering capability can complement custom data-processing tools.
- A standalone viewer application for quickly inspecting several common 3D image formats.
Volspy is developed primarily on Linux with Python 2.7 but also tested on Mac OSX. It has several requirements:
- Vispy visualization library to access OpenGL GPUs. A recent development version is needed, including high-precision texture format features merged into the vispy/master branch on 2015-01-30.
- Numpy numerical library to process N-dimensional data.
- Tifffile for access to OME-TIFF and LSM microscopy file formats.
- NiBabel for access to additional neuroimaging file formats such as NifTI.
The file-reading part of Volspy can tolerate a missing Tifffile or NiBabel prerequisite if you do not need to read those types of files.
- Check out the development code from GitHub.
- Install with
python setup.py install
.
- Obtain a sample 1-4 channel 3D TIFF image such as: http://www.isi.edu/~karlcz/sample-data/zebra-d19-03b-D.ome.tiff Warning: this is a large 886 MB file!
- A 1-channel image will be interpreted as gray.
- A 2-channel image will be interpreted as red-green.
- A 3-channel image will be interpreted as red-green-blue.
- A 4-channel image will be interpreted as red-green-blue-alpha.
- Any N-channel image with more than 4 will be interpreted one channel at a time (as gray) with a command to step to the next channel.
- Launch the viewer
volspy-viewer zebra-d19-03b-D.ome.tiff
- Interact with the viewer
- Press the
ESC
key when you have had enough. - Press the
?
key to get UI help printed to console output. - Click and drag volume with primary mouse button to rotate.
- Press arrow keys with shift modifer to induce continuous rotation.
- Press number keys
1
to9
to change intensity gain and with shift modifier to get reciprocal gain. - Press keys
f
andF
to adjust the floor-level image intensity that is mapped to black. - Press
b
key to cycle through color blending modes:- Partial transparency
- Additive blend
- Maximum intensity projection
- Press
c
key to cycle through channels on images with more than 4 channels. - Click and drag vertically with secondary mouse button to drag a slicing plane through the volume. The plane is perpindicular to the viewing axis and its depth is controlled with the vertical mouse position.
- Click and drag vertically with the tertiary mouse button to drag a clipping plane through the volume.
Do not be alarmed by the copious diagnostic outputs streaming out on the console. Did we mention this is experimental code?
Please direct questions and comments to the project issue tracker at GitHub.
Volspy is made available as open source under the (new) BSD License. Please see LICENSE file for more information.
Volspy is developed in the Informatics group at the USC Information Sciences Institute. The computer science researchers involved are:
- Karl Czajkowski
- Carl Kesselman