hft {haarfisz} | R 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. 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)