FSLNet 是基于Matlab开发的网络分析工具箱,默认采用的input是fsl melodic 的组ICA输出结果,基于官方教程总结下面的workflow。
rfMRI FSLnets Workflow
Input Preparation
Define nodes
(spatial maps)
melodic -i input_files.txt -o groupICA100 \
--tr=0.72 --nobet -a concat \
--bgimage=$FSLDIR/data/standard/MNI152_T1_2mm_brain.nii.gz \
-m $FSLDIR/data/standard/MNI152_T1_2mm_brain_mask.nii.gz \
--report --Oall -d 30
Extract timeseries from nodes
dual_regression groupICA100/melodic_IC 1 -1 0 groupICA100.dr
cat input_files.txt
create images of nodes
slices_summary groupICA100/melodic_IC 4 $FSLDIR/data/standard/MNI152_T1_2mm groupICA100.sum -1
Matlab setup
Package Requirements
- Offical toolbox
- Statistics
- is a must
- Bioinformatics
- MATLAB's SVM
- Signal Processing
- see timeseries
- LIBSVM
- use the LIBSVM implementation of SVM for netmat-based classification
- L1precision
- to estimate L1-norm regularised partial correlation matrices
- Pairwise causal
- look at causal directionalities
FSLNets
network_analysis.m
Official template is in FSLNets folder, name is 'nets_examples.m'
Script setup
add package paths
load group map/ dual regression output directory
check mean timeseries spectra
Node Cleaning
set up node list
- ts.DD
- good node
- ts.UNK
- optional
- for unknown components
regress the bad node out
check cleaned data and visualization
Calculating netmats for each subject
netmats0= nets_netmats(ts,0,'cov'); % covariance (with variances on diagonal)
netmats0a= nets_netmats(ts,0,'amp'); % amplitudes only - no correlations (just the diagonal)
netmats1= nets_netmats(ts,1,'corr'); % full correlation (normalised covariances)
netmats2= nets_netmats(ts,1,'icov'); % partial correlation
netmats3= nets_netmats(ts,1,'icov',10); % L1-regularised partial, with lambda=10
netmats5= nets_netmats(ts,1,'ridgep'); % Ridge Regression partial, with rho=0.1
netmats11= nets_netmats(ts,0,'pwling'); % Hyvarinen's pairwise causality measure
Group-average netmat summaries
group mean
- output:[t-test Z value, Mean value]
group average network hierachy
Visualization
interactive web-based display
Cross-subject comparison
Calculating significant group difference
- two-ample t-test
- output
- corrected p
- uncorrected p
Displaying significant group differences
displaying boxplot
Multivariate cross-suvject analysis
- ML-based classification
- overall pattern change between two groups