m基于小波变换的PET图像重建matlab仿真

简介: m基于小波变换的PET图像重建matlab仿真

1.算法仿真效果
matlab2022a仿真结果如下:
1cd8edc3e9cfb5b8cdd28f73231d42a7_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
692a43f13eb6e13d5a5335256f5b642d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

   PET测量数据(光子计数值)与生理模型紧密相关。然而,通常的重建方法多采用无生理意义的统计特性约束,从而忽略了反映生理特性的生理模型约束。本项目针对PET图像重建问题,提出利用H无穷粒子滤波混合算法融入数据统计特性模型、生理模型双重约束,并结合GPU完成重建过程的加速的方法。具体实现过程中以先验的共性生理特性作为约束,利用H无穷的鲁棒性处理不确定性,给出放射性药物浓度的粗估计,然后利用粒子滤波可以融合任何统计特性的能力,细调节估计值。以上迭代循环进行,最后给出放射性浓度分布与方差特性。由于采用了GPU加速策略,重建时间将显著缩短。该方法的实现将为PET图像重建提供新的技术手段。

   PET(Positron Emission Tomography)因其灵敏度高、特异性好、全身显像及安全性好等优势得到了越来越多研究者的关注,同时也是继x射线断层成像(x-ray computed tomography,X-CT)和核磁共振(magnetic resonance imaging,MRI)成像技术之后发展起来的一项需要高技术和高成本同时也是最先进和极其重要的医学领域成像技术。但是,在实际PET采样数据获取的过程中由于受到PET采样系统硬件和软件的限制以及伽马光子在体内传输过程中相互影响,会导致采集到的PET投影数据中往往含有大量噪声,从而会影响PET图像重建的质量。已知当重建出的图像中含有噪声或重建出的PET图像质量不高时会对后续医生的诊断有影响,则在PET成像技术的临床应用中如何通过设计重建算法重建出质量高的图像也是极其重要且非常有研究价值的一个步骤。

对应的代码简要说明:

e872027292df0c803dff40afe815f3d2_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

这个部分对应的小波分解,通过一维快速变换得到最终的二维变换效果。

44958c0aff559093cbbec0d523cd1dc9_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

这个就是PET迭代重构。

cbc1de7d63d82e5b4fdd487d62454695_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

最后的误差曲线。

3.MATLAB核心程序

I    = imread('shepp-logan.jpg');            
N    = 1;%分解级数
NUM  = 90;%迭代次数
if isrgb(I) == 1
   im = mat2gray(rgb2gray(I));
else
   im = mat2gray(I);
end
im2   = im;
[r,c] = size(im2);
 
 
figure;
subplot(131);
imshow(im,[]);
title('原始的图像');    
 
 
%得到行值与列值
[rows,cols]=size(im);                                                
 
 
for i=1:N      
    %先对行进行一维快速分解
    for j=1:cols/2^(i-1)             
        im(j,1:cols/2^(i-1)) = func_fast_wavelet_trans(im(j,1:cols/2^(i-1)),1);       
    end
    %对列进行一维快速分解
    for j=1:rows/2^(i-1)                                           
        im(1:rows/2^(i-1),j) = func_fast_wavelet_trans(im(1:rows/2^(i-1),j)',1);      
    end
end
%赋值给输出变量                                                          
im(abs(im)<0.1)=0;
subplot(132);
imshow(im)                                                      
title('变换之后的图像')
wl     = im;
im_tmp = im;
%计算概率矩阵A
%计算概率矩阵A
%计算概率矩阵A
for jj = 1:NUM
    im = im_tmp;
    jj
    % 进行重建
    % 进行重建
    for i=N:-1:1                                                         
       for j=rows/2^(i-1):-1:1                                   
            im(1:rows/2^(i-1),j) = func_image_recon(im(1:rows/2^(i-1),j)',1,jj,im2(1:rows/2^(i-1),j)',wl(1:rows/2^(i-1),j)');      
        end
       for j=cols/2^(i-1):-1:1                                        
            im(j,1:cols/2^(i-1)) = func_image_recon(im(j,1:cols/2^(i-1)),1,jj,im2(1:rows/2^(i-1),j)',wl(1:rows/2^(i-1),j)');       
        end
    end
 
    subplot(133);
    imshow(im)                                                      
    title('重建图像')
 
 
    f0 = round(255*im);
    f1 = round(255*im2);
 
    errors(jj) = abs(sum(sum(f1 - f0)))/(8*256*256);
    clear im        
end
相关文章
|
12天前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
133 73
|
1天前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
|
1天前
|
算法 数据安全/隐私保护
星座图整形技术在光纤通信中的matlab性能仿真,分别对比标准QAM,概率整形QAM以及几何整形QAM
本文介绍了现代光纤通信系统中的星座图整形技术,包括标准QAM、概率整形QAM和几何整形QAM三种方法,并对比了它们的原理及优缺点。MATLAB 2022a仿真结果显示了不同技术的效果。标准QAM实现简单但效率有限;概率整形QAM通过非均匀符号分布提高传输效率;几何整形QAM优化星座点布局,增强抗干扰能力。附带的核心程序代码展示了GMI计算过程。
7 0
|
13天前
|
算法
基于ACO蚁群优化的UAV最优巡检路线规划算法matlab仿真
该程序基于蚁群优化算法(ACO)为无人机(UAV)规划最优巡检路线,将无人机视作“蚂蚁”,巡检点作为“食物源”,目标是最小化总距离、能耗或时间。使用MATLAB 2022a版本实现,通过迭代更新信息素浓度来优化路径。算法包括初始化信息素矩阵、蚂蚁移动与信息素更新,并在满足终止条件前不断迭代,最终输出最短路径及其长度。
|
16天前
|
算法 数据挖掘 vr&ar
基于ESTAR指数平滑转换自回归模型的CPI数据统计分析matlab仿真
该程序基于ESTAR指数平滑转换自回归模型,对CPI数据进行统计分析与MATLAB仿真,主要利用M-ESTAR模型计算WNL值、P值、Q值及12阶ARCH值。ESTAR模型结合指数平滑与状态转换自回归,适用于处理经济数据中的非线性趋势变化。在MATLAB 2022a版本中运行并通过ADF检验验证模型的平稳性,适用于复杂的高阶自回归模型。
|
2月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
123 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
2月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
95 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
2月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
71 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
5月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章

下一篇
无影云桌面