Learn R Programming

ANTsR (version 0.4.0)

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
# NOT RUN {
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