Software and Images
(Sparse Image & Signal Processing, 2nd Edn.)

Software Source Code and Data from the First Edition

  1. All information and data from the first edition are in the following, so that, if used previously, use can be continued. Note that the first edition web page is named software.html, and this second editon web page is named software-NEW.html.
  2. Open a new web page.

Chapter 2, The Wavelet Transform, Guided Numerical Experiments

  1. WaveLab 850, Matlab functions for wavelet analysis. Link to WaveLab 850 site. See too for Lena and Einstein images.
  1. cwtdemo.m, demo of the Continuous Wavelet Transform using a 1D signal. Matlab code from section 2.9.2.
  2. dwtdemo.m, demo of the 2D biorthogonal Discrete Wavelet Transform. Matlab code from section 2.9.3.
  3. wpdemo.m, demo of the 2D wavelet packet transform. Matlab code from section 2.9.4.

  4. Note: in sect391.m, the function FWT2_T1 uses the function CircularShift. If using WaveLab805 toolbox files, this does not exist, although it is in WaveLab802. To help in case of it not being available, this is it: CircularShift.m

Chapter 3, Redundant Wavelet Transform, Guided Numerical Experiments

  1. IDL Astronomical User Library. Link to IDLAstro site. See inter alia for FITS image format reading and writing.
  2. Images.
    1. einstein.bmp, Einstein image (bmp format).
    2. ngc2997.png, image of galaxy NGC 2997 (png format).
    3. HaleBopp256.fits, Hale-Bopp image (fits format).
    4. opthalmic.png, ophthalmology image (png format).
  3. IDL code. (The files have extension .pro.txt. Once downloaded, remove the .txt, to leave them as .pro.
    1. star1d.pro, starlet transform of a 1D signal.
    2. istar1d.pro, 1D signal reconstruction from its starlet transform.
    3. star2d.pro, starlet transform of a 2D image.
    4. istar2d.pro, 2D image reconstruction from its starlet transform.
    5. umt_ex.pro, simulate a 1D signal, add noise, and perform a starlet transform, a multiscale median transform and a median-wavelet transform on it.
    6. star_ex.pro, demo of transforms with the NGC 2997, Hale-Bopp and ophthalmology images.
    7. star2d_drc.pro, dynamic range compression using the starlet transform of an image.
      1. Denoising by UWT, undecimated wavelet transform. Matlab code from section 3.8.1.
      2. Dynamic range compression using the starlet transform. IDL code from section 3.8.2.

    Chapter 4, Nonlinear Multiscale Transforms, Guided Numerical Experiments

    IDL code. Once downloaded, rename these .pro.txt files to be of extension .pro.
    1. umt1d.pro, undecimated median transform of a 1D signal.
    2. umt2d.pro, undecimated median transform of a 2D image.
    3. Starlet, multiscale median, and median-wavelet transforms. IDL code from section 4.5.1.
    4. glitch.fits, image used in Fig. 4.3 (fits format). ISOCAM infrared spectrum, with cosmic ray impacts, called "glitches".

    Chapter 5, Multiscale Geometric Transforms, Guided Numerical Experiments

    1. CurveLab, Curvelet Transform in Matlab. (Link to curvelet.org site.)
    2. For WaveLab 850, Matlab code for wavelet analysis, see Chapter 2 above.

    3. Matlab code comparing DCTG2 and UWT, the Second Generation Discrete Curvelet Transform and the Undecimated Wavelet Transform (Matlab code from section 5.6.2)

    4. Matlab code for denoising using DCTG2, Second Generation Discrete Curvelet Transform (Matlab code from section 5.6.3)

    Chapter 6, Sparsity and Noise Removal, Guided Numerical Experiments

    1. DBlockToolbox100, a collection of Matlab programs that implements 2D block denoising under Gaussian noise. (Gzipped, tar file, for expansion when downloaded.)

    2. ImageJ, Image Processing and Analysis in Java site at the National Institutes of Health, for image used in Fig. 6.8.

    3. Matlab code discussed in section 6.7.1: the script Scripts/blockgenfigvisual.m available in the DBlockToolbox100.

    4. den2dTIdemo.m, translation-invariant denoising by the UWT and DWT.

    5. den2dfdctdemo.m, denoising by the DCTG2 and UWT.

    Chapter 7, Linear Inverse Problems, Guided Numerical Experiments

    1. SplittingSolvers (new for this 2nd edition of the book; file name SplittingSolvers.tgz), a collection of Matlab programs that implements proximal splitting algorithms for solving regularized linear inverse problems.

    2. Matlab code discussed in section 7.8.1: the script in the SplittingSolvers toolbox:
      1D/Demos/testsSparseApproxSynthesis1D.m

    3. Matlab code discussed in section 7.8.2: the script in the SplittingSolvers toolbox:
      1D/Demos/testsSparseSpikeDeconv1D.m

    Chapter 8, Morphological Diversity, Guided Numerical Experiments

    1. MCALab, Signal and Image Decomposition and Inpainting. (Link to MCALab site.) For architecture of the MCALab Package, see section 8.8.1.

    2. All figures in the book in sections 8.6.3 and 8.6.4 (texture and cartoon separation), 8.7.3.1 (inpainting) and 8.8.2 (the cleaning of an EEG signal from fMRI magnetic resonance contamination can be reproduced using the MCALab software. Refer to Tables 8.1 and 8.2 for the parameters used in creating the figures.

    Chapter 9, Sparse Blind Source Separation, Guided Numerical Experiments

    1. GMCALab100, a collection of Matlab programs that implements Generalized Morphological Component Analysis for sparsity-regularized multichannel signal/image bind source separation. (Gzipped, tar file, for expansion when downloaded.)

    2. Matlab code discussed in section 9.6.2: the script sparse_noisy_examples.m in the GMCALab package.

    Chapter 10, Dictionary Learning

    [Section 10.5, Guided Numerical Experiments - to be posted soon.]

    Chapter 11, Three-Dimensional Sparse Representations

    1. See http://www.cosmostat.org/software.html for these codes.
      1. MSVST-lab: Matlab code for Sparse representation-based image deconvolution with Poisson noise.
      2. Fast 3-D Curvelets: Matlab code for 3-D Fast curvelets.

    Chapter 12, Multiscale Geometric Analysis on the Sphere, Guided Numerical Experiments

    1. HEALPix, Hierarchical Equal Area Isolatitude Pixelization.
      1. HEALPix software for pixelization, hierarchical indexation, synthesis, analysis, and visualization of data on the sphere. (Link to sourceforge.net site.)
      2. HEALPix home page. (Link to healpix.jpl.nasa.gov site.)
    2. MRS: Multi-Resolution on the Sphere, IDL software and documentation. (Link to external site.)
    3. Images.
      1. Image mars_topo_mola_hpx_128.fits, Mars image. (For FITS image format handling, see IDL Astro library under Chapter 3 above.)
      2. Image earth_healpix_128.fits, earth image. (FITS format.)
      3. Image sync_res128.fits, synchrotron image. (FITS format.)
    4. IDL code is used in this chapter.

      1. sect12-11-2.pro.txt. Undecimated wavelet transform on the sphere. IDL code from section 12.11.2.
      2. sect12-11-3.pro.txt. Pyramidal wavelet transform on the sphere. IDL code from section 12.11.3.
      3. sect12-11-3-1.pro.txt. Denoising on the sphere using wavelet, curvelet and combined transforms, IDL code from section 12.11.3.1.
    5. Software for different transforms, available at http://www.cosmostat.org/software.html.
      1. Fast 3-D-Curvelets: Matlab code for 3-D Fast curvelets.
      2. 3DEX: a code for Fast Fourier-Bessel Decomposition of Spherical 3-D Survey.
      3. MRS3D: 3-D Spherical Wavelet Transform on the Sphere.
      4. MS-VSTS: Multi-Scale Variance Stabilizing Transform on the Sphere.
    6. Other software resources.
      1. http://www.flaglets.org. For the flaglet wavelet transform on the ball.
      2. http://www.curvelet.org. For the Curvelab Matlab/C++ toolbox implementing the Fast Discrete Curvelet Transform.

    Chapter 13, Compressed Sensing, Guided Numerical Experiments

    1. See the SplittingSolvers Matlab package used in Chapter 7.

    2. The following are discussed in section 13.6.

    3. 1D/Demos/testsCSPhaseTransition.m -- results in Table 13.1.

    4. 2D/Demos/testsCSImplicitSynthesisMondrian2D.m -- used with Mondrian image in Fig. 13.6.

    End