Fractional Wavelet Module (2D or 3D)

Experiment the fractional spline wavelets on your images with the plug-in of the public-domain software ImageJ.
Installation: First, you have to get a copy of ImageJ at the download page of ImageJ web site. Next, you place the unzipped version of our software in the plugins folder of ImageJ. The whole process should not take more than a couple of minutes. ImageJ runs on several plateforms: Unix, Linux, Windows, Mac OS 9 and Mac OS X.

Important note: You are free to use this software for research purposes, but you should not redistribute it without our consent. In addition, we expect you to include adequate citations and acknowledgments whenever you present or publish results that are based on it.

References:
bullet
M. Unser, T. Blu, "Fractional Splines and Wavelets," SIAM Review, vol. 42, no. 1, pp. 43-67, March 2000.
bullet
T. Blu, M. Unser, "The Fractional Spline Wavelet Transform: Definition and Implementation," Proceedings of the Twenty-Fifth IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP'00), Istanbul, Turkey, June 5-9, 2000, vol. I, pp. 512-515.
bullet
T. Blu, M. Unser, "A Complete Family of Scaling Functions: The (α, τ)-Fractional Splines," Proceedings of the Twenty-Eighth IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP'03), Hong Kong SAR, People's Republic of China, April 6-10, 2003, in press.
bullet
Authors: This plug-in was implemented by Gil Gaillard, Daniel Sage, Dimitri Van De Ville and Emilio Casanova.
Contact: daniel.sage@epfl.ch

Open an image or image sequence

The Wavelet Module plug-in for ImageJ works both with images 2D and with and image stacks.

  • Open an image or image sequence using the standard menu of ImageJ: File->Open...
  • Click on the image frame to put it in focus and then start the plug-in by selecting: Plugins->Fractional Spline Wavelet->Wavelet Module
  • Now the plug-in is started and all operations will be done on the image or image sequence that was last in focus

Functioning of the Wavelet Module 3D plug-in

  • The plug-in operates in three steps:
    1. Analysis: computes the forward discrete wavelet transform for orthogonal and bi-orthogonal spline wavelets
    2. Processing: performs an operation in the wavelet domain
    3. Synthesis: computes the inverse discrete wavelet transform
  • For each step, one can choose to produce an intermediate output by enabling the checkbox "Output"
  • The steps can be done all at once by clicking "Run all steps", or "Run step : xxx"

When the image dimensions are not powers of two, an "Image size control" window allows you to crop or extend the original image dimensions. If the size is not a power of two, the algorithm still works but the processing will be very slow.

Step 1 - Discrete Wavelet Transform: Analysis side

The complete family of (bi)-orthogonal spline wavelets with fractional degree (α) and arbitrary shift (τ) is available in this plug-in

  • Filter: orthonormal (filters for analysis and synthesis are equal), biorthogonal (B-spline at the analysis or the synthesis side, the dual the other way around);
  • Iterations: can be selected independently for each of the three dimensions; if one selects 0, no transform in this dimension will be done;
  • Degree: the fractional degree of the spline can be selected, for Haar wavelets select degree 0.0 and shift 0.50;
  • Shift: the shift of the spline function (0.0 results into symmetrical filters).

To explore the family of wavelets and scaling functions available, we refer to the Wavelet Transform plug-in.

Step 2 - Processing

To show some example of typical processing performed in the wavelet domain, we have included several 3D versions of popular algorithms:

  • Bypass: no processing
  • Hard threshold: puts coefficients whose absolute value is below the "Threshold" to zero
  • Soft threshold: same as "Hard threshold", but compensates the offset at the threshold position
  • Enhancement: enhances the lowest subband by "Factor"
  • Rescale: rescales the coefficients of each subband to make them visually easier to interpret

Step 3 - Inverse Discrete Wavelet Transform: Synthesis side

The final step reconstructs the (processed) image or image sequence using the same settings as the analysis side

Adding functionality to the 3D Wavelet Module

You can program your own processing algorithm (that will be executed when you select "Your processing here" in the dialog box) by modifying and compiling the source file CoefProcessing.java. More details can be found in this file.