# Read and Write 'FreeSurfer' Neuroimaging File Formats

## Documentation for package ‘freesurferformats’ version 1.0.0

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

## Help Pages

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

## -- A --

annot.max.region.idx | Get max region index of an fs.annot instance.

## -- B --

bvsmp | Create new bvsmp instance encoding morph data for Brainvoyager.

## -- C --

cdata | Create CDATA element string from string.
closest.vert.to.point | Find vertex index closest to given query coordinate using Euclidean distance.
colortable.from.annot | Extract color lookup table (LUT) from annotation.

## -- D --

delete_all_opt_data | Delete all data in the package cache.
doapply.transform.mtx | Apply a spatial transformation matrix to the given coordinates.
download_opt_data | Download optional data for the freesurferformats package.

## -- F --

faces.quad.to.tris | Convert quadrangular faces or polygons to triangular ones.
faces.tris.to.quad | Convert tris faces to quad faces by simple merging.
flip2D | Flip a 2D matrix.
flip3D | Flip a 3D array along an axis.
fs.get.morph.file.ext.for.format | Determine morphometry file extension from format
fs.get.morph.file.format.from.filename | Determine morphometry file format from filename
fs.patch | Constructor for fs.patch
fs.surface.to.tmesh3d | Get an rgl tmesh3d instance from a brain surface mesh.

## -- G --

get_opt_data_filepath | Access a single file from the package cache by its file name.
giftixml_add_labeltable_from_annot | Add a label tabel from an annotation to a GIFTI XML tree.
gifti_writer | Write data to a gifti file.
gifti_xml | Get GIFTI XML representation of data.
gifti_xml_add_global_metadata | Add metadata to GIFTI XML tree.
gifti_xml_write | Write XML tree to a gifti file.

## -- I --

is.bvsmp | Check whether object is a bvsmp instance.
is.fs.annot | Check whether object is an fs.annot
is.fs.label | Check whether object is an fs.label
is.fs.surface | Check whether object is an fs.surface
is.fs.volume | Check whether object is an fs.volume
is.mghheader | Check whether object is an mghheader

## -- L --

list_opt_data | Get file names available in package cache.

## -- M --

mghheader.centervoxelRAS.from.firstvoxelRAS | Compute RAS coords of center voxel.
mghheader.crs.orientation | Compute MGH volume orientation string.
mghheader.is.conformed | Determine whether an MGH volume is conformed.
mghheader.is.ras.valid | Check whether header contains valid ras information
mghheader.primary.slice.direction | Compute MGH primary slice direction
mghheader.ras2vox | Compute ras2vox matrix from basic MGH header fields.
mghheader.ras2vox.tkreg | Compute ras2vox-tkreg matrix from basic MGH header fields.
mghheader.scanner2tkreg | Compute scanner-RAS 2 tkreg-RAS matrix from basic MGH header fields.
mghheader.tkreg2scanner | Compute tkreg-RAS to scanner-RAS matrix from basic MGH header fields.
mghheader.update.from.vox2ras | Update mghheader fields from vox2ras matrix.
mghheader.vox2ras | Compute vox2ras matrix from basic MGH header fields.
mghheader.vox2ras.tkreg | Compute vox2ras-tkreg matrix from basic MGH header fields.
mghheader.vox2vox | Compute vox2vox matrix between two volumes.
mni152reg | Get fsaverage (MNI305) to MNI152 transformation matrix.

## -- N --

ni1header.for.data | Create NIFTI v1 header suitable for given data.
ni1header.template | Create a template NIFTI v1 header. You will have to adapt it for your use case.
ni2header.for.data | Create NIFTI v2 header suitable for given data.
ni2header.template | Create a template NIFTI v2 header. You will have to adapt it for your use case.
nifti.datadim.from.dimfield | Compute data dimensions from the 'dim' field of the NIFTI (v1 or v2) header.
nifti.datadim.to.dimfield | Compute NIFTI dim field for data dimension.
nifti.file.uses.fshack | Determine whether a NIFTI file uses the FreeSurfer hack.
nifti.file.version | Determine NIFTI file version information and whether file is a NIFTI file.
nifti.header.check | Perform basic sanity checks on NIFTI header data. These are in no way meant to be exhaustive.

## -- P --

print.fs.annot | Print description of a brain atlas or annotation.
print.fs.label | Print description of a brain surface label.
print.fs.patch | Print description of a brain surface patch.
print.fs.surface | Print description of a brain surface.
print.fs.volume | Print description of a brain volume.

## -- R --

ras.to.surfaceras | Translate RAS coordinates, as used in volumes by applying vox2ras, to surface RAS.
ras.to.talairachras | Compute MNI talairach coordinates from RAS coords.
read.dti.tck | Read DTI tracking data from file in MRtrix 'TCK' format.
read.dti.trk | Read fiber tracks from Diffusion Toolkit in trk format.
read.dti.tsf | Read DTI tracking per-coord data from file in MRtrix 'TSF' format.
read.fs.annot | Read file in FreeSurfer annotation format
read.fs.annot.gii | Read an annotation or label in GIFTI format.
read.fs.colortable | Read colortable file in FreeSurfer ASCII LUT format.
read.fs.curv | Read file in FreeSurfer curv format
read.fs.gca | Read FreeSurfer GCA file.
read.fs.label | Read a label file.
read.fs.label.gii | Read a label from a GIFTI label/annotation file.
read.fs.label.native | Read file in FreeSurfer label format
read.fs.mgh | Read file in FreeSurfer MGH or MGZ format
read.fs.morph | Read morphometry data file in any FreeSurfer format.
read.fs.morph.asc | Read morphometry data from ASCII curv format file
read.fs.morph.bvsmp | Read Brainvoyager vertex-wise statistical surface data from SMP file.
read.fs.morph.cifti | Read surface morphometry data from CIFTI dscalar files.
read.fs.morph.gii | Read morphometry data file in GIFTI format.
read.fs.morph.ni1 | Read morphometry data from FreeSurfer NIFTI v1 format files.
read.fs.morph.ni2 | Read morphometry data from FreeSurfer NIFTI v2 format files.
read.fs.morph.nii | Read morphometry data from FreeSurfer NIFTI format files, determine NIFTI version automatically.
read.fs.morph.txt | Read morphometry data from plain text file
read.fs.patch | Read FreeSurfer binary or ASCII patch file.
read.fs.patch.asc | Read FreeSurfer ASCII format patch.
read.fs.surface | Read file in FreeSurfer surface format or various mesh formats.
read.fs.surface.asc | Read FreeSurfer ASCII format surface.
read.fs.surface.bvsrf | Read Brainvoyager srf format (.srf) mesh as surface.
read.fs.surface.byu | Read mesh in BYU format.
read.fs.surface.geo | Read GEO format mesh as surface.
read.fs.surface.gii | Read GIFTI format mesh as surface.
read.fs.surface.ico | Read ICO format mesh as surface.
read.fs.surface.mz3 | Read surface mesh in mz3 format, used by Surf-Ice.
read.fs.surface.obj | Read OBJ format mesh as surface.
read.fs.surface.off | Read Object File Format (OFF) mesh as surface.
read.fs.surface.ply | Read Stanford PLY format mesh as surface.
read.fs.surface.stl | Read mesh in STL format, auto-detecting ASCII versus binary format version.
read.fs.surface.stl.bin | Read surface mesh in STL binary format.
read.fs.surface.vtk | Read VTK ASCII format mesh as surface.
read.fs.transform | Load transformation matrix from a file.
read.fs.transform.dat | Load transformation matrix from a tkregister dat file.
read.fs.transform.lta | Load transformation matrix from a FreeSurfer linear transform array (LTA) file.
read.fs.transform.xfm | Load transformation matrix from an XFM file.
read.fs.volume | Read volume file in MGH, MGZ or NIFTI format
read.fs.volume.nii | Turn a 3D or 4D 'oro.nifti' instance into an 'fs.volume' instance with complete header.
read.fs.weight | Read file in FreeSurfer weight or w format
read.mesh.brainvoyager | Read Brainvoyager srf format (.srf) mesh.
read.nifti1.data | Read raw NIFTI v1 data from file (which may contain the FreeSurfer hack).
read.nifti1.header | Read NIFTI v1 header from file (which may contain the FreeSurfer hack).
read.nifti2.data | Read raw data from NIFTI v2 file.
read.nifti2.header | Read NIFTI v2 header from file.
read.smp.brainvoyager | Read Brainvoyager statistical surface results from SMP file.
readable.files | Find files with the given base name and extensions that exist.
read_nisurface | Read a surface, based on the file path without extension.
read_nisurfacefile | S3 method to read a neuroimaging surface file.
read_nisurfacefile.fsascii | Read a FreeSurfer ASCII surface file.
read_nisurfacefile.fsnative | Read a FreeSurfer ASCII surface file.
read_nisurfacefile.gifti | Read a gifti file as a surface.
rotate2D | Rotate a 2D matrix in 90 degree steps.
rotate3D | Rotate a 3D array in 90 degree steps.

## -- S --

sm0to1 | Adapt spatial transformation matrix for 1-based indices.
sm1to0 | Adapt spatial transformation matrix for 0-based indices.
surfaceras.to.ras | Translate surface RAS coordinates, as used in surface vertices and surface labels, to volume RAS.
surfaceras.to.talairach | Compute Talairach RAS for surface RAS (e.g., vertex coordinates).

## -- T --

talairachras.to.ras | Compute MNI talairach coordinates from RAS coords.

## -- V --

vertex.euclid.dist | Compute Euclidean distance between two vertices v1 and v2.
vertexdists.to.point | Compute Euclidean distance from all mesh vertices to given point.

## -- W --

write.fs.annot | Write annotation to binary file.
write.fs.annot.gii | Write annotation to GIFTI file.
write.fs.colortable | Write colortable file in FreeSurfer ASCII LUT format.
write.fs.curv | Write file in FreeSurfer curv format
write.fs.label | Write vertex indices to file in FreeSurfer label format
write.fs.label.gii | Write a binary surface label in GIFTI format.
write.fs.mgh | Write file in FreeSurfer MGH or MGZ format
write.fs.morph | Write morphometry data in a format derived from the given file name.
write.fs.morph.asc | Write file in FreeSurfer ASCII curv format
write.fs.morph.gii | Write morphometry data in GIFTI format.
write.fs.morph.ni1 | Write morphometry data in NIFTI v1 format.
write.fs.morph.ni2 | Write morphometry data in NIFTI v2 format.
write.fs.morph.smp | Write morphometry data in Brainvoyager SMP format.
write.fs.morph.txt | Write curv data to file in simple text format
write.fs.patch | Write a surface patch
write.fs.surface | Write mesh to file in FreeSurfer binary surface format
write.fs.surface.asc | Write mesh to file in FreeSurfer ASCII surface format
write.fs.surface.bvsrf | Write surface to Brainvoyager SRF file.
write.fs.surface.byu | Write mesh to file in BYU ASCII format.
write.fs.surface.gii | Write mesh to file in GIFTI surface format
write.fs.surface.mz3 | Write mesh to file in mz3 binary format.
write.fs.surface.obj | Write mesh to file in Wavefront object (.obj) format
write.fs.surface.off | Write mesh to file in Object File Format (.off)
write.fs.surface.ply | Write mesh to file in PLY format (.ply)
write.fs.surface.ply2 | Write mesh to file in PLY2 File Format (.ply2)
write.fs.surface.vtk | Write mesh to file in VTK ASCII format
write.fs.weight | Write file in FreeSurfer weight format
write.fs.weight.asc | Write file in FreeSurfer weight ASCII format
write.nifti1 | Write header and data to a file in NIFTI v1 format.
write.nifti2 | Write header and data to a file in NIFTI v2 format.
write.smp.brainvoyager | Write a brainvoyager SMP file.

## -- X --

xml_node_gifti_coordtransform | Create XML GIFTI CoordinateSystemTransformMatrix node.