Fast Finite Shearlet Transform: a tutorial
- 1 Introduction
- 2 Closer Look at the Continuous Shearlet Transform in
3 Fast Computation of the Finite Discrete Shearlet Transform
- 3.1 Finite Discrete Shearlets
- 3.2 A Discrete Shearlet Frame
- 3.3 Inversion of the Shearlet Transform
- 3.4 Smooth Shearlets
- 3.5 FFST: Fast Finite Shearlet Transform
- 3.6 Performance
- 3.7 Remarks
- 3.8 Complex Shearlets
Directional multiscale representation of images to address curved singularities has received much attention in harmonic analysis in the last 25 years. In particular, shearlets  and curvelets  provide an optimally sparse approximation of carton-like images, that is
where is the nonlinear shearlet approximation of a function from this class obtained by taking the largest shearlet coefficients in absolute value. Shearlets possess a uniform construction for both the continuous and the discrete setting. They further stand out since they stem from a square-integrable group representation  and have the corresponding useful mathematical properties. Moreover, similarly as wavelets are related to Besov spaces via atomic decompositions, shearlets correspond to certain function spaces, the so-called shearlet coorbit spaces .
Figure 1 illustrates the directional information contained in the shearlet coefficients. Shearlets have been applied to a wide field of image processing tasks, e.g., denoising [10, 6], inversion of the Radon transform [3, 8], inverse halftoning , deconvolution , geometric separation , inpainting  and many more. A detailed summary can be found in . In  the authors show how the directional information encoded by the shearlet transform can be used in image segmentation. To this end, we introduce a simple discrete shearlet transform which translates the shearlets over the full grid at each scale and for each direction. Using the FFT this transform can be still realized in a fast way.
This tutorial explains the details behind the Matlab-implementation of the transform and shows how to apply the transform. The software is available for free under the GPL-license at
In analogy with other transforms we named the software FFST—Fast Finite Shearlet Transform. The package provides a fast implementation of the finite (discrete) shearlet transform.
For shearlets there are currently three toolboxes available. They are
- Local Shearlet Toolbox11footnotemark: 1
developed by Easley, Labate and Lim. This was the first shearlet implementation, for details see .
- ShearLab33footnotemark: 3
- Fast Finite Shearlet Transform (FFST)55footnotemark: 5
Recall that the Fourier transform and the inverse transform are defined by
This tutorial is organized as follows: In Section 2 we introduce the continuous shearlet transform and prove the properties of the involved shearlets. We follow in Section 3 the path via the continuous shearlet transform, its counterpart on cones and finally its discretization on the full grid to obtain the translation invariant discrete shearlet transform. This is different to other implementations as, e.g., in ShearLab, see . Our discrete shearlet transform can be efficiently computed by the fast Fourier transform (FFT). The discrete shearlets constitute a Parseval frame of the finite Euclidean space such that the inversion of the shearlet transform can be simply done by applying the adjoint transform. The second part of the section covers the implementation and installation details and provides some performance measures.
2 Closer Look at the Continuous Shearlet Transform in
In this section we combine some mostly well-known results from different authors. To make this tutorial self-contained and to obtain a complete documentation we also include the proofs. The functions are taken from [25, 24]. The construction of the shearlets is based on ideas from  and . The shearlet transform and the concept of shearlets on the cone were introduced in .
2.1 Some Functions and their Properties
To define usable shearlets we need functions with special properties. We begin with defining these functions and prove their necessary properties. The results will be used later.
We start by defining an auxiliary function as
As we will see, the useful properties of for our purposes are its symmetry around and the values at and with increase in between. A plot of is shown in Figure ((a))(a).
Next we define the function with
Note that is symmetric, positive, real-valued and . We further have that . A plot of is shown in Figure ((b))(b).
Because of the symmetry we restrict ourselves in the following analysis to the case . Let , , thus, and . Observe that is increasing for and decreasing for . Obviously all these properties carry over to . These facts are illustrated in the following diagram
where stands for the increasing and for the decreasing function.
For the overlap between the support of and is empty except for . Thus, for and we have that . In this interval is decreasing with and is increasing with . Their sum in this interval is
Hence, we can summarize
Consequently, we have the following lemma.
For defined as above, the relations
In each interval only and , , are not equal to zero. Thus, it is sufficient to prove that in this interval. We get that
The second relation follows by straightforward computation. ∎
We define the function via its Fourier transform as
Figure ((a))(a) shows the function . The following theorem states an important property of .
The above defined function has and fulfills
The assumption on the support follows from the definition of . For the sum we have
where (odd) and (even). Thus, by Lemma 2.1, we get
By (3) we have that
Next we define a second function —again in Fourier domain—by
The function is shown in Figure ((b))(b). Before stating a theorem about the properties of we need the following two auxiliary lemmas.
Recall that a function is point symmetric with respect to if and only if
With the substitution this is equivalent to
Thus, for a function symmetric to we have that .
The function in (1) is symmetric with respect to , in particular, for all .
The symmetry is obvious for and . It remains to prove the symmetry for . We will see in Remark 3.2 that . With the fundamental theorem of calculus this implies that
Since we know that . Next, consider . Substituting yields
Finally, we obtain for the sum
Note that is axially symmetric to the -axis.
The function fulfills
Consequently, we get for that
and for we obtain similarly
It can be seen in the proof that the sum reduces in both cases to two (different) summands, in particular
With these lemmas we can prove the next theorem.
The function defined in (6) fulfills
With the assertion in (7) becomes
For a fixed (but arbitrary) we need for since . Thus, for , only the summands for do not vanish. But for we have and . In this case the entire sum reduces to one summand such that
If and the only non-zero summands appear for . Thus, , yields
which is equal to by Lemma 2.4. Analogously we obtain for , that the remaining non-zero summands are those for . With we get
By Lemma 2.4 and since , we finally conclude
2.2 The Continuous Shearlet Transform
For the shearlet transform we use the dilation matrix and shear matrix For and they read
The shearlets emerge by dilation, shear and translation of a function as before
We assume that can be written as
Consequently, we obtain for the Fourier transform
The shearlet transform of is given as
The same formula is derived by interpreting the shearlet transform as a convolution with the function and using the convolution theorem.
The shearlet transform is invertible if the function fulfills the admissibility property
2.3 Shearlets on the Cone
Up to now we have said nothing about the support of our shearlet . We use band-limited shearlets, thus, we have compact support in Fourier domain. In the previous section we assumed that , where we now define and as in (4) and (6), respectively. With the results shown for for and for , i.e., , it is natural to define the area
We will refer to this set as the horizontal cone (see Figure 5). Analogously we define the vertical cone as
To cover the entire we define two more sets
where is the intersection (or the seam lines) of the two cones and is the “low-frequency” part. Altogether we have with an overlapping domain
Obviously the shearlet defined above is perfectly suited for the horizontal cone. For each set , , we define a characteristic function which is equal to 1 for and 0 for . We need these characteristic functions as cut-off functions at the seam lines. We set
For the non-dilated and non-sheared the cut-off function has no effect since the support of is completely contained in . But after the dilation and shear we have
The question arises for which and this set remains a subset of the horizontal cone. For we have that is in but not in . Thus, we can restrict ourselves to .
With fixed the second condition for reads
Since the right condition becomes and for the left condition , hence, we can conclude
For such it holds that , in particular the indicator function is not needed for these (with respective ). One might ask for which (depending on ) the indicator function cuts off only parts of the function, i.e., . We take again (13) but now we do not use a condition to guarantee that but rather ask for a condition that allows . Thus, the right bound should be larger than and the left bound should be smaller than . Consequently, we obtain
Summing up, we have for that . For parts of are also in , which are cut off. For the whole shearlet is set to zero by the characteristic function. If we go back to the definition of we see that the vertical range is determined by . By definition is axially symmetric with respect to the -axis, in other words the “center” of is taken for the argument equal to zero, i.e., . It follows that for the center of is at the seam-lines. Thus, for approximately one half of the shearlet is cut off whereas the other half remains. For larger larger parts would be cut. Consequently, we restrict ourselves to .
The shearlet for the vertical cone is defined analogously with the roles of and interchanged, i.e.,
All the results from above apply to this setting. For , i.e., , both definitions coincide and we define
The shearlets , (and ) are called shearlets on the cone. This concept was introduced in .
We have functions to cover three of the four parts of . The remaining part will be handled with a scaling function which is presented in the next section.
2.4 Scaling Function
For the center part (also low-frequency part) we define another set of functions. To this end, we need the following scaling function
The full scaling function is then defined as
The decay of the scaling function (respectively ) is chosen to match with the increase of . For we have by (5) that