Prev User's Tutorial: Pre-processing the fMRI Dataset Next

MRI scanners result in large values for image intensities. During analysis, such large values do not add any more accuracy and in fact may at times result in round-off errors. One common pre-processing step is to scale the data down to a more manageable level. The Scale Quad module in the IBD Analysis/Basic Math package accepts as input a double-quad, scales all the values such that the mean of the quad is the same as the value specified in the module's proponent window. The default value is 1000.

Figure 19 shows the new map with the output of the Load Image Quad being connected to two modules, the Image Quad module, which can display the dataset images, and the Scale Quad module. The proponent window for Scale Quad is also shown. When this new module runs, it reads its required input slot data(double-quad), creates a new scaled double-quad dataset and places it in the output slot named scaled_data(double-quad) once it finishes running.

Figure 19: Scale Quad accepts the double-quad read by Load Image Quad and creates a new scaled dataset.

Analysis is performed on the temporal data vectors of brain voxels in order to find the spatial activation areas. That is, physical regions of the brain that share a similar time series activation response to the experimental stimulus. This sample dataset tries to activate the visual cortex of the subject's brain. The functional activation maps could be overlaid on higher resolution anatomical images. If none is available, the next best option is to display the activation regions on the mean volume of the functional image scans. Averaging the temporal images reduces noise and produces a more visually appealing image on which to overlay the activation areas.

Figure 20 shows the map with an image processing module, the Mean Image Cube module found in the IBD Analysis / Image Processing package. This module accepts a double-quad as input, and produces a new dataset as output. The output slot mean_cube_image(double-cube) is a double-cube array, it contains one multi-slice volume, as the temporal volumes have been averaged into one.

The input slot image_data(double-quad) (req:1) is required. It means a quad dataset must be pending in this slot for the module to fire and produce output. The other input slot cube_idx(int-vec) is not required. If there is no connection to this slot, the module can still run, as long as data is pending in all the other required input slots. The module writer provides a default value for the cube_idx if none is pending in the slot. The cube_idx specifies which quad volumes (or cubes) to use for calculating the mean image. If no value is supplied, the module will average all the temporal volumes.

Figure 20: Mean Cube Image accepts a multi-volume quad dataset and produces a cube, the mean of temporal volumes.

The output of the Mean Cube Image may be connected to a cube data visualization module. Figure 21 shows the map with the Image Cube module added. It is located in the IBD Analysis / Display kit package. The Mean Cube Image output slot mean_cube_image is connected to the Image Cube input slot image_data(double-cube)(req:1), which is a required slot.

Figure 21: Module Image Cube will display the mean volumetric fMRI dataset, the output of the module Mean Cube Image.

Middle-click or select Properties on the pop-up menu (right-click) on the Image Cube module. However, since the map had finished running when the module was added, there is no data pending on the input slot for Image Cube and the module will display an empty proponent window, as shown in Figure 22.

Figure 22: Image Cube proponent has no data to display until data is sent to the module's input-slot by Mean Cube Image.

Data for the Image Cube module comes from the Mean Cube Image module. That module must run and produce output before the Image Cube module can display anything useful. However, for the Mean Cube Image to run, the quad array to process must be supplied by Scale Quad, which requires Load Image Quad to run and load the dataset from file. Figure 23 shows the Scale Quad module running after the Load Image Quad ran, the map execution was started by double clicking on Load Image Quad.

Figure 23: Double-clicking Load Image Quad runs the module, and as data is propagated subsequent modules also run.

Once Scale Quad finishes running, the output will be propagated to Mean Image Cube, and the mean volumetric image will be sent to the Image Cube proponent for display as shown in Figure 24.

Figure 24: After map finishes running, Image Cube has data to display. The mean image is less grainy than the original dataset.

It is important to note that data pending on input slots are consumed when the module runs. That is, the data is moved into the module and is not available for a subsequent run. By default, new data must be supplied to required input-slots for the module to run. Clicking on Defaults on the Image Cube proponent window should clear the display as shown in Figure 25.

Clicking on Apply and Run, or double clicking the Image Cube module so it can attempt to run, will not update the proponent screen. Since there is no data pending in the input slot for it to process and display (it was consumed during the last run), the module will not execute. Input slots may be made sticky. Sticky input-slots retain the data for a subsequent run. The module reads the data and uses it, but it is not consumed, so there will be data pending for another run. For example, when some parameters are changed but the data to process has not changed, there is no need to reload the dataset from a previous module.

Figure 25: Clicking Defaults for Image Cube clears the image. Running the module does not display an image.

Right-clicking on the Image Cube module and selecting Input Slots from the pop-up menu, as shown in Figure 26, will display a window where input slot properties may be set by the user.

Figure 26: Selecting Input Slots from the module's pop-up menu, allows user to change input slot properties.

Figure 27 shows the Input Slots dialog window for the Image Cube module. Selecting the input slot image_data and then clicking the Sticky Data check-box tells the Scopira engine that this module will not consume the pending data on this slot. It will use the data and keep it pending in the slot for the next run. See the User's Guide for full details on all the options available on this window.

Figure 27: Input Slot Properties dialog for the Image Cube module. The input slot image_data has been made sticky.

Running the map by double-clicking the Load Image Quad module will eventually propagate a new data quad into the Image Cube module for processing and the proponents window will be updated. Clicking Defaults in the Image Cube module's proponent window will clear the image. Clicking Apply and Run, or double clicking the Image Cube module (asking Scopira to run that module) will update the display, since data was made sticky. If a connected module runs and generates new data, the old sticky data will be replaced by the new data. The new data will then be sticky until replaced by another run of the Mean Image Cube.

Since the mean image cube shows the loaded dataset, the Image Quad viewer module is no longer needed. Modules may be removed from a map by right-clicking on the module and selecting the Delete entry as shown in Figure 28. If attempting to load a different dataset results in an unexpected mean image, the Image Quad module can be added again and Load Image Quad executed again to verify the proper dataset was loaded.

Figure 28: Right-clicking on the Image Quad module and selecting Delete from the pop-up menu removes it from the map.
Prev Top Next
Saving and Loading a Map  Scopira Home Extracting Time Course Data Vectors to Analyze

Copyright © 2003 National Research Council