spatialbayesianlm.Rd
Take a standard lm result and use bayesian regression to impose spatial regularity.
spatialbayesianlm( mylm, ymat, mask, smth = 1, priorWeight = 1, nhood = NA, regweights = NA, smoothcoeffmat = NA )
mylm | standard lm result of the form mylm<-lm(ymat~.) |
---|---|
ymat | outcome matrix - usually from imaging data |
mask | mask with non-zero entries n-columns of ymat |
smth | smoothness parameter |
priorWeight | weight on the prior |
nhood | size of neighborhood |
regweights | weights on rows - size of ymat |
smoothcoeffmat | prior coefficient matrix |
bayesian regression solution is output as a list of images
Avants BB
# make some simple data if (FALSE) { if (!exists("fn") ) fn<-getANTsRData("pcasl") asl<-antsImageRead(fn) tr<-antsGetSpacing(asl)[4] aslmean<-getAverageOfTimeSeries( asl ) aslmask<-getMask(aslmean,lowThresh=mean(aslmean),cleanup=TRUE) pcaslpre <- aslPerfusion( asl, dorobust=0, useDenoiser=NULL, skip=1, useBayesian=0, moreaccurate=0, verbose=T, mask=aslmask ) # user might compare to useDenoiser=FALSE pcasl.parameters <- list( sequence="pcasl", m0=pcaslpre$m0 ) aslmat<-timeseries2matrix(asl,aslmask) tc<-as.factor(rep(c("C","T"),nrow(aslmat)/2)) dv<-computeDVARS(aslmat) perfmodel<-lm( aslmat ~ tc + stats::poly(dv,4) ) # standard model ssp<-spatialbayesianlm( perfmodel, aslmat, aslmask, priorWeight=1.e2 ,smth=1.6, nhood=rep(2,3) ) plot( ssp[[1]], slices="2x16x2", axis=3 ) }