Multichannel Wavelet Deconvolution with Additive Long Memory
Computes the Wavelet deconvolution estimate of a common signal
present in multiple channels that have possible different levels of blur
and long memory additive error.
mwaved is a set of functions that generalise the waved package for wavelet deconvolution in the Fourier domain. These generalisations are the following extensions:
- Allow a multichannel model where the practitioner has access to multiple channels of data of a common signal of interest.
- Allow additive long memory errors to be present in the multichannel signals (independent between signals but exhibit long memory within each signal)
- Allow a data-driven resolution choice in the presence of box car blur (waved does not have this feature)
The user is encouraged to view the embedded Shiny applet that showcases the mwaved pacakge and importantly lists the appropriate R commands to recreate the output given by Shiny applet. The embedded Shiny applet can be viewed as long as the user has the shiny package installed on their machine and then using R command
The code is also written with the use of the Rcpp package to help use the external C FFTW library to achieve speeds around 8-15 times faster than the usual WaveD package (comparing the performance of a single channel waved code to the same code in the mwaved package with various sample sizes). The relative performance improves as the sample size increases.
The package is being developed at https://github.com/jrwishart/mwaved and any bug reports, comments or suggestions are welcomed at https://github.com/jrwishart/issues
Optional source compilation instructions (currently only tested in Ubuntu, Slackware Linux and Windows 10)
- Ensure you have the FFTW3 libraries installed. For ubuntu this requires
sudo apt-get install libfftw3-dev. For Windows 8 this requires downloading the windows fftw3 binaries and adding the installed directories to your PATH.
- Download and install the package from your favourite CRAN repository. That is, run
install.packages('mwaved') from the R prompt or download the tarball and run
R CMD INSTALL mwaved_1.x.x.tar.gz (where x.x is replaced with the appropriate version name) from the linux terminal.
- Fixed bug in plot code in direct setting using ggplot
- Maintenance update adhering to CRAN policies
- Scripts to have LF (Unix style) line endings.
testthat function calls to be compatible with the new
testthat package. i.e. new
testthat version is backwards incompatible.
- Update maintainer's email address.
- Fixed Makevars.in to adhere to POSIX standard.
- Removed the
require commands from the source code.
Suggests gridExtra in favour of leaner import of a few select functions from the
r-base grid package.
- Cleaned some code to improve readability.
- Added HTML vignette to document the package.
- Added unit tests via the testthat package.
- Fixed plotting errors for smooth resolution method.
- Fixed ggplot labelling issue.
- Fixed bug in coarse coefficient computation in multiWaveD code.
- Added blur detection function, detectBlur, to validate input G matches structure of direct or box.car blur and returns character string 'direct' or 'box.car' respectively, (returns 'smooth' otherwise). This removes the need to specify the blur argument to control inversion type in functions since detectBlur can identify the appropriate inversion required.
- Added resolution argument so that the user can specify the resolution selection method, warnings are thrown if the detectBlur function does not match the desired selection type.
- Slightly tweaked directBlur input arguments to be (n, m) instead of (dim(G)) for consistency between Blur functions.
- Fixed memory leak in multiProj
- Fixed code to ensure windows binary computes j1 correctly
- Changed C code to allow compilation on OSX Snow Leopard (avoid overloaded int in pow statements)
which argument to plot.mWaveD method to specify certain plots to be output.
mwaved 0.9.0 (development)
- Added ggplot2 support as a suggested package (also included a suggestion of gridExtra to help facilitate multiple ggplot outputs on same window)
- Added interactive Shiny applet to showcase the method, can run by calling mWaveDDemo() at R prompt
mwaved 0.2.0 (development)
- Standardised the mWaveD object to contain wavelet coefficients for the empirical and hard-shrinked coefficients both in the format of
waveletCoef objects. Standardises the plotting of such coefficients using the
- Defensively programmed input arguments to avoid infeasible input being processed (throws warnings or errors)
mwaved 0.1.1 (development)
- Proof read and updated documentation and added references.
mwaved 0.1 (development)
- new set of functions included with a
multi prefix that handle Multichannel deconvolution using the WaveD paradigm.
- plot and summary methods for the
mWaveD objects created by the
- Added a
waveletCoef object with a
plot method to help ease plotting of wavelet coefficients.
- included simulation functions using a
make prefix (including LIDAR, Doppler, Blocks, Bumps and Cusp).
blurSignal functions to help ease simulation.