主要内容

3D数据的小波分析

此示例显示了如何使用三维小波分析工具分析3D数据,以及如何沿着给定切片显示低通和高通组件。该示例侧重于磁共振图像。

该分析的关键特征是跟踪图像的最佳或至少一种基于小波的稀疏性,其是足以诊断质量重建的变换系数的最低百分比。

为了说明这一点,我们保持3D MRI的近似以显示复杂性降低。如果从医学专家评估了质量定义的最大变换系数,则可以改善结果。

我们将看到脑图像的小波变换允许有效且准确的重建涉及仅5-10%的系数。

加载和显示3D MRI数据

首先,加载WMRI.MAT文件由MATLAB®附带的MRI数据集构建。

加载WMRI.

我们现在沿着原始大脑数据的Z方向显示一些切片。

地图=粉红色(90);Idximages = 1:3:尺寸(x,3);数字('defaultaxesxtick',[],'defaultaxesytick',[],......'defaultaxesfontsize',8,'颜色''W')Colormap(地图)为了k = 1:9 j = idximages(k);子图(3,3,k)图像(x(:,:,j))xlabel(['z ='INT2STR(j)])如果k == 2标题('沿着原始大脑数据的z定位的一些切片'结尾结尾

图包含9个轴。轴1包含类型图像的对象。带有标题的轴2沿着原始大脑数据的z方向的一些切片包含了类型图像的对象。轴3包含类型图像的对象。轴4包含类型图像的对象。轴5包含类型图像的对象。轴6包含类型图像的对象。轴7包含类型图像的对象。轴8包含类型图像的对象。轴9包含类型图像的对象。

我们现在切换到Y方向切片。

perm = [1 3 2];XP = Permute(x,perm);数字('defaultaxesxtick',[],'defaultaxesytick',[],......'defaultaxesfontsize',8,'颜色''W')Colormap(地图)为了k = 1:9 j = idximages(k);子图(3,3,k)图像(XP(:,:,j))xlabel(['y ='INT2STR(j)])如果k == 2标题('沿着y-orientation的一些切片'结尾结尾

图包含9个轴。轴1包含类型图像的对象。轴2具有沿Y方向的一些切片包含类型图像的对象。轴3包含类型图像的对象。轴4包含类型图像的对象。轴5包含类型图像的对象。轴6包含类型图像的对象。轴7包含类型图像的对象。轴8包含类型图像的对象。轴9包含类型图像的对象。

清除XP.

多级3D小波分解

在3级计算3D数据的小波分解。

n = 3;%分解级别w ='符号4';近对称小波附近wt = wavedec3(x,n,w);%多级3D小波分解。

多级3D小波重建

从系数重建级别1到3的近似和细节。

a = cell(1,n);d =单元格(1,n);为了k = 1:n a {k} = waverec3(wt,'一种',k);%近似值(低通组件)d {k} = waverec3(wt,'D',k);%细节(高通组件)结尾

检查完美的重建。

err = zeros(1,n);为了k = 1:n e = double(x)-a {k} -d {k};err(k)= max(abs(e(:)));结尾disp(错误)
1.0E-09 * 0.3043 0.3043 0.3043

显示低通和高通组件

下面显示沿Z方向的重建近似和细节。

nbimg = 6;Idximages_new = [1 7 10 16 19 25];为了ik = 1:nbimg j = idximages_new(ik);数字('defaultaxesxtick',[],'defaultaxesytick',[],......'defaultaxesfontsize',8,'颜色''W')Colormap(地图)为了k = 1:n labstr = [Int2str(k)' -  z ='INT2STR(j)];子图(2,n,k)图像(a {k}(:,:,j))xlabel(['一种'Labstr])如果k == 2标题(['级别和1级到3  -  slice ='的近似和细节num2str(j)]))结尾子图(2,n,k + n)映射(abs(d {k}(:,:,j)))xlabel(['D'Labstr])结尾结尾

图包含6个轴。轴1包含类型图像的对象。轴2包含类型图像的对象。具有标题近似和级别1至3  -  Slice = 1的轴3包含类型图像的对象。轴4包含类型图像的对象。轴5包含类型图像的对象。轴6包含类型图像的对象。

图包含6个轴。轴1包含类型图像的对象。轴2包含类型图像的对象。带标题近似和级别1至3  -  Slice = 7的轴3包含类型图像的对象。轴4包含类型图像的对象。轴5包含类型图像的对象。轴6包含类型图像的对象。

图包含6个轴。轴1包含类型图像的对象。轴2包含类型图像的对象。具有标题近似和级别1至3  -  Slice = 10的轴3包含类型图像的对象。轴4包含类型图像的对象。轴5包含类型图像的对象。轴6包含类型图像的对象。

图包含6个轴。轴1包含类型图像的对象。轴2包含类型图像的对象。具有标题近似和级别1至3  -  Slice = 16的轴3包含类型图像的对象。轴4包含类型图像的对象。轴5包含类型图像的对象。轴6包含类型图像的对象。

图包含6个轴。轴1包含类型图像的对象。轴2包含类型图像的对象。具有标题近似和级别1至3  -  Slice = 19的轴3包含类型图像的对象。轴4包含类型图像的对象。轴5包含类型图像的对象。轴6包含类型图像的对象。

图包含6个轴。轴1包含类型图像的对象。轴2包含类型图像的对象。具有标题近似的轴3和1至3级 -  Slice = 25的细节包含类型图像的对象。轴4包含类型图像的对象。轴5包含类型图像的对象。轴6包含类型图像的对象。

3D显示原始数据和级别2的近似

3D原始阵列x的大小是(128 x 128 x 27)= 442368。我们可以使用3D显示屏来显示它。

数字('defaultaxesxtick',[],'defaultaxesytick',[],......'defaultaxesfontsize',8,'颜色''W')xr = x;ds = smooth3(xr);hiso = patch(iSosurface(DS,5),'facecholor',[1,.75,.65],'Edgecolor''没有任何');hcap = patch(isocaps(xr,5),'facecholor''interp''Edgecolor''没有任何');Colormap(MAP)DASPED(GCA,[1,1,.4])闪光灯(305,30);图= GCF;Fig.Renderer ='zbuffer';灯光ph同位素(DS,Hiso)Hcap.ambientstrength = .6;hiso.specularcolorreflectance = 0;hiso.specularexponent = 50;斧头= GCA;ax.view = [215,30];AX.BOX =.'在';轴紧的标题('原始数据'

图包含轴。具有标题原始数据的轴包含2个类型的补丁对象。

级别2的近似系数的3D阵列,其大小为(22 x 22 x 9)= 4356,原始数据的大小小于1%。利用这些系数,我们可以重建A2,级别2的近似,这是原始3D阵列的一种压缩。也可以使用3D显示屏显示A2。

数字('defaultaxesxtick',[],'defaultaxesytick',[],......'defaultaxesfontsize',8,'颜色''W')xr = a {2};ds = smooth3(xr);hiso = patch(iSosurface(DS,5),'facecholor',[1,.75,.65],'Edgecolor''没有任何');hcap = patch(isocaps(xr,5),'facecholor''interp''Edgecolor''没有任何');Colormap(MAP)DASPED(GCA,[1,1,.4])闪光灯(305,30);图= GCF;Fig.Renderer ='zbuffer';灯光ph同位素(DS,Hiso)Hcap.ambientstrength = .6;hiso.specularcolorreflectance = 0;hiso.specularexponent = 50;斧头= GCA;ax.view = [215,30];AX.BOX =.'在';轴紧的标题('在2级近似'

图包含轴。级别2的标题近似的轴包含2个类型的贴片物体。

概括

此示例显示如何使用3D小波函数来分析3D数据。小波分析仪应用程序,WaveletAnalyzer.,允许您更容易地执行相同的步骤,例如使用不同切片的动画模拟3D可视化。