CBCT重建保姆级入门(三)

可视化

 

1.多平面重新格式化

锥体束重建过程创造了一个三维矩阵,轴向平面(axial planes)从上到下的切片,矢状面(sagittal planes)是从左到右的切片,冠状面(coronal planes)是从前到后的切片。在多平面重建(MPR)窗口中,这三个正交的平面视图通过交叉线或十字线联系在一起,可以直接定位和导航。

倾斜和弯曲的重新格式化

创建体积图像之后,除了多平面格式化,斜向格式化允许用户以任何角度切开FOV(两个斜:重建三维图像时的不拘泥于水平而允许倾斜交叉多角度重建和做切片时的倾斜切片)。斜面改造的操作可以通过旋转图像本身或旋转交叉线来进行。由于斜面上的体素在水平或垂直方向上都不对齐,斜面改造需要插值。

第一张图是效果,第二章图是实现斜面改造的两种方法。

跟着原论文放几张图:

改造可以沿着手动或自动绘制的曲线进行。最常见的是沿牙弓绘制全景曲线,以生成一系列牙齿和骨骼的合成全景图(图00和01)。由于这些合成全景图像的厚度较小,通常不可能在一张图像中看到上下牙弓的情况。因此,通常需要为上、下牙弓分别绘制曲线(图02)。另外,可以计算出这些合成全景图的射线和,类似于从全景X光片上获得的图像。图23显示了不同厚度的合成全景堆叠的射线和全景图像。

00

沿着用户在轴向平面(左)绘制的曲线合成的全景图像(右)。

01

 

沿着与图20所示的曲线略微靠前或靠后的地方,额外的合成全景图像。

02

 

上颚(顶部)和下颚(底部)的合成全景图像。

03

不同厚度下的合成射线总和图像。

除了合成全景图像外,还可以从垂直于全景曲线的线条中得到截面图像。

 

左图:横断面图像的位置,垂直于全景曲线,显示在一个轴向切片上。右图:沿曲线不同位置的横断面图像。

其他可视化

除了二维切片,还有三维渲染。可以对表面渲染和体积渲染进行区分。表面渲染(也成为间接体积渲染)是一种将图像数据转化为几何基元并进行渲染的技术,因此可能会出现一些信息的损失,因为它只显示阈值区域的表面。

用不同的阈值进行表面渲染。一个“从x到y的阈值”意味着只有x和y之间的灰度值可以保留用于可视化

体积渲染是直接渲染三维体积数据中的每一个体素,不需要中间的几何变换,因此它产生可视化质量比曲面渲染更高。一种流行的体积渲染技术是射线投射,其中每条射线都是从视点投射到体积数据的。沿着射线路径,利用擦绘制计算出采样点,然后将相应的颜色和不透明度合成二维观察平面上最终的像素颜色。颜色和不透明度的传递函数可以被模拟成不同的材料。

第二张图是不同阈值进行的体积渲染。

最大强度投影是体积渲染的一个特例。顾名思义,最大强度投影显示的是最大强度或最亮的像素值,这些像素来自于穿过物体的视角。

(尽管三维表面渲染的质量不如体积渲染,但当人们想通过快速原型机生成用于植入物的钻孔或手术指南,或打印出渲染对象的真实物理模型用于治疗计划时,表面渲染就非常有用。要做到这一点,可以将三维物体以立体光刻的文件格式导出。这种好处是体积渲染所不具备的,因为它只提供了一个二维视角;因此,它不能作为三维对象导出,用于准备引导手术。)

图像处理

重建后,CBCT图像可以用不同的方式进行处理,以优化解剖结构和病变的可视化,并隔离(即分割)图像的某些部分。

最基本的处理方法是窗口/水平转换。这种转换是为了优化图像的对比度,只显示全部灰度值范围的一部分。这个量是由窗宽(W)决定的。例如,W为1000意味着考虑显示1000个灰度值,最低的灰度值(以及低于它的所有值)被显示为黑色,最高的(以及高于它的所有值)被显示为白色。窗口级别(L)决定了窗口宽度内的中心灰度值。例如,W/L为1000/0意味着-500和+500之间的灰度值被考虑显示,所有其他值显示为黑色(<-500)或白色(>+500)。这样,显示显示器和人眼的全部对比度就被应用于这个特定的灰度值范围。W/L操作可用于不同的目的;在牙科CBCT中,它主要用于优化骨密度范围内的对比度,即通过使用与骨灰度值相对应的L值

窗口/水平的影响。左图:大宽度的窗口覆盖整个图像的灰度值范围,导致图像对比度差。中间:中等宽度的窗口覆盖软组织和骨骼的灰度值,导致良好的整体对比度。右图:小宽度的窗口有一个高级值,导致骨和牙齿的高对比度。

在重建过程中,也可以应用基本的滤波,以使图像平滑或锐化。另外可以通过增加切片厚度使图像变得平滑。通过对多个连续的切片进行平均加厚,可以减少图像的噪声,但是要牺牲图像的清晰度,可以建议,当需要观察小的细节是,不应大大增加切片厚度。注意,切片厚度不应该与切片间隔想混淆,后者改变了切片的数量,但不会改变一个切片内的图像质量。为了限制数据的大小,在输出CBCT图像之前通常会增加切片间隔。由于切片之间的信息缺失,在执行时应有所估计,尽管这可以通过在导出轴线图像的同时同时到处冠状和矢状堆叠来部分弥补。切片厚度和切片间隔通常时同时选择的。当观察小的细节时,切片厚度和切片间隔的值应尽可能小(例如,与体素大小相同)。

增加切片厚度意味着创建了一个新的图像(例如:切片1*),其中每个切片是原图像的多个(在本例中是两个)切片的平均值。切片的总数不会改变。

 

增加切片厚度可以减少清晰度和噪音。图像的体素大小为0.25毫米。为了说明问题,所有图像都被放大到800%。

增加切片间隔(SI)意味着丢弃一部分切片(在这里是50%)。剩下的那部分切片等于体素大小除以SI(例如0.25毫米的体素大小,0.5毫米的切片间隔:剩下50%的切片)。切片总数随着SI的增加而减少,但每个切片内的图像质量不会改变(例如,切片1与切片1*是相同的)。

进行变焦是另外一种选择,以突出图像的部分细节。由于文件大小和重建时间的过度增加,大视野CBCT扫描无法在小体素尺寸下重建,之后就引入了变焦重建的规则。由于一些技术限制,大视野扫描不能以其固有的清晰度显示,体素大小成为瓶颈。为了应对这种情况,可以把扫描的焦点缩小选择图像的某个区域,以较小的体素重建该区域,以较高的噪声为代价增加清晰度。这种变焦重建是使用原始数据进行的,避免了在大FOV扫描之外需要高分辨率视图时对病人的额外曝光。

 

缩放重建。(a) 大视场扫描显示感兴趣区域为4×4×4厘米(圆圈)。(b) 原始扫描的体素大小为0.25毫米。 (c) 缩放重建的体素大小为0.08毫米。

还有一种方式,时对图像进行分割,把图像划分为不同的区域(即分段)。可以进行人工分工,但是这是很麻烦而且容易出错。一种方法是阈值化,即根据灰度值划分图像,所有灰度值高于某一界限的体素被分组,而所有灰度值低于阈值的体素被分组,也可以使用双重或多重阈值。阈值处理在牙科CBCT中最常见的应用是将骨和软组织分开。但是,此时的阈值处理划分是手动处理的,虽然自适应阈值技术(即基于图像直方图中灰度值分布的自动阈值确定)和其他自动阈值标准已经被开发出来,但尚未在牙科CBCT中广泛使用。基于边缘检测、区域生长或其他技术的既定高级分割方法在临床CBCT成像中基本没有。

在分辨率为1920×1080像素的21.5英寸显示器上显示0.25毫米体素尺寸(680×680×480体素)的170×170×120毫米的CBCT扫描。在多平面重整模式下(左),每个图像像素约使用0.4个显示器像素,使显示器成为图像清晰度的限制因素。当最大化轴向切片时(底部),每个图像像素约使用1.8个显示器像素。软件的图形用户界面和观察者窗口的一部分被从图像中裁剪出来。左边和右边的图像是按比例的。

总结和未来前景

这个直接翻译吧。

这篇评论描述了CBCT成像的基本概念,涵盖了成像链的每个部分。尽管可以预计这种成像方式背后的基本原则不会改变,但未来的一些发展可能会导致其应用方面的重要改变。一方面,各种图像质量方面可能会得到改善,这可能会扩大CBCT的应用范围。另一方面,随着时间的推移,现有应用的病人辐射剂量可能会逐渐减少(新算法GAN,Nerf)。

在成像硬件方面,探测器材料和技术的创新可以提高其速度和效率。此外,先进的X射线管可以实现更小的焦斑。双能量成像,即使用两种不同能量的X射线光谱获取双组投影,也可以考虑用于CBCT,尽管其在牙科成像方面的应用还没有得到充分发展。

改进的重建算法的临床实施可以预期很快,这可能导致图像质量的显著改善(如噪音、伪影)。这也意味着它将能够以越来越低的辐射剂量获得高质量的图像。

Chinese-English Dictionary
Enable Select Search
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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三维重建是一项复杂的任务,需要深入了解相关的医学影像学知识和重建算法。此处仅提供了一个简单的示例代码,仅供参考。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值