Learn R Programming

⚠️There's a newer version (0.5.5) of this package.Take me there.

fsbrain (version 0.5.3)

Managing and Visualizing Brain Surface Data

Description

Provides high-level access to neuroimaging data from standard software packages like 'FreeSurfer' on the level of subjects and groups. Load morphometry data, surfaces and brain parcellations based on atlases. Mask data using labels, load data for specific atlas regions only, and visualize data and statistical results directly in 'R'.

Copy Link

Version

Install

install.packages('fsbrain')

Monthly Downloads

403

Version

0.5.3

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Tim Schc3<a4>fer

Last Published

February 12th, 2022

Functions in fsbrain (0.5.3)

arrange.brainview.images.grid

Combine several brainview images as a grid into a new figure.
collayer.from.mask.data

Compute surface color layer from morph-like data.
check.subjects.files

Report subjects missing files
check.subjectslist

Check whether the subjects_list looks good, warn if not.
coloredmesh.from.morph.native

Create a coloredmesh from native space morphometry data.
cm.seq

Return the standard fsbrain sequential colormap.
collayer.bg

Compute binarized mean curvature surface color layer.
coloredmesh.from.morph.standard

Create a coloredmesh from standard space morphometry data.
cubes3D.tris

Vectorized version of cube3D.tris
find.freesurferhome

Find the FREESURFER_HOME directory on disk.
cube3D.tris

Return triangles for a 3D cube or cuboid.
desaturate

Perform simple desaturation or grayscale conversion of RGBA colors.
download_fsaverage

Download the FreeSurfer v6 fsaverage subject.
find.subjectsdir.of

Find the subject directory containing the fsaverage subject (or others) on disk.
colors.have.transparency

Check for the given color strings whether they have transparency, i.e., an alpha channel value != fully opaque.
flc

Given a list of path coordinates, create matrix containing only the first and last point of each path.
delete_all_optional_data

Delete all data in the package cache.
combine.colorbar.with.brainview.animation

Combine a colorbar and a brain animation in gif format into a new animation.
export.coloredmesh.ply

Export a coloredmeshes with vertexcolors in PLY format.
demo

Show demo visualization to test whether fsbrain is setup correctly.
force.to.range

Change data to ensure requested data_range.
annot.outline.border.vertices

Compute the border vertices for each region in an annot.
fslong.subjects.detect

Get subject names from sub directories of FreeSurfer long directory.
apply.label.to.morphdata

Load a label from file and apply it to morphometry data.
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.
extend_neighbors

Recursive computation of neighborhoods, see surf.sphere.dist
collayer.bg.atlas

Compute atlas or annotation surface color layer.
fslong.subjects.finished

Find completely run FreeSurfer long subjects in a recon-all long output folder.
brainview.t4

Visualize a list of colored meshes from four angles.
brainview.sr

Visualize a list of colored meshes, rotating the camera around them.
collayer.bg.meancurv

Compute binarized mean curvature surface color layer.
get.rglstyle.parameters

Produce the named list of style parameters from style definition.
get.atlas.region.names

Determine atlas region names from a subject.
coloredmesh.from.label

Create a coloredmesh from a label.
coloredmesh.from.mask

Create a coloredmesh from a mask.
get.rglstyle

Get the default visualization style parameters as a named list.
group.agg.atlas.standard

Aggregate standard space morphometry data over brain atlas regions and subjects for a group of subjects.
group.morph.agg.standard.vertex

Aggregate standard space morphometry data over subjects.
group.agg.atlas.native

Aggregate native space morphometry data over brain atlas regions and subjects for a group of subjects.
group.morph.native

Retrieve native space morphometry data for a group of subjects.
coloredmeshes.from.color

Create coloredmeshes for both hemis using pre-defined colors.
deepcopylist.long

Write deepcopy list for longitudinal subjects.
coloredmeshes.get.md

Retrieve metadata from hemilist of coloredmeshes.
group.multimorph.agg.native

Aggregate native space morphometry data for multiple measures over hemispheres for a group of subjects.
get.rglstyle.semitransparent

Get the semi-transparent visualization style parameters as a named list.
download_optional_paper_data

Download extra data to reproduce the figures from the fsbrain paper.
deg2rad

Convert degree to radians
hemlist.ensure.contains

title Ensure an key for a hemilist exists.
hemilist.wrap

Wrap data into a named hemi list.
highlight.vertices.on.subject

Highlight vertices given by index on a subject's meshes by coloring faces.
highlight.points.spheres

Draw small 3D spheres at given points.
group.multimorph.agg.standard

Aggregate standard space (fsaverage) morphometry data for multiple measures over hemispheres for a group of subjects.
images.dimmax

Compute max width and height of magick images.
images.annotate

Annotate image with text.
draw.colorbar

Draw coloredbar into background of current plot.
face.edges

Enumerate all edges of the given faces or mesh.
fs.surface.as.adjacencylist

Turn surface mesh into a igraph and return its adjacency list representation.
extract.volume.3D

Try to extract a 3D volume from the input argument.
fs.surface.to.igraph

Create igraph undirected graph from a brain surface mesh.
geod.patches.color.overlay

Generate color overlay from geodesic patches around several vertices.
geod.patches.color.overlay.singlehemi

Generate color overlay from geodesic patches around several vertices for a single hemi.
alphablend

Perform alpha blending for pairs of RGBA colors.
is.fs.coloredmesh

Check whether object is an fs.coloredmesh (S3)
list_optional_data

Get file names available in package cache.
is.fs.coloredvoxels

Check whether object is an fs.coloredvoxels instance (S3)
magick.grid

Arrange a multi-frame ImageMagick image into a grid.
pervertexdata.smoothnn.compute.fwhm

Compute expected FWHM from given number of neighborhood smoothing iterations.
per.hemi.vertex.indices

Transform surfaces indices which go over two surfaces to per-hemi indices.
path.slopes

Compute slopes of paths relative to axes.
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.
pervertexdata.smoothnn.compute.numiter

Compute number of neighborhood smoothing iterations to reach requested fwhm.
qc.for.group

Perform data quality check based on computed region stats.
get.subject.class

Construct FSGD Class name from group and non-continuous covariate columns.
qc.from.regionwise.df

Perform data quality check based on a dataframe containing aggregated region-wise data.
label.colFn.inv

A simple colormap function for binary colors.
limit_fun

Get data limiting function.
label.colFn

A simple colormap function for binary colors.
labeldata.from.mask

Create labeldata from a mask.
mkco.cluster

Return recommended 'makecmap_options' for diverging cluster data.
annot.outline

Compute outline vertex colors from annotation.
brainview.t9

Visualize a list of colored meshes from nine angles.
get.view.angle.names

Get list of valid view angle names.
group.annot

Load annotations for a group of subjects.
cm.heat

Return the standard fsbrain heat colormap.
brainviews

Show one or more views of the given meshes in rgl windows.
cm.qual

Return the standard fsbrain qualitative colormap.
mkco.div

Return recommended 'makecmap_options' for diverging data.
print.fs.coloredvoxels

Print description of fs.coloredvoxels (S3).
print.fsbrain

Print description of an fsbrain (S3).
group.concat.measures.native

Concatenate native space data for a group of subjects.
read.md.subjects

Read subjects file
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.
hemi.lobe.labels

Compute lobe labels for a single hemi from aparc atlas.
read.md.subjects.from.fsgd

Read subjects list from an FSGD file.
surf.avg.vertexradius

Compute average distance from the origin to each vertex.
surf.center.fsaverage

Get pre-computed center for fsaverage white surface.
surf.sphere.dist

Compute vertex neighborhoods on a sphere based on the given max distance along the sphere.
collayer.from.morphlike.data

Compute surface color layer from morph-like data.
hemilist

Create a hemilist from lh and rh data.
recycle

Recycle parameters or whatever.
images.same.width

Extent all images to the width of the image with maximal width.
coloredmesh.plot.colorbar.separate

Draw colorbar for coloredmeshes in separate 2D plot.
collayers.merge

Merge two or more color layers based on their transparency values.
demographics.to.qdec.table.dat

Convert a dataframe containing demographics data to a qdec.table.dat file and related files.
coloredmeshes.combined.data.range

Retrieve combined data range from hemilist of coloredmeshes.
demographics.to.fsgd.file

Write FreeSurfer Group Descriptor (FSGD) file from demographics dataframe.
regions.to.ignore

Give suggestions for regions to ignore for an atlas.
vis.data.on.group.native

Visualize native space data on a group of subjects.
rglactions

Create rglactions list, suitable to be passed as parameter to vis functions.
surf.sphere.gaussianweights

Compute Gaussian weights
apply.labeldata.to.morphdata

Apply a label to morphometry data.
rglactions.has.key

Check for a key in names of rglactions.
is.Triangles3D

Check whether object is a Triangles3D instance
spread.values.over.subject

Spread the values in the region_value_list and return them for one hemisphere.
vis.data.on.group.standard

Visualize standard space data for a group on template.
vol.boundary.box

Compute 3D bounding box of a volume.
ensure.tmesh3d

Ensure the mesh is a tmesh3d instance. Will convert fs.surfaces to one automatically.
apply.transform

Apply matmult transformation to input.
subject.annot

Load an annotation for a subject.
mkco.seq

Return recommended 'makecmap_options' for sequential data.
label.from.annotdata

Extract a region from an annotation as a label.
label.to.annot

Merge several labels into an annotation
perform.rglactions

Perform rglactions, like taking screenshots.
mkco.heat

Return recommended 'makecmap_options' for sequential data with heatmap style.
subject.annot.border

Compute annot border vertices.
qdec.table.filter

Filter QDEC long table for subjects.
perform.na.mapping

Perform NA mapping for transparency
vol.boundary.box.apply

Apply a boundary box to a volume, returning the inner volume part
rgl.coord.lines

Plot x, y and z axes in R,G,B.
brainview.si

Visualize a list of colored meshes from a single viewpoint, interactively.
brainview.sd

Visualize a list of colored meshes from a single defined angle.
cm.cbry

Get cyan blue red yellow colormap function.
export

Export high-quality brainview image with a colorbar.
report.on.demographics

Print a demographics report
qdec.table.skeleton

Generate skeleton dataframe for FreeSurfer QDEC long file from subjects list.
rotation.matrix.for.axis.rot

Get rotation matrix for a 3D rotation around an axis.
write.group.morph.standard.sf

Reshape and write combined per-vertex data for a group to a single MGH file.
geod.patches.pervertexdata

Generate per-vertex distance data from geodesic patches around several vertices.
write.region.aggregated

Write data aggregated over regions to morphometry file for group.
cm.div

Return the standard fsbrain diverging colormap.
write.group.morph.standard.singlehemi

Write single hemi per-vertex data for a group of subjects to given file names.
subject.atlas.agg

Aggregate morphometry data over brain atlas regions for a subject.
write.region.values

Write one value per atlas region for a subject.
subject.volume

Read a brain volume.
boxcoords.from.bbox

Compute the coordinates of the 8 corners of a 3D box.
submesh.vertex

Create a submesh including only the given vertices.
test.numerical.meandiff

Perform tests for group differences on paired or unpaired data for two groups.
test.numerical.meandiff.paired

Perform tests for group differences on paired data (repeated measurements) for two conditions or time points.
brain

Create fsbrain instance from 2 coloredmeshes.
coloredmesh.from.annot

Create a coloredmesh from an annotation of an atlas.
coloredmesh.from.color

Create a coloredmesh from a mesh and pre-defined colors.
sjd.demo

Download optional demo data if needed and return its path.
vis.color.on.subject

Visualize pre-defined vertex colors on a subject.
shift.hemis.rglactions

Shift hemis apart if indicated in rglactions
scale.to.range.zero.one

Scale given values to range 0..1.
colorlist.brain.clusters

Return diverging color list
get.rglstyle.edges

Get the mesh edges visualization style parameters as a named list.
geod.patches.pervertexdata.singlehemi

Generate per-vertex distance data from geodesic patches around several vertices for a single hemi.
vol.overlay.colors.from.activation

Generate colors for a 3D volume, based on the activation data and a colormap.
get.rglstyle.default

Get the default visualization style parameters as a named list.
can.plot.colorbar

Determine whether colorbar can be plotted with given metadata.
common.makecmap.range

Get cmap and colorlayer from data and makecmap_options.
colors.are.grayscale

Check for the given color strings whether they represent gray scale colors.
can.plot.colorbar.from.coloredmeshes

Determine whether colorbar can be plotted with given coloredmeshes.
collayer.bg.sulc

Compute binarized sulcal depth surface color layer.
collayer.from.annot

Compute surface color layer from annotation or atlas data.
vis.colortable.legend

Create a separate legend plot for a colortable or an annotation.
subject.lobes

Load labels representing brain lobes.
get_optional_data_filepath

Access a single file from the package cache by its file name.
getIn

Retrieve values from nested named lists
group.morph.agg.native

Aggregate native space morphometry data over one hemisphere for a group of subjects.
constant.pervertexdata

Get vertex data for a single fs.surface or a hemilist of surfaces.
coloredmesh.from.morphdata

Create a coloredmesh from arbitrary data.
highlight.vertices.on.subject.spheres

Highlight vertices given by index on a subject's meshes by coloring faces.
hemilist.get.combined.data

Get combined data of hemi list
group.morph.agg.standard

Aggregate standard space (fsaverage) morphometry data over one hemisphere for a group of subjects.
hemilist.unwrap

Unwrap hemi data from a named hemi list.
surface.curvatures

Compute the k1 and k2 principal curvatures of a mesh.
download_optional_data

Download optional data for this package if required.
download_fsaverage3

Download the FreeSurfer v6 low-resolution fsaverage3 subject.
eeg_coords

Internal function to get some demo EEG electrode coordinates. Will be removed from public API. Do not use this.
fsaverage.path

Return path to fsaverage dir.
ensure.fs.surface

Check whether parameter is an fs.surface instance.
fs.value.list.from.agg.res

Create a named value list from a dataframe.
vis.data.on.fsaverage

Visualize arbitrary data on the fsaverage template subject, if available.
fup

Transform first character of a string to uppercase.
vis.group.annot

Plot atlas annotations for a group of subjects.
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.vert.neighborhood

Compute all vertices within given geodesic distance on the mesh.
geodesic.average.distance

Compute the average (pseudo-) geodesic distance on the mesh from each vertex to all other vertices.
subject.mask

Compute a mask for a subject.
vol.hull

Retain only the outer hull voxels of the foreground.
surf.sphere.spatialfilter

Apply spatial filter to surface data.
vis.labeldata.on.subject

Visualize a label on the surface of a subject.
vis.group.coloredmeshes

Plot coloredmeshes for a group of subjects.
coloredmesh.from.preloaded.data

Generate coloredmesh from loaded data.
get.rglstyle.glass

Get the glass visualization style parameters as a named list.
label.border

Compute border of a label.
highlight.vertices.spheres

Draw small 3D spheres at given brain mesh vertices. Supports full brain (2 meshes) as well.
vis.mask.on.subject

Visualize a vertex mask on the surface of a subject.
label.border.fast

Compute border vertices of a label using Rvcg.
get.rglstyle.glass2

Get the glass2 visualization style parameters as a named list.
group.concat.measures.standard

Concatenate standard space data for a group of subjects.
vis.renderable

Visualize a renderable object
mask.from.labeldata.for.hemi

Create a binary mask from labels.
vis.subject.morph.standard

Visualize native space morphometry data for a subject or a group.
merge.hemi.annots

Merge the annotations from two hemispheres into one annot.
vis.subject.pre

Visualize pre-loaded data.
group.data.to.array

Convert group 2D data (1 vector per subject) to 4D array format.
handle.rglactions.highlight.points

Highlight requested points (if any), but apply given view rotation before doing so.
vis.coloredmesh

Draw a coloredmesh using a style.
vis.group.morph.standard

Plot standard space morphometry data for a group of subjects.
vis.group.morph.native

Plot native space morphometry data for a group of subjects.
vol.overlay.colors.from.colortable

Compute voxel colors based on colortable.
combine.colorbar.with.brainview.image.vertical

Combine a vertical colorbar and a brainview image into a new figure.
combine.colorbar.with.brainview.image

Combine a colorbar and a brainview image into a new figure.
vol.vox.from.crs

Compute R voxel index for FreeSurfer CRS voxel index.
vol.slice

Extract a slice of a 3D image stack.
volvis.lightbox

Draw a lightbox view from volume slices.
volvis.voxels

Voxel-based visualization of volume mask at surface RAS positions.
hasIn

Check for values in nested named lists
vis.rotated.coloredmeshes

Rotate and visualize coloredmeshes, applying a style.
print.fs.coloredmesh

Print description of a brain coloredmesh (S3).
write.region.values.fsaverage

Write one value per atlas region for a template subject.
vol.boundary.mask

Compute foreground pixels over the whole 3D imagestack.
principal.curvatures

Computes principal curvatures according to 2 definitions from raw k1 and k2 values.
fs.coloredmesh

fs.coloredmesh constructor
hemilist.derive.hemi

Derive 'hemi' string from the data in a hemilist
fs.home

Return FreeSurfer path.
fsbrain.renderable

Check whether object can be rendered by fsbrain
fsbrain.set.default.figsize

Set default figure size for fsbrain visualization functions.
qc.from.segstats.table

Perform data quality check based on a segstats table.
qc.from.segstats.tables

Perform data quality check based on a segstats table.
geodesic.circles

Compute geodesic circles and ball stats for given vertices.
hemilist.from.prefixed.list

Create a hemilist from a named list with keys prefixed with 'lh_' and 'rh_'.
geodesic.ballstats

Compute geodesic ball area and perimeter at location defined by geodists for all radii.
group.label.from.annot

Extract a region from an atlas annotation as a label for a group of subjects.
get.slice.indices

Compute slice indices from slice definition.
group.surface

Retrieve surface mesh data for a group of subjects.
group.label

Retrieve label data for a group of subjects.
get.rglstyle.shiny

Get a shiny visualization style.
hull.retain.along.axis

Copy the first *n* foreground voxel values.
groupmorph.split.hemilist

Split a per-vertex group data matrix for both hemispheres into a hemilist at given index.
images.rescale.to.max.canvas

Rescale all images canvas to match the largest one.
images.same.height

Extent all images to the height of the image with maximal height.
image.remap.color

Remap a color in an image, typically used to set the background color to transparent.
limit_fun_na_inside

Get data limiting function, setting values inside range to NA.
limit_fun_na

Get data limiting function to NA.
rad2deg

Convert raduians to degree
numverts.rh

Determine vertex count of right hemi from hemilist of surfaces or the count itself.
is.fsbrain

Check whether object is an fsbrain (S3)
is.hemilist

Check whether x is a hemilist
path.colors.from.orientation

Compute path color from its orientation.
ras2vox_tkr

The FreeSurfer default ras2vox_tkr matrix.
plot.fsbrain.colorbar

Draw a simple colorbar from colors.
mesh.vertex.included.faces

Return all faces which are made up completely of the listed vertices.
rglot

Get rgloptions for testing.
rglvoxels

Draw 3D boxes at locations using rgl.
spread.values.over.annot

Spread a single value for a region to all region vertices.
mesh.vertex.neighbors

Compute neighborhood of a vertex
spread.values.over.hemi

Spread the values in the region_value_list and return them for one hemisphere.
subject.descriptor.geodesic.average.distance

Compute mean geodesic distance descriptor for a subject.
qc.fslong.checkidenticaldata

Check whether subjects for FS longitudinal pipeline contain data that is identical between time points.
pp.named.list

Pretty-print a named list or vector.
qc.vis.failcount.by.region

Visualize the number of outlier subjects per region in your dataset.
write.group.morph.standard.mf

Write per-vertex standard space data for a group of subjects to given file names.
scale01

Scale given values to range 0..1.
read.colorcsv

Read colors from CSV file.
read.md.demographics

Read demographics file
vis.export.from.coloredmeshes

Export high-quality brainview image with a colorbar.
subject.filepath.any

Construct filepath of any freesurfer file.
numverts.lh

Determine vertex count of left hemi from hemilist of surfaces or the count itself.
vertex.coords

Return coordinates for vertices, supporting entire brain via hemilist.
surf.metric.properties

Compute metric surface properties.
normalize

Normalize data.
surf.radius.fsaverage

Get pre-computed radius for fsaverage white surface.
pervertexdata.smoothgaussian

Perform Gaussian smoothing
shape.descriptor.names

Get all shape descriptor names.
shape.descriptors

Computes geometric curvature-based descriptors.
subject.filepath.morph.native

Construct filepath of native space morphometry data file.
vis.coloredmeshes

Visualize a list of colored meshes in a single scene.
vol.mask.from.segmentation

Extract subset from a volume by value.
shift.hemis.apart

Shift hemispheres apart.
subject.filepath.morph.standard

Construct filepath of standard space morphometry data file.
test.numerical.meandiff.unpaired

Perform tests for group differences on unpaired data for two groups.
subject.num.verts

Get subjects vertex count.
tmesh3d.to.fs.surface

Get an fs.surface brain mesh from an rgl tmesh3d instance.
subject.surface

Load a surface for a subject.
track.length

Compute the total length of a path given by the coordinates of its points.
pervertexdata.smoothnn

Perform iterative nearest-neighbor smoothing of per-vertex data.
rglo

Get rgloptions and consider global options.
rglactions.transform

Apply data transformation rglactions.
vis.seg.legend

Plot legend for a brain volume segmentation based on colorLUT.
vis.coloredmeshes.rotating

Visualize a list of colored meshes in a single scene and rotate them, movie-style.
vol.plane.axes

Get indices of the axes defining the given plane.
sph2fs

Transform spherical coordinates to FreeSurfer surface space to plot things around a brain.
sort.coloredmeshes.by.hemi

Sort coloredmeshes into 2 lists by their 'hemi' property.
vis.subject.annot

Visualize an annotation for a subject.
write.group.morph.standard

Write standard space group data to a standard FreeSurfer directory stucture.
vis.fs.surface

Visualize fs.surface mesh
vol.merge

Merge background volume and overlay to new colors.
vdata.split.by.hemi

Split morph data vector at hemisphere boundary.
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.
subject.label

Retrieve label data for a single subject.
vol.planes

Translate names and indices of planes.
subject.label.from.annot

Extract a region from an atlas annotation as a label for a subject.
subject.morph.native

Retrieve native space morphometry data for a single subject.
vis.subject.label

Visualize a binary label for a subject.
subject.morph.standard

Retrieve standard space morphometry data for a single subject.
surfs.props

Compute simple version of center and radius of 2 meshes.
vis.path.along.verts

Draw a 3D line from vertex to vertex
vis.paths

Visualize many paths.
symmrange

Given data, compute symmetric range around zero.
vis.paths.along.verts

Visualize several paths in different colors.
vislayout.from.coloredmeshes

Visualize coloredmeshes from several angles and combine the images into a new figure.
vis.symmetric.data.on.subject

Visualize clusters or activation data on the surface of any subject.
volvis.lb

Show continuous 3D voxel/volume data as a lightbox, optionally with a background brain volume and colormap.
vertex.hemis

Return the proper hemi string ('lh' or 'rh') for each vertex.
vis.subject.morph.native

Visualize native space morphometry data for a subject.
wrapped.image.append

Wrapper around magick::image_append that allows specifying the background color when working with images of different width/height.
vis.region.values.on.subject

Visualize arbitrary data, one value per atlas region, on the surface of any subject (including template subjects).
vox2ras_tkr

The FreeSurfer default vox2ras_tkr matrix.
vol.imagestack

Turn volume into an ImageMagick image stack.
vol.intensity.to.color

Convert integer intensity image to RGB color string form.
volvis.contour

Visualize contour of a volume.
arrange.brainview.images

Combine several brainview images into a new figure.
collayer.from.annotdata

Compute surface color layer from annotation or atlas data.
clip.data

Clip data at quantiles to remove outliers.
clip_fun

Get data clipping function.