# framebounds

Shearlet system frame bounds

## Syntax

``[a,b] = framebounds(sls)``

## Description

example

````[a,b] = framebounds(sls)` returns the lower and upper frame bounds for the shearlet system `sls`. The energy in the shearlet transform coefficients is bounded by the energy in the input image and the frame bounds. See Frame Bounds.```

## Examples

collapse all

This example shows how the `PreserveEnergy` property affects the frame bounds of a shearlet system.

Load an image and calculate its energy.

```load xbox energyIm = norm(xbox,'fro')^2;```

Create two shearlet systems that can be applied to the image. Set the value of `PreserveEnergy` in the first shearlet system to `true` and in the second shearlet system to `false`.

```slsT = shearletSystem('ImageSize',size(xbox),'PreserveEnergy',true); slsF = shearletSystem('ImageSize',size(xbox),'PreserveEnergy',false);```

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

```cfsT = sheart2(slsT,xbox); cfsF = sheart2(slsF,xbox);```

Calculate the frame bounds of `slsT`. Confirm that `slsT` is a Parseval frame.

`[aT,bT] = framebounds(slsT)`
```aT = 1 ```
```bT = 1 ```

Confirm that using `slsT` preserves energy.

```energyCfsT = norm(cfsT(:))^2; abs(energyIm-energyCfsT)```
```ans = 6.9849e-10 ```

Obtain the frame bounds of `slsF`. Confirm the lower and upper frame bounds are not both equal to 1.

`[aF,bF] = framebounds(slsF)`
```aF = 1.0000 ```
```bF = 8.0000 ```

Even though `slsF` is not normalized to be a Parseval frame, confirm the frame inequality is still satisfied.

```energyCfsF = norm(cfsF(:))^2; aF*energyIm <= norm(cfsF(:))^2 && norm(cfsF(:))^2 <= bF*energyIm```
```ans = logical 1 ```

## Input Arguments

collapse all

Shearlet system, specified as a `shearletSystem` object.

## Output Arguments

collapse all

Lower and upper frame bounds of the shearlet system, returned as positive real numbers. If the PreserveEnergy value of `sls` is `true`, then `sls` is a Parseval frame, and both frame bounds are equal to 1. See Frame Bounds.

The data types of the frame bounds match the Precision value of the shearlet system.

Note

For an image X, if `sls` is a Parseval frame and `C = sheart2(sls,X)`, then the energy of X and the energy of C are equal within round-off error.

Data Types: `single` | `double`

collapse all

### Frame Bounds

The energy in the shearlet transform of an image is bounded by the energy of the image and the lower and upper frame bounds `a,b` of the shearlet system. If X is an M-by-N image and C, the shearlet transform of X, is M-by-N-by-K, then the frame inequality holds:

`$\text{a}\sum _{i=1}^{M}\sum _{j=1}^{N}|{x}_{ij}{|}^{2}\le \sum _{i=1}^{M}\sum _{j=1}^{N}\sum _{k=1}^{K}|{c}_{ijk}{|}^{2}\le \text{b}\sum _{i=1}^{M}\sum _{j=1}^{N}|{x}_{ij}{|}^{2}.$`

In a Parseval frame, `a` = `b` = 1, and the shearlet transform preserves energy.

## Version History

Introduced in R2019b