fmri data analysis using matlab - people.unica.it · analyze before analysis –spm requires 3d...
TRANSCRIPT
![Page 1: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/1.jpg)
fMRI data analysis usingMATLAB
Psych 258Russ Poldrack
![Page 2: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/2.jpg)
Issues for fMRI analysis
• Data file formats– Reading and writing data
• Data interrogation• Statistical analysis• Design optimization
![Page 3: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/3.jpg)
What is an MRI image?
• Matrix of intensity valuesin a slice through the brain– Generally either 8-bit or 16-
bit– In-plane dimensions
generally 64x64 to 256x256– # of slices from 16-128– Generally represented as
3D image (X, Y, & Zdimensions) or 4D (X/Y/Z+ time) timeseries
![Page 4: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/4.jpg)
Data file formats
• There are a number of common file formats– DICOM
• Standard for data straight from scanner
– ANALYZE• Common standard for analysis programs• 3D vs. 4D
– MINC• Extension of NetCDF
– Nifti• Newest standard, developed by consensus committee
![Page 5: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/5.jpg)
Format comparisons
*.mnc/*.nii*.img/.hdrArbitrarilynamed
Files
Extensive/integrated
Minimal/separate
Extensive/integrated
Header
arbitrary3D/4D2DDimension
MINC/Nifti
ANALYZEDICOM
![Page 6: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/6.jpg)
Interrogating data in MATLAB
• SPM provides functions for readingANALYZE and MINC files into MATLAB
>> v=spm_vol('mask.img')
v =
fname: 'mask.img' dim: [53 63 46 2] mat: [4x4 double] pinfo: [3x1 double] descrip: 'spm_spm:resultant analysis mask'
>> d=spm_read_vols(v);>> size(d)
ans =
53 63 46
![Page 7: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/7.jpg)
Converting DICOM files
• DICOM files are generally converted toANALYZE before analysis– SPM requires 3D analyze– FSL requires 4D analyze
• Tools for DICOM conversion– SPM2 - DICOM toolbox– Xmedcon - free conversion software– Debabeler - free conversion software from LONI
![Page 8: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/8.jpg)
>> imagesc(d(:,:,24))>> colormap gray
>> hist(reshape(d(:,:,24),1,53*63),100)
![Page 9: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/9.jpg)
Loading a set of files
>> files=spm_get(Inf,'*.img','choose a set of images');>> v=spm_vol(files);>> d=spm_read_vols(v);>> whos Name Size Bytes Class d 4-D 154009600 double array files 188x74 27824 char array v 188x1 146812 struct array
>> size(d)Ans =
64 64 25 188
![Page 10: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/10.jpg)
Plotting timeseries data>> plot(squeeze(d(32,32,20,:)))
![Page 11: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/11.jpg)
⊗
⇒
Basic analysis of event-related data:1: create “stick function” for each condition2: convolve with canonical HRF3: estimate GLM using resulting regressor
Canonical HRFs:-gamma function-sum of gammas
![Page 12: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/12.jpg)
Statistical modeling of data1) create a matrix of onset
times for each trial2) Create a “stick
function” with ones ateach onset
3) Convolve the stick-function with the HRF
4) Combine convolvedSF with column ofzeros tocreate design matrix
>> onsets=[…];
>> sf=zeros(1,100)>> sf(onsets)=1;
>> hrf=spm_hrf(TR);>> conv_sf=conv(sf,hrf);>> conv_sf=conv_sf(1:100);
>> X=[conv_sf’ ones(100,1)];
![Page 13: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/13.jpg)
FIR design matrix
FIR estimates
![Page 14: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/14.jpg)
Y=Xb + N(0,1), b=[2 4 1000]
![Page 15: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/15.jpg)
onsets=randperm(100);TR=2;sf=zeros(1,100);sf(onsets(1:10))=1;hrf=spm_hrf(TR);conv_sf=conv(sf,hrf);conv_sf=conv_sf(1:100);X=[conv_sf' ones(100,1)];b=[5 100];data=X*b' + randn(100,1)*0.5;
b_hat=X\data;predicted=X*b_hat;
plot(data)hold onplot(predicted,'r')
![Page 16: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/16.jpg)
Estimation and efficiencyY = Xβ + ε - GLMβest = (XTX)-1XTY - ML estimate for β (assuming IID)E = ((β - βest )2)-1 - efficiency of estimator
1E = ------------------- - efficiency depends only
trace((XTX)-1) upon the covariance of the design matrix
![Page 17: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/17.jpg)
TR=2;nruns=5000;efficiency=zeros(1,nruns);
for x=1:nruns onsets=randperm(100); sf=zeros(1,100); sf(onsets(1:10))=1; hrf=spm_hrf(TR); conv_sf=conv(sf,hrf); conv_sf=conv_sf(1:100); X=[conv_sf' ones(100,1)];
efficiency(x)=1/trace(inv(X'*X)); end; hist(efficiency);
![Page 18: fMRI data analysis using MATLAB - people.unica.it · ANALYZE before analysis –SPM requires 3D analyze –FSL requires 4D analyze •Tools for DICOM conversion –SPM2 - DICOM toolbox](https://reader033.vdocuments.site/reader033/viewer/2022042003/5e6e8211fd67b13cfc71eb30/html5/thumbnails/18.jpg)
Design matrix w/ 2 conditions: Contrast: [ 1 1 ]
Contrast: [ 1 -1 ]
For tasks vs. baseline,efficiency increaseswith variance andcorrelation
For comparisonbetween tasks,efficiency increaseswith variance butdecreases withcorrelation