Hi, there I have recently used “caez_ml_18” atlas as a mask for Whole brian ROI extraction. The details of the mask stated a total of 115 ROIs in the atlas but when I resampled and extract the time series from an fMRI data set it gives me a total of 116 ROIs. Why, it is given me 1 extra ROI?
Interesting… what was the resampling command you used?
Also, when I run “3dinfo” on the caez_ml_18 dsets distributed in the AFNI binaries, they all appear to have a range of [0, 116] in them. That doesn’t mean that they have to have 116 ROIs (because there could be gaps in the integer values present), but it would make it likely that they would.
Where is the description/info about having 115 regions there?
Thank you, Dear, Ptaylor. I initially used the MNI_Glasser_HCP_v1.0 atlas for the same purpose, it has a total of 360 ROI’s which I confirmed from
the original paper of that Atlas “we delineated 180 areas per hemisphere” . So, 180x2=360 ROI’s in total, but when I checked from the following command using AFNI :
3dinfo -labeltable MNI_Glasser_HCP_v1.0.nii.gz
They showed me 1 extra number which I don’t know where it comes from.
but the number of ROI names present in the output of the above command was 360.
I have used 3dreseample command to resample the atlas to the fMRI scale.
I repeat the same procedure with the caez_ml_18 Atlas and extract/save all the ROIs names to a text file and it counts to 115 using the following command:
3dinfo -labeltable MNI_caez_ml_18+tlrc
Which produces 115 ROI string names.
I am wondering about this 1 extra value.
 Glasser, Matthew F., et al. “A multi-modal parcellation of human cerebral cortex.” Nature 536.7615 (2016): 171-178.
The “extra” dimension there is because there is the following label:
So, it is not a problem. There are 4 header lines in the NIML-format output, so if you run:
3dinfo -labeltable MNI_Glasser_HCP_v1.0.nii.gz | wc -l
to count the number of lines output to the terminal, you get: 365. There are 3 “header” lines at the top, which you can see with:
3dinfo -labeltable MNI_Glasser_HCP_v1.0.nii.gz | head
… and one at the bottom of the output. Then there are 360 non-zero ROI lines, and one zero-ROI one.
I don’t actually see a labeltable in the MNI_caez_ml_18+tlrc file… It has atlaspoints, though? Running
3dinfo -atlas_points MNI_caez_mpm_18+tlrc | grep ATLAS_POINT | wc -l
… produced 75.
So, we just ignore the “one zero-ROI one.” when extracting the whole brain time series.?
Secondly, when you run this command:
3dinfo -labeltable MNI_caez_ml_18+tlrc
make sure you are in ~/abin$ Directory, for reference I am attaching the 2 figures that contain the output of the above command which I saved in an excel file & it contains the 115 ROI’s present in the atlas mask with a few other lines of code.
Do you want the average time series per ROI? There are different ways to do this, but most will not make a “ROI=0” time series. The label is there, as every voxel has a label, though. I would probably use 3dNetCorr with one or more of the following options:
-ts_out :switch to output the mean time series of the ROIs that have been used to generate the correlation matrices. Output filenames mirror those of the correlation matrix files, with a '.netts' postfix. -ts_label :additional switch when using '-ts_out'. Using this option will insert the integer ROI label at the start of each line of the *.netts file created. Thus, for a time series of length N, each line will have N+1 numbers, where the first is the integer ROI label and the subsequent N are scientific notation values. -ts_indiv :switch to create a directory for each network that contains the average time series for each ROI in individual files (each file has one line). The directories are labelled PREFIX_000_INDIV/, PREFIX_001_INDIV/, etc. (one per network). Within each directory, the files are labelled ROI_001.netts, ROI_002.netts, etc., with the numbers given by the actual ROI integer labels.
You will have a time series for every non-zero ROI where there is data (and see the other options about controlling behavior if the data is masked and some time series are all zero).
Re. the atlas:
Thanks, that is a good point. I had downloaded it separately from the website, and am not sure why that version didn’t have labels… But indeed, when I run:
3dinfo -labeltable MNI_caez_ml_18+tlrc. | wc -l
… I get 119 lines, of which 4 are header/footer ones, so there are 115 labels there. If I check explicitly for a ROI=0 label here with:
3dinfo -labeltable MNI_caez_ml_18+tlrc. | grep "\"0\""
… I get nothing, so there really do appear to be 115 labels. You can see what they are with (and ignore the first line; on a Mac, the “head” command has limited functionality—sigh):
3dinfo -labeltable MNI_caez_ml_18+tlrc. | tail -n+4 | tr “"” " " | sort -n
But indeed, there does appear to be an ROI=116, from looking at the max value in the dset, and it doesn’t have a label attached to it. We will discuss this and see why that is… Thanks for bringing this up!
The missing label is a very old issue that goes back to the original atlas, and I had asked the authors of the atlas about that along with a variety of other missing information. This missing region was noted by another AFNI user a few years ago. It appears to be “Cerebellar Vermis (10)” for the index value of 116. I don’t have confirmation for that, but I can update the atlas with the additional label.
Updated all caez_ml1.8 atlases (MNI,MNIa,TT) in AFNI distribution today 09/07/2022 to have the additional label
Thank you so much, Dear, Ptaylor and Daniel Glen for your in-depth review of this post. I will surely look into the updated atlas file and the command "3dNetCorr "suggested by Ptaylor for ROI extraction.