Shearlet system frame bounds
Shearlet System Frame Bounds
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
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
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
a,b — Lower and upper frame bounds
positive real numbers
Lower and upper frame bounds of the shearlet system, returned as positive real
numbers. If the PreserveEnergy value of
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.
For an image X, if
sls is a Parseval frame
C = sheart2(sls,X), then
the energy of X and the energy of C are equal
within round-off error.
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
In a Parseval frame,
b = 1, and
the shearlet transform preserves energy.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced in R2019b