hft: hft

hftR Documentation

hft

Description

Performs the (forward) Haar-Fisz transform.

Usage

hft(data)

Arguments

data

A vector of Poisson counts, its length must be a power of 2

Details

The Haar-Fisz for Poisson works, roughly speaking, by taking the Haar wavelet transform of data. Then dividing the mother wavelet coefficients by the respective father coefficients, and replacing the results of the divisions back into the same coefficient locations, and then carrying out an inverse Haar wavelet transform. This produces a nearer-Gaussian variance stabilized version of the original (or a version of the underlying intensity which is close to an 'intensity PLUS homogeneous Gaussian noise' signal, which is easier to denoise using ‘standard’ methods.

The inverse transform is hft.inv

Value

The Haar-Fisz transform of data, which will be the same length as data.

Author(s)

Piotr Fryzlewicz

References

Fryzlewicz, P. and Nason, G.P. (2004) A Haar-Fisz algorithm for Poisson intensity estimation. Journal of Computational and Graphical Statistics, 13, 621-638. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1198/106186004X2697")}

See Also

denoise.poisson, hft.inv, hf.bt, hf.cv, hf.u, hf.tiu

Examples

#
# Generate Poisson data, half with one intensity, and half with a larger one
#
v <- c( rpois(64, lambda=1), rpois(64, lambda=10))
#
# Plot it to note that the variation is bigger in the second half
# (and the mean, but this is not important for this bit)
#
ts.plot(v)
#
# Now do the Haar-Fisz transform
#
vhft <- hft(v)
#
# Now plot this, and see that the variance of the second bit is now comparable
# to the first
#
ts.plot(vhft)

haarfisz documentation built on Sept. 1, 2023, 5:07 p.m.