# Managing and Visualizing Brain Surface Data

## Documentation for package ‘fsbrain’ version 0.7.0

- DESCRIPTION file
- User guides, package vignettes and other documentation

## Help Pages

A B C D E F G H I L M N P Q R S T V W

## -- A --

alphablend | Perform alpha blending for pairs of RGBA colors.
annot.outline | Compute outline vertex colors from annotation.
annot.outline.border.vertices | Compute the border vertices for each region in an annot.
apply.label.to.morphdata | Load a label from file and apply it to morphometry data.
apply.labeldata.to.morphdata | Apply a label to morphometry data.
apply.transform | Apply matmult transformation to input.
arrange.brainview.images | Combine several brainview images into a new figure.
arrange.brainview.images.grid | Combine several brainview images as a grid into a new figure.

## -- B --

brainviews | Show one or more views of the given meshes in rgl windows.

## -- C --

clip.data | Clip data at quantiles to remove outliers.
clip_fun | Get data clipping function.
cm.cbry | Get cyan blue red yellow colormap function.
cm.div | Return the standard fsbrain diverging colormap.
cm.heat | Return the standard fsbrain heat colormap.
cm.qual | Return the standard fsbrain qualitative colormap.
cm.seq | Return the standard fsbrain sequential colormap.
collayer.bg | Compute binarized mean curvature surface color layer.
collayer.bg.atlas | Compute atlas or annotation surface color layer.
collayer.bg.meancurv | Compute binarized mean curvature surface color layer.
collayer.bg.sulc | Compute binarized sulcal depth surface color layer.
collayer.from.annot | Compute surface color layer from annotation or atlas data.
collayer.from.annotdata | Compute surface color layer from annotation or atlas data.
collayer.from.mask.data | Compute surface color layer from morph-like data.
collayer.from.morphlike.data | Compute surface color layer from morph-like data.
collayers.merge | Merge two or more color layers based on their transparency values.
coloredmesh.from.annot | Create a coloredmesh from an annotation of an atlas.
coloredmesh.from.label | Create a coloredmesh from a label.
coloredmesh.from.mask | Create a coloredmesh from a mask.
coloredmesh.from.morph.native | Create a coloredmesh from native space morphometry data.
coloredmesh.from.morph.standard | Create a coloredmesh from standard space morphometry data.
coloredmesh.from.morphdata | Create a coloredmesh from arbitrary data.
coloredmesh.from.preloaded.data | Generate coloredmesh from loaded data.
coloredmesh.plot.colorbar.separate | Draw colorbar for coloredmeshes in separate 2D plot.
coloredmeshes.from.color | Create coloredmeshes for both hemis using pre-defined colors.
colorlist.brain.clusters | Return diverging color list
colors.are.grayscale | Check for the given color strings whether they represent gray scale colors.
colors.have.transparency | Check for the given color strings whether they have transparency, i.e., an alpha channel value != fully opaque.
combine.colorbar.with.brainview.animation | Combine a colorbar and a brain animation in gif format into a new animation.
combine.colorbar.with.brainview.image | Combine a colorbar and a brainview image into a new figure.
constant.pervertexdata | Get vertex data for a single fs.surface or a hemilist of surfaces.
cube3D.tris | Return triangles for a 3D cube or cuboid.
cubes3D.tris | Vectorized version of cube3D.tris

## -- D --

delete_all_optional_data | Delete all data in the package cache.
demographics.to.fsgd.file | Write FreeSurfer Group Descriptor (FSGD) file from demographics dataframe.
demographics.to.qdec.table.dat | Convert a dataframe containing demographics data to a qdec.table.dat file and related files.
desaturate | Perform simple desaturation or grayscale conversion of RGBA colors.
download_fsaverage | Download the FreeSurfer v6 fsaverage subject.
download_fsaverage3 | Download the FreeSurfer v6 low-resolution fsaverage3 subject.
download_fsaverage6 | Download the FreeSurfer v6 fsaverage6 subject.
download_fsaverage_minimal | Download only essential FreeSurfer v6 fsaverage files for quick visualization.
download_optional_data | Download optional data for this package if required.
download_optional_paper_data | Download extra data to reproduce the figures from the fsbrain paper.

## -- E --

export | Export high-quality brainview image with a colorbar.
export.coloredmesh.ply | Export a coloredmeshes with vertexcolors in PLY format.

## -- F --

face.edges | Enumerate all edges of the given faces or mesh.
find.freesurferhome | Find the FREESURFER_HOME directory on disk.
find.subjectsdir.of | Find the subject directory containing the fsaverage subject (or others) on disk.
fs.coloredmesh | fs.coloredmesh constructor
fs.home | Return FreeSurfer path.
fs.surface.as.adjacencylist | Turn surface mesh into a igraph and return its adjacency list representation.
fs.surface.to.igraph | Create igraph undirected graph from a brain surface mesh.
fs.surface.to.tmesh3d | Get an rgl tmesh3d instance from a brain surface mesh.
fs.surface.vertex.neighbors | Compute vertex neighborhoods or the full adjacency list for a mesh using the Rvcg or igraph library.
fsaverage.path | Return path to fsaverage dir.
fsbrain.set.default.figsize | Set default figure size for fsbrain visualization functions.
fup | Transform first character of a string to uppercase.

## -- G --

gen.test.volume | Generate test 3D volume of integers. The volume has an outer background area (intensity value 'bg') and an inner foreground areas (intensity value 200L).
geod.patches.color.overlay | Generate color overlay from geodesic patches around several vertices.
geod.vert.neighborhood | Compute all vertices within given geodesic distance on the mesh.
geodesic.circles | Compute geodesic circles and ball stats for given vertices.
geodesic.dists.to.vertex | Simple internal wrapper around 'Rvcg::vcgDijkstra' with function check.
geodesic.path | Compute geodesic path from a source vertex to one or more target vertices.
get.atlas.region.names | Determine atlas region names from a subject.
get.fsbrain.renderer.backend | Get the current fsbrain renderer backend
get.rglstyle | Get the default visualization style parameters as a named list.
get.view.angle.names | Get list of valid view angle names.
getIn | Retrieve values from nested named lists
get_optional_data_filepath | Access a single file from the package cache by its file name.
group.agg.atlas.native | Aggregate native space morphometry data over brain atlas regions and subjects for a group of subjects.
group.agg.atlas.standard | Aggregate standard space morphometry data over brain atlas regions and subjects for a group of subjects.
group.annot | Load annotations for a group of subjects.
group.concat.measures.native | Concatenate native space data for a group of subjects.
group.concat.measures.standard | Concatenate standard space data for a group of subjects.
group.label | Retrieve label data for a group of subjects.
group.label.from.annot | Extract a region from an atlas annotation as a label for a group of subjects.
group.morph.agg.native | Aggregate native space morphometry data over one hemisphere for a group of subjects.
group.morph.agg.standard | Aggregate standard space (fsaverage) morphometry data over one hemisphere for a group of subjects.
group.morph.agg.standard.vertex | Aggregate standard space morphometry data over subjects.
group.morph.native | Retrieve native space morphometry data for a group of subjects.
group.morph.standard | Retrieve standard space morphometry data for a group of subjects.
group.morph.standard.sf | Read combined data for a group from a single file.
group.multimorph.agg.native | Aggregate native space morphometry data for multiple measures over hemispheres for a group of subjects.
group.multimorph.agg.standard | Aggregate standard space (fsaverage) morphometry data for multiple measures over hemispheres for a group of subjects.
group.surface | Retrieve surface mesh data for a group of subjects.
groupmorph.split.hemilist | Split a per-vertex group data matrix for both hemispheres into a hemilist at given index.

## -- H --

hasIn | Check for values in nested named lists
hemilist | Create a hemilist from lh and rh data.
hemilist.derive.hemi | Derive 'hemi' string from the data in a hemilist
hemilist.from.prefixed.list | Create a hemilist from a named list with keys prefixed with 'lh_' and 'rh_'.
hemilist.get.combined.data | Get combined data of hemi list
hemilist.unwrap | Unwrap hemi data from a named hemi list.
hemilist.wrap | Wrap data into a named hemi list.
highlight.points.spheres | Draw small 3D spheres at given points.
highlight.vertices.on.subject | Highlight vertices given by index on a subject's meshes by coloring faces.
highlight.vertices.on.subject.spheres | Highlight vertices given by index on a subject's meshes by coloring faces.
highlight.vertices.spheres | Draw small 3D spheres at given brain mesh vertices. Supports full brain (2 meshes) as well.

## -- I --

images.dimmax | Compute max width and height of magick images.
is.fs.coloredmesh | Check whether object is an fs.coloredmesh (S3)
is.fs.coloredvoxels | Check whether object is an fs.coloredvoxels instance (S3)
is.fsbrain | Check whether object is an fsbrain (S3)
is.hemilist | Check whether x is a hemilist

## -- L --

label.border | Compute border of a label.
label.colFn | A simple colormap function for binary colors.
label.colFn.inv | A simple colormap function for binary colors.
label.from.annotdata | Extract a region from an annotation as a label.
label.to.annot | Merge several labels into an annotation
labeldata.from.mask | Create labeldata from a mask.
limit_fun | Get data limiting function.
limit_fun_na | Get data limiting function to NA.
limit_fun_na_inside | Get data limiting function, setting values inside range to NA.
list_optional_data | Get file names available in package cache.

## -- M --

mask.from.labeldata.for.hemi | Create a binary mask from labels.
mesh.vertex.neighbors | Compute neighborhood of a vertex
mkco.cluster | Return recommended 'makecmap_options' for diverging cluster data.
mkco.div | Return recommended 'makecmap_options' for diverging data.
mkco.heat | Return recommended 'makecmap_options' for sequential data with heatmap style.
mkco.seq | Return recommended 'makecmap_options' for sequential data.

## -- N --

numverts.lh | Determine vertex count of left hemi from hemilist of surfaces or the count itself.
numverts.rh | Determine vertex count of right hemi from hemilist of surfaces or the count itself.

## -- P --

principal.curvatures | Computes principal curvatures according to 2 definitions from raw k1 and k2 values.
print.fs.coloredmesh | Print description of a brain coloredmesh (S3).
print.fs.coloredvoxels | Print description of fs.coloredvoxels (S3).
print.fsbrain | Print description of an fsbrain (S3).

## -- Q --

qc.for.group | Perform data quality check based on computed region stats.
qc.from.regionwise.df | Perform data quality check based on a dataframe containing aggregated region-wise data.
qc.from.segstats.tables | Perform data quality check based on a segstats table.
qc.vis.failcount.by.region | Visualize the number of outlier subjects per region in your dataset.
qdec.table.skeleton | Generate skeleton dataframe for FreeSurfer QDEC long file from subjects list.

## -- R --

ras2vox_tkr | The FreeSurfer default ras2vox_tkr matrix.
read.colorcsv | Read colors from CSV file.
read.md.demographics | Read demographics file
read.md.subjects | Read subjects file
read.md.subjects.from.fsgd | Read subjects list from an FSGD file.
regions.to.ignore | Give suggestions for regions to ignore for an atlas.
report.on.demographics | Print a demographics report
rglactions | Create rglactions list, suitable to be passed as parameter to vis functions.
rglo | Get rgloptions and consider global options.
rglot | Get rgloptions for testing.
rglvoxels | Draw 3D boxes at locations using rgl.

## -- S --

scale01 | Scale given values to range 0..1.
shape.descriptor.names | Get all shape descriptor names.
shape.descriptors | Computes geometric curvature-based descriptors.
shift.hemis.apart | Shift hemispheres apart.
sjd.demo | Download optional demo data if needed and return its path.
sjld | Get subjects list from subjects.txt file in dir.
spread.values.over.annot | Spread a single value for a region to all region vertices.
spread.values.over.hemi | Spread the values in the region_value_list and return them for one hemisphere.
spread.values.over.subject | Spread the values in the region_value_list and return them for one hemisphere.
subject.annot | Load an annotation for a subject.
subject.annot.border | Compute annot border vertices.
subject.atlas.agg | Aggregate morphometry data over brain atlas regions for a subject.
subject.filepath.morph.native | Construct filepath of native space morphometry data file.
subject.filepath.morph.standard | Construct filepath of standard space morphometry data file.
subject.label | Retrieve label data for a single subject.
subject.label.from.annot | Extract a region from an atlas annotation as a label for a subject.
subject.lobes | Load labels representing brain lobes.
subject.mask | Compute a mask for a subject.
subject.morph.native | Retrieve native space morphometry data for a single subject.
subject.morph.standard | Retrieve standard space morphometry data for a single subject.
subject.num.verts | Get subjects vertex count.
subject.surface | Load a surface for a subject.
subject.volume | Read a brain volume.
surface.curvatures | Compute the k1 and k2 principal curvatures of a mesh.

## -- T --

tmesh3d.to.fs.surface | Get an fs.surface brain mesh from an rgl tmesh3d instance.

## -- V --

vdata.split.by.hemi | Split morph data vector at hemisphere boundary.
vertex.coords | Return coordinates for vertices, supporting entire brain via hemilist.
vertex.hemis | Return the proper hemi string ('lh' or 'rh') for each vertex.
vis.color.on.subject | Visualize pre-defined vertex colors on a subject.
vis.coloredmeshes | Visualize a list of colored meshes in a single scene.
vis.coloredmeshes.rotating | Visualize a list of colored meshes in a single scene and rotate them, movie-style.
vis.colortable.legend | Create a separate legend plot for a colortable or an annotation.
vis.data.on.fsaverage | Visualize arbitrary data on the fsaverage template subject, if available.
vis.data.on.group.native | Visualize native space data on a group of subjects.
vis.data.on.group.standard | Visualize standard space data for a group on template.
vis.data.on.subject | Visualize arbitrary data on the surface of any subject.
vis.dti.trk | Visualize DTI tracks from Diffusion Toolkit/TrackVis TRK format file.
vis.export.from.coloredmeshes | Export high-quality brainview image with a colorbar.
vis.fs.surface | Visualize fs.surface mesh
vis.group.annot | Plot atlas annotations for a group of subjects.
vis.group.coloredmeshes | Plot coloredmeshes for a group of subjects.
vis.group.morph.native | Plot native space morphometry data for a group of subjects.
vis.group.morph.standard | Plot standard space morphometry data for a group of subjects.
vis.labeldata.on.subject | Visualize a label on the surface of a subject.
vis.mask.on.subject | Visualize a vertex mask on the surface of a subject.
vis.path.along.verts | Draw a 3D line from vertex to vertex
vis.paths | Visualize many paths.
vis.paths.along.verts | Visualize several paths in different colors.
vis.region.values.on.subject | Visualize arbitrary data, one value per atlas region, on the surface of any subject (including template subjects).
vis.rglwidget | Visualize coloredmeshes as an interactive rgl WebGL widget for use in R Shiny apps and RMarkdown documents.
vis.seg.legend | Plot legend for a brain volume segmentation based on colorLUT.
vis.subject.annot | Visualize an annotation for a subject.
vis.subject.label | Visualize a binary label for a subject.
vis.subject.morph.native | Visualize native space morphometry data for a subject.
vis.subject.morph.standard | Visualize native space morphometry data for a subject or a group.
vis.subject.pre | Visualize pre-loaded data.
vis.symmetric.data.on.subject | Visualize clusters or activation data on the surface of any subject.
vis.volume.on.surface | Visualize a brain volume overlaid on a cortical surface in 3D.
vislayout.from.coloredmeshes | Visualize coloredmeshes from several angles and combine the images into a new figure.
vol.boundary.box | Compute 3D bounding box of a volume.
vol.boundary.box.apply | Apply a boundary box to a volume, returning the inner volume part
vol.hull | Retain only the outer hull voxels of the foreground.
vol.imagestack | Turn volume into an ImageMagick image stack.
vol.intensity.to.color | Convert integer intensity image to RGB color string form.
vol.mask.from.segmentation | Extract subset from a volume by value.
vol.merge | Merge background volume and overlay to new colors.
vol.overlay.colors.from.activation | Generate colors for a 3D volume, based on the activation data and a colormap.
vol.overlay.colors.from.colortable | Compute voxel colors based on colortable.
vol.planes | Translate names and indices of planes.
vol.slice | Extract a slice of a 3D image stack.
vol.vox.from.crs | Compute R voxel index for FreeSurfer CRS voxel index.
volvis.contour | Visualize contour of a volume.
volvis.lb | Show continuous 3D voxel/volume data as a lightbox, optionally with a background brain volume and colormap.
volvis.lb.with.surface | Visualize volume slices with surface mesh contours overlaid in lightbox view.
volvis.lightbox | Draw a lightbox view from volume slices.
volvis.slices.with.surface | Export individual volume slices with surface contours to image files.
volvis.voxels | Voxel-based visualization of volume mask at surface RAS positions.
vox2ras_tkr | The FreeSurfer default vox2ras_tkr matrix.

## -- W --

write.group.morph.standard | Write standard space group data to a standard FreeSurfer directory stucture.
write.group.morph.standard.mf | Write per-vertex standard space data for a group of subjects to given file names.
write.group.morph.standard.sf | Reshape and write combined per-vertex data for a group to a single MGH file.
write.region.aggregated | Write data aggregated over regions to morphometry file for group.
write.region.values | Write one value per atlas region for a subject.
write.region.values.fsaverage | Write one value per atlas region for a template subject.