术前CT和术中CBCT刚性对齐后,CBCT由于视场有限,会被左右截断,3d slicer能够裁剪CT一部分保持和CBCT一样大小

术前CT和术中CBCT刚性对齐后,CBCT由于视场有限,会被左右截断,3d slicer能够裁剪CT一部分保持和CBCT一样大小

如图所示,是个比较常见的问题,在ct和cbct预处理刚性配准中,尤其对于后续非刚性形变

3d slicer能够裁剪CT 保持和cbct图像一样大小呢,有什么好的方法么,

3D Slicer教程:基于CBCT的有效体积范围裁剪CT

本教程将指导您如何在3D Slicer中使用Crop Volume模块,基于CBCT的有效空间范围裁剪术前CT,使两者的视野范围一致。


步骤 1:确认CBCT的空间范围

  1. 加载数据
    • 在3D Slicer中加载CT和CBCT数据。
  2. 查看CBCT的空间参数
    • 进入 Volumes 模块。
    • 选中CBCT数据,记录以下参数:
      • Origin:起点坐标。
      • Spacing:体素间距。
      • Dimensions:数据尺寸(体积大小)。
  3. 对比CT的参数
    • 选中CT数据,检查其 OriginSpacingDimensions
    • 确认两者分辨率(Spacing)一致,大小(Dimensions)和起点(Origin)可能需要裁剪调整。

步骤 2:创建裁剪框(ROI)

  1. 打开 Crop Volume 模块
    • 从模块列表中选择 Crop Volume
  2. 创建新的ROI节点
    • 点击 “Create new ROI” 按钮,生成一个裁剪框(ROI)。
    • 新的ROI节点会出现在左侧的“Data”模块中。
  3. 调整ROI范围
    • 选中ROI框,在3D视图中拖动和缩放裁剪框。
    • 确保裁剪框的范围与CBCT的有效空间完全一致。
    • 或者,在右侧“ROI Parameters”中手动输入CBCT的 OriginDimensions 以精确设置。

步骤 3:裁剪CT数据

  1. 选择裁剪输入
    • Input Volume 中选择术前CT数据。
  2. 设置输出数据
    • 点击 “Output Volume” 下拉菜单,创建一个新节点(例如“Cropped_CT”)。
  3. 应用裁剪
    • 点击 Apply 按钮,开始裁剪操作。

步骤 4:验证裁剪结果

  1. 加载裁剪后的CT
    • 在3D视图中显示裁剪后的CT(Cropped_CT)和CBCT。
  2. 叠加对比
    • 切换到“Slice View”查看切片,确保裁剪后的CT与CBCT的有效视野范围一致,无偏移或截断。

附加优化(可选)

  1. 调整分辨率
    • 如果CT与CBCT的分辨率(Spacing)不同,可使用 Resample Scalar/Vector Volume 模块统一分辨率。
  2. 对齐起点
    • 如果裁剪后CT和CBCT仍有位置偏移,可在 Transforms 模块中对齐CT的 Origin

示例 Python 脚本

如果需要自动化操作,可通过以下Python脚本完成裁剪:

import slicer

# 加载CT和CBCT节点
ctNode = slicer.util.getNode('CT')  # 替换为实际CT节点名称
cbctNode = slicer.util.getNode('CBCT')  # 替换为实际CBCT节点名称

# 创建裁剪框并设置为CBCT的范围
roiNode = slicer.mrmlScene.AddNewNodeByClass('vtkMRMLAnnotationROINode')
cropVolumeLogic = slicer.modules.cropvolume.logic()
cropVolumeLogic.SetROIFromVolumeBounds(roiNode, cbctNode)

# 裁剪CT
croppedCT = slicer.mrmlScene.AddNewNodeByClass('vtkMRMLScalarVolumeNode', 'Cropped_CT')
cropVolumeLogic.CropVoxelBased(ctNode, roiNode, croppedCT)

# 验证结果
slicer.util.setSliceViewerLayers(background=croppedCT)

注意事项

  1. ROI自动调整:可以直接基于CBCT的空间范围自动调整ROI,减少手动误差。
  2. 裁剪后的验证:裁剪后的CT数据需通过Slice View叠加对比确保匹配。

完成后,裁剪后的CT将与CBCT有效视野范围一致,便于后续分析和处理。


您好,老师,按照您的流程来,为什么是黑色的啊,croped以后