Creates a multi-row or multi-column plot with image slices and the potential for overlays as well.
multi_overlay(
x,
y = NULL,
z = NULL,
w = 1,
mask = NULL,
col.x = gray(0:64/64),
col.y = hotmetal(),
zlim.x = NULL,
zlim.y = NULL,
ybreaks = NULL,
plane = c("axial", "coronal", "sagittal"),
xlab = "",
ylab = "",
axes = FALSE,
direction = c("horizontal", "vertical"),
par.opts = list(oma = c(0, 0, 0, 0), mar = rep(0, 4), bg = "black"),
text = NULL,
text.x = 0.5,
text.y = 1.4,
text.cex = 2.5,
text.col = "white",
main = NULL,
main.col = text.col,
main.cex = text.cex,
NA.x = TRUE,
NA.y = TRUE,
pdim = NULL,
useRaster = TRUE,
...
)
multi_overlay_center(x, y = NULL, ...)
x | List of images of class |
---|---|
y | List of images of class |
z | Slice to display. |
w | 3D volume to display if |
mask |
|
col.x | Color to display x images |
col.y | Color to display y images |
zlim.x | Limits for |
zlim.y | Limits for |
ybreaks | (numeric) breaks for y to passed to
|
plane | the plane of acquisition to be displayed |
xlab | Label for x-axis |
ylab | Label for y-axis |
axes | Should axes be displayed |
direction | Should images be a row or column? Ignored if
|
par.opts | Options to pass to |
text | Text to be displayed |
text.x | Location of text in x-domain |
text.y | Location of text in y-domain |
text.cex | Multiplier for text font |
text.col | Color for |
main | Title for each plot |
main.col | Color for |
main.cex | Multiplier for text font. Will default to |
NA.x | Should |
NA.y | Should |
pdim | Pixel dimensions if passing in arrays. Will be overridden if
|
useRaster | if |
... | Additional arguments to pass to |
set.seed(5)
dims = rep(10, 4)
arr = array(rnorm(prod(dims)), dim = dims)
arr[,,,c(3, 5)] = rpois(1000*2, lambda = 2)
nim = oro.nifti::nifti(arr)
mask = nim > 2
add_mask = nim[,,,1] > 0
imgs = img_ts_to_list(nim)
masks = img_ts_to_list(mask)
multi_overlay(imgs, masks)
multi_overlay(imgs, masks,
main = "hey", direction = "vertical", plane = "coronal")
multi_overlay(imgs, masks, mask = add_mask,
main = "hey")
if (FALSE) {
if (requireNamespace("brainR", quietly = TRUE)) {
visits = 1:3
y = paste0("Visit_", visits, ".nii.gz")
y = system.file(y, package = "brainR")
y = lapply(y, readnii)
y = lapply(y, function(r){
pixdim(r) = c(0, rep(1, 3), rep(0, 4))
dropImageDimension(r)
})
x = system.file("MNI152_T1_1mm_brain.nii.gz",
package = "brainR")
x = readnii(x)
mask = x >0
x = lapply(visits, function(tmp){
x
})
alpha = function(col, alpha = 1) {
cols = t(col2rgb(col, alpha = FALSE)/255)
rgb(cols, alpha = alpha)
}
multi_overlay(x, y,
col.y = alpha(hotmetal(), 0.5),
mask = mask,
main = paste0("\n", "Visit ", visits),
text = LETTERS[visits],
text.x = 0.9,
text.y = 0.1,
text.cex = 3)
}
}