Chapter 6
Image Display and Analysis

MRiLab incorporated a set of image display and analysis tools. They are designed using Matlab GUIDE, and carefully tuned for manipulating multi-dimensional image data in Matlab.

6.1 MagicRightClick

The user can right click on any MRiLab graphical axes to create an individual figure with the identical graphical content.

6.2 MatrixUser

MRiLab incorporated a toolbox called ‘MatrixUser’ for performing image display and analysis. This toolbox can be activated by pressing ‘MatrixUser’ toolbar icon located at the top of the main simulation console.


Figure 6.1: MatrixUser Toolbar Icon

MatrixUser will search through the current output folder and load all image series from this folder into Matlab base workspace. The MatrixUser main window (Figure 6.2) works as a matrix manager for loaded images. The user can choose to display image series by using the pop-up menu. The matrix size, type and value range are calculated and provided on the right side. The user can press ‘MatrixUser’ button to activate MatrixUser display window. Current MatrixUser version supports displaying any valid Matlab multi-dimensional matrix and Matlab structure variable.


Figure 6.2: MatrixUser Main Window

6.2.1 Data Import

By default, MatrixUser reads Matlab base workspace, scans existing matrices in the Matlab session, then creates a matrix list for tracking matrix content. Once those matrices are updated by the user, MatrixUser will also update the matrix list. Moreover, there are several different approaches to import data from outside Matlab into MatrixUser. The imported matrices will be saved into Matlab base workspace. The import functions are located under ‘Load’ menu, including:

6.2.2 Window Layout

To activate MatrixUser display window, press ‘MatrixUser’ button. If the selected matrix contains complex value, four options are available for displaying magnitude, phase, real and imaginary of the matrix. Figure 6.5 demonstrates an overview of the window layout of the MatrixUser display window. The window consists of


Figure 6.5: MatrixUser Display Window

  1. Matlab Default Toolbar

    Matlab toolbar provides basic interactive functions for displaying matrix. These functions include:

  2. MatrixUser Function Library

    Most of the matrix analysis functions are represented on function bench panel. MatrixUser groups these functions into categories and dynamically loads them according to the dimension size and compatibility of current display matrix. A multi-tab is used to contain individual function button associated with each function. The tabs under the multi-tab are used to switch between function categories, which include

  3. Matrix Calculator

    The matrix calculator consists of three control items, including a matrix expression editbox, an execution button ( pict ) and a matrix saving button ( pict ). Valid matrix calculation expression can be executed in the calculator and updated in the display window, serving as a convenient way to analyze matrix calculation result. Matrix concatenation and recombination can also be done in the calculator, for example, to side-by-side compare multiple 3D matrices (Figure 6.6). Some valid calculation examples are, but not limited to:

    Figure 6.6: MatrixUser Concatenation Example

    where A, B, C and D are multi-dimensional matrices with proper matrix size. Also note that the source matrices have to stay in the base workspace for being referenced. Pressing the execution button will perform the calculation and save the result as a temporary matrix. The user can also save the temporary matrix into workspace by pressing matrix saving button. The saved temporary matrix will have a ‘_tmp’ suffix by default.

  4. Matrix Display Axes

    The display axes renders an image for one slice of current matrix. The user can use mouse cursor to inspect the coordinate and value of any voxel. Moving mouse wheel back and forth moves the slice location along current dimension and updates the display axes.

  5. Matrix Color Control Group

    The matrix color control group provides a set of sliders, editboxes and popup menu which help control image color scheme and contrast. This group consists of

  6. Matrix Dimension Control Group

    MatrixUser measures the dimension size of the display matrix and assigns one slider and editbox for each dimension that is above 2 (i.e. no slider and editbox for the first and second dimension). These control items are located in individual dimension tab and can be used to switch among slices in current active dimension.

6.2.3 Function Library

  1. Display

    Matrix display functions are listed under this tab.

  2. QuickMath

    This function category performs quick math calculation for current matrix. A few commonly used math calculation are provided under this tab. Instead, complex calculation can be performed using matrix calculator as mentioned above.

  3. Transform

    This function category performs spatial transformation or fast Fourier transform (FFT) to current matrix.

  4. Process

    This function category performs basic matrix processing functions.

  5. ROI

    MatrixUser provides a set of function buttons for performing Region-of-Interest (ROI) analysis (Figure 6.15). To create a ROI, the user needs to click ROI button first, then draw a ROI on the image axes. The statistical measures (i.e. mean, standard deviation and relative standard deviation) for voxels in delineated ROI is calculated and updated with moving ROI position or changing ROI shape. The ROI function buttons consists of

    Figure 6.15: Draw Multiple ROIs and Redraw on A Second Image. The source ROIs are in green, copied ROIs are in red.

    Figure 6.16: Histogram for One Image Slice

  6. Segment

    MatrixUser supports functions for performing multi-slice manual segmentation. To create a segmentation, click segmentation button, then draw a region on the image axes. The user can modify the region location and shape prior to confirming segmentation with double click. The segmentation buttons consists of

    Figure 6.17: Editing Segmentation

    To edit segmented region (Figure 6.17), press pict to open a segmentation manager. The manager records the type and location for existing segmented regions. The user can click any region item to inspect the location of the region. To edit chosen region, click ‘Edit’ button to activate the region outline. Both the shape and mask flag are editable for segmented region. After editing, click ‘Update’ to conform modification. The user can press pict to save current segmentation into a MAT file which contains a mask matrix and a cell array storing segmentation location information. The user can also press pict to save the mask matrix into workspace. Pressing pict can load previous segmented regions from a saved MAT file. Notice that the user can press pict to remove segmentation from overlapping with background matrix.

  7. Surface

    This function category generates surface or mesh plot for current image.

  8. Matlab

    Matlab default image tools (Figure 6.18) are tailored for MatrixUser and included in this category.

    Figure 6.18: Matlab Tools

  9. More

    Uncategorized functions are categorized under this tab.

    Figure 6.21: Reslice 3D Matrix. An example of 3D reslicing generates a new stack of images in the oblique plane from an axial human knee MRI image stack. Note that the resliced images are extracted from the plane perpendicular to the indicating line on the left window.

6.3 arrayShow

The arrayShow tool is a Matlab image viewer which has been designed for the evaluation of multidimensional complex images. arrayShow is originally designed by Tilman Johannes Sumpf at Biomedizinische NMR Forschungs GmbH. The user can press ‘arrayShow’ button to activate this viewer. Detailed information about arrayShow can be found at;

6.4 SpinWatcher

The SpinWatcher is designed for monitoring spin evolution behavior within a single voxel at given MR sequence and field environment. This function can be activated by pressing ‘SpinWatcher’ toolbar icon located at the top of the main simulation console.


Figure 6.22: SpinWatcher Toolbar Icon


Figure 6.23: SpinWatcher Main Interface

Figure 6.23 demonstrates an overview of the SpinWatcher main interface. This interface consists of

  1. Voxel Locator
    The default voxel is chosen as the one at the isocenter indicated by a red isocenter marker. However, the user can select any voxel within the virtual object by using pict . The slider beside the image can help change image slices.
  2. Spin Property and Environment

    The spin properties will be automatically updated with a selected voxel. The user can modify the spin properties and environment to meet their own needs. The editable properties provided in this interface include:

    1. Spin
      • ChemShift (Hz/T): The chemical shift of the spin
      • Gyro (rad/s/T): The gyromagnetic ratio of the spin
      • Rho : The density of the spin
      • T1 (s): The longitudinal relaxation time
      • T2 (s): The transverse relaxation time
      • T2Star (s): The T2* relaxation time
      • SpinPerVoxel : The number of spins in each voxel, default one spin per voxel will treat T2* equal to T2, use a number above one for simulating T2* effect
      • TypeNum : The number of spin species
      • LocZ : The Z location of the selected voxel
      • LocY : The Y location of the selected voxel
      • LocX : The X location of the selected voxel
    2. Display
      • WindowSize : The window width of the spin evolution plot
      • ISOHighlight : The flag for turning on and off isocenter mark
      • Grid : The flag for turning on and off grid line
      • Axes : The flag for turning on and off axes label

    The SpinWatcher supports monitoring multiple spin species. The user needs to provide an array of multiple values for T1, T2, T2*, Rho and ChemShift, and give the correct number of spin species. The values must be separated with space. For example

  3. Spin Watcher Window
    A 3D spin evolution animation is displayed in the spin watcher window. The 3D animation is controllable using a set of control buttons and sliders
  4. Spin Evolution Plot

    SpinWatcher provides two plots for capturing the spin evolution (i.e. |Mxy| and Mz) regarding time. Press ‘Execute’ button to recalculate the spin evolution plot if changes to spin property and environment was made. The settings can be saved into a file by pressing ‘Update’. To export temporary variables of spin evolution into Matlab base workspace, press ‘Export’, the exported variables include :

    The user can also undock the spin evolution plot by pressing ‘’ button.

6.5 SARWatcher

The SARWatcher is a graphical toolbox for monitoring time varying spatial Specific Absorption Rate (SAR) of the virtual object under given experimental design. This function can be activated by pressing ‘SARWatcher’ toolbar icon located at the top of the main simulation console. Note that in order to evaluate SAR, transmitting RF coil with E1 field is required. One example can be found at Coil_8ChHeadSAR.


Figure 6.24: SARWatcher Toolbar Icon


Figure 6.25: SARWatcher Main Interface

Figure 6.25 demonstrates an overview of the SARWatcher main interface. This interface consists of

  1. SAR/Power
    The SAR/Power panel displays time varying spatial SAR and power map for the virtual object. The user can choose different time point (horizontal scroll bar) and slice (vertical scroll bar) to inspect map details.
  2. Local SAR Settings
    The ‘Spatial’ and ‘Temporal’ tab on the ‘Local SAR Settings’ panel contain parameters for controlling SAR and power calculation.
    1. Spatial
      • N_Gram (g): The number to specify averaged N-gram SAR, set to 0 indicating unaveraged spatial SAR
    2. Temporal
      • tStart (s): The starting time to calculate SAR
      • tEnd (s): The ending time for SAR calculation
      • dt (s): The nominal time interval for SAR calculation
      • N_Second (s): The nominal time window for SAR calculation
  3. Time Point Table
    The Time Point Table contains a list of time point (s) and N_Second (s) in actual SAR calculation, this is because SAR calculation only updates at execution points.
  4. SAR Stats
    The SAR Stats panel contains overall statistics for calculated SAR and power at given time point.

The user can export the SAR and power map in a separate window by pressing ‘Export’ button. Pressing ‘Update’ button updates any modifications. The spatial SAR and power calculation follows the methods described in literature [1112]. The spatial N-gram SAR averaging is implemented using a method described in literature [13].

6.6 SeqConverter

(:TODO) SeqConverter is a graphical toolbox for converting MRiLab MR sequence format to more portable sequence format. This toolbox is still under developing.