Four initialization approaches for simlr. Returns either a single matrix derived from dimensionality reduction on all matrices bound together (jointReduction=TRUE) or a list of reduced dimensionality matrices, one for each input. Primarily, a helper function for SiMLR.

initializeSimlr(
  voxmats,
  k,
  jointReduction = FALSE,
  zeroUpper = FALSE,
  uAlgorithm = "svd",
  addNoise = 0
)

Arguments

voxmats

list that contains the named matrices.

k

rank of U matrix

jointReduction

boolean determining whether one or length of list bases are returned.

zeroUpper

boolean determining whether upper triangular part of initialization is zeroed out

uAlgorithm

either "svd", "random", "randomProjection", eigenvalue, "pca" (default), "ica" or "cca"

addNoise

scalar value that adds zero mean unit variance noise, multiplied by the value of addNoise

Value

A single matrix or list of matrices

Author

BB Avants.

Examples


set.seed(1500)
nsub <- 3
npix <- c(10, 6, 13)
nk <- 2
outcome <- initializeSimlr(
  list(
    matrix(rnorm(nsub * npix[1]), ncol = npix[1]),
    matrix(rnorm(nsub * npix[2]), ncol = npix[2]),
    matrix(rnorm(nsub * npix[3]), ncol = npix[3])
  ),
  k = 2, uAlgorithm = "pca"
)