def test_ICC_rep_anova(): # see table 2 in P. E. Shrout & Joseph L. Fleiss (1979). "Intraclass Correlations: Uses in # Assessing Rater Reliability". Psychological Bulletin 86 (2): 420-428 Y = np.array([[9, 2, 5, 8], [6, 1, 3, 2], [8, 4, 6, 8], [7, 1, 2, 6], [10, 5, 6, 9], [6, 2, 4, 7]]) icc, r_var, e_var, _, dfc, dfe = ICC_rep_anova(Y) # see table 4 assert round(icc, 2) == 0.71 assert dfc == 3 assert dfe == 15 assert np.isclose(r_var / (r_var + e_var), icc)
def run_icc_meanDist(subjects, dataDir, fsDir, thr, hemi, scan_list): concat = np.zeros((len(subjects), len(scan_list), 10242)) results = np.zeros((6, 10242)) subcort = np.sort( nib.freesurfer.io.read_label( '%s/fsaverage5/label/%s.Medial_wall.label' % (fsDir, hemi))) for n_scan, scan in enumerate(scan_list): for n_sub, sub in enumerate(subjects): concat[n_sub, n_scan] = np.load( '%s/%s/meanDist/%s_lsd_meanDist_interp_%s_%s_fsa5_%s.npy' % (dataDir, sub, sub, thr, scan, hemi)) for node in range(10242): results[:, node] = ICC_rep_anova(concat[:, :, node]) results[:, subcort] = 0 return results
def run_icc_interses_meanDist(subjects, dataDir, fsDir, thr, hemi): concat = np.zeros((len(subjects), 2, 10242)) results = np.zeros((6, 10242)) subcort = np.sort( nib.freesurfer.io.read_label( '%s/fsaverage5/label/%s.Medial_wall.label' % (fsDir, hemi))) for n_sub, sub in enumerate(subjects): for n_ses, session in enumerate([ '%s/%s/meanDist/%s_lsd_meanDist_geo_interp_%s_1a_fsa5_%s.npy' % (dataDir, sub, sub, thr, hemi), '%s/%s/meanDist/%s_lemon_meanDist_geo_interp_%s_fsa5_%s.npy' % (dataDir, sub, sub, thr, hemi) ]): concat[n_sub, n_ses] = np.load(session) for node in range(10242): results[:, node] = ICC_rep_anova(concat[:, :, node]) results[:, subcort] = 0 return results
def icc31(Y): icc31, _, _, _, _, _ = ICC_rep_anova(Y) return icc31