BrainVoyager 2000 - List of main program features
Overview
BrainVoyager is a software package for the analysis and
visualization of structural and functional magnetic resonance images. It is programmed
with Visual C++ 4.x / 5.0 using MFC 4.2. The software was designed for high performance,
ease of use and flexible data processing. It offers a comprehensive set of analysis and
visualization tools which start its operation on raw data (2D structural and functional
matrices) and produce beautiful visualizations of the obtained results. Basic as well as
advanced program features are easily and fully exploited through an intuitive user
interface.
Data analysis includes preprocessing (motion correction, Gaussian spatial and temporal
data smoothing, linear trend removal, filtering in the frequency domain), correlation
analysis, determination of Talairach coordinates, volume rendering, surface rendering and
cortex flattening. Parametric and non-parametric statistical maps may be computed and
superimposed both on the original functional scans as well as onto T1-weighted 2D or 3D
anatomical reference scans. Time courses of selected regions-of-interest (ROIs) are
available both in 2D and 3D representations. Statistical maps may be computed either in
the 2D or 3D representation since structural as well as functional 4D data (space x time)
are transformed into Talairach space. This allows to compare activated brain regions
across different experiments and across different subjects. Talairach transformation is
performed in two steps. The first step consists in rotating the 3D data set of each
subject to be aligned with the stereotaxic axes. For this step the location of the
anterior commissure (AC) and the posterior commissure (PC) as well as two rotation
parameters for midsagittal alignment has to be specified interactively. In the second step
the extreme points of the cerebrum are specified. These points together with the AC and PC
coordinates are then used to scale the 3D data sets into the dimensions of the standard
brain of the Talairach and Tournaux atlas.
Segmentation of tissue (e.g., isolating the brain, differentiating gray
and white matter) is performed using region-growing methods, filter operations as well as
the application of 3D templates. Using the mouse it is easy to explore a 3D volume with
superimposed pseudocolor-coded statistical maps in a four-window representation showing a
sagittal, coronal, transversal and oblique section. Based on a (segmented) 3D data set a
three-dimensional reconstruction of the subjects head and brain can be calculated and
displayed from any specified viewpoint using volume or surface rendering. Volume rendering
is performed with a very fast ray casting algorithm, lightning calculations are based on
Phong-shading. Surface rendering of reconstructed surfaces is performed using OpenGL.
Using texture mapping, a reconstructed surface (e.g., head or brain) may be sliced in real
time showing at the same time both surface and volume data. Initial polygon meshes serve
as the basis for surface finding, cortex inflation and cortex flattening computations. The
surface reconstruction procedure starts with a sphere (recursively tesselated icosahedron)
or a rectangle which slowly wraps around a (segmented) volume data set. In order to avoid
topological defects and to let the surface smoothly grow into deep sulci, a dynamic mesh
algorithm was developed which automatically invents new polygons on the fly at places
where they are needed. A reconstructed cortical surface may be inflated, cut interactively
and slowly unfolded minimizing areal distortions. Statistical 3D maps may be superimposed
on reconstructed, inflated or flattened cortex. Signal time courses may be invoked by
simply pointing to any region of a visualized surface.
General Features
Approach
- Comprehensive set of analyis and visualization tools for functional and
structural fMRI data.
- One program for all steps of the data processing process starting from
reading raw data files (e.g., native Simens *.IMA or DICOM format) up to producing
beautiful images (e.g., registration of functional data with anatomical 3D data sets,
Talairach transformation, volume rendering, surface rendering, cortex flattening).
- Extremely fast and highly optimized 2D and 3D analysis and visualization
routines.
Operating systems
- Windows NT 4.0
- Windows 95
Supported CPUs
- Intel Pentium, Pentium Pro, Pentium II or compatible (AMD, Cyrix)
- DEC Alpha
Programming language
- Visual C++ 4.x / 5.0
- Microsoft Foundation Classes (MFC) 4.2
Programming models
- Object-oriented
- MFC document/view approach
- MDI (Multi-document-Interface)
- User-friendly interface exploiting advanced Microsoft Win32 API features
2D and 3D graphics programming
- Efficient and optimized 2D bitmap routines
- Fast, high-quality volume rendering
- Surface rendering using OpenGL API
- Realtime manipulation of 3D head and brain models (OpenGL hardware
acceleration required for realtime manipulation of high-quality meshes)
Incorporated libraries
- Some routines from Numerical recipes in C (Press et al., 1992)
with permission for usage in BrainVoyager.
Base module I: data preprocessing, statistics, 2D visualization
Data formats
- Reading 2D image files: Siemens *.ima (byte swapping necessary), DICOM,
Windows BMP (DIB), BrainVoyager *.slc format; Support for GE, Bruker and Phillips
scanners.
Project creation
- Automatic assembling of images into multislice projects: 2D anatomical
projects (*.amr), 2D (space) x 1D (time) functional projects (*.fmr) and 3D anatomical
projects (*.vmr). Data is represented and stored in a format suitable for fast access.
Support for new Siemens data formats storing multiple slices within a large image (this
allows more ambitiious experimental designs (e.g., fast scanning of several hundred
volumes) through reducing limitations in data handling).
Data preprocessing
- Fast 2D motion correction of small head movements (processing 128 x 15
slices with matrix size of 128 x 128 lasts only ? minutes and ?seconds on a 500 MHZ DEC
Alpha).
- 3D motion correction (in progress).
- 2D/3D motion correction in frequency space (in progress).
- Spatial and temporal Gaussian data smoothing, removal of linear trends of
time course data.
- Spatial and temporal bandpass filtering in frequency space.
2D statistical mapping
- Easy creation of stimulation protocol based on time course segmentation
and "click-and-fill" mode.
- A defined stimulation protocol allows to specify reference functions or
groupings for statistical tests based solely on selection of stimulus conditions.
- Stimulation protocol serves for visualizing ROI time courses segmented
with colors reflecting experimental conditions. Zooming and other tools (e.g., background
coloring, percent signal change, interareal and intersubject time course averaging,
display of reference function, triggered averages) are helpful in producing high-quality
figures.
- Time course of any pixel or cluster may be used as reference function for
correlation.
- Parametric statistical mapping based on linear correlation and Students
t-test.
- Nonparametric statistical mapping based on rank-order correlation and
Kolmogorov-Smirnov test.
- Cross-correlation maps; Coloring of pixels based on significance level or
on lag value producing the highest significance level for that pixel.
- Loading and display of up to four statistical maps with adjustable
coloring of individual maps and all possible intersections.
- Interactive editing of look-up color tables for coloring of significance
levels, lag values and multi-map displays.
Base module II: Volume processing tools
Segmentation, Volumetry
- Segmentation of 3D data sets based on 3D region growing; inclusion of
voxel based on intensity level parameters (specifying e.g., grey or white matter), space
parameters.
- Definition of segmentation result as either marked or non-marked voxels.
- Talairach-based segmentation solving complex segregation problems
(cerebrum, cerebellum, hippocampus etc.); operates in two steps: application of Talairach
3D mask volume plus region growing within segmented volume.
- Interactive manual segmentation/marking using 3D mouse cursor.
- Determination of volume size (mm3) of marked voxels.
- Computation of iso-surfaces.
- Expansion option for marked volume
- 3D filtering in space or frequency domain (e.g., 3D data smoothing)
Volume rendering
- Fast, high-quality volume rendering based on ray casting, phong shading
and gradient smoothing.
- High-speed rendering options: reduced resolution and/or adaptive step
size for ray-casting.
- Easy, interactive specification of camera position relative to volume.
- Volume renderings with superimposed functional data.
- 3D-2D mapping: Moving mouse pointer across the 3D rendering (e.g. gyri)
in the volume rendering window automatically updates the orthogonal slice viewing windows
(sagittal, coronal and horizontal) with respect to the hot spot (3D coordinates).
Talairach tools
- Easy transformiation of a 3D data set into Talairach space.
- Display of full or partial Talairach grid superimposed on 3D data set.
- Creation of functional 4D time course data in Talairach space allowing
display of time courses of selected voxels or clusters with 3D cursor and the computation
of statistical 3D maps.
- Display of Talairach coordinates of a selected voxel or of the center of
a selected functional cluster.
- Averaging across subjects of 3D anatomical data sets, 4D time courses and
3D statistical maps.
Spatial transformations: 2D->3D, 3D->3D
- Rigid body transformation of 3D data sets.
- Import of 2D statistical maps into 3D anatomical data set.
- Transformation of aligned 2D maps into 3D statistical maps and
transformation into Talairach space.
- 3D-3D registration for MRI-MRI and MRI-PET data.
Spatial transformations: 3D->2D
- Creation of anatomical 2D slices through oblique reslicing of 3D data set
(based on parameters for number of slices, FOV, rotation angles, slice thickness and gap
thickness).
- Reslicing options: trilinear interpolation, slice thickness averaging.
- Comparison of obliquely resliced images of a 3D data set with slices of a
anatomical of functional 2D data set (e.g. interactive 2D-3D registration).
Surface module: Mesh processing tools
Definition of surface reconstruction start mesh
- Specification of sphere (icosahedron) or rectangle as starting model for
surface reconstruction with specified resolution.
- Loading and saving of meshes in BrainVoyager .SRF format.
- Export of meshes in .DXF (Autocad, 3D Studio Max) or .STL (Prototyping)
format.
- Creation and display of multiple surfaces (e.g. scenes composed of brain
and transparently rendered head).
Surface manipulation
- Mouse and keyboard controlled interactive translation, rotation, zooming
of scene or individual meshes.
- Selection of meshes for applying object coordinate transformations.
Surface reconstruction
- Segmented volume data (e.g., head, brain) serves as fitting target for
translating, shrinking or expanding start mesh.
- Dynamic insertion of triangles at places with high curvature.
- Coloring of meshes with respect to local computation of convex or concave
surface patches.
- Superposition of functional data on reconstructed cortical surface.
Surface slicing
- Interactive real-time slicing through head/brain meshes showing
anatomical and functional volume data.
- Combined display of multiple cut planes.
Cortex inflation and unfolding
- Specification of parameters for various deformation forces (e.g. edge
length, smoothing, target intensity range).
- Indirect 3D coordinates: polygons of inflated/flattened cortex
"know" its corresponding 3D locations of the initial surface reconstruction.
This allows moving the mouse pointer across a morphed mesh model with concurrent display
of the original 3D location of the highlighted vertices which is displayed in the three
orthogonal slice viewing windows; it also allows display of statistical 3D maps and volume
time course data on flattened surface.
Display options
- Meshes may be displayed as point model, wire frame or shaded surface
(flat, Gouraud).
- Display of transparently rendered meshes.
- Specification of mesh colors and of multiple light sources.
- Scene antialiasing.
- Saving and restoring of the current scene view.
- Scene animation
- Stereoscopic display (in progress)
Miscellaneous
Image and movie export options
- Export of current view of 2D, 3D volume or OpenGL mesh display as 8-bit
or 24-bit Windows .BMP file.
- Export of dynamic processes (e.g., motion correction, pathways through
volume data, mesh animations) as Microsoft Windows .AVI movie files.