read.fs.surface {freesurferformats} | R Documentation |
Read file in FreeSurfer surface format or various mesh formats.
Description
Read a brain surface mesh consisting of vertex and face data from a file in FreeSurfer binary or ASCII surface format. For a subject (MRI image pre-processed with FreeSurfer) named 'bert', an example file would be 'bert/surf/lh.white'.
Usage
read.fs.surface(filepath, format = "auto")
Arguments
filepath |
string. Full path to the input surface file. Note: gzipped files are supported and gz format is assumed if the filepath ends with ".gz". |
format |
one of 'auto', 'asc', 'vtk', 'ply', 'gii', 'mz3', 'stl', 'byu', 'geo', 'ico', 'tri', 'obj', 'off' or 'bin'. The format to assume. If set to 'auto' (the default), binary format will be used unless the filepath ends with '.asc'. |
Value
named list. The list has the following named entries: "vertices": nx3 double matrix, where n is the number of vertices. Each row contains the x,y,z coordinates of a single vertex. "faces": nx3 integer matrix. Each row contains the vertex indices of the 3 vertices defining the face. This datastructure is known as a is a *face index set*. WARNING: The indices are returned starting with index 1 (as used in GNU R). Keep in mind that you need to adjust the index (by substracting 1) to compare with data from other software.
See Also
Other mesh functions:
faces.quad.to.tris()
,
read.fs.surface.asc()
,
read.fs.surface.bvsrf()
,
read.fs.surface.geo()
,
read.fs.surface.gii()
,
read.fs.surface.ico()
,
read.fs.surface.obj()
,
read.fs.surface.off()
,
read.fs.surface.ply()
,
read.fs.surface.vtk()
,
read.mesh.brainvoyager()
,
read_nisurfacefile()
,
read_nisurface()
,
write.fs.surface.asc()
,
write.fs.surface.byu()
,
write.fs.surface.gii()
,
write.fs.surface.mz3()
,
write.fs.surface.vtk()
,
write.fs.surface()
Examples
surface_file = system.file("extdata", "lh.tinysurface",
package = "freesurferformats", mustWork = TRUE);
mesh = read.fs.surface(surface_file);
cat(sprintf("Read data for %d vertices and %d faces. \n",
nrow(mesh$vertices), nrow(mesh$faces)));