I’ve been playing with the 3dLME subroutine for evaluating intraclass correlation coefficients and trying to understand the output.

I have an imaging metric that I have calculated for 4 repeated scans in many subjects (using HCP data), and looking to calculate ICC for this metric (Results are quite similar whether I use the bayesian ICCb option or standard REML ICC option.

I followed the syntax in Example 4 for 3dLME:

3dLME -prefix LMEOutput.nii -jobs 12 -model “1” -ranEff ‘Scan+Subj’ -ICC -dataTable

Subj Scan InputFile

s0001 scan0001 Sub_0001_Scan_1.nii

s0001 scan0002 Sub_0001_Scan_2.nii

s0001 scan0003 Sub_0001_Scan_3.nii

s0001 scan0004 Sub_0001_Scan_4.nii

s0002 scan0001 Sub_0002_Scan_1.nii

s0002 scan0002 Sub_0002_Scan_2.nii

s0002 scan0003 Sub_0002_Scan_3.nii

s0002 scan0004 Sub_0002_Scan_4.nii

s0003 scan0001 Sub_0003_Scan_1.nii

s0003 scan0002 Sub_0003_Scan_2.nii

s0003 scan0003 Sub_0003_Scan_3.nii

s0003 scan0004 Sub_0003_Scan_4.nii

…

The output gives ICC values that are much lower than I get with other ways of calculating ICC. For example, I’ve included a graph that shows this metric across many voxels compared to calculating the ICC for the same data using Matlab’s ICC.m function ICC(data,‘1-k’) option, which is ANOVA-based.

It looks like the 3dLME output is approximately squared compared to the Matlab output (I graphed square root of 3dLME as well). Any help understanding the discrepancy?