用 MATLAB 实现的计算机CT断层扫描图像重建项目源码

这篇具有很好参考价值的文章主要介绍了用 MATLAB 实现的计算机CT断层扫描图像重建项目源码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

完整源码资源下载链接

计算机断层扫描图像重建

介绍

计算机断层扫描是堆叠在一起的 X 射线图像的集合,以获得作为诊断图像第三维的深度信息。这些堆叠的” X 射线图像作为正弦图从 CT 机架接收,代表对象单层的 X 射线吸收剖面。该项目的目标是重建该单层的原始 2D 图像,并使用光衰减信息区分受试者组织的不同 X 射线吸收水平。

下面我们看到一个示例,说明如何通过 X 射线束穿过身体(左)的横截面层来形成正弦图(右),每个角度的 X 射线吸收都会生成衰减曲线图。

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

项目详情

对象在 CT 机架旋转的每个角度处的 X 射线投影都会生成正弦图,其中 Y 轴显示以度为单位的角度,而 X 轴显示空间距离。

我创建了一个示例正弦图,该项目的目标是构造其相应的幻像对象。我们将确定通过体模内不同层的 X 射线衰减,从而获得物体的物体密度分布。

输入正弦图

输出应该接近

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

​编辑

第零时刻

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

如上图所示,第 0 时刻是 X 射线首次以每个角度照射 CT 探测器时的响应。这将是每个角度(X 轴)处的衰减幅度(Y 轴)的总和,因此将是正弦图 256 个角度投影列中每一个的总和。

它是一条平坦的线的显着结果是因为无论从哪个角度进行投影,由于物体特征是静态的,衰减强度的总和将是恒定的。

简单的背投影图像

简单的反投影是通过将投影叠加在一起来计算的,这为图像的所有组件创建了浓度梯度。单列将包含单个角度投影的衰减信息。总共有 256 个角度投影,对应于正弦图上显示的 180 度。

因此,我们一次选择一列,将衰减幅度信息涂抹在 128 行上,然后将其旋转到与以度为单位对应的角度(第 256 个投影对应于 180 度,因此第 n 个投影将对应于 n*180/256 度)

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

与真实输出图像还不够接近,但肯定更近了一步! 每次将新的投影涂抹添加到旧的投影涂抹时,都会一次又一次地添加特定的“灰度”。这使得在背投图像上暗点显示相对较暗,而亮点则显示相对较亮。

拉姆拉克过滤器

为了执行正弦图的滤波反投影,我们需要构建将在频域中使用的滤波器。这将帮助我们轻松地将其乘以傅里叶变换的正弦图,而不是执行卷积。然后将滤波器响应与傅立叶变换(和移位)正弦图相乘。结果是频域中的 Ram-Lak(高通滤波器)滤波正弦图,且所有零频率均居中。

为了获得原始频率分布,我们先进行逆傅里叶位移,然后对其进行逆傅里叶变换,以获得空间域正弦图。我们看到滤波器响应如何比未滤波的对手更具选择性,并且我们可以看到当检测到边缘时存在幅度尖峰。

过滤正弦图

过滤后与原始

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

与我们简单的背投影图像相比,我们看到 Ram-Lak 滤波器能够去除低频噪声(雾霾),提高对比度,从而提高总信噪比。分辨率似乎也有所提高,但主要是由于清晰度的提高和对比度的提高。

与汉明比较

我们还可以探索 MATLAB 的内置函数来执行此操作。为此,我们使用 Radon 和逆 Radon 变换。

theta=0:180;                   

[R,rad_angles]=radon(phantom,theta);    % as shown in radon help file

imagesc(rad_angles,theta,R'); colormap('gray'); 

title('Sinogram Generated Using radon Function')

xlabel('Position')

ylabel('Angle')

RamLak_filtered=iradon(R, theta, 'linear','Ram-Lak', 1.0, size(phantom,1));

imagesc(RamLak_filtered); colormap('gray'); 

title('Filtered Backprojection Using iradon Function and Ram-Lak Filter')

xlabel('Position')

ylabel('Position')

Hamming_filtered=iradon(R, theta, 'linear','Hamming', 1.0, size(phantom,1));

imagesc(Hamming_filtered); colormap('gray');

title('Filtered Backprojection Using iradon Function and Hamming Filter')

xlabel('Position')

ylabel('Position')

Ram-Lak 滤波输出

汉明滤波输出

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

用 MATLAB 实现的计算机CT断层扫描图像重建项目源码,资源相关,计算机视觉,人工智能,深度学习,机器学习

Ram-Lak 滤波器是高通滤波器,与中频通 Hamming 滤波器相比,我们看到 Ram-Lak 滤波后的图像比 Hamming 滤波后的图像具有更清晰的特征。因此,为了使医学图像具有更好的清晰度和分辨率,Ram-Lak 滤波器会更适合。文章来源地址https://www.toymoban.com/news/detail-757508.html

到了这里,关于用 MATLAB 实现的计算机CT断层扫描图像重建项目源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于图像合成和注意力的深度神经网络从计算机断层扫描灌注图像中自动分割缺血性脑卒中病变

    Medical Image Analysis 65 (2020) 101787 从计算机断层扫描灌注( CTP )图像中分割 缺血性脑卒中病变 对于急性护理病房中准确诊断脑卒中非常重要。然而,除了病变的 复杂外观 外,它还受到灌注参数图的 低图像对比度和分辨率 的挑战。为了解决这个问题,我们提出了一种基于 CT

    2024年02月02日
    浏览(38)
  • 【计算机视觉、关键点检测、特征提取和匹配】基于SIFT、PCA-SIFT和GLOH算法在不同图像之间建立特征对应关系,并实现点匹配算法和图像匹配(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、数据、文章

    2024年03月14日
    浏览(55)
  • 计算机图形学实验——利用MFC对话框实现多边形绘制与填充(扫描线填充算法)附源码

    内容概括: 利用基于对话框的MFC项目 实现鼠标点击绘制多边形 实现扫描线算法填充多边形 源码见Yushan-Ji/ComputerGraphics: ECNU2023秋 计算机图形学课程实验代码 (github.com) 通过鼠标交互输入多边形 对各种多边形进行填充,包括边界自交的情况 利用 OnLButtonDown 和 OnRButtonDown 函数,

    2024年02月04日
    浏览(76)
  • 计算机视觉的花椒外观品质检测及其MATLAB实现

    基于计算机视觉的花椒外观品质检测及其MATLAB实现  作者: 杨飞, 祝诗平, 邱青苗, Yang fei, Zhu Shiping, Qiu Qingmiao 作者单位: 杨飞,邱青苗,Yang fei,Qiu Qingmiao(西南大学工程技术学院,重庆,400716), 祝诗平,Zhu Shiping(西南大学工程技术学院,重庆,400716;重庆大学光电技术及系统

    2024年02月03日
    浏览(58)
  • 计算机视觉:聚类算法(K-Means)实现图像分割

    什么是K-means聚类? K-means聚类是一种无监督学习算法,用于将一组数据划分为K个不同的类别或簇。它基于数据点之间的相似性度量,将数据点分配到最接近的聚类中心。K-means算法的目标是最小化数据点与其所属聚类中心之间的平方距离和。 K-means聚类在图像分割中的应用 在

    2024年02月02日
    浏览(40)
  • 计算机竞赛 深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的昆虫识别算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:4分 创新点:4分 🧿 更多资料, 项目分享: https://git

    2024年02月07日
    浏览(92)
  • 计算机图形硬件(二) 5 - 2 光栅扫描系统

    2.1视频控制器 图2.17给出了常用的光栅系统组织。缓存使用系统存储器的固定区域且由视频控制器直接访问。          帧缓存的位置及相应的屏幕位置均使用笛卡儿(Cartesian)坐标。应用程序使用图形软件包的命令来设定显示对象相对于笛卡儿坐标系原点的坐标位置。尽管

    2024年02月11日
    浏览(43)
  • 计算机竞赛 基于人工智能的图像分类算法研究与实现 - 深度学习卷积神经网络图像分类

    🔥 优质竞赛项目系列,今天要分享的是 基于人工智能的图像分类技术 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 传统CNN包含卷积层、全连接层等组件,并采用softmax多类别分类器和多类交叉熵损失

    2024年02月11日
    浏览(66)
  • 计算机安全学习笔记(V):UDP和网络扫描

    UDP是最简单的传输协议。多个程序(服务)可以在主机上侦听,因此操作系统需要知道将流量发送到哪个程序。 在传输协议中,每个程序都与源和目标处的端口相关联,该端口显示为程序的套接字。UDP 在 IP 内携带有效负载数据,附加功能最少。UDP的特点包括消息不被确认,

    2024年01月21日
    浏览(48)
  • 图像识别和计算机视觉:如何应用人工智能技术实现自动化检测和识别

      在数字化时代,图像数据成为了我们日常生活中不可或缺的一部分。然而,随着图像数据的急剧增加,传统的手动处理和分析方法已经无法满足我们的需求。这就引出了图像识别和计算机视觉技术的重要性。本文将介绍人工智能技术在图像识别和计算机视觉领域的应用,以

    2024年02月05日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包