R: vector valued version of function 'paws' with homogeneous...

vpaws {aws} | R Documentation

## vector valued version of function `paws` with homogeneous covariance structure

### Description

The function implements a vector-valued version the propagation separation approach that uses patches instead of individuel voxels for comparisons in parameter space. Functionality is analog to function `vaws`. Using patches allows for an improved handling of locally smooth functions and in 2D and 3D for improved smoothness of discontinuities at the expense of increased computing time.

### Usage

    vpaws(y, kstar = 16, sigma2 = 1, invcov = NULL, mask = NULL, scorr = 0, spmin = 0.25,
          ladjust = 1, wghts = NULL, u = NULL, patchsize = 1)
    vpawscov(y, kstar = 16, invcov = NULL, mask = NULL, scorr = 0, spmin = 0.25, ladjust = 1,
          wghts = NULL, u = NULL, maxni = FALSE, patchsize = 1)
    vpawscov2(y, kstar = 16, invcov = NULL, mask = NULL, scorr = 0, spmin = 0.25,
          lambda = NULL, ladjust = 1, wghts = NULL, patchsize = 1,
          data = NULL, verbose = TRUE)

### Arguments

`y` | `y` can be a full array of vector valued data, or, if `mask` is provided, be a matrix with columns corresponding to points/pixel/voxel within the mask. In the first case `dim(y)` determines the dimensionality and extend of the grid design, in the second case tis information is obtained from the dimensions of `mask`. the first component varies over components of the response vector.
`kstar` | maximal number of steps to employ. Determines maximal bandwidth.
`sigma2` | specifies a homogeneous error variance.
`invcov` | array (or matrix) of voxelwise inverse covariance matrixes, first index corresponds to upper diagonal inverse covariance matrix.
`mask` | logical mask. All computations are restrikted to design poins within the mask.
`scorr` | The vector `scorr` allows to specify a first order correlations of the noise for each coordinate direction, defaults to 0 (no correlation).
`spmin` | determines the form (size of the plateau) in the adaptation kernel. Not to be changed by the user.
`ladjust` | factor to increase the default value of lambda
`wghts` | `wghts` specifies the diagonal elements of a weight matrix to adjust for different distances between grid-points in different coordinate directions, i.e. allows to define a more appropriate metric in the design space.
`u` | a "true" value of the regression function, may be provided to report risks at each iteration. This can be used to test the propagation condition with `u=0`
`patchsize` | positive integer defining the size of patches. Number of grid points within the patch is `(2*patchsize+1)^d` with `d` denoting the dimensionality of the design.
`maxni` | require growing sum of weights
`lambda` | explicit value of lambda
`data` | optional vector-valued images to be smoothed using the weighting scheme of the last step
`verbose` | logical: provide information on progress.

### Details

see `vaws`. Parameter `y` The procedure is supposed to produce superior results if the assumption of a local constant image is violated or if smooothness of discontinuities is desired.

Function `vpawscov2` is intended for internal use in package `qMRI` only.

### Value

function `vpaws` returns returns an object of class `aws` with slots

`y = "numeric"` | y
`dy = "numeric"` | dim(y)
`x = "numeric"` | numeric(0)
`ni = "integer"` | integer(0)
`mask = "logical"` | logical(0)
`theta = "numeric"` | Estimates of regression function, `length: length(y)`
`hseq = "numeric"` | sequence of bandwidths employed
`mae = "numeric"` | Mean absolute error for each iteration step if u was specified, numeric(0) else
`psnr = "numeric"` | Peak signal-to-noise ratio for each iteration step if u was specified, numeric(0) else
`var = "numeric"` | approx. variance of the estimates of the regression function. Please note that this does not reflect variability due to randomness of weights.Currently also uses factor `1/ni` instead of the correct `sum(wij^2)/ni^2`
`xmin = "numeric"` | numeric(0)
`xmax = "numeric"` | numeric(0)
`wghts = "numeric"` | numeric(0), ratio of distances `wghts[-1]/wghts[1]`
`degree = "integer"` | 0
`hmax = "numeric"` | effective hmax
`sigma2 = "numeric"` | provided or estimated error variance
`scorr = "numeric"` | scorr
`family = "character"` | family
`shape = "numeric"` | shape
`lkern = "integer"` | integer code for lkern, 1="Plateau", 2="Triangle", 3="Quadratic", 4="Cubic", 5="Gaussian"
`lambda = "numeric"` | effective value of lambda
`ladjust = "numeric"` | effective value of ladjust
`aws = "logical"` | aws
`memory = "logical"` | memory
`homogen = "logical"` | homogen
`earlystop = "logical"` | FALSE
`varmodel = "character"` | "Constant"
`vcoef = "numeric"` | numeric(0)
`call = "function"` | the arguments of the call to `aws`

If `y` contained only information (condensed data) for positions within a mask, then the returned object only contains results for these positions.

### Note

use `setCores='number of threads'` to enable parallel execution.

### Author(s)

Joerg Polzehl, polzehl@wias-berlin.de, http://www.wias-berlin.de/people/polzehl/

### References

J. Polzehl, K. Tabelow (2019). Magnetic Resonance Brain Imaging: Modeling and Data Analysis Using R. Springer, Use R! series. Appendix A. Doi:10.1007/978-3-030-29184-6.

J. Polzehl, K. Papafitsoros, K. Tabelow (2020). Patch-Wise Adaptive Weights Smoothing in R, Journal of Statistical Software, 95(6), 1-27. doi:10.18637/jss.v095.i06 (URL: http://doi.org/10.18637/jss.v095.i06).

### See Also

See also `vaws`, `lpaws`, `vawscov`,`link{awsdata}`

### Examples

    ## Not run:
    setCores(2)
    y <- array(rnorm(4*64^3),c(4,64,64,64))
    yhat <- vpaws(y,kstar=20)

    ## End(Not run)

[Package aws version 2.5-1 Index]