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:
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:
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:
Abbreviations-Table1.pdf
CsurfColorLUT.txt
CsurfMaps1.ctab.txt
lh-CsurfMaps1.annot
lh-CsurfMaps1.label.gii
rh-CsurfMaps1.annot
rh-CsurfMaps1.label.gii
mapdata:
lh-mapsvis.cols
lh-mapsaud.cols
lh-mapssom.cols
rh-mapsvis.cols
rh-mapsaud.cols
rh-mapssom.cols
HCP-MMP1-parcellation:
lh.HCP-MMP1.annot
rh.HCP-MMP1.annot
HCP-MMP1-areas-lh.tiff
HCP-MMP1-borders-lh.tiff
HCP-MMP1-areas-rh.tiff
HCP-MMP1-borders-rh.tiff
bin
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 surfaces and area files used
in Sereno, Sood, and Huang (2022):
(1) updated fsaverage inflated_avg surfaces
The artifactual large triangles at the inflated_avg 'poles' in the
standard FreeSurfer distribution are fixed.
(2) 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.
(3) True-area flattenings made from the fixed inflate_avg surfaces
These 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 here automates this,
assuming that you have installed csurf, and that fsaverage is writable.
It moves aside/renames the original inflate_avg and area files with an
ORIG suffix. There is also an "update-csurf" script here to automate
installing or updating csurf. These new scripts are in the csurf
distribution in $CSURF_DIR/bin/noarch.
#### Revision History
## 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:
CsurfMaps1-parcellation:
Abbreviations-Table1.pdf -- table of abbreviations on one page
CsurfColorLUT.txt -- directs construction csurf/freesurfer annotation
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
HCP-MMP1-parcellation:
HCP-parcellations/lh.HCP-MMP1.annot
HCP-parcellations/rh.HCP-MMP1.annot
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.
The parcellation and mapping data are also illustrated more conventionally
on same-scaled rotating folded and inflated brain images (first
revolutions are parcellation, second are mapping data), using the same
color scales here:
video4-CsurfMaps1-rotate-folded.mp4
video5-CsurfMaps1-rotate-inflated.mp4
Also included in the "mapdata" subdirectory here are 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).
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).
###########################################################################
(3) High resolution paper figures
###########################################################################
High resolution images of Figures 5 (areas) and 6 (mapdata) from
Sereno, Sood, and Huang (2022) are here:
CsurfMaps1-areas,maps.gif (GIF blinks between Fig5 and Fig6)
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 (same, lower res)
fig6-CsurfMaps1-maps-sm.jpg (same, lower res)
###########################################################################
Using Annotation Files to Extract Data on fsaverage surface
###########################################################################
The first use for annotations 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 .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 subject-specific 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. These will be 3D ROIs containing voxels that were picked
out by the normal search policy (at specified distance(s) along the
surface normal. See R-click help for the "tcl:" entry.
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
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 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 fsaverage inflated_avg surface has a few gigantic triangles at the
north and south poles of the icosahedral supertessellation. 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" number 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