Discrete Wavelet Smoother
GUI Help Page



Version

First of all: This is free software - see License.
Second: This is a beta version! Please do not expect it to be free of bugs...
Help me to improve the software by reporting bugs, possible improvements, etc. to: <rammelt@cs.tu-berlin.de>.



Loading / Smoothing / Saving Images

This part describes what are the minimum steps to create an image:
Load
Load an image which should be smoothed (this image will be shown in the second display entitled "ORIGINAL")
Start
                          calculation
Start smoothing. A progress bar will appear on the first image display (entitled "SMOOTHED"). When calculation finished succesfully the progress bar will disappear and the smoothed image will be shown instead.
Start
                          calculation Automatically restart calculation if a parameter has been changed (only restarts the relevant parts of the calculation while the start button Start
                          calculation always restarts the whole calculation).
Abort
                          calculation
Abort rendering (only active while rendering) - hopefully you do not need this too often... :-)
Save
                          image
Save the image. Supported formats are: PNG (supports transparency), JPEG (doesn't support transparancy)



DWT Parameters

This section does not describe the parameters in any detail. For more information please refer to the section "Brief Introduction to DWT-Smoothing" and to <http://user.cs.tu-berlin.de/~rammelt/wavelets/> (in german).



Filter-Selection

A filter could be choosen. Until now there are two different filters ("Debauchy 9/7" and "Filter 5/3"). The differences between those two for the smoothing algorithm are marginal.



DWT / Blur
100% level
100% level (signal-values >= this value will be weighted by 1.0)
max. delta
Max. delta for the slective blur filter
radius
Radius for the slective blur filter
levels Number of levels of the DWT-filtered signal the selective blur filter is applied
A value <= 0 means max. possible number of levels plus that (negative!) value.
Applying selective blur filtering to more than 1 or two levels normally results in nasty effects - so you probably do not want to use a value of 0 here! If you want to switch off the selective blur filter set the value for max. delta and/or radius to zero.


Tiling
tile-size
Size of tiles (this must be a power of 2). Each tile is filtered separately.
tile-overlap
Overlap of tiles



View Parameters

Zoom
zoom
Zoom factor. This doesn't affect the actual size of the image (e.g. if it is saved on disk). It just effects the size of the displayed image!


A Brief Introduction to DWT-Smoothing

Discrete wavelet filtering is reversible (provided that reversible filters are used), i.e. we can "analyze" a signal by the so called analyzing filtering process and we could reconstruct the original image from the filtered signal by a so called synthesizing filtering process. Filtering could be done in a multi-level way, where only the resultig lowpass-part of one level of filtering is filtered again. When filtering images (i.e. a 2D signal) this is done in an alternating fashion on rows and columns of the lowpass-part of the image.

Anylizing filtering of an image

original
row filtered
left:  level-1-lowpass
right: Level-1-highpass
columns filtered
top: level-2-lowpass
bottom: level-2-heighpass
...two more levels
of filtering done

Synthezing filtering of an image

...
Outcome of the
multilevel analyzing filtering
multilevel
synthesizing filtering
before the last level
of synthesizing filtering
reconstructed
original image

Separate noise from good information

The main idea is to find information that is present in some levels of the highpass filtered signal only. It is likely that such information is just noise which should be removed from the image. "Good" information on the other hand should be present in multiple subsequent levels of the highpass filtered signal. A parameter called 100%-level determines how strong a signal must be to be weighted by 1.0.

original weights cumulated noise
(over multiple levels)
original minus noise

Multilevel selective blur filtering

In the area of sharp edges the noise reduction is suboptimal because the above algorithm creates bigger areas of high weights around those edges (see image "weights" above). Therefor it makes sence to add an selective blur filter to at least the last level of the synthesized signal. Such a filter uses a max. delta and radius. All points inside of that radius around a point p which do not differ more than the given max. delta from the value of p are used to create an average value, which in turn is used as the new value for point p.

DWT-smoothed +
selective blur filter
applied to levels 0 and 1
DWT-smoothed +
selective blur filter
applied to levels 0-3
DWT-smoothed +
selective blur filter
applied to levels 0-7


Known Bugs and Problems



License

Copyright (c) 2009, Patrick Rammelt
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.