| eanatDef | R Documentation |
Simplified, low-parameter eigenanatomy implemented with deflation. The
algorithm is able to automatically select hidden sparseness
parameters, given the key parameter nvecs. The user should select the
cthresh and smoother regularization parameters for a given
application and also based on observing algorithm behavior when
verbose=TRUE.
eanatDef(
inmat,
nvecs = 0,
mask = NULL,
smoother = 0,
cthresh = 0,
its = 5,
eps = 0.1,
positivity = FALSE,
priors = NA,
priorWeight = 0,
sparEpsilon = 1e-04,
whiten = FALSE,
verbose = FALSE
)
inmat |
input matrix |
nvecs |
number of eigenanatomy vectors to compute. see
|
mask |
input mask, must match matrix |
smoother |
regularization parameter, typically 0 or 0.5, in voxels |
cthresh |
remove isolated voxel islands of size below this value |
its |
number of iterations |
eps |
gradient descent parameter |
positivity |
return unsigned eigenanatomy vectors |
priors |
external initialization matrix. |
priorWeight |
weight on priors in range 0 to 1. |
sparEpsilon |
threshold that controls initial sparseness estimate |
whiten |
use ICA style whitening. |
verbose |
controls whether computation is silent or not. |
matrix is output, analogous to svd(mat,nu=0,nv=nvecs)
Avants BB, Tustison NJ
Kandel, B. M.; Wang, D. J. J.; Gee, J. C. & Avants, B. B. Eigenanatomy: sparse dimensionality reduction for multi-modal medical image analysis. Methods, 2015, 73, 43-53. PS Dhillon, DA Wolk, SR Das, LH Ungar, JC Gee, BB Avants Subject-specific functional parcellation via Prior Based Eigenanatomy NeuroImage, 2014, 99, 14-27.
eanatSelect https://github.com/stnava/blindSourceSeparationInANTsR
## Not run:
mat <- matrix(rnorm(2000), ncol = 50)
nv <- eanatSelect(mat, selectorScale = 1.2)
esol <- eanatDef(mat, nvecs = nv)
es2 <- sparseDecom(mat, nvecs = nv)
print(paste("selected", nrow(esol), "pseudo-eigenvectors"))
print(mean(abs(cor(mat %*% t(esol))))) # what we use to select nvecs
networkPriors <- getANTsRData("fmrinetworks")
ilist <- networkPriors$images
mni <- antsImageRead(getANTsRData("mni"))
mnireg <- antsRegistration(meanbold * mask, mni, typeofTransform = "Affine")
for (i in 1:length(ilist)) {
ilist[[i]] <- antsApplyTransforms(meanbold, ilist[[i]], mnireg$fwdtransform)
}
pr <- imageListToMatrix(ilist, cortMask)
esol <- eanatDef(boldMat,
nvecs = length(ilist), cortMask, verbose = FALSE,
cthresh = 25, smoother = 0, positivity = TRUE, its = 10, priors = pr,
priorWeight = 0.15, eps = 0.1
)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.