The algorithm automatically selects the key nvecs and hidden sparseness parameters. The user should select the cthresh regularization parameters for his or her application. The principle used here is that we want few but sparse pseudo-eigenvectors that are minimally correlated in row-space. true left and right eigenvectors are uncorrelated in both row and column (left and right eigenvector) spaces, but this is not the case when we impose sparsity.

eanatSelect(
  inmat,
  mask = NULL,
  cthresh = 0,
  smooth = 0,
  maxNEvec = 0,
  selectorScale = 1.1,
  whiten = FALSE,
  verbose = FALSE
)

Arguments

inmat

input matrix

mask

input mask, must match matrix

cthresh

remove isolated voxel islands of size below this value

smooth

smooth the input data first by this value

maxNEvec

integer that, if set greater than zero, indicates that we use a low-rank approximation to the input matrix before proceeding to eanat. this value should be greater than nvecs

selectorScale

influences automatic selection of nvecs and tries to find the knee in the correlation plot. This parameter produces fewer, less sparse eigenanatomy pseudo-eigenvectors as its value increases. Its minimum value is 1 and a reasonable range is between 1 and 2. The user should look at the plot produced when verbosity is turned on.

whiten

use ICA style whitening.

verbose

controls whether computation is silent or not.

Value

nvecs is output, analogous to nvecs in svd(mat,nu=0,nv=nvecs)

Author

Avants BB, Tustison NJ

Examples

if (FALSE) { # \dontrun{
mat <- matrix(rnorm(2000), ncol = 50)
nvecsSel <- eanatSelect(mat, selectorScale = 1.2, maxNEvec = 4)
esol <- sparseDecom(mat, nvecs = nvecsSel)
print(paste("selected", nvecsSel, "pseudo-eigenvectors"))
} # }