BrainVoyager v4.6 improves the FMR-based preprocessing tools substantially by adding 3D motion correction, 3D spatial smoothing and improved slice scan time correction. In addition to improved algorithms, the specification of preprocessing parameters has been simplified as compared to previous program versions. With these new tools, we recommend now to run all preprocessing steps directly from created FMR projects. In previous program versions, we recommended to perform most preprocessing steps (except slice scan time correction) after VTC creation because 3D motion correction and 3D spatial smoothing was only available at that later stage.

Since the new preprocessing routines work in original slice space, they require the correct specification of the spatial as well as temporal resolution of your functional data. Because of the importance of having precise values for the spatial and temporal resolution of functional data, the FMR preprocessing dialog now contains the two new fields, "Voxel resolution" and "Temporal resolution", which are available in the left half of the dialog after clicking the Advanced >> button (see below). These fields are also available in the Edit FMR File Specifications dialog (for details, see section "Specification of spatial and temporal resolution of FMR projects").

The preprocessing dialog offers five preprocessing steps: Mean intensity adjustment, 3D motion correction, Slice scan time correction, Spatial data smoothing and Temporal data smoothing. If a preprocessing routine is checked in the Preprocessing options field, the respective controls of the corresponding parameter field are enabled and shown on the right side of the expanded dialog (an exception is "mean intensity adjustment", which has no parameters and does not appear on the right side). In the example snapshot above, spatial smoothing has not been checked in the Preprocessing options field and, thus, the corresponding options in the Spatial smoothing parameters field are disabled.
Note that all selected preprocessing tools are reflected in the resulting output file names. In the example shown above, the file name of the loaded FMR project is "CG_OBJECTS.fmr". The New .fmr file: text box shows that the resulting file name after preprocessing will be "CG_OBJECTS_3DMC_SCSAI_LTR_THP3c.fmr". In addition to the FMR file, the names of the associated "slice time course" (STC) files containing the actual functional data are changed accordingly as shown in the New .stc prefix: text box. The created file names contain short sections separated with "_" characters reflecting selected preprocessing options together with relevant parameters. The section "3DMC", for example, refers to the selection of 3D motion correction. The creation of these name sections will be explained in detail below. Note that the created file names reflect from left to right also the order of the applied preprocessing options. If you want to change the order of preprocessing steps, you may have to enter the dialog repeatedly. If you want, for example, to run the slice time correction before the 3D motion correction, you would enter the dialog and check only Slice scan time correction in the Preprocessing options. After this preprocessing step has been completed, you would reenter the dialog, now selectiong 3D motion correction. You would then see a file name like "CG_OBJECTS_SCSAI_3DMC.fmr" reflecting the order of preprocessing. You might also consider using BrainVoyager's scripting interface to run preprocessing options in any order.
Mean intensity adjustment. This preprocessing option adjust the global intensity of the repeatedly measured images of a slice. This feature, thus, works separately for each slice time course file. For each slice, the average intensity across the first image is computed. For each subsequent scan of the same slice, the mean intensity is computed and then scaled to result in the same average slice intensity. Note that this option might wrongly "correct" effects to increased/decreased activation and it should, thus, be used with care. The file name segment reflecting this preprocessing step is "_MIA". As default, this preprocessing feature is not selected.
3D motion correction. This preprocessing option adjusts small head motions. A specified reference volume is specified (the first as default) to which all others are aligned in space by rigid body transformations. The detected head motion of a volume with respect to the reference volume results in 3 translation and 3 rotation parameters. These detected values are used to translate and rotate the respective volume accordingly to "undo" the detected head motion. During 3D motion correction, the six estimated parameters are displayed incrementally in a time course graph (see snaphsot below). The 3 translation and 3 rotation parameters are color-coded as follows: red -> translation in X direction, green -> translation in Y direction, blue -> translation in Z direction, yellow -> rotation around X axis, magenta -> rotation around Y axis, cyan -> rotation around Z axis. Note that the axis are defined in image space (i.e. not in Talairach space): X refers to the image left-to-right direction, Y refers to top-to-bottom direction and Z refers to direction across slices (first-to-last image). The file name segment reflecting this preprocessing step is "_3DMC".

Besides the plot of the motion parameters, the program also stores two files to disk containing them: "<name>_3DMC.log" and "<name>_3DMC.rtc". In our example, the FMR file name <name> is "CG_OBJECTS" and, thus, the two files "CG_OBJECTS_3DMC.log" and "CG_OBJECTS_3DMC.rtc" are written to disk. The ".log" file is just for inspection of the numerical values of the motion correction parameters while the ".rtc" file contains a design matrix with the motion parameters which can be added to a General Linear Model. The following snapshot shows the initial part of the motion correction parameters design matrix file.

If Create pre/post AVI movies is checked in the 3D motion correction field, the program also saves two movies to disk, one containing the time course data before and one after motion correction. Three orthogonal slices are shown in the movie as shown in the next snapshot:

At the beginning of the "<name>_Post3DMC" movie file, there are three frames showing the corrected motion at the end of the functional data set. Motion is normally maximal at the end of a run due to accumulation of small translations and rotations over time (assuming that the reference volume is the first one). The first frame shows the last functional volume before and the second frame after motion correction. The third frame shows a difference image between these two frames. If there was substantial head motion (i.e. 2mm), you will clearly see contours of the three orthogonal slices, which are due to the application of the detected motion parameters (see snapshot below).

If you want a more extensive log file showing how the motion parameters are estimated over several iterations, check the Create extended log file option. This results in a log file called "<name>_3DMC_verbose.log". For the rigid body transformation of a volume according to the detected parameters, a spatial interpolation process is necessary. This is done via trilinear interpolation, which is a very good interpolation option for small translations/rotations as in motion correction. The corresponding option Trilinear interpolation is, thus, checked in the 3D motion correction field. Slightly more precise but very slow is sinc interpolation, which can be enabled by checking the Sinc interpolation option (NOTE: Sinc is not supported in 4.6 version). Many motion correction tests have shown that it is not necessary to use all voxels for determining the motion correction parameters. The program therefore uses a reduced number of voxels as default. If you want that the program uses all voxels, deselect the Reduced data option.
Further parameters for controlling the motion correction process are available in the 3D Motion Correction Options dialog, which can be invoked by cklicking the Options... button in the 3D motion correction field.

In the General options field
of this dialog, you can specify the reference volume, which is volume
"1" as default. You can also specify that the program may skip
voxels with intensity values lower than a certain threshold. The default
of this threshold is "100", which is a good (conservative) value
masking out "black background" (noise) voxels. You can change
this default value by editing the Skip
voxels with intensity lower than: text box. If this value is set
to "0", all (noise) voxels are included for detecting motion.
In the Parameter estimation for a volume
field, you can specify the maximum number of iterations used to fit a
volume to the reference volume. The default value "100" is very
high and normally not reached by the used iterative fitting procedure
(Levenberg Marquardt). To change this value, edit the Maximum
number of iterations: text box. Head motion can be either abrupt
or incremental, i.e. small head motions from volume to volume accumulate
over time. Since the latter case is seen very often, motion correction
of a volume can be speeded up by using the detected parameters from the
previous volume as starting values. This feature is turned ad default
but can be turned off by unchecking the Start
with params from last volume option.
Slice scan time correction.
The slices comprising one functional volume are scanned sequentially,
i.e. at different moments in time. For functional analysis, i.e. in event-related
designs, a whole functional volume is, however, treated as one data point,
as if all slices were measured at the same time. To make this treatment
of the data valid (i.e. for interpreting time the same way across a functional
volume), the sequentially scanned slices have to be interpolated in time.
For a correct temporal interpolation of the slices, the slice scanning
order has to be known, which can be ascending or descending and either
interleaved or not. The scanning order of the slices together with the
TR and inter slice time value (see section "Specification
of spatial and temporal resolution of FMR projects") can then
be used to perform an appropriate temporal interpolation. You can either
use sinc (default) or linear interpolation by selecting the Linear
or Sinc option, respectively,
in the Interpolation field within
the Slice scan time correction
field.
The specification of the slice order has to be performed with care because
different manufacturers define "ascending" differently, i.e.
either from the top of the head to the bottom or vice versa. In addition,
BrainVoyager allows to reorder the slices (Reverse
order button in the Edit FMR File
Specifications dialog). To avoid any misconception, BrainVoyager
now provides a Slice Scanning Order
dialog to aid in the correct slice order specification. To invoke this
dialog, click the Options... button
in the Slice scan time correction
field. The slice order dialog separates two pieces of information: the
display order and the scan
order of the slices. The display order is shown as a sequence of
thumbnail images and is identical to the order shown in the FMR project
window (see snapshots below).


The correct scan order of the slices has to be specified below the thumbnails
with respect to the display order.
In the example data set shown above, the images are displayed from the
top of the brain (left upper slice shown) to the bottom of the brain (right
lower slice shown). If the slices would have been scanned also from the
top to the bottom, the correct selection would be the Ascending
option in the Specify slice scanning
order field. In this example, the slices were, however, scanned
from the bottom to the top so that the correct selection is the Descending option (see snaphsoth above).
The labels below the thumbnails ("Scan: 1", "Scan: 2"
etc.) reflect now the real scan order, i.e. the bottom slice was scanned
first. Note that this specification is correct irrespective of whether
the bottom-to-top scan order was labelled "ascending" or "descending"
by the manufacturer. What counts is the specification of the scan order
with respect to the display order.
Scanning is often performed in "interleaved" mode in which first
the odd (slice 1, 3, 5...) and even (slice 2, 4, 6...) numbered slices
are scanned. The Interleaved option
can be combined with the Ascending
and Descending option. As an example,
"ascending, interleaved" has been specified in the snapshot
below. With respect to the display order, the "Scan: <x>"
labels below the thumbnails show accordingly that the first slice displayed
was scanned first, the third slice displayed
was scanned second, the second
slice displayed was acquired
as scan 11 and so on.
s
An option Interleaved 2 is additionally
available for Siemens scanners with the Numaris 4 software. In this latest
software, "interleaved" is defined differently with regard to
an odd or even number of slices. BrainVoyager takes care about this particular
definition when using the "interleaved 2" option.
The file name segment reflecting slice scan time correction is "_SC[S|L][A|D][I|I2]".
The "_SC" part is always present to denote "slice scan time correction".
This is followed by either letter "S" denoting "sinc interpolation"
or letter "L" denoting "linear interpolation". This
is then followed by either letter "A" denoting "ascending"
or letter "D" denoting "descending". Optionally this
is followed by the letter "I" or the letters "I2"
denoting "interleaved" scanning. As an example, the string "_SCSAI"
in an FMR file name tells us that slice scan time correction had been
performed using sinc interpolation and with an ascending interleaved scan
order specification.
Spatial smoothing. Spatial smoothing
uses a 3D gaussian kernel. The width of the kernel can now be specified
in millimeter. Note that the millimeter specification is only correct
if the "voxel resolution" has been specified correctly (or more
conveniently if it was extracted from the file header during project creation).
The kernel width is specified in the Gaussian
filter - FWHM: text box (FWHM = full
widht at half
maximum). If you want to specify
the width of the kernel in pixels, check the Pixel
option in the Spatial smoothing parameters
field. If you want to run gaussian smoothing only within the slices, check
the 2D option instead of the 3D default option. Spatial smoothing
is executed in the space domain (image space) as default, which is fast
for small kernels. For large kernels (more than 15 mm), smoothing in the
frequency domain is often faster. If you want to use frequency domain
gaussian smoothing, check the Freq. domain
option.
To exploit the full spatial resolution of fMRI, we do not recommend to
spatially smooth the data for single subject analysis. This is the reason
why the Spatial data smoothing
option is turned off as default in the Preprocessing
option field. If you want to smooth your data for single subject
analysis, we recommend to use a small kernel of about "4 mm".
For multi-subject analysis, we recommend a kernel between "8"
and "12" mm. We suggest to apply spatial smoothing for multi-subject
analysis after having first run single-subject analyses with no or modest
spatial smoothing. The recommended moment for multi-subject spatial smoothing
is at the stage where you want to run multi-subject GLM analyses. At this
stage, you will have one or more VTC files per subject. To run spatial
smoothing at this stage, you must use the version for VTC files, which
is available in the 3D Data Preprocessing
dialog.
The file name segment reflecting spatial smoothing is "_[SD|FD][3D|2D]SS<FWHM><unit>".
The substring "SD" is short for "space
domain", the alternative
string "FD" is short for "frequency
domain". The next substring
is either "3D" or "2D" followed by "SS",
which is short for "spatial
smoothing". This substring
is followed by the width of the gaussian kernel (<FWHM>) followed
finally by the unit of that value (<unit>), whichh is either "mm"
(millimeter) or "px" (pixels). As an example, the string "_SD3DSS4.00mm"
in an FMR file name tells us that 3D spatial smoothing had been performed
in the space domain with a gaussian kernel of 4 mm FWHM.
Temporal filtering. Temporal filtering consists of two main functions: removal of drifts and temporal gaussian smoothing. The removal of drifts is very important and is highly recommended whereas temporal smoothing is less important and not checked as default.

The drifts observed in voxel time series are often linear (see the time course above) but can be also nonlinear (see time course below). The minimum you should do is a linear trend removal and, thus, the Linear trend removal option is checked as default. To remove also nonlinear drifts, a temporal high pass filter is recommended. This filter converts the time series at each voxel in the frequency domain (using a Fast Fourier Transform or FFT) and then removes low frequencies (= high pass). The frequency domain representation is then converted back in the time domain (inverse FFT), which looks then as before except that low frequency drifts are no longer visible. Since this filter is desirable in most cases, the option High pass filter: is checked as default. Prior to a high pass filter, linear trend removal is always performed because this improves the result of high pass filtering in case of a large linear drift component. You can specify which (low) frequencies should be removed either as cycles in time course, cycles/point or Hz. The unit selected as default is "cycles in time course" and the preset value is "3". This value needs not to be changed except in the case that your paradigm uses only a few (i.e. 3 or less) blocks or trials. In this case, you should reduce the value to "2" or "1" or turn high pass filtering off. Note, however, that it is highly recommended to use (much) more than 3 blocks or trials per run in order to be able to separate fluctuations due to true activation effects from nonlinear drifts due to scanner and physiological noise. If you chose to enter the high pass filter in "cycles per point" or "Hz", the program converts the "cycles in time course" units for you. Note that using the unit "Hz" requires a correct specification of the TR value.

Besides removal of drifts, you can also apply a gaussian temporal smoothing
filter. Since temporal gaussian smoothing blurs timing information across
neighboring data points, it is not recommend as default. Temporal smoothing
improves, however, the signal-to-noise ratio by removing high frequency
fluctuations. If you want to apply temporal smoothing, check the Gaussian option in the Temporal
smoothing parameters field. The width of the kernel can now be
specified in seconds. Note that the specification in seconds is only correct
if the TR value has been specified correctly. The kernel width is specified
in the Gaussian - FWHM: text box
with the default value of "2.8" seconds. If you want to specify
the width of the kernel in units of data points (TR's), check the data points option instead of the secs option.
The file name segment reflecting temporal smoothing consists of up to three
parts. If linear trend removal and/or high pass filtering is performed,
the string "_LTR" (linear
trend removal)
is appended first. If a high pass filter is applied, the substring "_THP<filter><unit>"
is appended. This is followed by the filter value (<filter>) and
the unit of that value (<unit>), which is either "c" (cycles
in time course), "cp" (cycles per point) or "Hz".
If temporal smoothing is performed, the substring "_TDTS<FWHM><unit>"
is finally appended. The substring "TD" is short for "time domain",
the substring "TS" is short for "temporal
smoothing". This substring
is followed by the width of the gaussian kernel (<FWHM>) followed
by the unit of that value (<unit>), whichh is either "s"
(seconds) or "dp" (data points). As an example, the string "_TDTS2.8s"
in an FMR file name tells us that temporal smoothing had been performed
in the time domain with a gaussian kernel of 2.8 seconds FWHM.