Skip to content
Edouard Delaire edited this page Jan 24, 2020 · 17 revisions

This module uses a grasping task to illustrate how to apply the General Linear Model in NIRSTORM to perform statistical analysis in the channel space. This module will cover both individual analysis and group analysis

Presentation of the experiment

  • (todo) right-handed subject
  • 5 minutes of baseline followed by a block-design dominate hand grasping task.
  • Block design : 15 to 20 secs of rest followed by 15 secs of task. Repeated 15 times
  • 30 channels per wavelength covering the visual area and the two motor cortex [ see figure 1]
  • 2 wavelengths: 685nm and 830nm
  • Sampling rates : 12.5Hz

Fig. 1 Montage

Disclamer :

This tutorial dataset remains a property of the Spine and Brain Institute (ICM), Paris. Its use and transfer outside the Brainstorm tutorial, e.g. for research purposes, is prohibited without written consent from the ICM Laboratory.

This experiment was conducted in 2017 at ICM by :

  • Mélanie Pélégrini-Issac, Sorbonne Université, CNRS, INSERM, Laboratoire d’Imagerie Biomédicale, LIB, F-75006, Paris, France
  • Fida Najjar, Sorbonne Université, CNRS, INSERM, Laboratoire d’Imagerie Biomédicale, LIB, F-75006, Paris, France
  • Laurent Hugueville, Institut du Cerveau et de la Moelle épinière – ICM, Sorbonne Universités, UPMC Univ Paris 06, Inserm U1127, CNRS UMR 7225, Paris, France
  • Denis Schwartz, Institut du Cerveau et de la Moelle épinière – ICM, Sorbonne Universités, UPMC Univ Paris 06, Inserm U1127, CNRS UMR 7225, Paris, France

All the participant signed a written consent form and ethic was approved by ethic committee of Île-de-France 6 ( CCP number : )

individual analysis

Data setup

  • From the menu of the Brainstorm main panel: File > Load protocol > Load from zip file > Select the downloaded protocol file: 'Nirstorm_workshop_PERFORM_2020/GLM_analysis/protocol_nirs_glm_subject.zip'

Presentation of the data

After loading the protocol, your brainstorm database should contains the following files :

Fig. 2 Functional view of the protocol

  • GraspingRight contains the raw data
  • GraspingRight_Hb contains the contains pre-processed data:
    • Hb [Topo] contains the variations of concentration of oxy-hemoglobin (HbO), deoxy-hemoglobin (HbR) and total hemoglobin (HbT) from the measured light intensity time courses at different wavelengths. The MBLL is computed using the 5 first minutes of measurement as baseline windows.
    • Hb [Topo] | band(0.01-0.1Hz) contains the filtered data filtered between 0.01Hz and 0.15Hz
    • AvgStd: GraspingRight (14) contains a windows-average of the data centered on each motor task [ see bellow]
    • Hb [Topo] | high(0.01Hz) contains the filtered data filtered with a highpass filter having a cuttoff frequency of 0.01Hz. This signal have then been resample to 5 Hz (Hb [Topo] | high(0.01Hz) | resample(5Hz))

To visualize the haemodynamic response response, double click on Hb [Topo] | band(0.01-0.1Hz). You can then change the montage selection by right clicking on the figure and then selecting Montage > Motor right, Motor Left, Visual overlay to only see channels corresponding to that area. Select NIRS overlay to see all the channels.

Fig. 3 Visualization of the haemodynamic response

GLM analysis using pre-coloring

The first level analysis relies on the so-called General Linear Model.

The statistical analysis is done in 3 steps :

  • First, fitting the GLM model to the data using 'GLM - 1st level design and fit'
  • then, compute the contrast using 'GLM - 1st level contrast'
  • and finally, compute the ttest using 'GLM - contrast t-test'

Fitting the GLM model to the data

Drag and drop "Hb [Topo] | band(0.01-0.15Hz)" into the process field and press "Run". In the process menu, select "NIRS-wip > GLM - 1st level design and fit.

Fig. 4 GLM parameters

Fig. 4 GLM parameters

This process takes the following parameters

  • Signal Information

    • Applied High-pass filter : enter the value of the low-cutoff frequency used to remove low-frequency drift ( 0.01 here)
    • Ignore starting signal : enter the windows of time that you want to ignore from the beginning of the file. This can be useful if you want to ignore motion in the beginning of your recording or to separate the baseline from the actual task. Here, enter 290s to remove the baseline.
  • Optimization Method

    • The GLM is solved using Ordinary Least Square equations.
  • Serial Correlation Pre-processing

    • Method : Select the method to handle serial correlation in the noise. Pre-coloring will filter the data with the canonical HRF as define in NIRS-SPM. The pre-whitening method implemented here will remove the noise auto-correlation by iteratively fit an AR(1) model to the noise. Here chose pre-coloring
  • Design Matrix

    • Stimulation events : enter the name of the events used to compute the sign matrix. Here enter 'GraspingRight,Rest'
    • HRF model : select the model of the haemodynamic response that will be convoluted with your experimental design : Here select canonical
    • Add constant regressor : if checked, a constant regressor will be added to the design matrix.

Outputs :

The process will output a file called 'Hb [Topo] | band(0.01-0.15Hz) | GLM OLS_precoloring fitted model'. This file contains all the information about the model that have been fitted : - the B map, the design matrix, the covariance matrix, the residual mse, and the associate degree of freedom that will be used to perform the student-test.

You can also ask the process to store the following additional information :

  • Residual : contains the residual data that cannot be explained by the model (eg noise)
  • Fit : contains the signal explained by the model (X*B)

Compute contrast

The goal of this process is to compute a contrast and its variance from a GLM result before computing the student test. Drag and drop "Hb [Topo] | band(0.01-0.15Hz) | GLM OLS_precoloring fitted model" into the process field and press "Run". In the process menu, select "NIRS-wip > GLM - 1st level contrast.

This process take the contrast vector as input. You can either enter it as a SPM-like vector (eg '[ 1 -1]') or as a human-readable strings (eg '+ GraspingRight - Rest').

This will output a file called 'GLM con + GraspingRight - Rest' that contains the contrast matrix (eg cB) and its associate covariance matrix.

Compute student test

Drag and drop "GLM con + GraspingRight - Rest" into the process field and press "Run". In the process menu, select "NIRS-wip > GLM - contrast t-test.

This will produce a file called 't-stat <> 0 : GLM con + GraspingRight - Rest'. To view the result, double click on this file. This will open a windows showing the t-value contains into the file, you can then right-click on this figure and chose 'View topography'. You can then review the results for HbO or HbR by right-clicking on this new figure and selecting Montage > HbO > HbO or Montage > HbR > HbR as described in the next figure.

You can also use brainstorm panel to chose the statistical threshold and the method for multiple comparison correction that you want to use as described in the next figure.

GLM analysis using pre-whitening

Note : There is two major differences in the data processing if you are using pre-whitening :

  • You should resample the data to 5hz. This is needed because the pre-whitening process can be very long to run when the sampling rate is high. (approximately 30 minutes for one subject of this dataset after the resampling)
  • You should not use a low-pass filter as it will increase the auto-correlation of the noise. You can then replace the band-pass filter by a high-pass filter with low cutoff frequency of 0.01Hz.
  • Drag and drop "Hb [Topo] | high(0.01Hz) | resample(5Hz)" into the process field and press "Run". In the process menu, select "NIRS-wip > GLM - 1st level design and fit. and repeat the same process as above but select pre-whitening instead of pre-coloring.

Second Level Analysis (group level)

Data setup

  • From the menu of the Brainstorm main panel: File > Load protocol > Load from zip file > Select the downloaded protocol file: 'Nirstorm_workshop_PERFORM_2020/GLM_analysis/protocol_nirs_glm_group.zip'

Group analysis

To proceed to the group analysis, we will first do a group average by averaging each of the subject average. To do so, put every subject into the process field, and select the average file using the search option : field you should end up with 6 files to average :

avg

The result is in the group analysis folder and can be analyzed as previously : grp_average

To perform group analysis using GLM, select all subject in the process field, and select 'GLM_OLS con + GraspingRight - Rest' or 'GLM_white con + GraspingRight - Rest' (if you want to use pre-coloring or pre-whitening) and compute GLN - MFX group ttest.

mfx

We finaly end up with this result at the group level using GLM and pre-coloring :

result_grp

The result is not significant when correcting for multiple comparison because of the group size of only 5 subject.

Note : In this process, we assume that the montage is consistent across subject. (eg the montage is the same for each subject). This process will only keep the non-bad channel from all the subject. If you are using a different montage for each subject or have missing channels, we recommend you to project the concentration variation on the cortex before doing the GLM.