Brainnetome surface atlas 36K (niml.dset)

Hello everyone,

I am searching for a Brainnetome atlas in surface space (ideally AFNI’s 36K nodes). Has this already been created?

Andrew

I generated a surface version here using the commands below to project from the volume to the surface and then smooth the results on the surface. This is complicated by the Brainnetome atlas not strictly on the MNI 2009c template; it’s on their own HCP40 version, I believe, but it’s very close. The projected data is also fairly noisy when mapped to the surface, so here I applied modal smoothing to find the most common region within a 5mm radius on the surface. This is on a our lower resolution mesh, but it can be done for other meshes similarly. You can download this dataset here:

https://afni.nimh.nih.gov/pub/dist/atlases/brainnetome/bn_surfs.tgz


#!/bin/tcsh
set surfpath = ~/suma_MNI152_2009
set atlaspath = ~/abin
foreach hemi ( lh rh )
   3dVol2Surf -spec $surfpath/std.60.MNI152_2009_both.spec \
       -surf_A std.60.${hemi}.smoothwm.gii \
       -surf_B std.60.${hemi}.pial.gii -sv $atlaspath/MNI152_2009_template.nii.gz \
       -grid_parent $atlaspath/BN_Atlas_246_1mm.nii.gz -gp_index 0 \
       -map_func nzmode -f_steps 10 -f_index nodes \
       -cmask "-a $atlaspath/BN_Atlas_246_1mm.nii.gz -expr astep(a,0.000000)" \
       -out_niml bnsurfatlas_beta0.${hemi}.niml.dset
   SurfLocalstat -hood 5 -stat mode -input bnsurfatlas_beta0.${hemi}.niml.dset \
       -i_gii $surfpath/std.60.${hemi}.smoothwm.gii \
       -prefix bnsurfatlas_beta0_mode5mm.${hemi}.niml.dset
end

Thanks so much! There is a surface version of the Brainnetome mapped to fsaverage. Would that route be cleaner?

Hmm, I didn’t know they had released a version on the surface. Their surface version does look pretty good. If you want to put it onto our standard meshes, then you should be able to convert them with @SUMA_Make_Spec_FS. There are 3 versions that are included, but I think the highest resolution looks okay here.

extra 001 directory confuses @SUMA_Make_Spec_FS, so move it up one directory

mv 001/ …/
mris_convert --annot 164k/fsaverage.R.BN_Atlas.164k.label.gii 164k/fsaverage.R.white.164k.surf.gii label/rh.BN_Atlas.164k.annot
mris_convert --annot 164k/fsaverage.L.BN_Atlas.164k.label.gii 164k/fsaverage.L.white.164k.surf.gii label/lh.BN_Atlas.164k.annot
@SUMA_Make_Spec_FS -sid fsaverage -extra_annot_labels BN_Atlas.164k -NIFTI

Thanks for your help! I’m just picking this back up and am still struggling.

It looks like the Brainnetome fsaverage isn’t a full recon-all and is missing orig/orig.mgz. So @SUMA_Make_Spec_FS errors.


++ Running @SUMA_Make_Spec_FS version: 2.2.4
++ will track 1 extra annot labels

failure: cannot find directory ‘orig’ or file ‘orig.mgz’ under .
program failure: exiting…


I’ve also tried using SurfToSurf without luck…

SurfToSurf -i ld60 -i 164k/fsaverage.L.inflated.164k.surf.gii -prefix BN_ld60_lh
SurfToSurf -i ld60 -i 164k/fsaverage.R.inflated.164k.surf.gii -prefix BN_ld60_rh

ConvertDset -o_niml -i BN_ld60_lh.1D -prefix BN_ld60_lh
ConvertDset -o_niml -i BN_ld60_rh.1D -prefix BN_ld60_rh

Of course, now that I have tried one more thing it seems to have worked… I simply opted the orig/ & orig.mgz from the ${fsdir}/freesurfer/fsaverage/ directory and the script proceeded.

Thanks again for your help!