Learn R Programming

ANTsR (version 0.3.3)

initializeEigenanatomy: 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 = NA, 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

Examples

Run this code

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) )
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( list(dmat,dmat2), inmask=c(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 )

Run the code above in your browser using DataLab