initializeEigenanatomy: Convert a matrix to a form that can be used to initialize...

View source: R/initializeEigenanatomy.R

initializeEigenanatomyR Documentation

Convert a matrix to a form that can be used to initialize sparse cca and pca.

Description

InitializeEigenanatomy is a helper function to initialize sparseDecom and sparseDecom2. Can be used to estimate sparseness parameters per eigenvector. The user then only chooses nvecs and optional regularization parameters.

Usage

initializeEigenanatomy(initmat, mask = NULL, nreps = 1, smoothing = 0)

Arguments

initmat

input matrix where rows provide initial vector values. alternatively, this can be an antsImage which contains labeled regions.

mask

mask if available

nreps

nrepetitions to use

smoothing

if using an initial label image, optionally smooth each roi

Value

list is output

Author(s)

Avants BB

Examples


mat <- t(replicate(3, rnorm(100)))
initdf <- initializeEigenanatomy(mat) # produces a mask
dmat <- replicate(100, rnorm(20)) # data matrix
svdv <- t(svd(mat, nu = 0, nv = 10)$v)
ilist <- matrixToImages(svdv, initdf$mask)
eseg <- eigSeg(initdf$mask, ilist, TRUE)
eanat <- sparseDecom(dmat,
  inmask = initdf$mask,
  sparseness = 0, smooth = 0,
  initializationList = ilist, cthresh = 0,
  nvecs = length(ilist)
)
initdf2 <- initializeEigenanatomy(mat, nreps = 2)
eanat <- sparseDecom(dmat,
  inmask = initdf$mask,
  sparseness = 0, smooth = 0, z = -0.5,
  initializationList = initdf2$initlist, cthresh = 0,
  nvecs = length(initdf2$initlist)
)
# now a regression
eanatMatrix <- eanat$eigenanatomyimages
# 'averages' loosely speaking anyway
myEigenanatomyRegionAverages <- dmat %*% t(eanatMatrix)
dependentvariable <- rnorm(nrow(dmat))
res <- summary(lm(dependentvariable ~ myEigenanatomyRegionAverages))

nvox <- 1000
dmat <- replicate(nvox, rnorm(20))
dmat2 <- replicate(30, rnorm(20))
mat <- t(replicate(3, rnorm(nvox)))
initdf <- initializeEigenanatomy(mat)
eanat <- sparseDecom2(
  inmatrix = list(dmat, dmat2),
  inmask = list(initdf$mask, NA),
  sparseness = c(-0.1, -0.2),
  smooth = 0,
  initializationList = initdf$initlist,
  cthresh = c(0, 0),
  nvecs = length(initdf$initlist), priorWeight = 0.1
)


stnava/ANTsR documentation built on April 16, 2024, 12:17 a.m.