shearletSystem

Since R2019b

Description

The `shearletSystem` object represents a cone-adapted bandlimited shearlet system. After you create the shearlet system, you can use `sheart2` to obtain the shearlet transform of a real-valued 2-D image. You can also use `isheart2` to obtain the inverse transform. Additional Object Functions are provided.

Creation

Syntax

``sls = shearletSystem``
``sls = shearletSystem(Name,Value)``

Description

````sls = shearletSystem` creates a cone-adapted real-valued bandlimited shearlet system for a real-valued image of size 128-by-128 with the number of scales equal to 4. The system `sls` is a nondecimated shearlet system. Shearlets extending beyond the 2-D frequency bounds are periodically extended. Using real-valued shearlets with periodic boundary conditions results in real-valued shearlet coefficients. The implementation of `shearletSystem` follows the approach described in Häuser and Steidl [6]```

example

````sls = shearletSystem(Name,Value)` creates a cone-adapted bandlimited shearlet system with Properties specified by one or more `Name,Value` pairs. For example, `shearletSystem('ImageSize',[100 100])` creates a shearlet system for images of size 100-by-100. Properties can be specified in any order as `Name1,Value1,...,NameN,ValueN`. Enclose each property name in single quotes (`' '`) or double quotes (`" "`). NoteProperty values of a shearlet system are fixed. For example, if the shearlet system `SLS` is created with an `ImageSize` of `[128 128]`, you cannot change that `ImageSize` to `[200 200]`. ```

Properties

expand all

Image size for the shearlet system, specified as a two-element integer-valued vector ```[numrows numcolumns]```. Images must be at least 16-by-16.

Example: `sls = shearletSystem('ImageSize',[100 200])` creates a shearlet system for 100-by-200 images.

Data Types: `single` | `double`

Number of scales in the shearlet system, specified as a positive integer less than or equal to log2(min([M N]))–3, where M and N are the row and column dimensions of the input image. For a 16-by-16 input image, `log2(min([16 16]))–3 = 4–3 = 1`, so the smallest image compatible with `shearletSystem` has a minimum dimension of 16. For the default image size 128-by-128, the number of scales equals 4.

Example: `sls = shearletSystem('NumScales',1)` creates a shearlet system with `NumScales` equal to 1.

Data Types: `single` | `double`

Shearlet system type, specified as `'real'` or `'complex'`. Real-valued shearlets have two-sided 2-D frequency spectra, while complex-valued shearlets have one-sided 2-D spectra. If FilterBoundary is set to `'periodic'`, shearlets at the finest spatial scales have energy that wraps around in the 2-D frequency response. For both `'real'` and `'complex'` shearlet systems, the Fourier transforms of the shearlets are real valued.

Shearlet filter boundary handling, specified as `'periodic'` or `'truncated'`. When set to `'periodic'`, shearlets extending beyond the 2-D frequency boundaries are periodically extended. When set to `'truncated'`, shearlets are truncated at the 2-D frequency boundaries.

Shearlet system analysis normalization, specified as a numeric or logical `1` (`true`) or `0` (`false`). When set to `true`, the shearlet system is normalized to be a Parseval frame, and the energy of the input image is preserved in the shearlet transform coefficients.

Example: ```sls = shearletSystem('PreserveEnergy',true)```

Data Types: `logical`

Shearlet system precision, specified as `'double'` or `'single'`. All computations are done using the specified precision.

Note

To obtain the shearlet transform of an image, the precision of the image must match the precision of the shearlet system.

Object Functions

 `sheart2` Shearlet transform `isheart2` Inverse shearlet transform `framebounds` Shearlet system frame bounds `filterbank` Shearlet system filters `numshears` Number of shearlets

Examples

collapse all

Load an image. Create two real-valued shearlet systems that can be applied to the image. Normalize the first system so that energy is preserved in the shearlet transform coefficients. Leave the second shearlet system with the default (`false`) normalization.

```load mask [numRows,numCols] = size(X); slsA = shearletSystem('ImageSize',[numRows numCols],'PreserveEnergy',true); slsB = shearletSystem('ImageSize',[numRows numCols]);```

Take the shearlet transform of the image using both shearlet systems.

```cfA = sheart2(slsA,X); cfB = sheart2(slsB,X);```

Determine the energy of the input image and both sets of transform coefficients. Confirm that only the first shearlet system preserved energy.

```energyA = sum(cfA(:).^2); energyB = sum(cfB(:).^2); energyImage = sum(X(:).^2)```
```energyImage = 2.4655e+09 ```
`diffSystemA = abs(energyImage-energyA)`
```diffSystemA = 1.9073e-06 ```
`diffSystemB = abs(energyImage-energyB)`
```diffSystemB = 1.4869e+07 ```

Limitations

• Boundary effects of a real-valued shearlet transform of a non-square image can result in complex-valued coefficients. As implemented, `shearletSystem` constructs shearlets in the 2-D Fourier domain. For a real-valued shearlet transform, the shearlets in the 2-D Fourier domain should be symmetric in the positive and negative 2-D frequency plane. Shearlets constructed for square images are symmetric. However, as the image aspect ratio increases, the shearlets constructed become less symmetric. If the support of the lowpass filter in the 2-D frequency plane is too large, boundary effects can increase. Whenever possible, use square images. See Boundary Effects in Real-Valued Bandlimited Shearlet Systems for additional information and strategies to mitigate boundary effects.

References

[1] Guo, K., G. Kutyniok, and D. Labate. "Sparse multidimensional representations using anisotropic dilation and shear operators." In Wavelets and Splines: Athens 2005 (G. Chen, and M.-J. Chen, eds.), 189–201. Brentwood, TN: Nashboro Press, 2006.

[2] Guo, K., and D. Labate. "Optimally Sparse Multidimensional Representation Using Shearlets." SIAM Journal on Mathematical Analysis. Vol. 39, Number 1, 2007, pp. 298–318.

[3] Kutyniok, G., and W.-Q Lim. "Compactly supported shearlets are optimally sparse." Journal of Approximation Theory. Vol. 163, Number 11, 2011, pp. 1564–1589.

[4] Shearlets: Multiscale Analysis for Multivariate Data (G. Kutyniok, and D. Labate, eds.). New York: Springer, 2012.

[5] ShearLab. `https://www3.math.tu-berlin.de/numerik/www.shearlab.org/`.

[6] Häuser, S., and G. Steidl. "Fast Finite Shearlet Transform: a tutorial." arXiv preprint arXiv:1202.1773 (2014).

Version History

Introduced in R2019b