Space program description
Space is a MS Windows application for the display, navigation,
rendering, editing, and measurement of 3-D data sets. In many respects it
serves the same needs as a traditional 2-D image editor for 3-D data, but
is organized and optimized for the particular requirements of handling 3-D
data for research purposes. The program provides fast display of arbitrarily
oriented planes through 3-D data, direct spatial correlation and combining
of multiple spatially coincident data sets, several image processing operations,
and an array of fully interactive display and rendering options for visualization.
All primary functions, display elements and user interaction elements are
highly integrated.
A characteristic aspect of the program is the single
virtual space used for all display of spatially organized data. Every operation
modifies this single space, and the relative spatial
position of data representations are always preserved. This is in
contrast to the possible use of multiple or discontinuous spaces/images for
representing different aspects of the same data set.
While the program was developed for use with MRI data
sets, no operations or tools are specific to MRI modalities. Image data from
serial photography, serial microscopy, movies, CT, sonography
, or any tomographic or other 3-dimensional
source can be displayed and manipulated.
Space is authored by
Mark Dow
and Greg Scott.
Navigation:
A core function of the program is the fast control and
display of arbitrary planes of a 3-D data set, or multiple coincident data
sets. As only a portion of 3-D data can be displayed in its spatial context
at one time on a 2-D computer screen, there is a need for fast display of
spatially related data while planning image operations. The program implements
an efficient mechanism for accessing and displaying spatially adjacent data.
Mouse functions allow volume rotations about any displayed point, translation
to adjacent planes, magnification, and reorientation to canonical directions
(Fig. A). As these navigation tools are helpful for efficiently performing
other operations (drawing, cropping, measurements, surface rendering, etc.)
they are available at any time. Several visual cues and commands are available
to allow the user to perceive the spatial orientation, location, context,
and the relationship between spatially registered data sets.
Figure A. Space program graphical interface showing single plane of a single data set at three arbitrary locations/orientations. The slice plane orientation is interactively selected, in this case defined by the selected point (red/green cross at center) and mouse motion (orientation). Yellow lines indicate the coordinate axes, yellow dotted lines the volume bounds, and purple dotted lines the slice plane’s intersection with the volume bounds.
3-D data set manipulation:
The program functions allow global transforms to be applied
to a 3-D data set or multiple sets simultaneously while maintaining relative
spatial relationships. These functions include resampling based on dimension
or orientation, changing the coordinate system used, cropping, and others.
Display:
The display color can be flexibly manipulated without
changing the data values themselves (Fig. B). Each of three color channels
and the luminosity (derived from the color channels), for any data type, can
be independently modified (contrast, brightness, gamma, high and low threshold,
etc.). The transfer functions that control display values can be saved as
default values for each data set, or applied to transform the data. Data
integrity is enhanced by allowing a range of functions that manipulate the
display of data without altering the data itself.
Other display functions modify the portion and magnification
of the data space displayed, and the relative visibility of spatially coincident
data. A histogram of data and display values, for each color/luminosity channel,
can be displayed for the currently displayed plane or the entire data set
(Fig. B).
Figure B. Grayscale image with a complex transfer function interactively applied to a single channel (red). The persistent dialog box displays the resulting values (top of box) and original values (middle box) for the slice or volume, and a representation of the transfer function (white curve). Transfer functions can be reversibly or irreversibly applied to each of three color channels and/or a luminosity channel.
Overlays:
Any number of 3-D data sets, with any supported data
type, can be simultaneously loaded and displayed, as if they occupied the
same 3-D space (Fig. C). All parameters for each data set are independently
modifiable. The order and visibility of each can be controlled, and each
can serve as a logical mask that modifies the display of other data sets.
Any number of data sets can be merged with the user defined display transfer
functions defining the combination of values.
User interface controls allow fast manipulation of many
display elements of each independent overlay.
Figure C. Grayscale base volume (gray) overlaid with three indexed color volumetric statistical maps (green, red, yellow). Each volume has independent thresholds, transparency and other display or rendering parameters, and can be independently edited.
Rendering and visualization:
Surface rendering, based on display intensity and derivative
estimates, are integrated into the graphical interface (Fig. D). At any time
rendering can be activated/deactivated and modified with the rendering registered
to the unrendered slice plane. The rendered image is automatically updated
when navigating, changing display parameters or performing any other application
operation. This ability to interactively render in place, navigate while rendering,
and adjust the display parameters (which alters the rendering), improves
the ability to perceive the global structure of the data, and adjust the
desired rendering. It is also useful for producing graphics of 3-D volumes
and composite information.
Figure D.
Example renderings derived from MRI data. Raw data of a human
finger joint (upper left) is used to constrain independent segmentations of
bone and tendon (upper right). Surface rendering parameters of each overlay
are independently controlled (lower).
Surface rendering can be modified by several parameters
to highlight particular features of interest: effective edge definition, intensity
threshold, gradient threshold, depth of transparency, and others.
Ray trace rendering implements an adjustable lighting
model with shadowing. Global derivative estimates, and other image derived
maps, can be pre-calculated, saved and loaded for improved rendering performance.
Other rendering options include maximum intensity projection
rendering, depth map, stereo pair rendering (with any rendering method), and
others.
Each data set is associated with its own rendering methods
and parameters. Multiple coincident data sets (see "Overlays") are simultaneously
rendered. While navigating the rendering speed is dynamically controlled based
on the complexity of rendering, at the expense of rendering resolution, to
facilitate interactive control. Full resolution rendering is performed piece-wise
to allow early visual evaluation and alterations to any application parameters.
No hardware accelerated surface rendering methods are used.
Movies (sequences of 2-D images produced by navigating
through/around a volume, rendered or not) can be generated, manipulated, and
saved in the same formats as other 3-D data (in a 2-D + time spatial arrangement).
Keyframes that define an interpolated sequence
of rendering parameters can be interactively defined and modified.
Editing:
Basic editing operations, for modifying local image values,
are provided. These include 2-D tools that can operate on arbitrary planes
of a volume, and 3-D tools:
2/3-D Pen, rectangular/elliptical/diamond
2-D Line
2-D Fill on canonical planes, intensity range and tolerance
3-D Fill, intensity range and tolerance
Color selection ("eyedropper", and chart based).
Some of these tools operate based on the display values,
which are combinations of each volumes interactively controlled display values.
Interface:
The graphical interface of the program includes a single
window for image display and common MS Windows application elements (frame,
menu, toolbars, dialog boxes, etc., Fig. E). Interactive controls are designed
to be simple, standard and consistent. The most common operations are implemented
with mouse based actions and controls, and most operations can be accessed
using any of several input modes (mouse, hot-key, menu, or toolbar commands).
Parameter settings for a wide range of functions, and global/local data set
and measurement information, can be displayed in separate persistent control
windows that automatically update the main window display, and are automatically
updated by other user interaction and changes to the window display.
Figure E. Examples of persistent interactive controls
File types:
The program supports an expanding list of 3-D data file types:
- SPM/Analyze 7.5 (.img/.hdr): 8 bit, read of 16 bit (compressed to 8 bit in Space)
- Nifti-1 (.img/.hdr, nii) [Note that the NifTi-1 specification has not been finalized, results may vary]: 8 bit, read of 16 bit (compressed to 8 bit in Space), no scaling or transform information used for display.
- MetaImage (.mhd/.raw): 8 bit, read of 16 bit (compressed to 8 bit in Space), no scaling or transform information used for display. Local and multi-file data references and non-image MetaObjects are not supported.
- AVI animations (.avi): read/write with common codices
- Space Volume (.vol) native format, 8 bit grayscale, 8 bit indexed, 24 bit RGB color
- most standard image formats, numbered serial images
The Space volume native format is designed to support data integrity
while preserving a wide range of display default parameters and other meta-data.
This format accommodates 8 bit grayscale, 8 bit indexed and 24 bit color data
types.
Images of any main window display can be exported to a variety of standard
image formats.
Example tasks for which the program is suited:
Data visualization
Region of interest definition
Manual segmentation
Masking, and other logical combinations or arithmetic operations
Multiple statistical map overlays
Multi-modal data correlation and fusion
Spatial cross referencing to atlas, multiple subject, and/or multi-modal
data