Hi Alfonso and CONN users,
I have been enjoying the new Polar Display feature from the latest update! I have been using it to report network level results in my SBC and RRC analyses. For my hypothesis, I am relying on the Yeo 2011 7 network atlas which from what I understand the Polar display utilizes this network based on the usage:
>> conn_polar_display
conn_polar_display(filename[, templatefile, ispercentage,
manualscale, title])
displays the overlap between non-zero values in 3D NIFTI
volume "filename"
and the 7-networks whole-brain parcellation (Yeo&Buckner
7-networks atlas)
filename : 3D volume NIFTI
file
templatefile : 3D volume NIFTI template with
ROIs/networks
(defaults to conn/utils/surf/YeoBuckner2011.nii)
ispercentage : 0/1 0=raw numbers; 1=percentage
overlap [0]
manualscale : maximum value displayed
However, when I load the Polar display it includes the Salience networks and leaves out the Ventral Attention Network, when the Yeo network should have the VAN but not the Salience (see image below). This made me curious to look into why this might be the case, and it seems to me that Polar Display function is using conn/rois/networks.nii, or CONN's ICA analyses of HCP dataset. This is due to the networks.info file which states:
Atlas of commonly used networks:
Default Mode Network (4 ROIs)
SensoriMotor (3 ROIs)
Visual (4 ROIs)
Salience / Cingulo-Opercular (7 ROIs)
DorsalAttention (4 ROIs)
FrontoParietal / Central Executive (4 ROIs)
Language (4 ROIs)
Cerebellar (2 ROIs)
ROIs defined from CONN's ICA analyses of HCP dataset (497 subjects)
This seems to align with the polar display results, which I've attached. I would like to confirm that it is using Yeo2011 7-network, but have been unable to get the code to work for me:
filename = 'results.ROIs.nii';
templatefile =
'/usr/local/MATLAB/R2024a/conn/utils/surf/YeoBuckner2011.nii';
ispercentage = 1; % 1 for percentage overlap, 0 for raw
numbers
manualscale = []; % leave empty for default scaling
title = 'ROI Overlap with Yeo 7-Networks';
conn_polar_display(filename, templatefile, ispercentage, manualscale, title);
Warning: Input should be a string, character array, or cell
array of character arrays.
> In spm_vol (line 61)
In conn_vol_read (line 19)
In conn_polar_display (line 56)
Warning: Inputs must be character vectors, cell arrays of character
vectors, or string arrays.
> In spm_fileparts (line 18)
In spm_vol>spm_vol_hdr (line 76)
In spm_vol (line 61)
In conn_vol_read (line 19)
In conn_polar_display (line 56)
Error using fileparts (line 15)
Input must be a row vector of characters, or a string scalar, or a
cellstr, or a string matrix.
Error in spm_fileparts (line 19)
[pth,nam,ext] = fileparts(fname);
Error in spm_vol>spm_vol_hdr (line 76)
[pth,nam,ext,n] = spm_fileparts(p);
Error in spm_vol (line 61)
v = spm_vol_hdr(deblank(P(i,:)));
Error in conn_vol_read (line 19)
vol = spm_vol(filename);
Error in conn_polar_display (line 56)
labels=conn_vol_read(filetemplate,filedata{1});
I was wondering how I can use a different template file and confirm it is using the Yeo 7 network and not the CONN ICA network.
OK I was able to figure out that it is indeed using the Yeo 7 network. However, conn/utils/surf/YeoBuckner2011.txt file labels the Ventral Attention as the Salience. I'm not sure if this is intended, but the original Yeo paper lists the VAN and not the Salience network:
I also was able to load a specified template file, but not in
the order suggested. The helper function suggests:
conn_polar_display(filename[, templatefile, ispercentage,
manualscale, title])
However, this results in an error, which I listed above. When I
switch manualscale with ispercentage, the function works and
displays the polar plot (albeit with everything blown out of
proportion!):
filename = 'results.ROIs.nii';
%templatefile =
'/usr/local/MATLAB/R2024a/conn/utils/surf/YeoBuckner2011.nii';
templatefile='/Atlases/Yeo_JNeurophysiol11_MNI152/Yeo2011_7Networks_MNI152_FreeSurferConformed1mm.nii'
ispercentage = 1;
min=0;
max=1;
manualscale = [];
title = 'Yeo 7-Networks';
conn_polar_display(filename, templatefile, manualscale, ispercentage, title);
Any suggestions on how I can fix this would be most helpful!
-Joe