help > Bugfix: dynamic connectivity with custom rois
Jun 8, 2017  09:06 AM | Stephen L. - Coma Science Group, GIGA-Consciousness, Hospital & University of Liege
Bugfix: dynamic connectivity with custom rois
Hello there!

I migrated to CONN 17e and I tried to run dynamic connectivity 1st-level analyses (both dyn-ICA and seed-based dynamic connectivity) and I ran into an error at stage 2/3 ROI-to-ROI first-level analyses. I think I found the culprit and a fix.

Here is the error:
Subscript indices must either be real positive integers or logicals.

Error in ==> conn_process at 2222
names2=cat(2,{names2{idxroi1roi2}},{names2{setdiff(1:nrois2,idxroi1roi2)}});

Error in ==> conn_process at 42
case 'analyses_gui_seedandroi',disp(['CONN: RUNNING ANALYSIS STEP (ROI-to-ROI or seed-to-voxel analyses)']); conn_process([10,11,15],varargin{:});

Error in ==> conn at 1172
else conn_process(psteps,CONN_x.gui.processes{2:end});

Error in ==> conn_menumanager at 120
feval(CONN_MM.MENU{n0}.callback{n1}{1},CONN_MM.MENU{n0}.callback{n1}{2:end});

CONN v.17.e
SPM12 + DEM FieldMap MEEGtools cat12
Matlab v.2011a
storage: 548.8Gb available

spm installed in folder C:\matlab_tools\spm12
conn installed in folder C:\matlab_tools\conn17e

Note also that the same error happens in ==> conn_process at 3698 (and in other parts of the commented code in the same file).

The two variables causing the errors are: names and names2, and here are their values in my instance, along with the minimal code to reproduce the error:



names = {'AUD_Maudoux_ACC_10-6_-7_43', 'AUD_Maudoux_PCG_L_10--53_-6_8', 'AUD_Maudoux_PCG_R_10-58_-6_11', 'AUD_Maudoux_STG_L_10--44_-6_11', 'AUD_Maudoux_STG_R_10-44_-6_11', 'AUD_Maudoux_VisCort_R_10-6_-88_37', 'AUD_Maudoux_VisualCort_L_10--6_-88_37', 'BA.1 (L). Primary Somatosensory Cortex', 'BA.1 (R). Primary Somatosensory Cortex', 'BA.10 (L). Anterior Prefrontal Cortex', 'BA.10 (R). Anterior Prefrontal Cortex', 'BA.11 (L). Orbitofrontal Cortex', 'BA.11 (R). Orbitofrontal Cortex', 'BA.13 (L). Insular Cortex', 'BA.13 (R). Insular Cortex', 'BA.17 (L). Primary Visual Cortex', 'BA.17 (R). Primary Visual Cortex', 'BA.18 (L). Secondary Visual Cortex', 'BA.18 (R). Secondary Visual Cortex', 'BA.19 (L). Associative Visual Cortex', 'BA.19 (R). Associative Visual Cortex', 'BA.2 (L). Primary Somatosensory Cortex', 'BA.2 (R). Primary Somatosensory Cortex', 'BA.20 (L). Inferior Temporal Gyrus', 'BA.20 (R). Inferior Temporal Gyrus', 'BA.21 (L). Middle Temporal Gyrus', 'BA.21 (R). Middle Temporal Gyrus', 'BA.22 (L). Superior Temporal Gyrus', 'BA.22 (R). Superior Temporal Gyrus', 'BA.23 (L). Ventral Posterior Cingulate Cortex', 'BA.23 (R). Ventral Posterior Cingulate Cortex', 'BA.24 (L). Ventral Anterior Cingulate Cortex', 'BA.24 (R). Ventral Anterior Cingulate Cortex', 'BA.25 (L). Subgenual cortex', 'BA.25 (R). Subgenual cortex', 'BA.27 (L). Piriform Cortex', 'BA.27 (R). Piriform Cortex', 'BA.28 (L). Posterior Entorhinal Cortex', 'BA.28 (R). Posterior Entorhinal Cortex', 'BA.29 (L). Retrosplenial Cingulate Cortex', 'BA.29 (R). Retrosplenial Cingulate Cortex', 'BA.3 (L). Primary Somatosensory Cortex', 'BA.3 (R). Primary Somatosensory Cortex', 'BA.30 (L). Cingulate Cortex', 'BA.30 (R). Cingulate Cortex', 'BA.31 (L). Dorsal Posterior Cingulate Cortex', 'BA.31 (R). Dorsal Posterior Cingulate Cortex', 'BA.32 (L). Dorsal anterior Cingulate Cortex', 'BA.32 (R). Dorsal anterior Cingulate Cortex', 'BA.33 (L). Anterior Cingulate Cortex', 'BA.33 (R). Anterior Cingulate Cortex', 'BA.34 (L). Anterior Entorhinal Cortex', 'BA.34 (R). Anterior Entorhinal Cortex', 'BA.35 (L). Perirhinal cortex', 'BA.35 (R). Perirhinal cortex', 'BA.36 (L). Parahippocampal cortex', 'BA.36 (R). Parahippocampal cortex', 'BA.37 (L). Fusiform gyrus', 'BA.37 (R). Fusiform gyrus', 'BA.38 (L). Temporopolar Area', 'BA.38 (R). Temporopolar Area', 'BA.39 (L). Angular gyrus', 'BA.39 (R). Angular gyrus', 'BA.4 (L). Primary Motor Cortex', 'BA.4 (R). Primary Motor Cortex', 'BA.40 (L). Supramarginal Gyrus', 'BA.40 (R). Supramarginal Gyrus', 'BA.41 (L). Primary Auditory Cortex', 'BA.41 (R). Primary Auditory Cortex', 'BA.42 (L). Primary Auditory Cortex', 'BA.42 (R). Primary Auditory Cortex', 'BA.43 (L). Subcentral Area', 'BA.43 (R). Subcentral Area', 'BA.44 (L). IFC pars opercularis', 'BA.44 (R). IFC pars opercularis', 'BA.45 (L). IFC pars triangularis', 'BA.45 (R). IFC pars triangularis', 'BA.46 (L). Dorsolateral Prefrontal Cortex', 'BA.46 (R). Dorsolateral Prefrontal Cortex', 'BA.47 (L). Inferior Prefrontal Gyrus', 'BA.47 (R). Inferior Prefrontal Gyrus', 'BA.5 (L). Somatosensory Association Cortex', 'BA.5 (R). Somatosensory Association Cortex', 'BA.6 (L). Premotor Cortex', 'BA.6 (R). Premotor Cortex', 'BA.7 (L). Somatosensory Association Cortex', 'BA.7 (R). Somatosensory Association Cortex', 'BA.8 (L). Dorsal Frontal Cortex', 'BA.8 (R). Dorsal Frontal Cortex', 'BA.9 (L). Dorsolateral Prefrontal Cortex', 'BA.9 (R). Dorsolateral Prefrontal Cortex', 'Boveroux_Brainstem_4-12_-24_-24', 'Boveroux_Cerebellum_10-4_-56_-40_roi', 'Boveroux_Thalamus_L_4--4_-12_0', 'Boveroux_Thalamus_R_4-4_-12_0', 'DMN_Raichle_Cerebellum_L_10--25_-81_-33', 'DMN_Raichle_Cerebellum_R_10-25_-81_-33', 'DMN_Raichle_ITG_L_10--61_-24_-9', 'DMN_Raichle_ITG_R_10-58_-24_-9', 'DMN_Raichle_LPC_L_10--46_-66_30', 'DMN_Raichle_LPC_R_10-49_-63_33', 'DMN_Raichle_MPFC_10--1_54_27', 'DMN_Raichle_PCC_10-0_-52_27', 'DMN_Raichle_Thalamus_4-0_-12_9', 'FP_Fair_AG_L_10--31_-59_42', 'FP_Fair_AG_R_10-30_-61_39_Fair', 'FP_Fair_DLPFC_L_10--43_22_34', 'FP_Fair_DLPFC_R_10-43_22_34', 'FP_Fair_IPL_L_10--51_-51_36', 'FP_Fair_IPL_R_10-51_-47_42', 'FP_Fair_MCC_10-0_-29_30', 'FP_Fair_PMC_L_10--41_3_36', 'FP_Fair_PMC_R_10-41_3_36_Fair', 'FP_Fair_Prec_L_10--9_-72_37', 'FP_Fair_Prec_R_10-10_-69_39', 'Motor_Raichle_PMC_L_10--39_-26_51', 'Motor_Raichle_PMC_R_10-38_-26_48', 'Motor_Raichle_SMA_10-0_-21_48', 'Sal_Seeley_DLPFC_L_10--38_52_10', 'Sal_Seeley_DLPFC_R_10-30_48_22', 'Sal_Seeley_FI_L_10--40_18_-12', 'Sal_Seeley_FI_R_10-42_10_-12', 'Sal_Seeley_Hypothalamus_L_4--10_-14_-8', 'Sal_Seeley_Hypothalamus_R_4-6_-16_-6', 'Sal_Seeley_Operculum_L_10--60_-40_40', 'Sal_Seeley_Operculum_R_10-58_-40_30', 'Sal_Seeley_PAG_4--4_-24_-2', 'Sal_Seeley_Paracingu_10-0_44_28', 'Sal_Seeley_SMA_L_10--4_14_48_seeley', 'Sal_Seeley_SMA_R_10-4_14_48', 'Sal_Seeley_STG_10_L--62_-16_8', 'Sal_Seeley_STG_R_10-64_-38_6', 'Sal_Seeley_TemPole_L_10--52_16_-14', 'Sal_Seeley_TemPole_R_10-52_20_-18', 'Sal_Seeley_Thalamus_L_4--12_-18_6', 'Sal_Seeley_Thalamus_R_4-12_-18_6', 'Sal_Seeley_VLPFC_R_10-42_46_0', 'Sal_Seeley_VTA_L_4--10_-14_-10', 'Sal_Seeley_VTA_R_4-8_-8_-14', 'Sal_Seeley_dACC_L_10--6_18_30', 'Sal_Seeley_dACC_R_10-4_14_48', 'VIS_DeLuca_AssocVis_R_10-30_-89_20', 'VIS_DeLuca_AssocVisu_L_10--30_-89_20', 'VIS_DeLuca_SecVis_R_10-6_-78_-3', 'VIS_DeLuca_secVis_L_10--6_-78_-3', 'VIS_Thamason_PrimVis_L_10--13_-85_6', 'VIS_Thomason_PrimVis_R_10-8_-82_6', 'rsREL.Precuneus (PCC) (0,-56,28)', 'rsREL.Right Inferior Parietal Lobe (RLP) (48,-60,38)', 'rsREL.Left Inferior Parietal Lobe (LLP) (-42,-68,38)', 'rsREL.Med Prefrontal Cortex (MPFC) (0,54,-8)', 'rsREL.Right Posterior Sup Temp Gyrus (60,-30,24)', 'rsREL.Right Anterior Sup Temp Gyrus (54,8,-2)', 'rsREL.Cingulate Gyrus (0,6,40)', 'rsREL.Right Superior Frontal Gyrus (30,22,52)', 'rsREL.Left Superior Frontal Gyrus (-28,22,52)', 'rsREL.Left Posterior Sup Temp Gyrus (-60,-30,20)', 'rsREL.Left Anterior Sup Temp Gyrus (-44,4,-4)', 'thalamus_L', 'thalamus_both', 'thalamus_r', 'veins'};
names2 = {'Grey Matter', 'AUD_Maudoux_ACC_10-6_-7_43', 'AUD_Maudoux_PCG_L_10--53_-6_8', 'AUD_Maudoux_PCG_R_10-58_-6_11', 'AUD_Maudoux_STG_L_10--44_-6_11', 'AUD_Maudoux_STG_R_10-44_-6_11', 'AUD_Maudoux_VisCort_R_10-6_-88_37', 'AUD_Maudoux_VisualCort_L_10--6_-88_37', 'BA.1 (L). Primary Somatosensory Cortex', 'BA.1 (R). Primary Somatosensory Cortex', 'BA.10 (L). Anterior Prefrontal Cortex', 'BA.10 (R). Anterior Prefrontal Cortex', 'BA.11 (L). Orbitofrontal Cortex', 'BA.11 (R). Orbitofrontal Cortex', 'BA.13 (L). Insular Cortex', 'BA.13 (R). Insular Cortex', 'BA.17 (L). Primary Visual Cortex', 'BA.17 (R). Primary Visual Cortex', 'BA.18 (L). Secondary Visual Cortex', 'BA.18 (R). Secondary Visual Cortex', 'BA.19 (L). Associative Visual Cortex', 'BA.19 (R). Associative Visual Cortex', 'BA.2 (L). Primary Somatosensory Cortex', 'BA.2 (R). Primary Somatosensory Cortex', 'BA.20 (L). Inferior Temporal Gyrus', 'BA.20 (R). Inferior Temporal Gyrus', 'BA.21 (L). Middle Temporal Gyrus', 'BA.21 (R). Middle Temporal Gyrus', 'BA.22 (L). Superior Temporal Gyrus', 'BA.22 (R). Superior Temporal Gyrus', 'BA.23 (L). Ventral Posterior Cingulate Cortex', 'BA.23 (R). Ventral Posterior Cingulate Cortex', 'BA.24 (L). Ventral Anterior Cingulate Cortex', 'BA.24 (R). Ventral Anterior Cingulate Cortex', 'BA.25 (L). Subgenual cortex', 'BA.25 (R). Subgenual cortex', 'BA.27 (L). Piriform Cortex', 'BA.27 (R). Piriform Cortex', 'BA.28 (L). Posterior Entorhinal Cortex', 'BA.28 (R). Posterior Entorhinal Cortex', 'BA.29 (L). Retrosplenial Cingulate Cortex', 'BA.29 (R). Retrosplenial Cingulate Cortex', 'BA.3 (L). Primary Somatosensory Cortex', 'BA.3 (R). Primary Somatosensory Cortex', 'BA.30 (L). Cingulate Cortex', 'BA.30 (R). Cingulate Cortex', 'BA.31 (L). Dorsal Posterior Cingulate Cortex', 'BA.31 (R). Dorsal Posterior Cingulate Cortex', 'BA.32 (L). Dorsal anterior Cingulate Cortex', 'BA.32 (R). Dorsal anterior Cingulate Cortex', 'BA.33 (L). Anterior Cingulate Cortex', 'BA.33 (R). Anterior Cingulate Cortex', 'BA.34 (L). Anterior Entorhinal Cortex', 'BA.34 (R). Anterior Entorhinal Cortex', 'BA.35 (L). Perirhinal cortex', 'BA.35 (R). Perirhinal cortex', 'BA.36 (L). Parahippocampal cortex', 'BA.36 (R). Parahippocampal cortex', 'BA.37 (L). Fusiform gyrus', 'BA.37 (R). Fusiform gyrus', 'BA.38 (L). Temporopolar Area', 'BA.38 (R). Temporopolar Area', 'BA.39 (L). Angular gyrus', 'BA.39 (R). Angular gyrus', 'BA.4 (L). Primary Motor Cortex', 'BA.4 (R). Primary Motor Cortex', 'BA.40 (L). Supramarginal Gyrus', 'BA.40 (R). Supramarginal Gyrus', 'BA.41 (L). Primary Auditory Cortex', 'BA.41 (R). Primary Auditory Cortex', 'BA.42 (L). Primary Auditory Cortex', 'BA.42 (R). Primary Auditory Cortex', 'BA.43 (L). Subcentral Area', 'BA.43 (R). Subcentral Area', 'BA.44 (L). IFC pars opercularis', 'BA.44 (R). IFC pars opercularis', 'BA.45 (L). IFC pars triangularis', 'BA.45 (R). IFC pars triangularis', 'BA.46 (L). Dorsolateral Prefrontal Cortex', 'BA.46 (R). Dorsolateral Prefrontal Cortex', 'BA.47 (L). Inferior Prefrontal Gyrus', 'BA.47 (R). Inferior Prefrontal Gyrus', 'BA.5 (L). Somatosensory Association Cortex', 'BA.5 (R). Somatosensory Association Cortex', 'BA.6 (L). Premotor Cortex', 'BA.6 (R). Premotor Cortex', 'BA.7 (L). Somatosensory Association Cortex', 'BA.7 (R). Somatosensory Association Cortex', 'BA.8 (L). Dorsal Frontal Cortex', 'BA.8 (R). Dorsal Frontal Cortex', 'BA.9 (L). Dorsolateral Prefrontal Cortex', 'BA.9 (R). Dorsolateral Prefrontal Cortex', 'Boveroux_Brainstem_4-12_-24_-24', 'Boveroux_Cerebellum_10-4_-56_-40_roi', 'Boveroux_Thalamus_L_4--4_-12_0', 'Boveroux_Thalamus_R_4-4_-12_0', 'DMN_Raichle_Cerebellum_L_10--25_-81_-33', 'DMN_Raichle_Cerebellum_R_10-25_-81_-33', 'DMN_Raichle_ITG_L_10--61_-24_-9', 'DMN_Raichle_ITG_R_10-58_-24_-9', 'DMN_Raichle_LPC_L_10--46_-66_30', 'DMN_Raichle_LPC_R_10-49_-63_33', 'DMN_Raichle_MPFC_10--1_54_27', 'DMN_Raichle_PCC_10-0_-52_27', 'DMN_Raichle_Thalamus_4-0_-12_9', 'FP_Fair_AG_L_10--31_-59_42', 'FP_Fair_AG_R_10-30_-61_39_Fair', 'FP_Fair_DLPFC_L_10--43_22_34', 'FP_Fair_DLPFC_R_10-43_22_34', 'FP_Fair_IPL_L_10--51_-51_36', 'FP_Fair_IPL_R_10-51_-47_42', 'FP_Fair_MCC_10-0_-29_30', 'FP_Fair_PMC_L_10--41_3_36', 'FP_Fair_PMC_R_10-41_3_36_Fair', 'FP_Fair_Prec_L_10--9_-72_37', 'FP_Fair_Prec_R_10-10_-69_39', 'Motor_Raichle_PMC_L_10--39_-26_51', 'Motor_Raichle_PMC_R_10-38_-26_48', 'Motor_Raichle_SMA_10-0_-21_48', 'Sal_Seeley_DLPFC_L_10--38_52_10', 'Sal_Seeley_DLPFC_R_10-30_48_22', 'Sal_Seeley_FI_L_10--40_18_-12', 'Sal_Seeley_FI_R_10-42_10_-12', 'Sal_Seeley_Hypothalamus_L_4--10_-14_-8', 'Sal_Seeley_Hypothalamus_R_4-6_-16_-6', 'Sal_Seeley_Operculum_L_10--60_-40_40', 'Sal_Seeley_Operculum_R_10-58_-40_30', 'Sal_Seeley_PAG_4--4_-24_-2', 'Sal_Seeley_Paracingu_10-0_44_28', 'Sal_Seeley_SMA_L_10--4_14_48_seeley', 'Sal_Seeley_SMA_R_10-4_14_48', 'Sal_Seeley_STG_10_L--62_-16_8', 'Sal_Seeley_STG_R_10-64_-38_6', 'Sal_Seeley_TemPole_L_10--52_16_-14', 'Sal_Seeley_TemPole_R_10-52_20_-18', 'Sal_Seeley_Thalamus_L_4--12_-18_6', 'Sal_Seeley_Thalamus_R_4-12_-18_6', 'Sal_Seeley_VLPFC_R_10-42_46_0', 'Sal_Seeley_VTA_L_4--10_-14_-10', 'Sal_Seeley_VTA_R_4-8_-8_-14', 'Sal_Seeley_dACC_L_10--6_18_30', 'Sal_Seeley_dACC_R_10-4_14_48', 'VIS_DeLuca_AssocVis_R_10-30_-89_20', 'VIS_DeLuca_AssocVisu_L_10--30_-89_20', 'VIS_DeLuca_SecVis_R_10-6_-78_-3', 'VIS_DeLuca_secVis_L_10--6_-78_-3', 'VIS_Thamason_PrimVis_L_10--13_-85_6', 'VIS_Thomason_PrimVis_R_10-8_-82_6', 'rsREL.Precuneus (PCC) (0,-56,28)', 'rsREL.Right Inferior Parietal Lobe (RLP) (48,-60,38)', 'rsREL.Left Inferior Parietal Lobe (LLP) (-42,-68,38)', 'rsREL.Med Prefrontal Cortex (MPFC) (0,54,-8)', 'rsREL.Right Posterior Sup Temp Gyrus (60,-30,24)', 'rsREL.Right Anterior Sup Temp Gyrus (54,8,-2)', 'rsREL.Cingulate Gyrus (0,6,40)', 'rsREL.Right Superior Frontal Gyrus (30,22,52)', 'rsREL.Left Superior Frontal Gyrus (-28,22,52)', 'rsREL.Left Posterior Sup Temp Gyrus (-60,-30,20)', 'rsREL.Left Anterior Sup Temp Gyrus (-44,4,-4)', 'thalamus_L', 'thalamus_both', 'thalamus_r', 'veins_Dim1', 'veins_Dim2', 'veins_Dim3', 'veins_Dim4', 'veins_Dim5', 'veins_Dim6', 'veins_Dim7', 'veins_Dim8', 'veins_Dim9', 'veins_Dim10', 'veins_Dim11', 'veins_Dim12', 'veins_Dim13', 'veins_Dim14', 'veins_Dim15', 'veins_Dim16', 'veinslowres_Dim1', 'veinslowres_Dim2', 'veinslowres_Dim3', 'veinslowres_Dim4', 'veinslowres_Dim5', 'veinslowres_Dim6', 'veinslowres_Dim7', 'veinslowres_Dim8', 'veinslowres_Dim9', 'veinslowres_Dim10', 'veinslowres_Dim11', 'veinslowres_Dim12', 'veinslowres_Dim13', 'veinslowres_Dim14', 'veinslowres_Dim15', 'veinslowres_Dim16', 'QA_timeseries_Dim1', 'QA_timeseries_Dim2', 'Effect of AllSessions', 'Effect of hf', 'Effect of lf', 'Effect of vlf1'};
[nill,idxroi1roi2]=ismember(names,names2);
names2=cat(2,{names2{idxroi1roi2}},{names2{setdiff(1:nrois2,idxroi1roi2)}});

This produces the error mentioned above. If you display idxroi1roi2, we get this (I cut the beginning for space):
idxroi1roi2 = [2, 3, ..., 161, 162, 0]

So if you look at var names, it seems it's because of the ROI "veins" that is not found in names2. Why? Because "veins" is a regress-out ROI that I set up to extract PCA components (and not average timeseries), to include in denoising as part of aCompCor methodology. It seems that CONN automatically generates in the background new ROIs from the PCA components: "veins_Dim1" to "veins_Dim16", replacing the original "veins". Hence, "veins" cannot be found in names2. Also note that finally I disabled these PCA components from the denoising (so in fact I do not use them for the moment, they are just defined in setup).

To summarize, this bug happens when using a ROI set to extract PCA + regress-out and then trying to do a dynamic analysis (seed or ICA based).

The fix for me was simply to remove 0 values from idxroi1roi2, by adding this line:

idxroi1roi2 = idxroi1roi2(idxroi1roi2 ~= 0);

Just before:

names2=cat(2,{names2{idxroi1roi2}},{names2{setdiff(1:nrois2,idxroi1roi2)}});

Note that I had to add this fix at lines 2222 and 3698 (and also in commented code just in case for the future).

I attach here the fixed conn_process.m for CONN 17e.
Attachment: conn_process.m

Threaded View

TitleAuthorDate
Bugfix: dynamic connectivity with custom rois
Stephen L. Jun 8, 2017
Zoe O'Brien-Moran Jan 24, 2019