Professional Documents
Culture Documents
Manual
Version 2.3
https://www.nitrc.org/projects/rshrf
Guo-Rong WU
e-mail: guorongwu@swu.edu.cn
Daniele Marinazzo
e-mail: daniele.marinazzo@ugent.be
OVERVIEW ....................................................................................................................................... 2
GENERAL.......................................................................................................................................... 3
Input data ..................................................................................................................................................... 3
Statistical analysis (second-level analyses) .................................................................................................. 3
Display (voxel-wise HRF visualization) .......................................................................................................... 3
FAQ................................................................................................................................................................ 4
Help resources .............................................................................................................................................. 4
Version information ..................................................................................................................................... 4
GETTING STARTED .............................................................................................................................. 5
Download ...................................................................................................................................................... 5
Installation .................................................................................................................................................... 5
Start the toolbox (SPM Plugin) ...................................................................................................................... 6
Resting State HRF .......................................................................................................................................... 7
Connectivity Analysis ..................................................................................................................................... 7
DATA PROCESSING EXAMPLES ................................................................................................................ 8
Demo data..................................................................................................................................................... 8
Batch interfaces and demo matlabbatch jobs .............................................................................................. 9
o Voxel-wise HRF estimation, deconvolution and connectivity analysis ................................................. 9
o Vertex-wise HRF estimation, deconvolution and connectivity analysis ............................................. 20
o (Volume) ROI-wise HRF estimation, deconvolution and connectivity analysis .................................. 28
o (Surface) ROI-wise HRF estimation, deconvolution and connectivity analysis .................................. 35
o Signals based HRF estimation, deconvolution and connectivity analysis .......................................... 43
o Voxel-wise connectivity analysis ........................................................................................................ 48
o Vertex-wise connectivity analysis ...................................................................................................... 52
o (Volume) ROI-wise connectivity analysis ........................................................................................... 54
o (Surface) ROI-wise connectivity analysis............................................................................................ 57
o Signals based connectivity analysis ................................................................................................... 59
o Display ............................................................................................................................................... 62
Standalone demo codes .............................................................................................................................. 65
o rsHRF_demo_temporal_basis.m........................................................................................................ 65
o rsHRF_demo_FIR_sFIR.m ................................................................................................................... 67
o rsHRF_demo_impulseest.m ............................................................................................................... 69
o rsHRF_demo_voxel_calcium.m .......................................................................................................... 71
THIRD-PARTY CODE ........................................................................................................................... 74
REFERENCE ..................................................................................................................................... 75
1
Overview
rsHRF is a Matlab/Python-based cross-platform software for the computation, display, and
analysis of resting-state hemodynamic response function (HRF).
rsHRF is aimed to retrieve the onsets of pseudo-events triggering a hemodynamic response
from resting-state hemodynamic signal (e.g. BOLD-fMRI). It is based on point process theory
(Tagliazucchi et al., 2012) and fits a model to retrieve the optimal lag between the events and
the HRF onset, as well as the HRF shape, using the basis function sets (Wu et al., 2013; Wu &
Marinazzo, 2015; Wu & Marinazzo, 2016). There are a number of basis function sets available
in rsHRF, including “informed” basis set (canonical HRF with its delay and dispersion
derivatives), Gamma functions, Fourier set (Hanning), (smoothed) Finite Impulse Response
(FIR), and the nonparametric impulse response function.
Once that the HRF has been retrieved, it can be deconvolved from the time series (for
example to improve lag-based connectivity estimates), or one can map the shape parameters
everywhere in the brain (including white matter), and use it as a pathophysiological indicator.
Input can be 2D GIfTI, or 3D/4D NIfTI images, but also on time series matrices/vectors.
The output are three HRF shape parameters (response height, time to peak, full width at half
maximum) for each voxel/vertex/ROI, plus the deconvolved time series, and the number of
retrieved pseudo-events.
In the rsHRF MATLAB version, brain connectivity analysis (seed to voxels/vertices, ROI to ROI
analysis) can be further performed using the (partial) correlation (Pearson/Spearman) and
Granger causality methods (Pairwise GC, partially conditioned GC, Conditional GC).
2
General
Input data
In order to perform HRF/connectivity analyses using this toolbox you will need:
Resting-state functional data. Either 2D Surface (GIfTI), 3D/4D Volume (NIfTI), or time series
(text/mat) can be analysed.
ROI definitions. for regions of interest (ROIs) based HRF/connectivity analysis, ROIs can be
defined from mask images, MNI coordinates (or native space coordinates), or multiple-label
images.
The brain connectivity analysis (seed based or ROI to ROI connectivity) can be further
performed based on the signal with/without HRF deconvolution.
3
FAQ
1. Should the input data be standardized (i.e. z-scored) a priori?
No, the standardization of the resting-state fMRI BOLD signal has already been included in
the code.
Help resources
Forums for RS-HRF: https://www.nitrc.org/forum/?group_id=1304
Version information
The historical modification information was summarized in rsHRF_update_log.txt, with a
more detailed description in Github: https://github.com/compneuro-
da/rsHRF/blob/update/documentation/manual/01_History%26Development.md
4
Getting started
Download
rsHRF and demo data can be downloaded from:
https://github.com/compneuro-da/rsHRF
&
www.nitrc.projects/rshrf
Installation
Copy or extract the whole folder “rsHRF” into the SPM toolbox directory. The folder
“spm/toolbox/rsHRF” should now contain all m-files, matlabbatch job files (SPM plugin) as
well as a subfolder named “demo-code”, containing the demo codes (MATLAB Standalone).
This will allow you to start the program directly from the SPM user interface via the toolbox
button on the GUI.
Note: run the rsHRF_install_SPM.m script in the MATLAB Command Window, all scripts within
the downloaded rsHRF folder will be copied into a folder named ‘rsHRF’ located in the
path/to/spm/toolbox/ folder.
5
Start the toolbox (SPM Plugin)
Via GUI
o Click on toolbox and then select “rsHRF” from the drop-down menu.
o Or, Click Batch, SPM→ Tools → rsHRF
6
The following Main-menu should appear in an additional window:
7
Data processing examples
Demo data
The demo data (one subject, sub-10171) was from ‘UCLA Consortium for Neuropsychiatric
Phenomics LA5c Study’, can be download from www.nitrc.projects/rshrf .
8
Batch interfaces and demo matlabbatch jobs
o Voxel-wise HRF estimation, deconvolution and connectivity analysis
The voxels-wise based analysis module in the matlabbatch is called by clicking the ‘Voxels’
button in the main menu.
9
Demo jobs
Batch Editor → Load Batch
Job 1: \spm12\toolbox\rsHRF\demo_jobs\vox_hrf_canon2dd_deconv_job1_v23.mat
• Denoising: (1) remove motion, physiological confounds---aCompcor (saved in
nuisance.txt), Linear Polynomial detrending; (2) Band-pass filter (0.01~0.1 Hz); (3)
Despking.
• HRF basis function: informed basis function;
• Duration of HRF: 32s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 2, i.e. TR/2 = 2/2=1s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• HRF parameter outlier will be removed and replaced by surrounding values.
• HRF computation only inside the ‘*brainmask.nii’
• The HRF parameters, and deconvolved data will be saved in NIfTI files.
10
Job1 results:
11
hrf.mat
Variable Description
V0 NIfTI header information
smask_ind matrix index of analysis mask
event_number number of detected spontaneous events
event_bold: timing information of spontaneous events
PARA HRF parameters: 1st row: Response Height;
2nd row: Time to peak; 3rd row: Width at half peak
para input parameters for HRF estimation
12
Job 2: \spm12\toolbox\rsHRF\demo_jobs\vox_hrf_gamma_job2_v23.mat
• Denoising: (1) remove motion (rp.txt), physiological confounds (top 5 principle
components from CSF and white matter, here we only select voxels with value > 0.9
in covariate images for nuisance regression), Linear Polynomial detrending; (2) Band-
pass filter (0.01~0.1 Hz); (3) Despking.
• HRF basis function: 4 Gamma functions;
• Duration of HRF: 24s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 4, i.e. TR/4 = 2/4=0.5s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: no;
• Do not perform HRF deconvolution.
• HRF parameter outlier will be removed and replaced by surrounding values.
• HRF computation only inside the ‘*brainmask.nii’
• The HRF parameters will be saved in NIfTI files.
13
Job2 results:
Job 3: \spm12\toolbox\rsHRF\demo_jobs\vox_deconv_job2_v23.mat
• Denoising: (1) remove motion, physiological confounds---aCompcor (saved in
nuisance.txt), Linear Polynomial detrending; (2) Band-pass filter (0.01~0.1 Hz); (3)
Despking.
• HRF basis function: 3 Gamma functions;
• Duration of HRF: 32s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 4, i.e. TR/4 = 2/4=0.5s ;
• Serial correlation model: none;
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: no;
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• HRF parameter outlier will be removed and replaced by surrounding values.
• HRF computation only inside the 'E:\spm12\toolbox\rsHRF\demo_jobs\AAL3.nii’
• Which first? (c)
o (a) First denoise then generate ROI signal
o (b) First generate ROI signal then denoise
o (c) No ROI analysis (default)
▪ if ROI analysis was included, it will automatedly change to (b) <-- (Job3).
• Connectivity analysis:
o (1) Functional connectivity (FC) : seed to voxels analysis.
▪ Data: denoised BOLD and deconvolved BOLD
▪ seed of interest information defined as: [x, y, z, radius]
14
▪ two seeds: [10 -62 61 4;
-52 -63 5 5].
o (2~4) Granger Causality (GC): ROI to ROI analysis.
▪ Data: denoised BOLD and deconvolved BOLD
▪ (2). pairwise GC, model order = 1;
▪ (3). Conditional GC; model order = 1; only for deconvolved BOLD data.
▪ (4). Partially Conditioned GC; model order=1; fixed number of
conditional variables = 6, maximum number of conditional variables =
8 (which can be used for information gain plot).
o (5) Functional connectivity (FC) : ROI to ROI analysis.
▪ Data: deconvolved BOLD
▪ 14 sphere ROIs + 164 ROIs from atlas (AAL3, 164 ROIs are arranged in
ascending order according to their label in AAL3 --- see AAL3.nii.txt for
label information)
15
16
• Job3 results:
Conn_1_RAW_FILE_NAME_deconv_Olrm_Z_Pearson.nii Seed FC
Conn_1_RAW_FILE_NAME_deconv_Olrm_corr_Pearson.nii ‘deconv_Olrm’ -- based on the
Conn_1_RAW_FILE_NAME_deconv_Olrm_SeedInfo_Pearson.mat deconvolved (outlier removed) BOLD
data
Conn_1_RAW_FILE_NAME_deconv_Z_Pearson.nii Seed ([10 -62 61 4]) FC
Conn_1_RAW_FILE_NAME_deconv_corr_Pearson.nii ‘deconv’ -- based on the deconvolved
Conn_1_RAW_FILE_NAME_deconv_SeedInfo_Pearson.mat BOLD data
Conn_2_RAW_FILE_NAME_Z_Pearson.nii
Conn_2_RAW_FILE_NAME_corr_Pearson.nii
Conn_2_RAW_FILE_NAME_SeedInfo_Pearson.mat
Conn_2_RAW_FILE_NAME_deconv_Olrm_Z_Pearson.nii
Conn_2_RAW_FILE_NAME_deconv_Olrm_corr_Pearson.nii Seed ([-52 -63 5 5]]) FC
Conn_2_RAW_FILE_NAME_deconv_Olrm_SeedInfo_Pearson.mat
Conn_2_RAW_FILE_NAME_deconv_Z_Pearson.nii
Conn_2_RAW_FILE_NAME_deconv_corr_Pearson.nii
Conn_2_RAW_FILE_NAME_deconv_SeedInfo_Pearson.mat
ROI to ROI
Conn_RAW_FILE_NAME_PWGC.mat
Pairwise GC
GC_Matrix: GC Value
GC_Matrix(x,y) = GC from x to y
pval_Matrix: p-value (F-test)
GC_Matrix_N: transformed GC
N: GC value c is transformed into d,
which is considered to be
approximately normal.
(Geweke 1982)
17
Conn_RAW_FILE_NAME_deconv_CGC.mat
Conditional GC
In variable M:
GC_Matrix: GC Value
pval_Matrix: p-value (F-test)
variable roiid : ROI information
ROI 1:
sphere radius 4mm, center at [10 -62 61]
…
ROI 1:
sphere radius 4mm, center at [29 -5 54]
Conn_RAW_FILE_NAME_deconv_Olrm_Corr_Pearson.mat
Conn_RAW_FILE_NAME_deconv_Olrm_CGC.mat
GC
Conn_RAW_FILE_NAME_deconv_Olrm_PCGC.mat
18
Mat-files
Deconv_RAW_FILE_NAME_job.mat analysis/model parameters
RAW_FILE_NAME = sub-10171_task-rest_bold_space-MNI152NLin2009cAsym_preproc
1
plot(diff(M.information_gain')); xlabel('n_d'); ylabel('\Delta y')
19
o Vertex-wise HRF estimation, deconvolution and connectivity analysis
The vertex-wise based analysis module in the matlabbatch is called by clicking the
‘Vertices’ button in the main menu.
20
Demo jobs
Batch Editor → Load Batch
Job 4: \spm12\toolbox\rsHRF\demo_jobs\vertex_hrf_canon2dd_deconv_job4_v23.mat
• Denoising: (1) remove motion, physiological confounds---aCompcor (saved in
nuisance.txt), Linear Polynomial detrending; (2) Band-pass filter (0.01~0.1 Hz); (3)
Despking.
• HRF basis function: informed basis function;
• Duration of HRF: 32s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 2, i.e. TR/5 = 2/5=0.4s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• Explicit Mask: none.
• The HRF parameters, and deconvolved data will be saved in GIfTI files.
21
• Job4 results:
22
hrf.mat
Variable Description
V0
23
Job 5: \spm12\toolbox\rsHRF\demo_jobs\vertex_hrf_gamma_deconv_FC_job5_v23.mat
• Denoising: (1) remove motion, physiological confounds---aCompcor (saved in
nuisance.txt), Linear Polynomial detrending; (2) Band-pass filter (0.01~0.1 Hz); (3)
Despking.
• HRF basis function: 3 Gamma functions;
• Duration of HRF: 24s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 1, i.e. TR = 2 s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• Explicit Mask: none.
• The HRF parameters, and deconvolved data will be saved in GIfTI files.
• Which first? First denoise then generate ROI signal
• Connectivity analysis:
o (1) Functional connectivity (FC) : seed to vertices analysis.
▪ Data: denoised BOLD and deconvolved BOLD
▪ seed of interest: posterior cingulate
o (2) Functional connectivity (FC) : ROI to ROI analysis.
▪ Data: denoised BOLD and deconvolved BOLD
▪ 200 ROI from atlas (Schaefer-2018, 200 ROIs are arranged in ascending
order according to their label in atlas file)
o (3) Granger causality (GC) : ROI to ROI analysis.
▪ Data: deconvolved BOLD
▪ 7 ROIs from atlas (Yeo-2011, 7 ROIs are arranged in ascending order
according to their label in atlas file)
24
25
• Job5 results:
Conditional GC
GC_Matrix: GC Value
GC_Matrix(x,y) = GC from x to y
pval_Matrix: p-value (F-test)
26
Conn_RAW_FILE_NAME_Corr_Pearson.mat
Conn_RAW_FILE_NAME_deconv_Corr_Pearson.mat
Mat-files
Deconv_RAW_FILE_NAME_job.mat analysis/model parameters
27
o (Volume) ROI-wise HRF estimation, deconvolution and connectivity
analysis
The volume based ROI analysis module in the matlabbatch is called by clicking the ‘ROIs-
volume’ button in the main menu.
28
Demo jobs
Batch Editor → Load Batch
Job 6: \spm12\toolbox\rsHRF\demo_jobs\ROI_hrf_canon2dd_deconv_job6_v23.mat
• Denoising: (1) remove motion, physiological confounds---aCompcor (saved in
nuisance.txt), Linear Polynomial detrending; (2) Band-pass filter (0.01~0.1 Hz); (3)
Despking.
• Which first? First denoise then generate ROI signal
• ROI definition:
o atlas image: AAL3.nii
o MNI coordinates+radius(sphere): 264 x 4
• HRF basis function: informed basis function (canonical HRF + time derivative);
• Duration of HRF: 32s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 2, i.e. TR/5 = 2/5=0.4s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• HRF computation only inside the ‘*brainmask.nii’
• The HRF parameters, and deconvolved data will be saved in Mat files.
29
• Job6 results:
hrf.mat
Variable Description
event_number number of detected spontaneous events
event_bold: timing information of spontaneous events
PARA HRF parameters: 1st row: Response Height;
2 row: Time to peak; 3rd row: Width at half peak
nd
30
>> load('Deconv_ RAW_FILE_NAME.mat')
>> figure('color','w');plot(zscore(data(:,5)));
>> hold on; plot(zscore(data_deconv(:,5)));legend({'BOLD','Deconvolved BOLD'})
Deconv_RAW_FILE_NAME.mat
Variable Description
data (Denoised) BOLD data
data_deconv HRF deconvolved BOLD Data
roiinfo ROI information:
31
Job7: \spm12\toolbox\rsHRF\demo_jobs\ROI_hrf_gamma_deconv_FC_GC_job7_v23.mat
• Denoising: (1) remove motion, physiological confounds---aCompcor (saved in
nuisance.txt), Linear Polynomial detrending; (2) Band-pass filter (0.01~0.1 Hz); (3)
Despking.
• Which first? First generate ROI signal then denoise
• ROI definition:
o atlas image: AAL3.nii
o MNI coordinates+radius(sphere): 264 x 4
• HRF basis function: 3 Gamma functions;
• Duration of HRF: 32s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 1, i.e. TR = 2 s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• Explicit Mask: none.
• The HRF parameters, and deconvolved data will be saved in mat files.
• Connectivity analysis: ROI to ROI; Data: denoised BOLD and deconvolved BOLD
o (1) Functional connectivity (FC) : Pearson correlation.
o (2) Functional connectivity (FC) : Pearson Partial correlation.
o (3) Granger causality (GC) : Pairwise Granger causality.
o (4) Granger causality (GC) : Conditional Granger causality.
32
33
• Job7 results:
File Name Description
Conn_RAW_FILE_NAME_pwGC.mat
Conn_RAW_FILE_NAME_deconv_pwGC.mat Pairwise GC
GC_Matrix: GC Value
GC_Matrix(x,y) = GC from x to y
pval_Matrix: p-value (F-test)
GC_Matrix_N: transformed GC
N: GC value c is transformed into d, which
is considered to be approximately normal.
(Geweke 1982)
Conn_RAW_FILE_NAME_Corr_Pearson.mat
Conn_RAW_FILE_NAME_Corr_PartialPearson.mat
Conn_RAW_FILE_NAME_deconv_Corr_Pearson.mat
Conn_RAW_FILE_NAME_deconv_Corr_PartialPearson.mat
Mat-files
Deconv_RAW_FILE_NAME_job.mat analysis/model parameters
Deconv_RAW_FILE_NAME.mat HRF deconvolved BOLD data
34
o (Surface) ROI-wise HRF estimation, deconvolution and connectivity
analysis
The surface based ROI analysis module in the matlabbatch is called by clicking the ‘ROIs-
surface’ button in the main menu.
35
Demo jobs
Batch Editor → Load Batch
Job8: \spm12\toolbox\rsHRF\demo_jobs\ROI_vertex_hrf_gamma_deconv_FC_GC_job8.mat
• Denoising: (1) remove motion, physiological confounds---aCompcor (saved in
nuisance.txt), Linear Polynomial detrending; (2) Band-pass filter (0.01~0.1 Hz); (3)
Despking.
• Which first? First generate ROI signal then denoise
• ROI definition:
o atlas mesh: Yeo 7 networks
• HRF basis function: Smooth FIR
• Duration of HRF: 24s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 1, i.e. TR2s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• The HRF parameters, and deconvolved data will be saved in Mat files
36
• Job8 results:
hrf.mat
Variable Description
event_number number of detected spontaneous events
event_bold: timing information of spontaneous events
PARA HRF parameters: 1st row: Response Height;
2nd row: Time to peak; 3rd row: Width at half peak
para input parameters for HRF estimation
37
>> load('Deconv_ RAW_FILE_NAME.mat')
>> figure('color','w');plot(zscore(data(:,5)));
>> hold on; plot(zscore(data_deconv(:,5)));legend({'BOLD','Deconvolved BOLD'})
Deconv_RAW_FILE_NAME.mat
Variable Description
data (Denoised) BOLD data
data_deconv HRF deconvolved BOLD Data
roiinfo ROI information:
38
Job9: \spm12\toolbox\rsHRF\demo_jobs\ROI_hrf_FIR_deconv_FC_GC_job9_v23.mat
• Denoising: (1) remove motion, physiological confounds---aCompcor (saved in
nuisance.txt), Linear Polynomial detrending; (2) Band-pass filter (0.01~0.1 Hz); (3)
Despking.
• Which first? First generate ROI signal then denoise
• ROI definition:
o atlas mesh: Yeo 7 networks
• HRF basis function: FIR
• Duration of HRF: 24s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 1, i.e. TR = 2 s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• Explicit Mask: none.
• The HRF parameters, and deconvolved data will be saved in mat files.
• Connectivity analysis: ROI to ROI; Data: denoised BOLD and deconvolved BOLD
o (1) Functional connectivity (FC) : Pearson correlation.
o (2) Granger causality (GC) : Pairwise Granger causality.
39
40
• Job9 results:
Conn_RAW_FILE_NAME_Corr_Pearson.mat
Conn_RAW_FILE_NAME_deconv_Corr_Pearson.mat
Mat-files
Deconv_RAW_FILE_NAME_job.mat analysis/model parameters
Deconv_RAW_FILE_NAME.mat HRF deconvolved BOLD data
41
42
o Signals based HRF estimation, deconvolution and connectivity analysis
The time series analysis module in the matlabbatch is called by clicking the ‘Signals’ button
in the main menu.
43
Demo jobs
Batch Editor → Load Batch
Job10: \spm12\toolbox\rsHRF\demo_jobs\sig_hrf_gamma_deconv_FC_GC_job10_v23.mat
This job file included three different jobs, the first two for HRF estimation and deconvolution,
the third one further perform connectivity analysis.
(1,2):
• Input Data:
o (1) dat1
o (2) dat1 & dat2
• Denoising: no.
• Which first? No ROI analysis.
• HRF basis function: 3 Gamma functions.
• Duration of HRF: 24s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 4, i.e. TR/4=0.5s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• The HRF parameters, and deconvolved data will be saved in Mat files
3.
• Denoising: no.
• Which first? No ROI analysis.
• HRF basis function: 3 Gamma functions.
• Duration of HRF: 24s;
• Minimum/maximum time delay: 4s, 8s;
• Microtime resolution for onset estimation: 1, i.e. TR2s ;
• Serial correlation model: AR(1);
• Threshold for point process detection: 1, i.e. mean + 1*SD;
• Local peak identification: as a ‘spontaneous’ event, the detected point process (t)
should also be the local peak ( f(t 1)< f(t) & f(t 2)< f(t) ).
• Temporal mask to exclude spurious events: [1 1 1 0 1 1 …. ];
• HRF estimation from denoised data (1,2,3), but HRF deconvolution will be performed
on the denoised data (1) without temporal filtering.
• The HRF parameters, and deconvolved data will be saved in Mat files (prefix: Deconv2).
• Connectivity analysis: ROI to ROI; Data: deconvolved BOLD
o (1) Functional connectivity (FC) : Pearson correlation.
o (2) Granger causality (GC) : Conditional Granger causality.
44
45
• Job10 results:
File Name Description
Deconv_combROI_RAW_FILE_NAME_hrf.mat
Deconv2_ combROI_RAW_FILE_NAME_hrf.mat HRF and HRF parameters
Deconv3_ combROI_RAW_FILE_NAME_hrf.mat
Deconv_ combROI_RAW_FILE_NAME.mat
Deconv2_ combROI_RAW_FILE_NAME.mat HRF deconvolved BOLD data
Deconv3_ combROI_RAW_FILE_NAME.mat
Deconv_ combROI_RAW_FILE_NAME_job.mat
Deconv2_ combROI_RAW_FILE_NAME_job.mat analysis/model parameters
Deconv3_ combROI_RAW_FILE_NAME_job.mat
• RAW_FILE_NAME = sig_preproc
load('Deconv_ RAW_FILE_NAME_hrf.mat')
Variable Description
event_number number of detected spontaneous events
event_bold: timing information of spontaneous events
PARA HRF parameters: 1st row: Response Height;
2nd row: Time to peak; 3rd row: Width at half peak
para input parameters for HRF estimation
46
%HRF baseline value for PSC calculation.
hrf_baseline = beta_hrf(end-1,:);
Pairwise GC
GC_Matrix: GC Value
GC_Matrix(x,y) = GC from x to y
pval_Matrix: p-value (F-test)
Conn_RAW_FILE_NAME_deconv_Corr_Pearson.mat
47
o Voxel-wise connectivity analysis
The voxel-wise connectivity analysis module in the matlabbatch is called by clicking the
(rsHRF conn) ‘Voxels’ button in the main menu.
48
Demo jobs
Batch Editor → Load Batch
49
• Job11 results:
File Name Description
50
51
o Vertex-wise connectivity analysis
The vertex-wise based analysis module in the matlabbatch is called by clicking the (rsHRF
conn) ‘Vertices’ button in the main menu.
Demo jobs
Batch Editor → Load Batch
52
• Job12 results:
File Name Description
53
o (Volume) ROI-wise connectivity analysis
The volume based ROI analysis module in the matlabbatch is called by clicking the
(rsHRF conn) ‘ROIs-volume’ button in the main menu.
54
Demo jobs
Batch Editor → Load Batch
• Job13 results:
File Name Description
RAW_FILE_NAME_conn_job.mat
analysis/model parameters
RAW_FILE_NAME_roinfo.mat
Pairwise GC
GC_Matrix: GC Value
GC_Matrix(x,y) = GC from x to y
Conn_RAW_FILE_NAME_pwGC.mat
pval_Matrix: p-value (F-test)
GC_Matrix_N: transformed GC
N: GC value c is transformed into d,
55
which is considered to be
approximately normal.
(Geweke 1982)
Conn_RAW_FILE_NAME_CGC.mat Conditional GC
In variable M:
GC_Matrix: GC Value
pval_Matrix: p-value (F-test)
variable roiid : ROI information
ROI 1: sphere radius 4mm, center at [10 -
62 61] … ROI 12: sphere radius 4mm,
center at [29 -5 54]
Partially Conditioned GC
GC_Matrix: GC Value
pval_Matrix: p-value (F-test)
condition_id: (nvar x ndmax)
Conn_RAW_FILE_NAME_PCGC.mat
index of conditional variables,
information_gain:
mutual information gain1
56
o (Surface) ROI-wise connectivity analysis
The surface based ROI analysis module in the matlabbatch is called by clicking the (rsHRF
conn) ‘ROIs-surface’ button in the main menu.
Demo jobs
Batch Editor → Load Batch
57
• Job14 results:
File Name Description
RAW_FILE_NAME_conn_job.mat
analysis/model parameters
RAW_FILE_NAME_roinfo.mat
Conn_RAW_FILE_NAME_pwGC.mat Pairwise GC
GC_Matrix: GC Value
GC_Matrix(x,y) = GC from x to y
pval_Matrix: p-value (F-test)
GC_Matrix_N: transformed GC
N: GC value c is transformed into d,
which is considered to be
approximately normal.
(Geweke 1982)
Conn_RAW_FILE_NAME_Corr_Pearson.mat
Matric_r: Pearson/Spearman
correlation coefficient) ,
Matrix_z: Fisher's z transformed
Pearson correlation coefficient,
Matric_pval: p-value (t-test)
RAW_FILE_NAME = sub-10171_task-rest_bold_space-fsaverage5.L.func
58
o Signals based connectivity analysis
The time series analysis module in the matlabbatch is called by clicking the (rsHRF conn)
‘Signals’ button in the main menu.
59
Demo jobs
Batch Editor → Load Batch
60
• Job15 results:
File Name Description
Conn_combROI_RAW_FILE_NAME_job.mat
Deconv2_combROI_RAW_FILE_NAME_job.mat analysis/model parameters
Deconv3_combROI_RAW_FILE_NAME_job.mat
Conn_RAW_FILE_NAME_pwGC.mat
Pairwise GC
GC_Matrix: GC Value
GC_Matrix(x,y) = GC from x to y
pval_Matrix: p-value (F-test)
GC_Matrix_N: transformed GC
N: GC value c is transformed into d,
which is considered to be
approximately normal.
(Geweke 1982)
Conn_RAW_FILE_NAME_Corr_Pearson.mat
Matric_r: Pearson/Spearman
correlation coefficient) ,
Matrix_z: Fisher's z transformed
Pearson correlation coefficient,
Matric_pval: p-value (t-test)
RAW_FILE_NAME = sig_preproc
61
o Display
The HRF visualization module in the matlabbatch is called by clicking the ‘Display’ button in
the main menu.
62
Demo jobs
Batch Editor → Load Batch
Job15: \spm12\toolbox\rsHRF\demo_jobs\rsHRF_viewer_v23.mat
• Underlay Image: an anatomical image, e.g. E:\spm12\canonical\single_subj_T1.nii:
• Statistical Image: (F)T maps.
• HRF mat-files: HRF mat-files generated in voxel-wise HRF analysis
o Group 1: 27 subjects
o Group 2: 33 subjects
63
change ‘Radius’ to generate sphere ROI HRF plot
change MNI coordinate (click on the brain or manually edit the coordinates),
(negative/positive) Threshold, cluster size(Extent), Sphere Radius.
64
Standalone demo codes
Some standalone demo codes were designed for the application on two specific examples,
i.e., a sample voxel from the Human Connectome Project (HCP;
HCP_100307_rfMRI_REST1_LR_Atlas_hp2000_clean_dtseries.mat) and Calcium-BOLD data
(calcium_2Hz_15s_stimulation.mat).
o rsHRF_demo_temporal_basis.m
%%===========PARAMETERS========================
para.TR = TR;
BF = {'Canonical HRF (with time derivative)'
'Canonical HRF (with time and dispersion derivatives)'
'Gamma functions'
'Fourier set'
'Fourier set (Hanning)'};
% choose the set of basis functions THIS MUST BE AN INPUT
bf_id = 3; % Gamma functions
para.name = BF{bf_id};
para.order = 3; % for Gamma functions or Fourier set
temporal_mask = []; % without mask, it means temporal_mask = logical(ones(nobs,1)); i.e.
all time points included. nobs: number of observation = size(data,1). if want to exclude the
first 1~5 time points, let temporal_mask(1:5)=0;
% temporal_mask = logical(ones(nobs,1)); temporal_mask(5:15)=0;
para.T = 3; % magnification factor of temporal grid with respect to TR. i.e. para.T=1 for no
upsampling, para.T=3 for 3x finer grid
para.T0 = 1; % position of the reference slice in bins, on the grid defined by para.T. For
example, if the reference slice is the middle one, then para.T0=fix(para.T/2)
if para.T==1
para.T0 = 1;
end
para.dt = para.TR/para.T; % fine scale time resolution.
para.AR_lag = 1; % AR(1) noise autocorrelation.
para.thr = 1; % (mean+) para.thr*standard deviation threshold to detect event.
para.len = 24; % length of HRF, in seconds
min_onset_search = 4; % minimum delay allowed between event and HRF onset
(seconds)
max_onset_search = 8; % maximum delay allowed between event and HRF onset
(seconds)
para.lag = fix(min_onset_search/para.dt):fix(max_onset_search/para.dt);
%%=============HRF estimation======================
65
tic
toc
%%=============HRF deconvolution======================
disp('Deconvolving HRF ...');
tic
T = round(para.len/TR);
if para.T>1
hrfa_TR = resample(hrfa,1,para.T);
else
hrfa_TR = hrfa;
end
hrf=hrfa_TR;
flag_deconv_raw = 0;
if flag_deconv_raw %HRF deconvolution with raw/filtered data
zdata = zscore(bold_sig);
else
zdata = zscore(data);
end
data_deconv = rsHRF_iterative_wiener_deconv(zdata,hrf./sigma);
event_number=length(event_bold{1,1});
toc
disp('Done');
%% example plots
event_plot=nan(1,nobs);
event_plot(event_bold{1,1})=1;
figure(1);plot((1:length(hrfa(:,1)))*TR/para.T,hrfa(:,1),'b');xlabel('Time (s)')
title(['HRF (',BF{bf_id},')'])
figure(2);plot((1:nobs)*TR,zscore(data(:,1)));
hold on;plot((1:nobs)*TR,zscore(data_deconv(:,1)),'r');
stem((1:nobs)*TR,event_plot,'k');legend('BOLD','Deconvolved BOLD','BOLD
events');xlabel('Time (s)')
66
o rsHRF_demo_FIR_sFIR.m
% Demo code for HRF deconvolution ( (Smooth) Finite Impulse Response estimation)
clc,clear;close all;
%%===========BOLD-fMRI Data========================
load HCP_100307_rfMRI_REST1_LR_Atlas_hp2000_clean_dtseries.mat
nobs=size(bold_sig,1);
TR = .72;
bands=[0.01 0.1]; %bandpass filter lower and upper bound
data = rsHRF_band_filter(bold_sig,TR,bands);
sigma = std(data);
%%===========PARAMETERS========================
para.TR = TR;
BF = {'FIR'
'sFIR'};
bf_id = 1;
para.estimation = BF{bf_id}; % sFIR
temporal_mask = []; % without mask, it means temporal_mask = logical(ones(nobs,1)); i.e.
all time points included. nobs: number of observation = size(data,1). if want to exclude the
first 1~5 time points, let temporal_mask(1:5)=0;
% temporal_mask = logical(ones(nobs,1)); temporal_mask(5:15)=0;
para.T = 1;
para.T0 = 1;
if para.T>1| para.T0>1
para.T = 1; para.T0 = 1;
end
para.dt = para.TR/para.T; % fine scale time resolution.
para.AR_lag = 1; % AR(1) noise autocorrelation.
para.thr = 1; % (mean+) para.thr*standard deviation threshold to detect event.
para.len = 20; % length of HRF, in seconds
min_onset_search = 4; % minimum delay allowed between event and HRF onset
(seconds)
max_onset_search = 8; % maximum delay allowed between event and HRF onset
(seconds)
para.lag = fix(min_onset_search/para.dt):fix(max_onset_search/para.dt);
%%=============HRF estimation======================
tic
[beta_hrf, event_bold] = rsHRF_estimation_FIR(data,para,temporal_mask);
hrfa = beta_hrf(1:end-2,:); %HRF
nvar = size(hrfa,2); PARA = zeros(3,nvar);
for voxel_id=1:nvar
hrf1 = hrfa(:,voxel_id);
PARA(:,voxel_id) = rsHRF_get_HRF_parameters(hrf1,para.dt); % estimate HRF
parameter
end
toc
%%=============HRF deconvolution======================
disp('Deconvolving HRF ...');
tic
67
hrf=hrfa(:,1);
flag_deconv_raw = 1;
if flag_deconv_raw %HRF deconvolution with raw/filtered data
zdata = zscore(bold_sig);
else
zdata = zscore(data);
end
data_deconv = rsHRF_iterative_wiener_deconv(zdata,hrf./sigma);
event_number=length(event_bold{1,1});
toc
disp('Done');
%% example plots
event_plot=nan(1,nobs);
event_plot(event_bold{1,1})=1;
figure(1);plot((1:length(hrfa(:,1)))*TR,hrfa(:,1),'b');xlabel('Time (s)')
title(['HRF (',BF{bf_id},')'])
figure(2);plot((1:nobs)*TR,zscore(data(:,1)));
hold on;plot((1:nobs)*TR,zscore(data_deconv(:,1)),'r');
stem((1:nobs)*TR,event_plot,'k');legend('BOLD','Deconvolved BOLD','BOLD
events');xlabel('Time (s)')
68
o rsHRF_demo_impulseest.m
%%===========BOLD-fMRI Data========================
load HCP_100307_rfMRI_REST1_LR_Atlas_hp2000_clean_dtseries.mat
bold_sig = double(bold_sig); % double
nobs=size(bold_sig,1);
TR = .72;
bands=[0.01 0.1]; %bandpass filter lower and upper bound
data = rsHRF_band_filter(bold_sig,TR,bands);
%%===========PARAMETERS========================
para.TR = TR;
options = impulseestOptions; % see impulseestOptions.m for help
options.RegularizationKernel = 'none'; %Regularizing kernel, used for regularized
estimates of impulse response for all input-output channels. Regularization reduces
variance of estimated model coefficients and produces a smoother response by trading
variance for bias
para.options = options;
temporal_mask = []; % without mask, it means temporal_mask = logical(ones(nobs,1)); i.e.
all time points included. nobs: number of observation = size(data,1). if want to exclude the
first 1~5 time points, let temporal_mask(1:5)=0;
% temporal_mask = logical(ones(nobs,1)); temporal_mask(5:15)=0;
para.T = 1;
para.T0 = 1;
if para.T>1| para.T0>1
para.T = 1; para.T0 = 1;
end
para.dt = para.TR/para.T; % fine scale time resolution.
para.thr = 1; % (mean+) para.thr*standard deviation threshold to detect event.
para.len = 24; % length of HRF, in seconds
min_onset_search = 5; % minimum delay allowed between event and HRF onset
(seconds)
max_onset_search = 8; % maximum delay allowed between event and HRF onset
(seconds)
para.lag = fix(min_onset_search/para.dt):fix(max_onset_search/para.dt);
%%=============HRF estimation======================
tic
[data,mu,sigma]=zscore(data);
[beta_hrf, event_bold] = rsHRF_estimation_impulseest(data,para);
hrfa = beta_hrf; %HRF
nvar = size(hrfa,2); PARA = zeros(3,nvar);
for voxel_id=1:nvar
hrf1 = hrfa(:,voxel_id);
PARA(:,voxel_id) = rsHRF_get_HRF_parameters(hrf1,para.dt); % estimate HRF
parameter
end
toc
%%=============HRF deconvolution======================
disp('Deconvolving HRF ...');
69
tic
hrf=hrfa(:,1);
flag_deconv_raw = 1;
if flag_deconv_raw %HRF deconvolution with raw/filtered data
zdata = zscore(bold_sig);
else
zdata = data;
end
data_deconv = rsHRF_iterative_wiener_deconv(zdata,hrf);
event_number=length(event_bold{1,1});
toc
disp('Done');
%% example plots
event_plot=nan(1,nobs);
event_plot(event_bold{1,1})=1;
figure(1);plot((1:length(hrfa(:,1)))*TR/para.T,hrfa(:,1),'b');xlabel('Time (s)')
title('HRF (nonparametric impulse response estimation)')
figure(2);plot((1:nobs)*TR,zscore(data(:,1)));
hold on;plot((1:nobs)*TR,zscore(data_deconv(:,1)),'r');
stem((1:nobs)*TR,event_plot,'k');legend('BOLD','Deconvolved BOLD','BOLD
events');xlabel('Time (s)')
70
o rsHRF_demo_voxel_calcium.m
%%===========BOLD-fMRI Data========================
TR = BOLD_time(1);
bands = [0.01 0.1]; %bandpass filter lower and upper bound
data = rsHRF_band_filter(BOLD_calcium',TR,bands);
sigma = std(data);
%%===========PARAMETERS========================
para.TR = TR;
if 1
BF = {'FIR'
'sFIR'};
% choose the set of basis functions THIS MUST BE AN INPUT
bf_id = 1;
para.estimation = BF{bf_id}; % sFIR
para.T = 1;
para.T0 = 1;
if para.T>1| para.T0>1
para.T = 1; para.T0 = 1;
end
flag_FIR = 1;
else
para.T = 1; % magnification factor of temporal grid with respect to TR. i.e. para.T=1 for
no upsampling, para.T=3 for 3x finer grid
para.T0 = 1; % position of the reference slice in bins, on the grid defined by para.T. For
example, if the reference slice is the middle one, then para.T0=fix(para.T/2)
if para.T==1
para.T0 = 1;
end
flag_FIR = 0;
end
71
temporal_mask = []; % without mask, it means temporal_mask = logical(ones(nobs,1)); i.e.
all time points included. nobs: number of observation = size(data,1). if want to exclude the
first 1~5 time points, let temporal_mask(1:5)=0;
% temporal_mask = logical(ones(nobs,1)); temporal_mask(5:15)=0;
%%=============HRF estimation======================
tic
if flag_FIR
[beta_hrf, event_bold] = rsHRF_estimation_FIR(data,para,temporal_mask,0);
hrfa = beta_hrf(1:end-2,:); %HRF
else
[beta_hrf, bf, event_bold] =
rsHRF_estimation_temporal_basis(data,para,temporal_mask,0);
hrfa = bf*beta_hrf(1:size(bf,2),:); %HRF
end
nvar = size(hrfa,2); PARA = zeros(3,nvar);
for voxel_id=1:nvar
hrf1 = hrfa(:,voxel_id);
PARA(:,voxel_id) = rsHRF_get_HRF_parameters(hrf1,para.dt); % estimate HRF
parameter
end
toc
%%=============HRF deconvolution======================
disp('Deconvolving HRF ...');
tic
T = round(para.len/TR);
if para.T>1
hrfa_TR = resample(hrfa,1,para.T);
else
hrfa_TR = hrfa;
end
hrf=hrfa_TR;
flag_deconv_raw = 1;
if flag_deconv_raw %HRF deconvolution with raw/filtered data
zdata = zscore(BOLD_calcium');
else
zdata = zscore(data);
end
72
data_deconv = rsHRF_iterative_wiener_deconv(zdata,hrf./sigma,100);
event_number=length(event_bold{1,1});
toc
disp('Done');
%% example plots
nobs = size(BOLD_calcium,2);
event_plot=nan(1,nobs);
event_plot(event_bold{1,1})=1;
figure(1);plot((1:length(hrfa(:,1)))*TR/para.T,hrfa(:,1),'b');xlabel('Time (s)')
title(['HRF (',BF{bf_id},')'])
figure('WindowState','maximized');
% plot(BOLD_time,zscore(BOLD_calcium));
hold all;
plot(BOLD_time,zscore(data(:,1)));
plot(BOLD_time,zscore(data_deconv(:,1)),'r');
calcium_time = dt*(0:length(calcium_raw)-1);
plot(calcium_time,zscore(calcium_raw)-5,'g')
set(gca,'FontSize',15,'FontWeight','Bold');
73
Third-party code
Some parts of the codes are from the third-party toolbox.
o Some HRF basis functions are from SPM toolbox (spm_get_bf.m, spm_hrf.m)
o rsHRF_get_HRF_parameters.m is modified from the HRF Estimation Toolbox
(get_parameters2.m).
o Some subfunctions of rsHRF_mvgc.m are from MVGC Multivariate Granger Causality
MATLAB® Toolbox, including: data_to_autocov.m, autocov_to_var.m, mvgc_pval.m,
mvgc_cdf, dlyap_aitr.m).
o Outliers (detected from HRF parameter response height) are deleted (rsHRF_
deleteoutliers.m) and interpolated (rsHRF_deleteoutliers.m) using deleteoutliers.m
and inpaint_nans3.m.
o The knee_pt.m function is used as an alternative to min() for the rsHRF lag estimation
(rsHRF_knee_pt.m).
o conn_filter.m is a subfunction in rsHRF_band_filter.m for band-pass filtering.
74
Reference
Chen, G., Adleman, N. E., Saad, Z. S., Leibenluft, E., & Cox, R. W. (2014). Applications of
multivariate modeling to neuroimaging group analysis: A comprehensive alternative to
univariate general linear model. NeuroImage, 99, 571-588.
https://doi.org/10.1016/j.neuroimage.2014.06.027
Marinazzo, D., Pellicoro, M., & Stramaglia, S. (2012). Causal information approach to partial
conditioning in multivariate data sets. Computational and mathematical methods in medicine,
2012.
https://doi.org/10.1155/2012/303601
Wu, G. R., Liao, W., Stramaglia, S., Ding, J. R., Chen, H., & Marinazzo, D. (2013). A blind
deconvolution approach to recover effective connectivity brain networks from resting state
fMRI data. Medical Image Analysis, 17(3), 365-374.
https://doi.org/10.1016/j.media.2013.01.003
Wu, G. R., Liao, W., Stramaglia, S., Chen, H., & Marinazzo, D. (2013). Recovering directed
networks in neuroimaging datasets using partially conditioned Granger causality. Brain
connectivity, 3(3), 294-301.
https://doi.org/10.1089/brain.2013.0142
Wu, G. R., & Marinazzo, D. (2015). Retrieving the Hemodynamic Response Function in resting
state fMRI: Methodology and applications.
PeerJ PrePrints. https://peerj.com/preprints/1317
Wu, G. R., & Marinazzo, D. (2016). Sensitivity of the resting-state haemodynamic response
function estimation to autonomic nervous system fluctuations. Philosophical Transactions of
the Royal Society A: Mathematical, Physical and Engineering Sciences, 374(2067), 20150190.
https://doi.org/10.1098/rsta.2015.0190
Geweke, J. (1982). Measurement of linear dependence and feedback between multiple time
series. Journal of the American statistical association, 77(378), 304-313.
https://doi.org/10.1080/01621459.1982.10477803
Tagliazucchi, E., Balenzuela, P., Fraiman, D., & Chialvo, D. R. (2012). Criticality in large-scale
brain fMRI dynamics unveiled by a novel point process analysis. Frontiers in Physiology, 3, 15.
https://doi.org/10.3389/fphys.2012.00015
75