CBCT重建保姆级入门(一)

笔者最近在做医学影像的三维重建工作,在nerf,GAN等重建方法上小有见解,但对一些原理估摸不清,现回顾一篇经典会议论文,叫做Technical aspects of dental CBCT: state of the art(可自行去 Google scholar搜索),读完酣畅淋漓。于是准备翻译并加上自己的理解,当然有些内容是直接取自机器翻译,此部分是为了做一些联想,可以忽略不读。——写在前面

硬件方面,仅作了解:电流加热阴极的灯丝,通过热离子效应导致电子的释放,这些电子因为电位差被加速到阳极,通过电子和阳极的碰撞,产生x射线

 

从x光线发射管发射的光束是多能的,由能量沿连续光谱变化的光子组成。诊断性的x射线光谱有一个连续的形状,有几个尖锐的特征峰。

x射线束中的大部分光子是一种叫做制动辐射(Bremsstrahlung)的效应的结果,当从阴极释放并加速向阳极移动的电子与阳极材料发生相互作用是,这种效应就会在x射线管中产生,该材料在一定程度上减缓了电子的速度,根据能量守恒定律,电子动能的损失部分被x射线光子的释放所补偿。Bremsstrahlung光谱通过内部(固有)和外部(添加)过滤进行衰减。在离开X射线管之前,X射线光子将与管壳相互作用,在此期间,主要是低能量的光子被吸收。金属片形式的额外过滤被添加,以确保大多数低能量光子不离开管子,因为这些光子有很大的可能性在病人体内被吸收(即它们对病人的辐射剂量有贡献,但对放射图像没有贡献),CBCT通常使用铝或铜过滤。除了减少入口曝光外,高度过滤的x光线受光束硬化的影响较小。

 

X射线光谱中出现的离散峰是特征X射线的结果,当电子束与阳极原子的相互作用导致一个内壳中的电子被射出时,就会发生这种现象。空出的位置由一个外壳的电子填补,导致释放出能量与壳的能量状态之间的差异相对应的光子。因此,这些光子具有特定的能量量子,是阳极材料的特征。

cbct的仪器

扫描仪之间的源-物距离(SOD)和物-探测器距离(ODD)有很大的不同。与焦点尺寸一起,SOD和ODD是决定投影图像清晰度的重要因素。距离因素可能带来图像边缘的不清晰度,较大的SOD可以导致更清晰的图像,因为减少了焦斑的模糊,较大的SOD会有更高的几何放大率,因此在焦点模糊和几何放大率之间需要有一个权衡。此外,较短的ODD(以及较大的SOD)允许使用较小的探测器区域。另一方面,较短的ODD增加了到达探测器的散射辐射的比例。在实践中,ODD通常尽可能地短,以减少焦斑的模糊,增加FOV。

 

经典ct重建的图像采集

 

x射线管和探测管同时围绕旋转轴移动

虽然每种cbct设备的基本采集原理是相同的,但在比较采集方法和参数时,重要的差异是显而易见的。首先可以区分的是脉冲式和连续式曝光,脉冲和连续曝光都容易受到探测器滞后的影响,但脉冲更可能表现出更好的空间分布率,因为运动效应减少。其次是旋转角度,大多数cbct扫描仪都是360°获得投影,但是由于机械障碍,全旋转是无法做到的,所以会采取半旋转,此时可以重建出完整的FOV.但是由于头颈部对辐射敏感分布的器官分布不均匀,如骨组织的体积自我衰减和软组织的难以显影。就图像质量而言,部分旋转往往会降低整体图像质量,根据毫安的不同,180°旋转方案比360°方案会导致噪音的轻微或更明显的增加,与较短的扫描相关的采样减少也会导致较短的扫描的图像质量下降(即使总的扫描毫安数是相同的),明显的是与较少的投影数相关的视图混叠效应略有增加。视图混叠效应往往是次要的,而短扫描与360°扫描的全面特征,以及起始角度对图像质量的影响(或没有影响)还没有得到全面评估。

在(a)360°旋转,70毫安和(b)180°旋转,36毫安的情况下,下颌骨的CBCT扫描显示几乎没有可感知的差异。在较低的毫安水平下,差异会更明显。

Chinese-English Dictionary
Enable Select Search
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
CBCT(锥形束CT)是一种医学影像学技术,它利用锥形束X射线扫描器和数字成像技术获取三维图像。在Python中,可以使用多种库进行CBCT三维重建,如PyQT、PyVista、SimpleITK等。 以下是使用SimpleITK库进行CBCT三维重建的示例代码: ```python import SimpleITK as sitk # 读取CBCT图像数据 filename = 'cbct.nii' image = sitk.ReadImage(filename) # 设置重建参数 pixel_spacing = [0.5, 0.5, 0.5] # 重建像素大小 origin = image.GetOrigin() # 重建起点 direction = image.GetDirection() # 重建方向 size = [512, 512, 512] # 重建图像大小 # 进行三维重建 reconstructor = sitk.FDKConeBeamReconstructionImageFilter() reconstructor.SetGeometry(sitk.ConeBeamReconstructionGeometry()) reconstructor.SetInput(image) reconstructor.SetOutputSpacing(pixel_spacing) reconstructor.SetOutputOrigin(origin) reconstructor.SetOutputDirection(direction) reconstructor.SetSize(size) output = reconstructor.Execute() # 保存重建结果 output_filename = 'cbct_reconstructed.nii' sitk.WriteImage(output, output_filename) ``` 在代码中,首先使用SimpleITK库读取CBCT图像数据。然后,设置重建参数,包括重建像素大小、重建起点、重建方向和重建图像大小。最后,使用FDKConeBeamReconstructionImageFilter进行三维重建,并将结果保存为NIfTI格式的文件。 需要注意的是,CBCT三维重建是一项复杂的任务,需要深入了解相关的医学影像学知识和重建算法。此处仅提供了一个简单的示例代码,仅供参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值