Learn R Programming

tractor.base (version 3.4.2)

identifyImageFileNames: Working with MRI images stored in various formats

Description

Functions for reading, writing, locating, copying and removing MRI images stored in NIfTI, Analyze, MGH and MRtrix formats.

Usage

identifyImageFileNames(fileName, fileType = NULL, errorIfMissing = TRUE,
  auxiliaries = c("dirs", "lut", "tags"), ...)

imageFileExists(fileName, fileType = NULL)

removeImageFiles(fileName, ...)

symlinkImageFiles(from, to, overwrite = FALSE, relative = TRUE, ...)

copyImageFiles(from, to, overwrite = FALSE, deleteOriginals = FALSE, ...)

readImageFile(fileName, fileType = NULL, metadataOnly = FALSE, volumes = NULL, sparse = FALSE, mask = NULL, reorder = TRUE, ...)

writeImageFile(image, fileName = NULL, fileType = NA, overwrite = TRUE, datatype = "fit", writeTags = FALSE)

Value

readImageFile returns an MriImage

object. imageFileExists returns TRUE if an existing file with the specified name exists (all file extensions are checked), and

FALSE otherwise. removeImageFiles returns the result of

unlink applied to all relevant files. writeImageFile

and identifyImageFileNames return a list with the following elements, describing the identified or written files:

fileStem

The file name without extension.

headerFile

The full header file name.

imageFile

The full image file name.

format

The format of the files ("Nifti", "Analyze" or "Mgh"). Not returned by writeImageFile.

copyImageFiles and symlinkImageFiles are called for their side effects.

Arguments

fileName, from, to

File names, with or without appropriate extension.

fileType

A character vector of length one, giving the file type required or expected. If this option is missing, the file type used for writing images will be taken from the tractorFileType option. See Details.

errorIfMissing

Logical value: raise an error if no suitable files were found?

auxiliaries

A character vector of auxiliary file suffixes to search for.

...

For identifyImageFileNames, additional arguments to resolvePath. Elsewhere, additional arguments to identifyImageFileNames.

overwrite

Logical value: overwrite an existing image file? For writeImageFile, an error will be raised if there is an existing file and this is set to FALSE.

relative

Logical value: if TRUE, the path stored in the symlink will be relative (e.g. "../some_dir/some_image.nii") rather than absolute (e.g. "/path/to/some_dir/some_image.nii").

deleteOriginals

Logical value: if TRUE, copyImageFiles performs a move rather than a copy.

metadataOnly

Logical value: if TRUE, only metadata are read into the object.

volumes

An optional integer vector specifying a subset of volumes to read (generally to save memory). If given, only the requested volumes in the 4D file will be read.

sparse

Logical value: should the image data be stored in a SparseArray object?

mask

An optional MriImage object representing a mask, outside of which the image to be read should be considered to be zero. This can be used to save memory when only a small part of a large image is of interest. Ignored if sparse is not TRUE.

reorder

Logical value: should the image data be reordered to LAS? This is recommended in most circumstances.

image

An MriImage object.

datatype

A datatype string, such as "uint8" or "float", specifying the pixel datatype to use when storing the data. If specified, this must be a type supported by the requested (or default) file format. The default, "fit", results in a datatype being chosen that is wide enough to fit the range of the data elements. An error will arise if there's no such type.

writeTags

Logical value: should tags be written in YAML format to an auxiliary file?

Author

Jon Clayden

Details

NIfTI and Analyze are related formats for storing magnetic resonance images. NIfTI is a more recent extension of Analyze, and contains more specific information about, for example, the orientation of the image. Its use is therefore recommended where possible. MGH format is used by the popular image processing package FreeSurfer, and MRtrix format by the software of the same name. These formats use a number of different file extensions, but the details are abstracted away from the user by these functions.

TractoR does not allow for files with the same basic name using multiple Analyze/NIfTI/MGH/MRtrix formats in a single directory (e.g. "foo.nii" AND "foo.img"), and these functions will produce an error if multiple compatible files exist.

Suitable values for fileType (and the tractorFileType option, which is used as a default for writing) are "NIFTI", "NIFTI_PAIR" (the two-file NIfTI format), "MGH", and corresponding gzipped versions of these with "_GZ" appended. File types "ANALYZE" and "MRTRIX", and "_GZ" variants, are additionally available for reading only. "NIFTI_GZ" is the default value for the tractorFileType option, but that can be changed using a call to options, or by setting the TRACTOR_FILETYPE environment variable before loading the tractor.base package.

Since multiple files may be involved, copying, moving or symlinking images is not trivial. copyImageFiles and symlinkImageFiles are wrappers around the standard functions file.copy and file.symlink which handle this complexity.

References

Please cite the following reference when using TractoR in your work:

J.D. Clayden, S. Muñoz Maniega, A.J. Storkey, M.D. King, M.E. Bastin & C.A. Clark (2011). TractoR: Magnetic resonance imaging and tractography with R. Journal of Statistical Software 44(8):1-18. tools:::Rd_expr_doi("10.18637/jss.v044.i08").

See Also

The NIfTI-1 standard (http://nifti.nimh.nih.gov/nifti-1) and MriImage.