| # 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 an image which should be smoothed (this image will be shown in the second display entitled "ORIGINAL")
| 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.
| Automatically restart calculation if a parameter has been changed (only restarts the relevant parts of the calculation while the start button always restarts the whole calculation).
| Abort rendering (only active while rendering) - hopefully you do not need this too often... :-)
| 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 (signal-values >= this value will be weighted by 1.0)
| Max. delta for the slective blur filter
| Radius for the slective blur filter
| 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

| Size of tiles (this must be a power of 2). Each tile is filtered separately.
| Overlap of tiles

| View Parameters |

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 |

- There might be problems with very large image files: either a message is displayed in the region where normally the image is displayed, or the image just is not visible (both seems to me to be a bug in SWT). In both cases you could proceed as normal - you just cannot see the images.
  Workarounds:

- Save the image and display it with another viewer
- Scale the image down
- Cut the image into smaller parts and work on these parts (a good idea is to use overlapping parts, which makes it much easier to recreate the big image without nasty edges)

###

| 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:

- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- The names of its contributors may not be used to endorse or promote products derived from this software without specific prior written permission.

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.