主要内容

dualtree3

3-D双树复杂小波变换

描述

[一种D.] = Dualtree3(X的三维双树复小波变换X在最高水平上,地板(log2(min(尺寸(x)))))

[一种D.] = Dualtree3(X水平将三维双树小波变换向下返回到水平

例子

[一种D.] = Dualtree3(___名称,价值除了前面语法中的任何输入参数外,还使用名称-值对参数指定选项。

例子

[一种D.] = Dualtree3(___, ' excludeL1 ')排除第一级小波(细节)系数。排除一级小波系数可以加快算法速度,节省内存。第一级不具有第2级及更高级别的方向选择性。双树小波变换的完美重构特性仅在包含一级小波系数时成立。如果未指定此选项,请单击“添加”“包括1”,然后该函数包括第一级系数。

例子

全部收缩

生成体积数据集。绘制从上面看到的数据的几个横截面图。这些数据在数据上是不对称的X-轴心y-轴。

XL = 64;xx = linspace(-5,5,xl);[x,y,z] = meshgrid(xx);g =(x + 3 * y)./(1 + exp((x。^ 2 + 2 * y。^ 2 + z. ^ 2)-10));为了k = 1:16次要情节(4 4 k)冲浪(xx, xx, G (:,: 4 * k))视图(2)阴影interp.标题([“z=”num2str(xx(4 * k),2)])结尾

图中包含16个轴对象。标题为z = -4.5的轴对象1包含一个类型为surface的对象。标题为z = -3.9的轴对象2包含一个类型为surface的对象。标题为z = -3.3的轴对象3包含一个类型为surface的对象。标题为z = -2.6的轴对象4包含一个类型为surface的对象。标题为z = -2的轴对象5包含一个类型为surface的对象。标题为z = -1.3的轴对象6包含一个类型为surface的对象。标题为z = -0.71的轴对象7包含一个类型为surface的对象。标题为z = -0.079的轴对象8包含一个类型为surface的对象。标题为z = 0.56的轴对象9包含一个类型为surface的对象。 Axes object 10 with title z = 1.2 contains an object of type surface. Axes object 11 with title z = 1.8 contains an object of type surface. Axes object 12 with title z = 2.5 contains an object of type surface. Axes object 13 with title z = 3.1 contains an object of type surface. Axes object 14 with title z = 3.7 contains an object of type surface. Axes object 15 with title z = 4.4 contains an object of type surface. Axes object 16 with title z = 5 contains an object of type surface.

将数据的3-D双树转换计算为4级。指定Hilbert Q型滤波器 - 对长度为14。

[A,D] = Dualtree3(G,4,'filterlength',14);

绘制所选子带的第一级小波系数的实部和虚部。系数与数据具有相同的方向性。虚部是实部的移位。

m = 1;为了k = 1:8子图(4,4,2 * K-1)冲浪(Real(D {M}(:,:,3 * k))))查看(2)阴影interp.标题(['Re d\{1\}, n = 'INT2STR(3 * k)])子图(4,4,2 * k)冲浪(imag(d {m}(:,3 * k)))查看(2)阴影interp.标题(['im d \ {1 \},n ='INT2STR(3 * K)])结尾

图中包含16个轴对象。标题为R e blank d{1}、blank n blank=blank 3的轴对象1包含类型为SURFACH的对象。标题为I m blank d{1}的轴对象2,blank n blank=blank 3包含类型为surface的对象。标题为R e blank d{1}、blank n blank=blank 6的轴对象3包含类型为SURFACH的对象。标题为I m blank d{1}的轴对象4,blank n blank=blank 6包含类型为surface的对象。标题为R e blank d{1}、blank n blank=blank 9的轴对象5包含类型为SURFACH的对象。标题为I m blank d{1}的轴对象6,blank n blank=blank 9包含类型为surface的对象。标题为R e blank d{1}、blank n blank=blank 1 2的Axes对象7包含一个surface类型的对象。标题为I m blank d{1}、blank n blank=blank 1 2的Axis对象8包含一个surface类型的对象。标题为R e blank d{1}、blank n blank=blank 1 5的轴对象9包含类型为SURFACH的对象。标题为I m blank d{1},blank n blank=blank 1 5的Axis对象10包含一个surface类型的对象。标题为R e blank d{1}、blank n blank=blank 1 8的轴对象11包含一个类型为SURFACH的对象。标题为I m blank d{1}、blank n blank=blank 1 8的Axis对象12包含一个类型为surface的对象。标题为R e blank d{1}、blank n blank=blank 2 1的轴对象13包含一个类型为SURFACH的对象。标题为I m blank d{1}的轴对象14,blank n blank=blank 2 1包含类型为surface的对象。标题为R e blank d{1}、blank n blank=blank 2 4的轴对象15包含类型为SURFACH的对象。标题为I m blank d{1}的轴对象16,blank n blank=blank 2 4包含类型为SURFACH的对象。

重复第二级系数的过程。当电平数量增加一个时,小波系数阵列沿前两个维度减小一半。

m = 2;为了k = 1:8子图(4,4,2 * K-1)冲浪(Real(D {M}(:,:,3 * k))))查看(2)阴影interp.标题(['Re d\{2\},n='INT2STR(3 * k)])子图(4,4,2 * k)冲浪(imag(d {m}(:,3 * k)))查看(2)阴影interp.标题([' i d\{2\}, n = 'INT2STR(3 * K)])结尾

图中包含16个轴对象。标题为R e blank d {2}, blank n blank = blank 3的轴对象1包含一个类型为surface的对象。标题为I m blank d {2}, blank n blank = blank 3的坐标轴对象2包含一个类型为surface的对象。标题为R e blank d {2}, blank n blank = blank 6的坐标轴对象3包含一个类型为surface的对象。标题为I m blank d {2}, blank n blank = blank 6的轴对象4包含一个类型为surface的对象。标题为R e blank d {2}, blank n blank = blank 9的轴对象5包含一个类型为surface的对象。标题为I m blank d {2}, blank n blank = blank 9的轴对象6包含一个类型为surface的对象。标题为R e blank d {2}, blank n blank = blank 1 2的坐标轴对象7包含一个类型为surface的对象。标题为I m blank d {2}, blank n blank = blank 1 2的坐标轴对象8包含一个类型为surface的对象。标题为R e blank d {2}, blank n blank = blank 1的轴对象9包含一个类型为surface的对象。 Axes object 10 with title I m blank d { 2 } , blank n blank = blank 1 5 contains an object of type surface. Axes object 11 with title R e blank d { 2 } , blank n blank = blank 1 8 contains an object of type surface. Axes object 12 with title I m blank d { 2 } , blank n blank = blank 1 8 contains an object of type surface. Axes object 13 with title R e blank d { 2 } , blank n blank = blank 2 1 contains an object of type surface. Axes object 14 with title I m blank d { 2 } , blank n blank = blank 2 1 contains an object of type surface. Axes object 15 with title R e blank d { 2 } , blank n blank = blank 2 4 contains an object of type surface. Axes object 16 with title I m blank d { 2 } , blank n blank = blank 2 4 contains an object of type surface.

反转转换,指定相同的过滤器对长度。检查重建是否完美。

xrec = iDualtree3(a,d,'filterlength',14);Max(ABS(XREC(:) -  g(:)))
ans = 1.4211e-14

装载一组人头的MRI测量。截断数据,使其甚至沿着第三维度。计算3-D双树变换,不包括第一级小波系数。

加载wmri[a,d] = dualtree3(x(:,:,1:26),2,'不包括1');

通过反变换重构数据。将最终级别的缩放系数明确设置为0。显示均匀间隔的重建图像选择。

imrec = iDualtree3(a * 0,d);COLOROMAP.为了KJ = 1:9子图(3,3,KJ)冲浪(IMREC(:,:,:3 * KJ-2))阴影interp.查看(2)轴结尾

输入参数

全部收缩

输入数据,指定为真实的3-D阵列。所有三个维度X必须是偶数且大于等于4。

数据类型:双倍的|单身的

转换级别,指定为大于或等于2且小于或等于的正整数地板(log2(min(尺寸(x)))))

数据类型:双倍的|单身的

名称 - 值参数

指定可选的逗号分离对名称,价值参数。姓名是参数名称和价值是对应的值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:'LevelOneFilter','Legall','FilterLength',6使用LeGall分析滤波器计算变换,在第一级,尺度长度为5,小波长度为3,在第二级及以上,长度为6的q移滤波器。

希尔伯特Q型滤波器对长度,指定为逗号分隔对'filterlength'和6,10,14,16或18中的一个。dualtree3使用正交的Hilbert Q型滤波器对长度'filterlength'对于2级和更大。

数据类型:双倍的|单身的

第一级双正交分析过滤器,指定为逗号分隔对组成'leveloonefilter'和一个字符矢量或字符串。默认情况下,dualtree31级使用长度为5(缩放滤波器)和7(小波滤波器)的近对称双正交小波滤波器。

数据类型:字符|细绳

输出参数

全部收缩

最终级别缩放(低通)系数,作为实值矩阵返回。

数据类型:双倍的

小波系数,以1-by形式返回-水平单元阵列。三维双树变换的每一层都有28个小波子带。

数据类型:双倍的
复数支持:金宝app是的

工具书类

[1]陈,H.和N. G. Kingsbury。“有效登记非脂质3-D体。”IEEE.®图像处理学报。第21卷,2012年1月,第262-272页。

[2] Kingsbury,N.G。“复杂小波,用于转移不变分析和信号过滤。”应用与计算谐波分析杂志,卷。10,第3号,2001年5月,第234-253页。

在R2017A介绍