Learn R Programming

freesurferformats (version 0.1.18)

Read and Write 'FreeSurfer' Neuroimaging File Formats

Description

Provides functions to read and write neuroimaging data in various file formats, with a focus on 'FreeSurfer' formats. This includes, but is not limited to, the following file formats: 1) MGH/MGZ format files, which can contain multi-dimensional images or other data. Typically they contain time-series of three-dimensional brain scans acquired by magnetic resonance imaging (MRI). They can also contain vertex-wise measures of surface morphometry data. The MGH format is named after the Massachusetts General Hospital, and the MGZ format is a compressed version of the same format. 2) 'FreeSurfer' morphometry data files in binary 'curv' format. These contain vertex-wise surface measures, i.e., one scalar value for each vertex of a brain surface mesh. These are typically values like the cortical thickness or brain surface area at each vertex. 3) Annotation file format. This contains a brain surface parcellation derived from a cortical atlas. 4) Surface file format. Contains a brain surface mesh, given by a list of vertices and a list of faces.

Copy Link

Version

Install

install.packages('freesurferformats')

Monthly Downloads

911

Version

0.1.18

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Tim Schc3<a4>fer

Last Published

February 2nd, 2024

Functions in freesurferformats (0.1.18)

fread3

Read 3-byte integer.
fs.get.morph.file.ext.for.format

Determine morphometry file extension from format
delete_all_opt_data

Delete all data in the package cache.
faces.tris.to.quad

Convert tris faces to quad faces by simple merging.
coord.to.key

Turn coordinate vector into string.
fs.get.morph.file.format.from.filename

Determine morphometry file format from filename
is.fs.label

Check whether object is an fs.label
fs.patch

Constructor for fs.patch
gifti_xml

Get GIFTI XML representation of data.
gifti_xml_add_global_metadata

Add metadata to GIFTI XML tree.
fileopen.gz.or.not

Get connection to a binary file, gz or not.
gifti_writer

Write data to a gifti file.
get_opt_data_filepath

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

Check whether object is a bvsmp instance.
mghheader.centervoxelRAS.from.firstvoxelRAS

Compute RAS coords of center voxel.
mghheader

Constructor to init MGH header instance.
mgh.is.conformed

Determine whether an MGH volume is conformed.
get.slice.orientation

Compute MGH orientation string and direction
int.to.col.brainvoyager

Convert 32 bit integer to RGB color as described in Brainvoyager SRF file spec.
has_pandoc

Check for pandoc availability on system.
is.fs.surface

Check whether object is an fs.surface
faces.quad.to.tris

Convert quadrangular faces or polygons to triangular ones.
is.fs.annot

Check whether object is an fs.annot
get.dti.trk.endianness

Determine endianness of TRK file.
mghheader.crs.orientation

Compute MGH volume orientation string.
mghheader.ras2vox.tkreg

Compute ras2vox-tkreg matrix from basic MGH header fields.
mghheader.is.ras.valid

Check whether header contains valid ras information
ni1header.template

Create a template NIFTI v1 header. You will have to adapt it for your use case.
mghheader.is.conformed

Determine whether an MGH volume is conformed.
nifti.file.version

Determine NIFTI file version information and whether file is a NIFTI file.
nifti.file.uses.fshack

Determine whether a NIFTI file uses the FreeSurfer hack.
guess.filename.is.gzipped

Guess whether a file is gzipped.
print.fs.patch

Print description of a brain surface patch.
is.fs.volume

Check whether object is an fs.volume
flip2D

Flip a 2D matrix.
flip3D

Flip a 3D array along an axis.
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.
read.fs.curv

Read file in FreeSurfer curv format
read.fs.colortable

Read colortable file in FreeSurfer ASCII LUT format.
print.fs.surface

Print description of a brain surface.
read.fs.mgh

Read file in FreeSurfer MGH or MGZ format
read.fs.morph

Read morphometry data file in any FreeSurfer format.
giftixml_add_labeltable_posneg

Add a standard label tabel for to a GIFTI XML tree.
is.mghheader

Check whether object is an mghheader
mghheader.primary.slice.direction

Compute MGH primary slice direction
mghheader.ras2vox

Compute ras2vox matrix from basic MGH header fields.
fs.surface.to.tmesh3d

Get an rgl tmesh3d instance from a brain surface mesh.
mghheader.vox2ras

Compute vox2ras matrix from basic MGH header fields.
read.fs.annot

Read file in FreeSurfer annotation format
read.fs.gca

Read FreeSurfer GCA file.
read.fs.patch

Read FreeSurfer binary or ASCII patch file.
read.fs.surface.stl.ascii

Read surface mesh in STL ASCII format.
read.fs.patch.asc

Read FreeSurfer ASCII format patch.
ni2header.for.data

Create NIFTI v2 header suitable for given data.
read.fs.annot.gii

Read an annotation or label in GIFTI format.
read.fs.label

Read a label file.
nifti.time.info

Compute NIFTI time unit info from xyzt_units header field.
nifti.transform.type.name

Get the name of the transform type from a form code.
read.fs.surface.geo

Read GEO format mesh as surface.
mghheader.vox2ras.tkreg

Compute vox2ras-tkreg matrix from basic MGH header fields.
read.fs.surface.stl.bin

Read surface mesh in STL binary format.
fwrite3

Write 3-byte integer.
nifti.datadim.to.dimfield

Compute NIFTI dim field for data dimension.
read.fs.transform.xfm

Load transformation matrix from an XFM file.
read_nisurfacefile.fsascii

Read a FreeSurfer ASCII surface file.
read.fs.volume

Read volume file in MGH, MGZ or NIFTI format
nifti.field.check.nchar.max

Check whether character string fields have less than or equal to expected length.
nifti.field.check.length

Check whether vector has expected length.
read.nifti2.header.internal

Read NIFTI v2 header from file.
mghheader.scanner2tkreg

Compute scanner-RAS 2 tkreg-RAS matrix from basic MGH header fields.
read.nifti2.header

Read NIFTI v2 header from file.
gifti_xml_write

Write XML tree to a gifti file.
read_nisurfacefile.fsnative

Read a FreeSurfer ASCII surface file.
parse.stl.ascii.face

Parse a single ASCII STL face.
read.fs.surface.vtk

Read VTK ASCII format mesh as surface.
read.fs.label.gii

Read a label from a GIFTI label/annotation file.
read.fs.surface.gii

Read GIFTI format mesh as surface.
read.fs.surface.bvsrf

Read Brainvoyager srf format (.srf) mesh as surface.
read.fs.transform

Load transformation matrix from a file.
read.fs.label.native

Read file in FreeSurfer label format
read.fs.surface.byu

Read mesh in BYU format.
rotate90

Rotate 2D matrix clockwise in 90 degree steps.
nifti.dtype.info

Compute NIFTI v1 data type info from datatype and bitpix header field.
parse.transform.matrix.lines

Parse matrix from text file lines.
print.fs.annot

Print description of a brain atlas or annotation.
mghheader.vox2vox

Compute vox2vox matrix between two volumes.
print.fs.label

Print description of a brain surface label.
read.mesh.brainvoyager

Read Brainvoyager srf format (.srf) mesh.
readcolortable

Read binary colortable in v2 format.
read.fs.weight.asc

Read ASCII version of FreeSurfer weight file.
read.nifti1.header

Read NIFTI v1 header from file (which may contain the FreeSurfer hack).
read.smp.brainvoyager

Read Brainvoyager statistical surface results from SMP file.
ras.to.talairachras

Compute MNI talairach coordinates from RAS coords.
read.nifti1.data

Read raw NIFTI v1 data from file (which may contain the FreeSurfer hack).
read.smp.brainvoyager.v1or2

Read Brainvoyager statistical surface results from v1 or v2 SMP file.
nifti.header.check

Perform basic sanity checks on NIFTI header data. These are in no way meant to be exhaustive.
read.fs.morph.asc

Read morphometry data from ASCII curv format file
read.dti.tck

Read DTI tracking data from file in MRtrix 'TCK' format.
giftixml_add_labeltable_from_annot

Add a label tabel from an annotation to a GIFTI XML tree.
write.fs.label.gii

Write a binary surface label in GIFTI format.
mni152reg

Get fsaverage (MNI305) to MNI152 transformation matrix.
readcolortable_oldformat

Read binary colortable in old format.
nifti.space.info

Compute NIFTI space unit info from xyzt_units header field.
scann

Scan exactly n values from source string.
read_nisurface

Read a surface, based on the file path without extension.
write.fs.annot.gii

Write annotation to GIFTI file.
write.fs.mgh

Write file in FreeSurfer MGH or MGZ format
read_nisurfacefile

S3 method to read a neuroimaging surface file.
stl.format.file.is.ascii

Guess whether a mesh file in STL format is the ASCII or the binary version.
surfaceras.to.ras

Translate surface RAS coordinates, as used in surface vertices and surface labels, to volume RAS.
write.fs.annot

Write annotation to binary file.
vertexdists.to.point

Compute Euclidean distance from all mesh vertices to given point.
ply.header.lines

Generate PLY format header lines
mghheader.tkreg2scanner

Compute tkreg-RAS to scanner-RAS matrix from basic MGH header fields.
linesplit.fixed

Split a string into fixed-length parts.
list_opt_data

Get file names available in package cache.
mghheader.update.from.vox2ras

Update mghheader fields from vox2ras matrix.
polygon.soup.to.indexed.mesh

Turn polygon soup into indexed mesh.
write.fs.surface.gii

Write mesh to file in GIFTI surface format
read.dti.trk

Read fiber tracks from Diffusion Toolkit in trk format.
write.fs.morph.ni1

Write morphometry data in NIFTI v1 format.
write.nifti1

Write header and data to a file in NIFTI v1 format.
write.fs.surface

Write mesh to file in FreeSurfer binary surface format
write.fs.colortable

Write colortable file in FreeSurfer ASCII LUT format.
write.fs.surface.asc

Write mesh to file in FreeSurfer ASCII surface format
write.fs.morph.gii

Write morphometry data in GIFTI format.
write.fs.surface.bvsrf

Write surface to Brainvoyager SRF file.
write.fs.surface.byu

Write mesh to file in BYU ASCII format.
write.nifti2

Write header and data to a file in NIFTI v2 format.
write.fs.surface.off

Write mesh to file in Object File Format (.off)
write.fs.surface.obj

Write mesh to file in Wavefront object (.obj) format
write.smp.brainvoyager.v3or4or5

Write a brainvoyager v3, v4 or v5 SMP file.
read.dti.tsf

Read DTI tracking per-coord data from file in MRtrix 'TSF' format.
write.fs.surface.mz3

Write mesh to file in mz3 binary format.
read.fs.morph.bvsmp

Read Brainvoyager vertex-wise statistical surface data from SMP file.
xml_node_gifti_label

Create XML GIFTI Label node.
xml_node_gifti_coordtransform

Create XML GIFTI CoordinateSystemTransformMatrix node.
read.fs.morph.ni1

Read morphometry data from FreeSurfer NIFTI v1 format files.
read.fs.surface.obj

Read OBJ format mesh as surface.
read.fs.morph.ni2

Read morphometry data from FreeSurfer NIFTI v2 format files.
read.fs.transform.dat

Load transformation matrix from a tkregister dat file.
print.fs.volume

Print description of a brain volume.
read.fs.surface.off

Read Object File Format (OFF) mesh as surface.
ni1header.for.data

Create NIFTI v1 header suitable for given data.
ras.to.surfaceras

Translate RAS coordinates, as used in volumes by applying vox2ras, to surface RAS.
mri_dtype_numbytes

Get size of MRI dtype in bytes.
read.element.counts.ply.header

Determine element counts from PLY file header.
read.fixed.char.binary

Read fixed length char, possibly containing embedded zeroes, from binary file.
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.morph.gii

Read morphometry data file in GIFTI format.
read.fs.transform.lta

Load transformation matrix from a FreeSurfer linear transform array (LTA) file.
read.fs.morph.cifti

Read surface morphometry data from CIFTI dscalar files.
xml_node_gifti_MD

Create XML GIFTI metadata node.
read.fs.surface

Read file in FreeSurfer surface format or various mesh formats.
read.fs.surface.asc

Read FreeSurfer ASCII format surface.
rotate2D

Rotate a 2D matrix in 90 degree steps.
sm0to1

Adapt spatial transformation matrix for 1-based indices.
read.fs.surface.ply

Read Stanford PLY format mesh as surface.
read.fs.weight

Read file in FreeSurfer weight or w format
read.fs.surface.stl

Read mesh in STL format, auto-detecting ASCII versus binary format version.
sm1to0

Adapt spatial transformation matrix for 0-based indices.
read.fs.surface.mz3

Read surface mesh in mz3 format, used by Surf-Ice.
read.fs.surface.ico

Read ICO format mesh as surface.
rotate3D

Rotate a 3D array in 90 degree steps.
read.fs.volume.nii

Turn a 3D or 4D `oro.nifti` instance into an `fs.volume` instance with complete header.
write.fs.surface.off.ply2

Write mesh to file in Object File Format (.off) or PLY2 format.
write.fs.surface.ply

Write mesh to file in PLY format (.ply)
read.nifti2.data

Read raw data from NIFTI v2 file.
readable.files

Find files with the given base name and extensions that exist.
read.nifti1.header.internal

Read NIFTI v1 header from file (which may contain the FreeSurfer hack).
write.fs.curv

Write file in FreeSurfer curv format
write.fs.label

Write vertex indices to file in FreeSurfer label format
vertex.euclid.dist

Compute Euclidean distance between two vertices v1 and v2.
write.fs.morph.smp

Write morphometry data in Brainvoyager SMP format.
write.fs.morph.ni2

Write morphometry data in NIFTI v2 format.
read_nisurfacefile.gifti

Read a gifti file as a surface.
write.fs.surface.ply2

Write mesh to file in PLY2 File Format (.ply2)
surfaceras.to.talairach

Compute Talairach RAS for surface RAS (e.g., vertex coordinates).
translate.mri.dtype

Translate between code and name of MRI data types.
read.smp.brainvoyager.v3

Read Brainvoyager statistical surface results from v3 SMP file.
xml_node_gifti_label_table

Create XML GIFTI LabelTable node.
talairachras.to.ras

Compute MNI talairach coordinates from RAS coords.
write.fs.patch

Write a surface patch
write.fs.weight

Write file in FreeSurfer weight format
write.fs.surface.vtk

Write mesh to file in VTK ASCII format
write.smp.brainvoyager

Write a brainvoyager SMP file.
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.txt

Write curv data to file in simple text format
write.fs.weight.asc

Write file in FreeSurfer weight ASCII format
xml_node_gifti_label_table_from_annot

Compute LabelTable node from annotation.
read.smp.brainvoyager.v4or5

Read Brainvoyager statistical surface results from v4 or v5 SMP file.
write.smp.brainvoyager.v2

Write a brainvoyager v2 SMP file.
annot.max.region.idx

Get max region index of an fs.annot instance.
bvsmp

Create new bvsmp instance encoding morph data for Brainvoyager.
annot.unique

Make the region names and indices unique across hemispheres for a parcellation.
colortable.from.annot

Extract color lookup table (LUT) from annotation.
closest.vert.to.point

Find vertex index closest to given query coordinate using Euclidean distance.
cdata

Create CDATA element string from string.
doapply.transform.mtx

Apply a spatial transformation matrix to the given coordinates.
fixed.vec.format.int

Write fixed width integers to one or several lines.
check_data_and_settings_consistency

Warn about common errors in combining data and datatype.
adjust.face.indices.to

Adjust integer matrix to target min value.
filepath.ends.with

Check whether filepath ends with extension.
euclidian.dist

Compute Euclidean distance.
assert.surface

Stop unless surf is an fs.surface
check.dtype.for.data

Check whether the dtype is suitable for the data.
download_opt_data

Download optional data for the freesurferformats package.