求超分辨率图像重建的MATLAB代码或者软件

求超分辨率图像重建的MATLAB代码或者软件,第1张

function Output = denoiseByTv(Ima, Thr)

ImaTv = imfilter(Ima, 'Laplacian');

ImaTh = (ImaTv< Thr)ImaTv;

output = Ima - ImaTh;

end

CT图像的本质是衰减系数成像。一束X射线(比如下图多束平行射线中其中一束)在穿透物体的过程中 ,其部分能量被物体吸收,导致射出的X射线产生衰减。根据比尔-朗博定律(Beer–Lambert law),光束的衰减量A主要取决于三个因素:①物质对特定波长光的吸收率,即摩尔衰减系数;②光程;③衰减物质的浓度,即:

因此,该射线射出之后的能量强弱,实质上是该射线经过的物体,其当前截断面上,不同物质的分布的一个综合作用结果。假如我们能够通过某种方式计算得到物体某一个截断面上每条射线(假设密度足够大)上每个点的摩尔衰减系数 ,则该截断面的物质结构信息就可以被呈现出来。

实际上CT图像如果读取为grayscale,其数值(即CT值,单位为Hounsfield Unit)就是由物质的衰减系数 确定的(这个 不知道是不是就是上面的 ):

也就是说,在已知某个截面上入射X光线强度(由X射线源决定)以及射出强度(由接收器)的前提下,求解出射线经过的各个点的衰减系数,成为CT图像重建问题的关键。考虑到射线经过区域不同位置的衰减系数不同,X射线的衰减量应该是各个位置衰减系数的积分。对一组平行X射线束中的每一束上面的衰减量同时进行积分,就相当于对2D衰减系数分布图像 沿入射方向进行投影。换句话说,就是平行X射线束对某个截面的一次扫描,可以拿到该截面一个固定角度的一维投影结果。

对一幅图像进行多个角度的投影,将所有的投影向量concat起来,可以得到一个矩阵,如下图所示:(注意concat时对向量长度不足最长投影向量的部分进行补零处理)

沿不同角度投影之后得到的投影矩阵,可以通过反变换重建出原始图像。比如一个简单的例子:

上面说的投影与重建实际上就是Radon变换和iRadon的特殊情况。Radon变换的更一般的表述如下:

The Radon transform is the integral transform which takes a function f defined on the plane to a function Rf defined on the (two-dimensional) space of lines in the plane, whose value at a particular line is equal to the line integral of the function over that line

简单地说就是Radon变换将一个(离散)2D平面上的函数 映射到线平面 上的函数 ,其中 。如果这样说不好理解的话,我们可以认为2D数字图像的像素值即函数 ,其在每个点 上的函数值即灰度值,或者是CT图像的CT值。实际上Matlab中对Radon变化的解释就是这样的:

我们可以看一个Radon变化的例子,比如对这张原图:

下面是这张图对应的Radon变化结果,其中纵坐标代表投影度数,横坐标其实就是对应位置的像素值,不过他用的单位是方块。假如X射线束从上往下为0°,旋转方向为逆时针,则45°时投影,中间点的像素值应该是0(对角线上两个黑块,像素值-1和两个白块,像素值+1);同理135°时投影区域像素值不为-2(全黑)的长度最大。

中心切片定理:

CT重建过程示意:

参考文献:

  成像是牙科患者临床评估的重要诊断辅助手段。 1960年代全景射线摄影技术的引入及其在1970年代和1980年代的广泛采用预示了牙科放射学的重大进步,其为临床医师提供了颌骨和颌面部结构单一,但非常详细的成像。然而,无论是单独使用还是组合使用该技术,口内和口外手术均受所有平面二维(2D)投影的共性问题所困扰:结构的放大,扭曲,叠加和歪曲。

  另一方面,人们在三维(3D)射线摄影成像(例如,立体镜,可调孔径的CT)领域也进行了诸多尝试,虽然可以利用CT图像,但考虑到其成本、获取难度、以及较高的放射剂量,CT图像在牙科领域的应用受到了限制。

  专门用于对颌面区域成像的锥形束CT(CBCT)的引入,标志着颌面区域成像无论是在数据采集还是在图像重建过程,从2D到3D的转变。CBCT引起了牙科各个领域的空前兴趣,因为其掀起了颌面成像的一场革命,促进了牙科诊断从2D图像过渡到3D图像,并真正实现了将成像的作用从诊断扩展到手术和外科手术的图像指导,这种图像指导仅仅需要一个第三方应用软件即可实现。

  CBCT是一项最新技术。其成像过程的关键是一个两端分别固定在X射线源和检测器的旋转机架。该旋转机架将发散的金字塔形或圆锥形电离辐射源穿过感兴趣区域的中心,引导到另一侧的X射线检测器上。 X射线源和检测器围绕固定在感兴趣区域中心的旋转支点旋转。在旋转过程中,以完整或有时是局部的弧线获取了多个(从150到600多个)视场(FOV)的顺序平面投影图像。

  此过程不同于传统的医学CT成像,使用呈螺旋形的扇形X射线束获取FOV的各个图像切片,然后堆叠这些切片以获得3D表示。CT图像的每个切片都需要单独的扫描和2D重建过程。相比之下,由于CBCT单次扫描时包含了整个FOV,因此仅需要机架的一个旋转序列即可获取用于图像重建的足够数据,见下图:

首先,CBCT最大的优势在于其快速成像:

但是其主要缺点(尤其是使用较大的FOV时)在于,由于检测板接收到大量散射后的放射结果,与噪声及 对比度分辨率(contrast resolution) 等相关的图像质量会受到较大限制。

X = dicomread(FILENAME, 'Frames', V)

其中V是一个向量,包含你想读的帧的索引:V=[1,2,3,]

-----------------------------------------------------

X = dicomread('the_fucking_DICOMdcm', 'Frames', [1,2,3,7,8,10]);

这是在fs采样率的条件下,用傅里叶反变换推倒出来的,将离散型号变回连续信号。详细推倒的话,随便找一本信号书看看吧。

最后的写成:

Y=求和(X(nT)sinc(π(t-nT)/T),其中T=1/fs

appcoef 提取一维小波分解低频系数 detcoef 提取一维小波分解高频系数 dwt 单层一维小波分解 dwtmode 离散小波变换扩展模式 idwt 单层一维逆离散小波变换 upcoef 一维小波分解的直接重构 upwiev 一维小波分解的单层重构

以上就是关于求超分辨率图像重建的MATLAB代码或者软件全部的内容,包括:求超分辨率图像重建的MATLAB代码或者软件、医学图像处理:CT与CBCT、如何在matlab中读取一组三维dicom图片等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/10168384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存