Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

RWaveletDenoisingOp Class Reference

#include <RWaveletDenoisingOp.hpp>

Inheritance diagram for RWaveletDenoisingOp:

Inheritance graph
[legend]
Collaboration diagram for RWaveletDenoisingOp:

Collaboration graph
[legend]
List of all members.

Detailed Description

Wavelet Denoising via theshold Shrinkage.

Author:
Bernard De Cuyper
Version:
1.1
Date:
30/01/2004
 
Purpose:        Wavelet denoising via shrinkage of wavelet coefficient with soft threshold.
                Wavelet type used is QMF.
                
Source: This is a C++ implementation of original code of Hilton for comparision and integration
            purposes. The original c sources are provided in the originGnuCode directory(included).

Papers: Brownian Process
                R. T. Ogden and E. Parzen, "Change-point approach to data analytic 
                wavelet thresholding", Statistics and Computing, to appear.

                M. L. Hilton and R. T. Ogden, "Data Analytic Wavelet Threshold 
                Selection in 2D Signal De-noising", Technical Report TR9503,
                Department of Computer Science, The University of South Carolina, July, 1995.

                VisuShrink
                D. L. Donoho and I. M. Johnstone, "Ideal spatial adaptation via 
                wavelet shrinkage", Biometrika, Vol. 81, 1994, pp. 425-455.

                SureShrink
                D. L. Donoho and I. M. Johnstone, "Adapting to Unknown Smoothness 
                via Wavelet Shrinkage", Journal of the American Statistical 
                Association, to appear.
                

@ Copyrights: Michael L. Hilton 1995/1995, Department of Computer Science The University of South Carolina Columbia, SC 29208 USA GNU copyright model.

@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2004, Eggs & Pictures. MIT/Open BSD copyright model.


Public Methods

 RWaveletDenoisingOp ()
 RWaveletDenoisingOp (WvltDenoising type, int levels, int waveletId=0)
virtual ~RWaveletDenoisingOp ()
virtual RImagefilter (RImage *src, RImage *dest=0)
 Local full image filtering.

virtual RImageselectedFilter (AnImage *mask, RImage *src, RImage *dest)
 Local filtering in a mask area.

virtual void report (FILE *file)

Protected Methods

void InitializeFilters ()
void BoundingBox (int rows, int cols, int level, int detail, int *left, int *right, int *top, int *bottom)
RImageExtractDetail (RImage *m, int rows, int cols, int level, int detail)
int isDyadic (int x)
int myLog2 (int x)
int power2 (int x)
void bpShrink2D (RImage *data, int rows, int cols, int levels, float alpha)
void sureShrink2D (RImage *data, int rows, int cols, int levels)
void visuShrink2D (RImage *data, int rows, int cols, int levels)
void FwtMatrix (RImage *source, RImage *dest, int rows, int cols, int levels, Filter *lowpass, Filter *hipass)
void IwtMatrix (RImage *source, RImage *dest, int rows, int cols, int levels, Filter *lowpass, Filter *hipass)
void FwtVector (double *source, double *dest, int length, int levels, Filter *lowpass, Filter *hipass)
void IwtVector (double *source, double *dest, int length, int levels, Filter *lowpass, Filter *hipass)

Private Methods

double bpThreshold2D (RImage *data, int rows, int cols, float criticalPt)
void brownianBridge2D (RImage *data, int rows, int cols)
double estimateNoise2D (RImage *data, int rows, int cols)
double sureThreshold (double *data, int n)
void thresholdDetail (RImage *data, int rows, int cols, int level, int detail, double threshold)

Private Attributes

int arg
WvltDenoising algorithm
float alpha
int cols
int rows
double * data
int dimensions
double ** image
int levels
int longest
int maxLevels
int n
int verbose
int wavelet
Filter * flo
Filter * fhi
Filter * ilo
Filter * ihi


Member Function Documentation

RImage * RWaveletDenoisingOp::filter RImage   src,
RImage   dest = 0
[virtual]
 

Local full image filtering.

Parameters:
src  is RImage* is RImage source channel
dest  is RImage* is RImage result/placeholder
Returns :
RImage* as result,

Implements AbsRImageFilter.

virtual RImage* RWaveletDenoisingOp::selectedFilter AnImage   mask,
RImage   src,
RImage   dest
[inline, virtual]
 

Local filtering in a mask area.

Parameters:
mask  is AnImage* is a ByteImage
src  is RImage* is RImage source channel
dest  is RImage* is RImage result/placeholder
Returns :
RImage* as result,

Reimplemented from AbsRImageFilter.


The documentation for this class was generated from the following files:
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com