fbp算法matlab实现,matlab实现fbp算法
matlab提供大量函数,可以方便的完成fbp算法
1)fbp算法原理:
中心切片定理 (CST) : 原数据投影的一维傅立叶变换等于原数据的二维傅立叶变换
投影 --> 一维傅立叶变换 --> 滤波 --> 二维傅立叶反变换
经过上述过程应该得到原始数据
2)投影相关知识
2.1)正投影:对投影线经过的像素做线积分,积分得到的值保存为该角度下的权值
对一组数据 P 做 Radon 变换,即做正投影,会得到两个数据
[R, xp] = radon(P,theta);
xp是投影线条数
R是theta角下第 xp 条投影线得到的线积分,即权值
2.2) 反投影:反投影是利用上面投影得到的 R 权值,把R值投回到 x y 坐标中
x y 满足 x*cos(theta) + y*sin(theta) = R 就表明点(x, y)在投影线上
注:这个theta 是投影角,不是投影线与x轴夹角,他们之间相差 pi/2
此时把R值全部赋给投影线上的每一个点,最后每个角度的R值叠加到这个点上,在除以总投影线数,就得到了原始数据
分析:有的像素点的原始数据是0,但是这样一反投影就会有数据
产生星状伪迹,所以要滤波
3) matlab 源代码
P = phantom(128); % create a shepp-logan
theta = 1:180;
% 1. projection using radon function
[R,xp] = radon(P,theta);
width = 2^nextpow2(size(R,1)); % set width for fft transformation
% 2. do fft to the projection
proj_fft = fft(R, width);
% 3. filter
% Ramp filter function from 0 to width then to 0
filter = 2*[0:(width/2-1), width/2:-1:1]'/width;
proj_filtered = zeros(width,180);
for i = 1:180
proj_filtered(:,i) = proj_fft(:,i).*filter;
end
% 4. do ifft to the filtered projection
proj_ifft = real(ifft(proj_filtered)); % get the real part of the result
% 5. back-projection to the x- and y- axis
fbp = zeros(128); % asign the original value 0
for i = 1:180
% rad is the angle of the projection line , not projection angle
rad = theta(i)*pi/180;
for x = (-128/2+1):128/2
for y = (-128/2+1):128/2
t = round(x*cos(rad+pi/2)+y*sin(rad+pi/2));
fbp(x+128/2,y+128/2)=fbp(x+128/2,y+128/2)+proj_ifft(t+round(size(R,1)/2),i);
end
end
end
fbp = fbp/180;
% 6. show the result
subplot(1, 2, 1), imshow(P), title('Original')
subplot(1, 2, 2), imshow(fbp), title('FBP')
fbp算法matlab实现,matlab实现fbp算法相关推荐
- 直接反投影 matlab,濾波反投影重建算法(FBP)實現及應用(matlab)
濾波反投影重建算法實現及應用(matlab) 1. 濾波反投影重建算法原理 濾波反投影重建算法常用在CT成像重建中,背后的數學原理是傅立葉變換:對投影的一維傅立葉變換等效於對原圖像進行二維的傅立葉變換 ...
- a*算法matlab代码_导向滤波算法及其matlab代码实现
导向滤波同样是一种平滑滤波算法,其与最小二乘滤波和双边滤波相比,同样是一种具有边缘保持的功能的图形滤波算法,可以用于处理图形噪点较多的图像,而且此种滤波算法与最小二乘滤波和双边滤波相比,有其独特的特点 ...
- 改进粒子群优化算法(IWAPSO)的MATLAB源程序
改进粒子群优化算法(IWAPSO)的MATLAB源程序 作者:aaron8967 主页:http://aaron8967.blog.51cto.com 说明:粒子群优化算法(Particle S ...
- 粒子群(pso)算法详解matlab代码,粒子群(pso)算法详解matlab代码
粒子群(pso)算法详解matlab代码 (1)---- 一.粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS).CAS理论于1994年正式提出,C ...
- matlab 投票法_SVM算法原理及其Matlab应用
<SVM算法原理及其Matlab应用>由会员分享,可在线阅读,更多相关<SVM算法原理及其Matlab应用(18页珍藏版)>请在人人文库网上搜索. 1.SVM 算法及其 Mat ...
- 蚁群算法优化神经网络matlab源程序,粒子群优化神经网络的程序大集合
粒子群程序集合 866867259psobp psobp.m pso(粒子群算法)优化神经网络 粒子群算法(PSO)应用于神经网络优化[matlab] PSOt A Particle Swarm Op ...
- 图片缩放 算法 matlab,图像放大算法总结及MATLAB源程序.doc
图像放大算法总结及MATLAB源程序 1,插值算法(3种): (1)最邻近插值(近邻取样法): 最近插值的的思想很简单就是把这个非整数坐标作一个四舍五入,取最近的整数点坐标处的点的颜色.可见,最邻近插 ...
- MATLAB实战系列(十一)-多种群遗传算法的函数优化算法(附MATLAB代码)
前言: 本篇博文参考,智能优化算法书籍<MATLAB智能算法30个案例分析(第2版)>,今天要与大家分享的智能算法是多种群遗传算法. 本地MATLAB环境部署 因为后面要介绍的多种群遗传算 ...
- 蚁群算法和简要matlab来源
1 蚁群算法原理 从1991由意大利学者 M. Dorigo,V. Maniezzo 和 A. Colorni 通过模拟蚁群觅食行为提出了一种基于群体的模拟进化算法--蚁群优化.极大关注,蚁群算法的特 ...
- ufldl matlab 工具箱,matlab的Deep Learning的toolbox 中的SAE算法
最近一直在看Deep Learning,各类博客.论文看得不少 但是说实话,这样做有些疏于实现,一来呢自己的电脑也不是很好,二来呢我目前也没能力自己去写一个toolbox 只是跟着Andrew Ng的 ...
最新文章
- java操作es聚合操作并显示其他字段_java使用elasticsearch分组进行聚合查询过程解析...
- Unity中sharedMaterials 和 materials
- datatable导出Excel
- fatal error: opencv2/core/cvdef.h: 沒有此一檔案或目錄
- 工科神器matlab高校遭禁用,网友:关我p事,python可取而代之
- 个人简历小程序前端源码
- 手把手教用XNA开发winphone7游戏(二)
- android 碎片问题,Android碎片问题
- 传统企业该如何拥抱AI?德勤说野心别太大,分四步实施
- Spring 框架 基础
- CVPR 2022数据集汇总|包含目标检测、多模态等方向
- sql时间函数的基本用法
- console口和telnet登录交换机
- 2022 社招 | 趋势科技 Linux开发 面经
- 数字图像处理实验三各种图像类型转换
- 小米手机自带红外传感器安卓应用程序代码
- gta5结局杀老崔我哭了_GTA5:玩家眼中的重情义,剧情中变定时炸弹,崔佛为何是个疯子?...
- EffectiveJava阅读感想一
- 【Android】APK的打包流程
- 2020 - 2021 年 Web 前端最新导航 - 前端学习资源分享前端面试资源汇总
热门文章
- 1.4_15 Axure RP 9 for mac 高保真原型图 - 案例14 【动态面板-滚动条4】深色模式 - 图层处理
- js 将标准时间转成 年月日时分秒格式
- [渝粤教育] 西南科技大学 程序设计语言(C) 在线考试复习资料
- java实现树型日记本_用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的...
- 百度信息流流量入驻规范
- 从武汉土家族“掉渣烧饼”的案例看国人对战略决策的缺失
- 天猫手机再砸10亿“全网最优价”!iPhone7低至4788元
- 招商银行宁波分行信息技术岗
- android_N上关机闹钟铃声问题_设置的铃声和播放的铃声不一样
- 百分比,只保留整数部分