# dualtree2
Kingsbury Q-shift 二维双树复小波变换
函数库: TyWavelet
# 语法
A, D, = dualtree2(X)
A, D, Ascale = dualtree2(X)
___ = dualtree2(X; Name = Value)
# 说明
A, D, = dualtree2(X) 使用Kingsbury移q滤波器返回X的二维双树复小波变换(DTCWT)。输出A是实值的最终级缩放(低通)系数矩阵。输出D是复值小波系数的L × 1单元数组,其中L是变换的级别。对于D的每个元素有六个小波子带。
默认情况下,得到的DTCWT一直到底层(log2(min(H, W))),其中H和W分别表示X的高度(行维)和宽度(列维)。如果X的任何行或列维度是奇数,则通过围绕最后一行或列进行反射,X沿着该维度进行扩展。
默认情况下,dualtree2对级别1使用长度为5(缩放滤波器)和7(小波滤波器)的近对称双正交小波滤波器对,对于大于或等于2的级别使用长度为10的正交q移希尔伯特小波滤波器对。
A, D, Ascale = dualtree2(X) 返回每一级的尺度(低通)系数。
___ = dualtree2(X; Name = Value) 使用名称=值参数指定其他选项。例如,LevelOneFilter="antonini"指定(9,7)-tap antonini滤波器作为双正交滤波器用于一级分析。示例
# 示例
二维双树复小波变换
加载灰度图像。
using TyWavelet
using TyBase
using TyPlot
pkg_dir = pkgdir(TyWavelet)
source_path = pkg_dir * "/examples/Resources/mask.mat"
load(source_path)
c1 = imagesc(X)
colormap(c1, "gray")
得到双树复小波变换后的图像分辨率降至4级。
a, d = dualtree2(X; Level=4)
显示最后一级缩放(低通)系数。
c2 = imagesc(a)
colormap(c2, "gray")
以最精细的尺度显示树B小波系数。每个子图标题表示特定的子带(“H”表示高通,“L”表示低通)。
orientation = ["HL", "HH", "LH", "LH", "HH", "HL"]
figure(; figsize=[5.6, 8])
for k in 1:6
subplot(3, 2, k)
c = imagesc(imag(d[1][:, :, k]))
title("Orientation: " * orientation[k])
xticks([])
yticks([])
colormap(c, "gray")
end
# 输入参数
X - 输入数据实值矩阵(默认) | 实值3d数组 | 实值4d数组
输入数据,指定为实值矩阵、3-D数组或4-D数组。X是一个实值的H × W × C × N数组,其中H为高度或行维,W为宽度或列维,C为通道数,N为图像数。X必须在每个行和列维度中至少有两个样本。。
# Name = Value 参数对
指定可选的参数对为 Name1 = Value1, ..., NameN = ValueN,其中 Name 是参数名称,Value 是相应的值。Name = Value 参数必须出现在其他参数之后,但参数对的顺序并不重要。
Level - 分解层级正整数
分解层次,指定为小于或等于floor(log2(min(H, W)))的正整数,其中H和W分别表示X的高度(行维)和宽度(列维)。如果未指定,Level默认为floor(log2(min(H,W)))。4-D阵列
LevelOneFilter - 双正交滤波器"nearsym5_7"(默认)| "nearsym13_19" | "antonini" | "legall"
在第一层级分析中使用的双正交滤波器,指定为:
"legall" - LeGall 5/3 滤波器 [3]
"nearsym13_19" - (13, 19) 阶准正交滤波器 [2]
"nearsym5_7" - (5, 7) 阶准正交滤波器 [1]
"antonini" - (9, 7) 阶 Antonini 滤波器 [1]
默认情况下,dualtree 使用 "nearsym5_7",即长度为 5(尺度滤波器)和 7(小波滤波器)的准对称双正交滤波器对。
FilterLength - 正交 Hilbert Q-shift 分析滤波器对的长度10(默认)| 6 | 14 | 16 | 18
默认情况下,dualtree2使用"nearsym5_7",长度为5(缩放滤波器)和7(小波滤波器)的近对称双正交滤波器对。
# 输出参数
A - 最后一级的近似系数实值矩阵
最后一级的近似系数,作为实值矩阵返回。
D - 小波系数元组
小波系数,作为复值小波系数的L长度的元组返回,其中L是变换的级别。系数的实部来自树A,虚部来自树B。对于D的每个元素,有六个小波子带。
Ascale - 近似系数元组
变换的每个级别的近似系数,作为实值缩放(低通)系数的L长度的元组返回,其中L是变换的级别。如果X是一个矩阵,则D的每个元素都是一个列维等于X的列维的矩阵。
# 参考文献
[1] Antonini, M., M. Barlaud, P. Mathieu, and I. Daubechies. “Image Coding Using Wavelet Transform.” IEEE Transactions on Image Processing 1, no. 2 (April 1992): 205–20. https://doi.org/10.1109/83.136597.
[2] Kingsbury, Nick. “Complex Wavelets for Shift Invariant Analysis and Filtering of Signals.” Applied and Computational Harmonic Analysis 10, no. 3 (May 2001): 234–53. https://doi.org/10.1006/acha.2000.0343.
[3] Le Gall, D., and A. Tabatabai. “Sub-Band Coding of Digital Images Using Symmetric Short Kernel Filters and Arithmetic Coding Techniques.” In ICASSP-88., International Conference on Acoustics, Speech, and Signal Processing, 761–64. New York, NY, USA: IEEE, 1988. https://doi.org/10.1109/ICASSP.1988.196696.
# 另请参阅
dualtree | idualtree2 | dualtree3 | qbiorthfilt | qorthwavf |