News, Events & Directories Tools CAM Tools

University of St. Thomas Center for Applied Mathematics

DiscreteWavelets

Mathematica

DiscreteWavelets is available in two versions. Version 6.0 is compatible with Mathematica 6.0 and can easily be made compatible with Mathematica 7.0 while Version 5.2 is compatible with Mathematica versions 4.0 through 5.2.

Download

Installation Instructions

  1. Download the appropriate version of DiscreteWavelets and save the zip file to a convenient place on your computer.

  2. Open Mathematica. If you have administrator privileges and wish to install the package for all users, type $BaseDirectory . If you only want to install the package for your own account or do not have administrator privileges, type $UserBaseDirectory. Make a note of the name of the directory in either case. Leave Mathematica open.

  3. Unzip the zip file in the Applications directory that is contained in the directory you found in the previous step.

  4. If you are installing DiscreteWavelets for Mathematica 4.0-5.2, go to Help and click on Rebuild Help Index. If you are installing the package for Mathematica 6.0, omit this step.

  5. If you are installing DiscreteWavelets for Mathematica 4.0-5.2, go to the Help Browser and click on the AddOns & Links tab. Scroll down the list on the left. If DiscreteWavelets appears as an option, you have successfully installed the package.

  6. If you are installing DiscreteWavelets for Mathematica 6.0, go to the Help and click on Documentation Center. Scroll down the page and on the lower right, click on the link for Installed Add-Ons. If DiscreteWavelets appears here, you have successfully installed the package.

  7. If you are installing DiscreteWavelets for Mathematica 7.0, go to Help and click on Function Navigator. Then click on the bottom item Add-Ons & Packages. Then click on Add-Ons. If DiscreteWavelets appears in the list of Add-Ons, then you have successfully installed the package.

  8. To load the package in Mathematica 4.0 - 6.0, open a Mathematica notebook and execute the command

    <<Discretewavelets`DiscreteWavelets`

  9. To load the package in Mathematica 7.0, open a Mathematica notebook and execute the commands

    Unprotect[Entropy]
    <<Discretewavelets`DiscreteWavelets`
    Mathematica 7.0 has added a function named Entropy and this conflicts with the Entropy function in the DiscreteWavelets package. Understand by executing the two lines above, you are disabling the Mathematica 7.0 Entropy function.

Known Issues

  1. Version 6.0: If the Version 6.0 DiscreteWavelets package is installed with Mathematica 7.0, then there is a conflict between the Entropy function newly defined in Mathematica 7.0 and the Entropy function defined in the DiscreteWavelets package. You can avoid this conflict by loading the package as described in Step 9 of the Installation Instructions above.
  2. Version 6.0: Inside the DiscreteWavlets folder, there is a folder named Images. Inside this folder is a folder named Grayscale. The package searches for a folder named GrayScale , so you must rename it so that you do not incur errors when using ImageList, ShowThumbnails, or ImageNames. PC directories are case-insensitive, so there is no issue. The folder name will be fixed in the next release of DiscreteWavelets.

  3. Version 6.0: For Mac users who are having problems with ImageNames. The function ImageNames has a faulty variable. The fix fortunately is easy. Open the file DiscreteWavelets.m. This file is located in the Applications folder in the path of either $BaseDirectory or $UserBaseDirectory (depending on where you installed the package. Do a search for ImageNames[. This gets you to the ImageNames function. About five lines below ImageNames[ you will see the line
    f = basedir<>"\\Applications\\..."
    You need to change the \\ to / in each of the three places where they occur. Save the file, quit the kernel, and then reload the package. ImageNames should now work fine.

  4. Version 6.0: The file MyDiscreteWavelets.m was omitted from the distribution. Click here to get it. Save this file in the same folder that holds the file DiscreteWavelet.m. (In Mathematica, type either $BaseDirectory or $UserBaseDirectory to find the root directory. Once you have identified this directory, go to the Applications/DiscreteWavelets subfolder.

Help

Once you have successfully installed DiscreteWavelets, documentation is available.

  • Open Mathematica and go to Help.

  • If you are using Mathematica 7.0, click on Help and then Function Navigator. Then click on the bottom item Add-Ons & Packages. Then click on Add-Ons. DiscreteWavelets will appear as a list item. Click on it to get to the documentation.

  • If you are using Mathematica 6.0, click on Documentation Center and on the lower right part of the page, click on Installed Add-Ons and then DiscreteWavelets.

  • If you are using Mathematica 4.0-5.2, click on Help Browser and then the Add-ons & Links. Scroll down the menu on the lower left until you find DiscreteWavelets.

Wavelet transformations, filter routines, and other tools are documented in the notebook TransformsTools.nb while Visualization.nb contains documentation for modules that allow the user to visualize/hear input and their transformations. Finally, the notebook Applications.nb gives several applications of discrete wavelet transformations.

New in Version 6.0

There have been several changes made to DiscreteWavelets Version 6.0:

Compatibility with Mathematica 6.0

All modules have been revised so that they now incorporate new (or revised) Mathematica 6.0 functions. Functions from Mathematica 5.2 that are now obsolete in Mathematica 6.0 have been removed from this version of DiscreteWavelets. Thus, this version of DiscreteWavelets will not generally work well if loaded by Mathematica 5.2.

Revised Module: ImageNames

The ImageNames module no longer allows the user the option of displaying thumbnails of the images available for use with DiscreteWaveletsPackage. The directive Thumbnails is obsolete for this version of the module. The new module ShowThumbnails can be used instead to display thumbnails.

New Module: ShowThumbnails

The new module ShowThumbnails allows the user to display all grayscale image and/or color images that are available with DiscreteWaveletsPackage. The user can chose to display all images in a grid or display them one at a time as a slide show.

Revised Module: HuffmanTree

The HuffmanTree module has been overhauled and is now much more efficient at displaying Huffman codes. The user now has control of size, color, and fonts for nodes as well as the size of tree branches.

Revised Module: WaveletVectorPlay

The WaveletVectorPlay module has been rewritten so that the output is organized in a more logical manner.

New Modules for Denoising Applications

A number of new modules have been added for use in denoising applications:
  • TestSparseness
    This module can be used to test an input vector or matrix for sparseness (see Section 9.3 of the text) and returns the proper tolerance value.

  • NoiseEstimate
    This module takes an input vector or matrix and an orthogonal wavelet filter and returns an estimate of the noise level contained in the input.

  • UniversalThreshold
    This module computes the Universal Threshold tolerance for use in the VisuShrink method (see Section 9.2).

  • WaveletShrinkage
    This module takes an input vector or matrix, an orthogonal wavelet filter, a tolerance, and the number of iterations of the discrete wavelet transformation to be performed, and returns a de-noised version of the input.

  • SureShrink
    This module takes an input vector or matrix, an orthogonal wavelet filter, and the number of iterations of the discrete wavelet transformation to be performed, and uses the SureShrink method (see Section 9.3) to return a de-noised version of the input.

More Error Handling

Many of the modules have been augmented with checks on input values. In several cases, even if an input value is not of the correct format, the module still returns an output that should allow for more continuous flow of a number of commands in the same cell. For example, the commands

A=ImageRead[filename]
ImagePlot[A]

will not crash if ImageRead cannot find filename. Instead it returns the 2x2 zero matrix and an error message. ImagePlot will plot this matrix - it is not the correct output but at least there is not the long lines of error code that ImagePlot would otherwise produce.

We make no claims that all bad input values have been anticipated and every guarantee that with a small amount of work, code can be written that will crash the notebook!

WAVELETS HOME


WORKSHOPS

BOOKS

SOFTWARE

COURSE MATERIALS

CAM HOME


UST MATHEMATICS


WAVELET LINKS


ADMINISTRATION

Close

CAM Tools

Search the CAM website here; type your query, then wait for results. For full results, press "enter."



Close