slice-methods {Cardinal}R Documentation

Slice an image

Description

Slice an imaging dataset as a "data cube".

Usage

## S4 method for signature 'SparseImagingExperiment'
slice(.data, ..., .preserve=FALSE)

Arguments

.data

An imaging dataset.

...

Conditions describing features to slice, passed to features().

.preserve

Should all array dimensions be retained? If FALSE, dimensions with only one level are dropped using drop.

Details

Because SparseImagingExperiment objects may be pixel-sparse, their data is always internally represented as a matrix rather than an array, where each column is a feature-vector. Only columns for non-missing pixels are retained. This is simpler and more space-efficient if the image is non-rectangular, non-gridded, or has many missing values.

However, it is often necessary to index into the data as if it were an actual "data cube", with explicit array dimensions for each spatial dimension. slice() allows this by slicing the object as a "data cube", and returning an image array from the object.

For non-rectangular data, this may result in missing values. For non-gridded data, images must be projected to an array (with a regular grid), and the result may not represent the underlying values exactly.

Value

An array representing the sliced image(s).

Author(s)

Kylie A. Bemis

Examples

register(SerialParam())

set.seed(1)
x <- simulateImage(preset=1, npeaks=10, dim=c(10,10), representation="centroid")
m <- mz(metadata(x)$design$featureData)

# slice image for first feature
slice(x, 1)

# slice by m/z-value
slice(x, mz=m[1])

# slice multiple
slice(x, mz=m[1:3])

[Package Cardinal version 2.2.6 Index]