Main Content

framebounds

Shearlet system frame bounds

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

More About

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:

ai=1Mj=1N|xij|2i=1Mj=1Nk=1K|cijk|2bi=1Mj=1N|xij|2.

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

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2019b