Index of /sereno/csurf/fsaverage-labels
#################################################################
https://pages.ucsd.edu/~msereno/csurf/fsaverage-labels/README.txt
#################################################################
The subdirectories here include resources for:
Sereno MI, Sood MR and Huang R-S (2022)
Topological Maps and Brain Computations From Low to High.
Frontiers in System Neuroscience 16:787737
https://pages.ucsd.edu/~msereno/papers/MapsLowToHigh22.pdf
(doi: 10.3389/fnsys.2022.787737)
These include: (1) the CsurfMaps1 parcellation (FreeSurfer *.annot files
and *.label.gii files for FreeSurfer average subject, fsaverage, along
with the HCP-MMP1 for comparison), (2) atlas movies, including annotated
individual area map movies, and (3) hi-res illustrations of parcellation
and map data. Here is the directory tree:
CsurfMaps1-atlas-movies:
README.txt
video1-CsurfMaps1-atlas-flat-LH.mp4
video2-CsurfMaps1-atlas-flat-RH.mp4
video3-CsurfMaps1-atlas-flat-both.mp4
video4-CsurfMaps1-rotate-folded.mp4
video5-CsurfMaps1-rotate-inflated.mp4
VisPhaseMovie-flat-both.mp4
CsurfMaps1-illustrations:
README.txt
CsurfMaps1-areas,maps.gif
fig1-PatchyLocalConnections.jpg
fig2-OwlMonkeyAreas.jpg
fig3-AudVersusVisSomMaps.jpg
fig4-HowAudSysPlaysWithMaps.jpg
fig5-CsurfMaps1-areas.jpg
fig6-CsurfMaps1-maps.jpg
lower-res:
fig5-CsurfMaps1-areas-sm.jpg
fig6-CsurfMaps1-maps-sm.jpg
CsurfMaps1-parcellation:
README.txt
Abbreviations-Table1.pdf
CsurfColorLUT.txt
CsurfColorLUT-both.txt
CsurfMaps1.mgz
CsurfMaps1+orig.BRIK
CsurfMaps1+orig.HEAD
CsurfMaps1.ctab.txt
orig+orig.BRIK
orig+orig.HEAD
lh-CsurfMaps1.annot
lh-CsurfMaps1.label.gii
rh-CsurfMaps1.annot
rh-CsurfMaps1.label.gii
mapdata-labels
README.txt
lh-mapsvisADJPHA.label
lh-mapsvisADJPHA.label.gii
rh-mapsvisADJPHA.label
rh-mapsvisADJPHA.label.gii
mapdata:
README.txt
lh-mapsvis.cols
lh-mapsaud.cols
lh-mapssom.cols
rh-mapsvis.cols
rh-mapsaud.cols
rh-mapssom.cols
HCP-MMP1-parcellation:
README.txt
HCP-MMP1ColorLUT-both.txt
HCP-MMP1.mgz
HCP-MMP1+orig.BRIK
HCP-MMP1+orig.HEAD
HCP-MMP1-areas-lh.tiff
HCP-MMP1-areas-rh.tiff
HCP-MMP1-borders-lh.tiff
HCP-MMP1-borders-rh.tiff
lh.HCP-MMP1.annot
rh.HCP-MMP1.annot
bin
README.txt
update-csurf
update-fsaverage
These files are all included in the standard csurf distribution in:
$CSURF_DIR/subjects/fsaverage-ADDITIONS
That directory also includes the updated/improved surface and area files
used in Sereno, Sood, and Huang (2022):
(a) updated fsaverage inflated_avg surfaces
The artifactual large triangles at the inflated_avg 'poles' in the
standard FreeSurfer distribution are fixed.
(b) more veridical average .area files
These are made from inflated_avg, the average of inflated surfaces
instead of the average of smoothwm/white. Surface-averaging folded
surfaces (e.g., smoothwm) removes idiosyncratic sulcal 'crinkles',
reducing overall average surface area (mostly in the sulci) by almost
one-third. The inflated_avg surface avoids this by first inflating,
then averaging.
(c) True-area flattenings made from the fixed inflate_avg surfaces
These flattened surfaces are much closer to actual area than the ones
in the standard FreeSurfer distribution.
These surface and area files can be safely added to the corresponding
subdirectories of a user-writable fsaverage subject dir (label, surf).
The "update-fsaverage" sh script in the bin subdir above automates this,
assuming that you have installed csurf, and that fsaverage is writable.
It moves aside/renames the original inflate_avg and area files by
appending an ORIG suffix.
There is also an "update-csurf" script to automate installing or
updating csurf. These scripts are included in the csurf distribution
(in $CSURF_DIR/bin/noarch).
#### Revision History
## 26 Jan 2025 -- update-fsaverage also updates {CsurfMaps1,HCP-MMP1}.mgz
## 22 Jan 2025 -- add rh+lh 3D parcellation: HCP-MMP1.mgz, HCP-MMP1+orig.BRIK
## 15 Jan 2025 -- add rh+lh 3D parcellation: CsurfMaps1.mgz,CsurfMaps1+orig.BRIK
## 26 Oct 2022 -- made complete fsaverage subject tarfile w/updates done:
https://pages.ucsd.edu/~msereno/csurf/fsaverage.tgz
## 26 Oct 2022 -- new update-fsaverage also copies HCP and mapdata files
## 22 Sep 2022 -- update-csurf sh script to automate csurf updates
## 17 Sep 2022 -- update-fsaverage sh script to automate add parcellation/surfs
## 31 Jul 2022 -- fix stale CsurfMaps1.ctab.txt (only 102 regions, sorry again!)
## 24 Jul 2022 -- add CsurfMaps1.ctab.txt final coltable w/o 'holes' (sorry!)
## 28 Apr 2022 -- add VisPhaseMovie-flat-both.mp4
## 24 Apr 2022 -- better movie/fig names, caption README.txt's, all hi-res figs
## 31 Mar 2022 -- added folded/inflated rotate movies
## 28 Mar 2022 -- subdirectories, better filenames
## 24 Mar 2022 -- update all files, subdivide 7b-PIC (vis, vis/som), add PHt
## 15 Mar 2022 -- touch up S-II in LH (lh-CsurfMaps1.annot, lh-CsurfMaps1.gii)
## 10 Mar 2022 -- update all files
-- rename various areas for priority:
ventral occip: VMV2 => VO1, VMV1 => VO2
parietal: SPV2 => IPS4, SPV1 => IPS5
lateral occip: LO3 => OPA
medial visual: PCV1 => aPCu1, PCV2 => aPCu2
-- subdivide multisensory area: PCaud => PZa,s and PZa,v,s
-- new multisensory area: pCI
-- fix somatosensory area name error: VS => PV
-- subdivide area 1 => 1_face, 1_hand, 1_foot
## 22 Jan 2022 -- regularize names (PCV,STV: a,b->1,2; MBelt->MB)
## 15 Jan 2022 -- update CsurfMaps1 rh/lh annot files updated after 1st review
-- add new ?h.cortex2a.patch.flat added used in paper
-- incl copy of CsurfColorLUT.txt (also in $CSURF_DIR/lib/lut)
## 21 Nov 2021 -- update CsurfMaps1 rh/lh annot files for freeview compat
-- CsurfMaps1 rh/lh converted to GIFTI
## 30 Sep 2021 -- initial upload
###########################################################################
(1) The CsurfMaps1 and HCP-MMP1 parcellations
###########################################################################
The left and right hemisphere CsurfMaps1 and HCP-MMP1 parcellations here
are MGH format 'annotation' files that can be used in either csurf or
MGH freesurfer. They specify a region idnum, region name, and a color
for each vertex in the fsaverage surfaces. The CsurfMaps1 parcellation
files were also converted to GIFTI (*.label.gii) files, as well as
3D labels made from the fsaverage orig surface for the orig.mgz volume:
CsurfMaps1-parcellation (2D, for fsaverage surfaces):
Abbreviations-Table1.pdf -- table of abbreviations on one page
CsurfColorLUT.txt -- directs construct csurf annot ('holes')
CsurfMapsl.ctab.txt -- final sequential color table w/ID 'holes' rm'd
lh-CsurfMaps1.annot -- native freesurfer annotation
lh-CsurfMaps1.label.gii -- via mris_convert
rh-CsurfMaps1.annot -- native freesurfer annotation
rh-CsurfMaps1.label.gii -- via mris_convert
CsurfMaps1-parcellation (3D for fsaverage orig volumes, hemi-specific):
CsurfMaps1+orig.BRIK,HEAD -- 3D cortical ribbon ROIs (short region id's)
CsurfMaps1.mgz -- 3D cortical ribbon ROIs (int region id's)
CsurfColorLUT-both.txt -- seq. hemi-specific color lookup table for 3D
orig+orig.BRIK,HEAD -- for viewing overlay in AFNI (from orig.mgz)
--------------------------------------------------------------------
HCP-MMP1-parcellation (2D, for fsaverage surfaces):
lh.HCP-MMP1.annot -- native freesurfer annotation
rh.HCP-MMP1.annot -- native freesurfer annotation
HCP-MMP1-parcellation (3D for fsaverage orig volumes, hemi-specific):
HCP-MMP1+orig.BRIK,HEAD -- 3D cortical ribbon ROIs (short region id's)
HCP-MMP1.mgz -- 3D cortical ribbon ROIs (int region id's)
HCP-MMP1ColorLUT-both.txt -- hemi-specific color lookup table for 3D
All of these files are now included in the csurf distribution, in
$CSURF_DIR/subjects/fsaverage-ADDITIONS.
The HCP MMP1 parcellation was resampled to the full ic7.tri fsaverage
resolution by Kathyrn Mills, using Workbench and MGH Freesurfer tools,
as described here:
https://figshare.com/articles/HCP-MMP1_0_projected_on_fsaverage/3498446
See below for examples of how to use either parcellation in csurf.
###########################################################################
(2) Movie atlas of CsurfMaps1 parcellation
###########################################################################
Annotated movie atlases of the 117 annotated individual area maps in
each hemisphere on the flattened surface are here:
video1-CsurfMaps1-atlas-flat-LH.mp4
video2-CsurfMaps1-atlas-flat-RH.mp4
and pasted side-by-side into a single cropped movie for easier LH/RH
comparisons here:
video3-CsurfMaps1-atlas-flat-both.mp4
White arrows indicate the average gradient of the map coordinate for
each area ("lower/horiz/upper" for visual maps, "low f./high f." for
auditory maps, and "foot/hand/face" for somatosensory maps. The color
scale for the map data is: green for lower visual field, low frequency,
or leg/foot; blue for horizontal meridian, mid frequency, or arm/hand,
and red for upper field, high frequency, or face.
There are also folded and unfolded rotating movies of the parcellation
and the mapping data, and an animated phase movie of the retinotopy data.
video4-CsurfMaps1-rotate-folded.mp4
video5-CsurfMaps1-rotate-inflated.mp4
VisPhaseMovie-flat-both.mp4
The "mapdata" subdirectory here contains the final mapping data for
visual, auditory, and somatomotor areas. The data is in the form of
vertexwise intrinsic RGB colors (before lighting calculations have been
applied) for each modality and hemisphere (6 files, ASCII), so the map
colors can be exactly recreated.
The README.txt in the mapdata subdirectory describes the file format
and includes instructions for how to display the files in csurf (or
other programs).
Finally, the "mapdata-labels" directory contains minimally processed
phase data is available for the visual mapping data, in the form of
complex-valued freesurfer label files (amplitude=1) and real-valued
GIFTI angle files (radians), with the angles as if both hemispheres
represented the right hemifield (so angle=0 is horizontal meridian for
both hemispheres). See the README.txt there for rationale for and the
details of the phase corrections.
###########################################################################
(3) High resolution paper figures
###########################################################################
High resolution images of Figures 5 (areas) and 6 (mapdata) from
Sereno, Sood, and Huang (2022) are here:
fig1-PatchyLocalCOnnections.jpg
fig2-OwlMonkeyAreas.jpg
fig3-AudVersusVisSomMaps.jpg
fig4-HowAudSysPlaysWithMaps.jpg
fig5-CsurfMaps1-areas.jpg
fig6-CsurfMaps1-maps.jpg
CsurfMaps1-areas,maps.gif (GIF blinks between Fig5 and Fig6)
lower-res:
fig5-CsurfMaps1-areas-sm.jpg (same as above, lower res)
fig6-CsurfMaps1-maps-sm.jpg (same as above, lower res)
###########################################################################
Using Annotation Files to Extract Data on fsaverage surface
###########################################################################
The first use for the annotation files:
rh-CsurfMaps1.annot
lh-CsurfMaps1.annot
or their GIFTI equivalents
rh-CsurfMaps1.label.gii
lh-CsurfMaps1.label.gii
is to extract data that has already been resampled to the fsaverage
surface (individual subject data or average data).
Here is how to view the annotation on fsaverage using csurf tksurfer:
1) download (or unzip) the CsurfMap1 .annot files
2) put them in: $SUBJECTS_DIR/fsaverage/labels/
3) select subject "fsaverage", open it with SURFACE button
4) select an annoation from the "label:" dropdown, for example:
~/label/rh-CsurfMaps1.annot
~/label/rh.HCP-MMP1.annot
they will be near bottom, .annot's sort below .labels
5) display .annot with "D" on "label:" line
The transparency can be adjusted with "tran" (tksurfer upper left --
255 is opaque), curvature can changed from red/green to grays with the
"overlay" tick (or toggled on/off with the "curv" tick at upper middle).
To toggle viewing just the region borders versus filled-in regions,
shift-middle-click on the tick to the left of "label:".
You can extract or operate on fsaverage data from one (or all) of the
annotation regions using modified clicks on the "W" button on the "label:"
line (see R-click help for "W" button, which also brings up a button bar
with all the options).
To select one annotation region, click it (the region name will appear
in the log). This loads the unique RGB color of the region into the
r,g,b fields to the right of MESH. To get a pop-up with the region name,
double-middle-click it.
Just a few of the csurf operations available for an annotation region
(on the "label:" line) are:
"W" -> write ASCII label of curr vertex data under region
"T" -> extract timecourses from raw 3d BRIK for region
"S" -> extract stats from raw 3d stats BRIK for region
"X" -> run searchlight cross-correlation for region
For example, to write out a label file containing the currently displayed
vertex data for one HCP parcellation region, first click the region
(to load its r,g,b value), then shift-left-click the "W" button on the
"label:" line, which calls:
write_val_annotedcol_vertices <r> <g> <b>
To write out separate label files containing the currently displayed
vertex data for *every* HCP parcellation region in a single step, use
shift-ctrl-left-click on the "W" button on the "label:" line, which calls:
write_val_annotedcols_vertices
Instead of a full label file, a label file prefix:
.../{lh,rh}-<infix>
should be entered in the "label:" entry before clicking "W". This will
generate a series of 180 label files (for infix "TEST") that look
like this:
.../rh-TEST_R_V1_ROI.label
.../rh-TEST_R_MST_ROI.label
.../rh-TEST_R_V6_ROI.label
.../rh-TEST_R_V2_ROI.label
[etc]
###########################################################################
Using Annotation Files to Extract Data on an Individual Surface
###########################################################################
FreeSurfer annotation files for fsaverage (e.g., {rh,lh}-CsurfMaps1.annot,
{rh,lh}-HCP-MMP1.annot) can be resampled to an individual subject to
make a subject-specific .annot file by using the csurf tcl script:
annot2roi.tcl (from "scripts:" dropdown). This uses mri_surf2surf.
The subject-specific .annot file can use used as above to extract
subject-specific surface data.
Optionally, if individual subject functional data has been analyzed in
csurf, the .annot regions can be converted to 3D AFNI BRIK ROIs (at the
resolution of the functional data), with settable normal search parameters
(e.g., to use standard AFNI 3D tools). These will be 3D ROIs containing
voxels that were picked out by the normal search policy (at specified
distance(s) along the surface normal. Select the script #/annot2roi.tcl
from the "tcl:" entry dropdown, click GO, then do a R-click on the popup
to get a help panel.
Conversely, data from an individual subject can be resampled and displayed
on fsaverage. If a retinotopic mapping experiment, for example, has
been analyzed using csurf, open the rendering panel with SessionTools ->
View Functional Data and tick "fsavg" (upper right) before clicking the
SURFACE-STATS button to resample that subject's data onto fsaverage
and display it.
############################################################################
New full fsaverage flattenings made from fixed inflated_avg (7 July 2014)
############################################################################
The tarfile fsaverage-ADDITIONS.tgz, contains new flattenings of the
fixed FreeSurfer 5.3 fsaverage inflated_avg (fixes giant triangles
at icosahedral poles), along with fixed inflated_avg area files.
The inflated_avg area (from averaging inflated surfaces) does not suffer
from the 1/3 reduction in area caused by averaging folded surfaces.
This reduction occurs because cross-subject variation in secondary folds
(crinkling in major sulci) is simplified in the folded surface average,
which reduces cortical convolution and thus cortical surface area.
Note that this area reduction is unevenly distributed; it is more profound
in sulcal cortex, where 3D variability is greater. This explains why
fsaverage inflated is so much smaller and differently shaped than any
individual inflated surface.
The inflated_avg surface avoids this shrinkage by first inflating,
then averaging the inflated surfaces. However, the standard fsaverage
inflated_avg surface has some gigantic triangles at the north and
south poles of the icosahedral supertessellation (visible if you
click MESH). These have been corrected by locking all the vertices in
{rh,lh}-FIX-POLES.label and allowing the two patches at the poles to
relax into a uniform mesh.
Once these files have been intalled, when a region is filled, the "orig
surf" area in the csurf popup report does not have to be corrected.
Here is how to install the files, assuming that:
1) env var SUBJECTS_DIR is defined
2) fsaverage is in SUBJECTS_DIR
3) you can write to SUBJECTS_DIR/fsaverage
4) you untar'd fsaverage-adds.tgz in your home dir
If 1-4 are true, just copy and paste the lines below into a terminal.
This moves aside the existing, installs the new ones, then copies the
new ones to explicitly-named for easy revert and live comparison:
### mv existing aside (req's write permission to fsaverage)
cd $SUBJECTS_DIR/fsaverage/surf
mv lh.inflated_avg lh.inflated_avgORIG
mv lh.area lh.areaORIG
mv rh.inflated_avg rh.inflated_avgORIG
mv rh.area rh.areaORIG
### install new files
cd ~/fsaverage-adds
cp surf/lh.inflated_avg $SUBJECTS_DIR/fsaverage/surf
cp surf/lh.area $SUBJECTS_DIR/fsaverage/surf
cp surf/lh.cortex2.patch.3d $SUBJECTS_DIR/fsaverage/surf
cp surf/lh.cortex2.patch.flat $SUBJECTS_DIR/fsaverage/surf
cp surf/lh.cortex2a.patch.flat $SUBJECTS_DIR/fsaverage/surf
cp surf/rh.inflated_avg $SUBJECTS_DIR/fsaverage/surf
cp surf/rh.area $SUBJECTS_DIR/fsaverage/surf
cp surf/rh.cortex2.patch.3d $SUBJECTS_DIR/fsaverage/surf
cp surf/rh.cortex2.patch.flat $SUBJECTS_DIR/fsaverage/surf
cp surf/rh.cortex2a.patch.flat $SUBJECTS_DIR/fsaverage/surf
cp label/rh-FIX-POLES.label $SUBJECTS_DIR/fsaverage/label
cp label/lh-FIX-POLES.label $SUBJECTS_DIR/fsaverage/label
### make explicitly named for revert:
cd $SUBJECTS_DIR/fsaverage/surf
cp lh.inflated_avg lh.inflated_avgNEW
cp lh.area lh.areaNEW
cp rh.inflated_avg rh.inflated_avgNEW
cp rh.area rh.areaNEW
How the new inflations and flattenings were generated:
(1) start with default fsaverage inflated_avg
(2) make label with hole just over defects in
north and south 'poles'
(3) tksurfer: display label, F3 "locklabel", SHRINK 40
(4) save new inflated_avg surfaces
(5) make new 'original' area files from them
(6) re-cut, re-flatten them (2 flattenings each)
(7) adjust flattened view settings in csurf
Here are the csurf Views settings:
Preferences ->
Expert Preferences ->
Views tab
Default Viewing/Bitmap Position: FULL/CORTEX
RH rotate: 96 scale: 0.95 xmov: 5.0 ymov: 2.0
LH rotate: 79 scale: 0.95 xmov: 2.0 ymov: 2.0
The View setting adjust the patches so that they roughly correspond to
the orientation of a lateral view of an inflated hemisphere. The views
number are saved in */$scandir/scripts/position.tcl when preferences
are saved with:
Preferences -> Expert Preferences -> Save
and are used every time a flattened surface is read/displayed (or
RESTORE'd), so that the surface will be presented in the same useful
orientation, so that bitmaps can be directly overlapped.
The relaxation cuts are not extremely deep, so the surface can't
relax to its full original surface area. The curr surface area of
the two flattenings are 73% of the surface area of the original cut 3d
inflated_avg surface.
To correct for this in a final image (e.g., to show same-scale inflated
and flattened), scale up the flat bitmaps 1.17x (relative to the 1 cm
scale bar on the image):
1.17 = sqrt(1/0.73)
Or, alternatively, you can just shrink the scale bar by:
0.854 = sqrt(0.73/1)
The square root is because scale factors are 1D linear, not area.
###########################################################################
Kathryn Mills notes on resampling HCP-MMP1 to fsaverage
###########################################################################
https://figshare.com/articles/HCP-MMP1_0_projected_on_fsaverage/3498446
25.07.2016, 13:58 (GMT) by Kathryn Mills
3 Files
fsaverage_pial+HCP-MMP1.jpg (74.49 kB)
lh.HCP-MMP1.annot (1.26 MB)
rh.HCP-MMP1.annot (1.26 MB)
HCP-MMP1.0 projected on fsaverage
Version 2 25.07.2016, 13:58 (GMT) by Kathryn Mills
Hi All!
Following instructions gathered via twitter and the HCP message board,
I've projected the new HCP-MMP1.0 parcellation onto fsaverage. I have
attached the annotation files here and detailed my process below:
1. Download the correct data from BALSA:
https://balsa.wustl.edu/WN56
2. Download the correct spheres from the HCP github page: this
is detailed here:
https://www.mail-archive.com/hcp-users%40humanconnectome.org/msg02890.html
3. Using workbench, convert parcellation dabel.nii file label.gii file:
wb_command -cifti-separate Q1-Q6_RelatedParcellation210.L.CorticalAreas_dil_Colors.32k_fs_LR.dlabel.nii COLUMN -label CORTEX_LEFT Q1-Q6_RelatedParcellation210.L.CorticalAreas_dil_Colors.32k_fs_LR.label.gii
wb_command -cifti-separate Q1-Q6_RelatedParcellation210.R.CorticalAreas_dil_Colors.32k_fs_LR.dlabel.nii COLUMN -label CORTEX_RIGHT Q1-Q6_RelatedParcellation210.R.CorticalAreas_dil_Colors.32k_fs_LR.label.gii
4. Using workbench, convert label.gii file to fsaverage space:
wb_command -label-resample Q1-Q6_RelatedParcellation210.L.CorticalAreas_dil_Colors.32k_fs_LR.label.gii L.sphere.32k_fs_LR.surf.gii fs_L-to-fs_LR_fsaverage.L_LR.spherical_std.164k_fs_L.surf.gii BARYCENTRIC left.fsaverage164.label.gii
wb_command -label-resample Q1-Q6_RelatedParcellation210.R.CorticalAreas_dil_Colors.32k_fs_LR.label.gii R.sphere.32k_fs_LR.surf.gii fs_R-to-fs_LR_fsaverage.R_LR.spherical_std.164k_fs_R.surf.gii BARYCENTRIC right.fsaverage164.label.gii
5. Using freesurfer, convert files from gii to annot:
mris_convert --annot left.fsaverage164.label.gii fs_L-to-fs_LR_fsaverage.L_LR.spherical_std.164k_fs_L.surf.gii lh.HCP-MMP1.annot
mris_convert --annot right.fsaverage164.label.gii fs_R-to-fs_LR_fsaverage.R_LR.spherical_std.164k_fs_R.surf.gii rh.HCP-MMP1.annot
6. Rejoice and share!
REFERENCES
http://www.nature.com/nature/journal/vaop/ncurrent/full/nature18933.html
COMMENTS
I added a volumetric version based on this repository here https://figshare.com/articles/HCP-MMP1_0_projected_on_MNI2009a_GM_volumetric_in_NIfTI_format/3501911
26/07/2016 08:33 by Andreas Horn