| asNifti | R Documentation |
This function converts a filename, array or other image class into an object
of class "niftiImage", and optionally updates its metadata from a
reference image and/or changes its internal datatype. The dimensions and
pixel dimensions from x will replace those from the reference object,
if they are available.
asNifti(x, ...)
## Default S3 method:
asNifti(x, reference = NULL, datatype = "auto", internal = NA, ...)
## S3 method for class 'nifti'
asNifti(x, datatype = "auto", internal = NA, ...)
## S3 method for class 'MriImage'
asNifti(x, datatype = "auto", internal = NA, ...)
x |
Any suitable object (see Details). |
... |
Additional parameters to methods. |
reference |
An image, or a named list of NIfTI-1 properties like that
produced by |
datatype |
The NIfTI datatype to use within the internal image. The
default, |
internal |
Logical value. If |
If x has an internal NIfTI pointer, that will be retrieved directly.
This will be the case for existing "niftiImage" objects, including
internal images. Otherwise, if it is a string, it will be taken to be a
filename. A list of the form produced by niftiHeader will
convert to an image with no data, while a numeric array or matrix, or RGB
array, will be converted using default image parameters.
asNifti is (S3) generic, so methods can be defined for other object
types. Methods for "nifti" objects from the oro.nifti package,
and "MriImage" objects from tractor.base, are provided.
For the default method, if reference is a niftiHeader
object containing a complete list of NIfTI-1 header fields, or an image,
it will be used to create the internal object, and then the data and
metadata associated with x will overwrite the appropriate parts. If
reference is an incomplete list, x will be used to create the
internal object, and then the specified fields will be overwritten from the
list. This allows users to selectively update certain fields while leaving
others alone (but see the note below).
If multiple values are passed for a field that expects a scalar (which is most of them), the first element of the vector will be used, with a warning. An empty vector will be ignored, also with a warning. If a value of the wrong length is passed to a vector-valued field, an error will be generated.
Datatype information in a list reference is ignored. The datatype can
only be changed using the datatype argument, but in this case the
internal object gets out of sync with the R array, so an internal image is
returned to avoid the mismatch. Changing the internal datatype in this way
is for advanced usage only.
retrieveNifti and updateNifti are soft-deprecated alternative
interfaces to this function, which behave like the pre-existing functions of
the same names. They may be removed in future.
An array or internal image, with class "niftiImage" (and
possibly also "internalImage").
The scl_slope and scl_inter fields affect the numerical
interpretation of the pixel data, so it is impossible in general to change
them without also changing the array values on both the C and the R side.
Therefore, to avoid unexpected side-effects, these fields are not affected
by this function. The dim and pixdim fields can be changed,
but for most users the accessor functions of the same name are much safer,
and should be used in preference.
Jon Clayden <code@clayden.org>
readNifti, $.niftiImage,
dim.internalImage, pixdim, xform
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.