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