help > 2nd level ROI cluster analyses (TFCE) with missing ROIs in some subjects
Showing 1-4 of 4 posts
Display:
Results per page:
Jan 27, 2025  02:01 PM | tposside
2nd level ROI cluster analyses (TFCE) with missing ROIs in some subjects

Hi there,


I'm doing ROI-to-ROI correlation and gPPI connectivity 2nd level analyses using TFCE with subject-specific ROIs. The issue is that some subjects are missing some ROIs (we are interested in some small frontal ROIs that are difficult to localizer reliably in all subjects.) 


As others have mentioned, Conn will exclude an ROI from the analysis if it is not present in all subjects. The workaround mentioned here (https://www.nitrc.org/forum/message.php?...) is to make arbitrary ROIs for the missing ones, then exclude the subjects with missing ROIs from the 2nd level analysis. But because TFCE analyses all ROI-to-ROI connections together, this would exclude a subject even if they have 25 out of our 26 ROIs - which throws away a lot of data. 


Is there any way to allow for missing ROIs in this context without removing full subjects or full ROIs from the analysis?


One thing I tried was to manually replace the arbitrary ROI data for the missing ROIs with NaNs in the Z and SE variables of the relevant */results/firslevel/gPPI/resultsROI_Condition001.mat file. But it seems that 2nd level analyses (TFCE at least) just removes rows/cols that are NaNs and this results in a dimensions error when it tries to concatenate all the matrices for each ROI.


 


Thank you.


Best,


Tom from BU


 


 

Jan 28, 2025  11:01 AM | Alfonso Nieto-Castanon - Boston University
RE: 2nd level ROI cluster analyses (TFCE) with missing ROIs in some subjects

Hi Tom,


Sorry, the ability to handle ROI-specific missing-values (different subjects having missing data for different ROIs) is not yet implemented in CONN. The same request has been raised for voxel-level analyses (the ability to have different subjects having missing data across different voxels) and the underlying solution is the same in both cases (mainly adding to conn_glm and conn_randomise the ability to fit multiple models across different voxels/ROIs each using different subsets of samples), but this is still pending in my queue (sorry!)


Best


Alfonso


Originally posted by tposside:



Hi there,


I'm doing ROI-to-ROI correlation and gPPI connectivity 2nd level analyses using TFCE with subject-specific ROIs. The issue is that some subjects are missing some ROIs (we are interested in some small frontal ROIs that are difficult to localizer reliably in all subjects.) 


As others have mentioned, Conn will exclude an ROI from the analysis if it is not present in all subjects. The workaround mentioned here (https://www.nitrc.org/forum/message.php?...) is to make arbitrary ROIs for the missing ones, then exclude the subjects with missing ROIs from the 2nd level analysis. But because TFCE analyses all ROI-to-ROI connections together, this would exclude a subject even if they have 25 out of our 26 ROIs - which throws away a lot of data. 


Is there any way to allow for missing ROIs in this context without removing full subjects or full ROIs from the analysis?


One thing I tried was to manually replace the arbitrary ROI data for the missing ROIs with NaNs in the Z and SE variables of the relevant */results/firslevel/gPPI/resultsROI_Condition001.mat file. But it seems that 2nd level analyses (TFCE at least) just removes rows/cols that are NaNs and this results in a dimensions error when it tries to concatenate all the matrices for each ROI.


 


Thank you.


Best,


Tom from BU


 


 



 

Jan 28, 2025  02:01 PM | tposside
RE: 2nd level ROI cluster analyses (TFCE) with missing ROIs in some subjects

Understood, thank you for your response.


I've actually found a possible workaround to get Conn to do the TFCE analysis with ROI-specific missing-values, and I'm curious to get your thoughts on whether it is valid or might cause some statistical innaccuracies.


1) Run the desired 2nd level analysis in the Conn GUI (using the arbitrary replacement ROIs). In my case this is an A>B condition gPPI analysis.


2) In the relevant folder ( */results/secondlevel/gPPI/AllSubjects/aA(-1).vA(1)/ for me ) delete everything except the ROI.mat and ROIorder.mat files. 


3) In Matlab, modify the ROI.y variable in the ROI.mat file by inserting NaNs for connections that include a subject-specific missing ROI (ex. if subj 2 is missing ROI 4, insert a NaN in every ROI.y matrix at index (2,4,:) )


4) Back in the Conn GUI, rerun the same 2nd level analysis and select "Load existing analysis results". If you select recompute it will overwrite the ROI.mat file you just modified. 


5) Use the 2nd level analysis results explorer as you normally would and it should now be computing everything using the modified ROI.mat file with NaNs for subject-specific missing ROIs


Obviously this is not the ideal way to do this. But the question is whether it is still statistically valid and would give trustworthy results?


 


Originally posted by Alfonso Nieto-Castanon:



Hi Tom,


Sorry, the ability to handle ROI-specific missing-values (different subjects having missing data for different ROIs) is not yet implemented in CONN. The same request has been raised for voxel-level analyses (the ability to have different subjects having missing data across different voxels) and the underlying solution is the same in both cases (mainly adding to conn_glm and conn_randomise the ability to fit multiple models across different voxels/ROIs each using different subsets of samples), but this is still pending in my queue (sorry!)


Best


Alfonso


Originally posted by tposside:



Hi there,


I'm doing ROI-to-ROI correlation and gPPI connectivity 2nd level analyses using TFCE with subject-specific ROIs. The issue is that some subjects are missing some ROIs (we are interested in some small frontal ROIs that are difficult to localizer reliably in all subjects.) 


As others have mentioned, Conn will exclude an ROI from the analysis if it is not present in all subjects. The workaround mentioned here (https://www.nitrc.org/forum/message.php?...) is to make arbitrary ROIs for the missing ones, then exclude the subjects with missing ROIs from the 2nd level analysis. But because TFCE analyses all ROI-to-ROI connections together, this would exclude a subject even if they have 25 out of our 26 ROIs - which throws away a lot of data. 


Is there any way to allow for missing ROIs in this context without removing full subjects or full ROIs from the analysis?


One thing I tried was to manually replace the arbitrary ROI data for the missing ROIs with NaNs in the Z and SE variables of the relevant */results/firslevel/gPPI/resultsROI_Condition001.mat file. But it seems that 2nd level analyses (TFCE at least) just removes rows/cols that are NaNs and this results in a dimensions error when it tries to concatenate all the matrices for each ROI.


 


Thank you.


Best,


Tom from BU


 


 



 



 

Jan 30, 2025  05:01 PM | tposside
RE: 2nd level ROI cluster analyses (TFCE) with missing ROIs in some subjects

Never mind this does NOT work.