Learn R Programming

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

freesurferformats (version 0.1.17)

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

1,726

Version

0.1.17

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Tim Schc3<a4>fer

Last Published

February 11th, 2022

Functions in freesurferformats (0.1.17)

adjust.face.indices.to

Adjust integer matrix to target min value.
bvsmp

Create new bvsmp instance encoding morph data for Brainvoyager.
annot.max.region.idx

Get max region index of an fs.annot instance.
closest.vert.to.point

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

Create CDATA element string from string.
filepath.ends.with

Check whether filepath ends with extension.
assert.surface

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

Check whether the dtype is suitable for the data.
check_data_and_settings_consistency

Warn about common errors in combining data and datatype.
annot.unique

Make the region names and indices unique across hemispheres for a parcellation.
faces.quad.to.tris

Convert quadrangular faces or polygons to triangular ones.
coord.to.key

Turn coordinate vector into string.
euclidian.dist

Compute Euclidean distance.
fwrite3

Write 3-byte integer.
fs.surface.to.tmesh3d

Get an rgl tmesh3d instance from a brain surface mesh.
delete_all_opt_data

Delete all data in the package cache.
flip2D

Flip a 2D matrix.
linesplit.fixed

Split a string into fixed-length parts.
fixed.vec.format.int

Write fixed width integers to one or several lines.
list_opt_data

Get file names available in package cache.
download_opt_data

Download optional data for the freesurferformats package.
get.dti.trk.endianness

Determine endianness of TRK file.
doapply.transform.mtx

Apply a spatial transformation matrix to the given coordinates.
has_pandoc

Check for pandoc availability on system.
fread3

Read 3-byte integer.
gifti_xml_write

Write XML tree to a gifti file.
giftixml_add_labeltable_from_annot

Add a label tabel from an annotation to a GIFTI XML tree.
colortable.from.annot

Extract color lookup table (LUT) from annotation.
fs.get.morph.file.ext.for.format

Determine morphometry file extension from format
flip3D

Flip a 3D array along an axis.
fs.patch

Constructor for fs.patch
fileopen.gz.or.not

Get connection to a binary file, gz or not.
faces.tris.to.quad

Convert tris faces to quad faces by simple merging.
fs.get.morph.file.format.from.filename

Determine morphometry file format from filename
mghheader.primary.slice.direction

Compute MGH primary slice direction
ni1header.for.data

Create NIFTI v1 header suitable for given data.
mghheader.is.ras.valid

Check whether header contains valid ras information
mri_dtype_numbytes

Get size of MRI dtype in bytes.
mghheader.is.conformed

Determine whether an MGH volume is conformed.
nifti.time.info

Compute NIFTI time unit info from xyzt_units header field.
mghheader.ras2vox

Compute ras2vox matrix from basic MGH header fields.
gifti_xml

Get GIFTI XML representation of data.
nifti.transform.type.name

Get the name of the transform type from a form code.
get.slice.orientation

Compute MGH orientation string and direction
gifti_writer

Write data to a gifti file.
int.to.col.brainvoyager

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

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

Add metadata to GIFTI XML tree.
is.fs.volume

Check whether object is an fs.volume
print.fs.patch

Print description of a brain surface patch.
print.fs.surface

Print description of a brain surface.
giftixml_add_labeltable_posneg

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

Check whether object is a bvsmp instance.
guess.filename.is.gzipped

Guess whether a file is gzipped.
parse.stl.ascii.face

Parse a single ASCII STL face.
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.
is.fs.label

Check whether object is an fs.label
is.fs.surface

Check whether object is an fs.surface
is.mghheader

Check whether object is an mghheader
is.fs.annot

Check whether object is an fs.annot
mghheader.update.from.vox2ras

Update mghheader fields from vox2ras matrix.
mghheader.tkreg2scanner

Compute tkreg-RAS to scanner-RAS matrix from basic MGH header fields.
mghheader.centervoxelRAS.from.firstvoxelRAS

Compute RAS coords of center voxel.
mghheader.vox2vox

Compute vox2vox matrix between two volumes.
parse.transform.matrix.lines

Parse matrix from text file lines.
nifti.datadim.to.dimfield

Compute NIFTI dim field for data dimension.
read.dti.trk

Read fiber tracks from Diffusion Toolkit in trk format.
nifti.header.check

Perform basic sanity checks on NIFTI header data. These are in no way meant to be exhaustive.
mni152reg

Get fsaverage (MNI305) to MNI152 transformation matrix.
nifti.space.info

Compute NIFTI space unit info from xyzt_units header field.
read.fs.label

Read a label file.
read.dti.tsf

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

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

Read FreeSurfer GCA file.
nifti.dtype.info

Compute NIFTI v1 data type info from datatype and bitpix header field.
read.fs.surface.byu

Read mesh in BYU format.
read.fs.morph.asc

Read morphometry data from ASCII curv format file
read.fs.annot.gii

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

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

Read file in FreeSurfer annotation format
read.fs.morph

Read morphometry data file in any FreeSurfer format.
mghheader

Constructor to init MGH header instance.
mghheader.ras2vox.tkreg

Compute ras2vox-tkreg matrix from basic MGH header fields.
ni1header.template

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

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

Read file in FreeSurfer surface format or various mesh formats.
print.fs.volume

Print description of a brain volume.
mgh.is.conformed

Determine whether an MGH volume is conformed.
read.fs.colortable

Read colortable file in FreeSurfer ASCII LUT format.
ras.to.surfaceras

Translate RAS coordinates, as used in volumes by applying vox2ras, to surface RAS.
mghheader.crs.orientation

Compute MGH volume orientation string.
read.fs.curv

Read file in FreeSurfer curv format
read.fs.surface.off

Read Object File Format (OFF) mesh as surface.
read.fs.surface.obj

Read OBJ format mesh as surface.
read.fs.surface.asc

Read FreeSurfer ASCII format surface.
read.fs.transform

Load transformation matrix from a file.
read.fs.surface.vtk

Read VTK ASCII format mesh as surface.
read_nisurface

Read a surface, based on the file path without extension.
stl.format.file.is.ascii

Guess whether a mesh file in STL format is the ASCII or the binary version.
read_nisurfacefile

S3 method to read a neuroimaging surface file.
ni2header.for.data

Create NIFTI v2 header suitable for given data.
write.fs.morph.gii

Write morphometry data in GIFTI format.
surfaceras.to.ras

Translate surface RAS coordinates, as used in surface vertices and surface labels, to volume RAS.
read.fs.volume.nii

Turn a 3D or 4D `oro.nifti` instance into an `fs.volume` instance with complete header.
read.fs.morph.bvsmp

Read Brainvoyager vertex-wise statistical surface data from SMP file.
read.fs.morph.nii

Read morphometry data from FreeSurfer NIFTI format files, determine NIFTI version automatically.
polygon.soup.to.indexed.mesh

Turn polygon soup into indexed mesh.
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.
read.smp.brainvoyager

Read Brainvoyager statistical surface results from SMP file.
ply.header.lines

Generate PLY format header lines
read.fs.weight

Read file in FreeSurfer weight or w format
read.fs.label.gii

Read a label from a GIFTI label/annotation file.
read.smp.brainvoyager.v1or2

Read Brainvoyager statistical surface results from v1 or v2 SMP file.
read_nisurfacefile.gifti

Read a gifti file as a surface.
mghheader.vox2ras

Compute vox2ras matrix from basic MGH header fields.
read.fs.morph.txt

Read morphometry data from plain text file
write.fs.surface.obj

Write mesh to file in Wavefront object (.obj) format
write.fs.morph.ni1

Write morphometry data in NIFTI v1 format.
write.fs.surface.off

Write mesh to file in Object File Format (.off)
nifti.field.check.length

Check whether vector has expected length.
mghheader.vox2ras.tkreg

Compute vox2ras-tkreg matrix from basic MGH header fields.
print.fs.annot

Print description of a brain atlas or annotation.
nifti.field.check.nchar.max

Check whether character string fields have less than or equal to expected length.
write.smp.brainvoyager.v2

Write a brainvoyager v2 SMP file.
write.smp.brainvoyager

Write a brainvoyager SMP file.
read.fs.surface.ply

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

Read volume file in MGH, MGZ or NIFTI format
read.fs.transform.xfm

Load transformation matrix from an XFM file.
read.fs.surface.stl

Read mesh in STL format, auto-detecting ASCII versus binary format version.
read.element.counts.ply.header

Determine element counts from PLY file header.
read.fs.patch

Read FreeSurfer binary or ASCII patch file.
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.patch.asc

Read FreeSurfer ASCII format patch.
read.smp.brainvoyager.v3

Read Brainvoyager statistical surface results from v3 SMP file.
read.fixed.char.binary

Read fixed length char, possibly containing embedded zeroes, from binary file.
readable.files

Find files with the given base name and extensions that exist.
read.smp.brainvoyager.v4or5

Read Brainvoyager statistical surface results from v4 or v5 SMP file.
write.fs.morph

Write morphometry data in a format derived from the given file name.
print.fs.label

Print description of a brain surface label.
read.dti.tck

Read DTI tracking data from file in MRtrix 'TCK' format.
ras.to.talairachras

Compute MNI talairach coordinates from RAS coords.
read.nifti1.header.internal

Read NIFTI v1 header from file (which may contain the FreeSurfer hack).
read.fs.label.native

Read file in FreeSurfer label format
read.fs.morph.ni1

Read morphometry data from FreeSurfer NIFTI v1 format files.
scann

Scan exactly n values from source string.
rotate90

Rotate 2D matrix clockwise in 90 degree steps.
write.fs.morph.asc

Write file in FreeSurfer ASCII curv format
write.fs.surface.bvsrf

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

Write mesh to file in BYU ASCII format.
read_nisurfacefile.fsascii

Read a FreeSurfer ASCII surface file.
read.fs.morph.ni2

Read morphometry data from FreeSurfer NIFTI v2 format files.
read.nifti2.data

Read raw data from NIFTI v2 file.
vertexdists.to.point

Compute Euclidean distance from all mesh vertices to given point.
read.fs.surface.stl.ascii

Read surface mesh in STL ASCII format.
translate.mri.dtype

Translate between code and name of MRI data types.
write.fs.label.gii

Write a binary surface label in GIFTI format.
read_nisurfacefile.fsnative

Read a FreeSurfer ASCII surface file.
vertex.euclid.dist

Compute Euclidean distance between two vertices v1 and v2.
xml_node_gifti_label_table_from_annot

Compute LabelTable node from annotation.
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
xml_node_gifti_label_table

Create XML GIFTI LabelTable node.
write.fs.annot

Write annotation to binary file.
read.fs.surface.stl.bin

Read surface mesh in STL binary format.
read.fs.morph.gii

Read morphometry data file in GIFTI format.
read.fs.surface.geo

Read GEO format mesh as surface.
read.fs.morph.cifti

Read surface morphometry data from CIFTI dscalar files.
write.fs.weight

Write file in FreeSurfer weight format
read.fs.transform.lta

Load transformation matrix from a FreeSurfer linear transform array (LTA) file.
read.nifti1.header

Read NIFTI v1 header from file (which may contain the FreeSurfer hack).
rotate3D

Rotate a 3D array in 90 degree steps.
read.fs.transform.dat

Load transformation matrix from a tkregister dat file.
read.nifti1.data

Read raw NIFTI v1 data from file (which may contain the FreeSurfer hack).
rotate2D

Rotate a 2D matrix in 90 degree steps.
write.fs.mgh

Write file in FreeSurfer MGH or MGZ format
write.nifti1

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

Write file in FreeSurfer weight ASCII format
write.nifti2

Write header and data to a file in NIFTI v2 format.
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
xml_node_gifti_MD

Create XML GIFTI metadata node.
write.fs.surface.mz3

Write mesh to file in mz3 binary format.
write.fs.surface.gii

Write mesh to file in GIFTI surface format
write.smp.brainvoyager.v3or4or5

Write a brainvoyager v3, v4 or v5 SMP file.
read.fs.surface.gii

Read GIFTI format mesh as surface.
read.fs.weight.asc

Read ASCII version of FreeSurfer weight file.
talairachras.to.ras

Compute MNI talairach coordinates from RAS coords.
surfaceras.to.talairach

Compute Talairach RAS for surface RAS (e.g., vertex coordinates).
write.fs.curv

Write file in FreeSurfer curv format
write.fs.label

Write vertex indices to file in FreeSurfer label format
write.fs.patch

Write a surface patch
xml_node_gifti_label

Create XML GIFTI Label node.
write.fs.morph.txt

Write curv data to file in simple text format
write.fs.surface.ply

Write mesh to file in PLY format (.ply)
write.fs.surface.off.ply2

Write mesh to file in Object File Format (.off) or PLY2 format.
xml_node_gifti_coordtransform

Create XML GIFTI CoordinateSystemTransformMatrix node.
read.mesh.brainvoyager

Read Brainvoyager srf format (.srf) mesh.
readcolortable

Read binary colortable in v2 format.
readcolortable_oldformat

Read binary colortable in old format.
read.nifti2.header

Read NIFTI v2 header from file.
sm0to1

Adapt spatial transformation matrix for 1-based indices.
read.nifti2.header.internal

Read NIFTI v2 header from file.
write.fs.colortable

Write colortable file in FreeSurfer ASCII LUT format.
write.fs.annot.gii

Write annotation to GIFTI file.
sm1to0

Adapt spatial transformation matrix for 0-based indices.
write.fs.morph.ni2

Write morphometry data in NIFTI v2 format.
write.fs.morph.smp

Write morphometry data in Brainvoyager SMP format.