VMTK提取中心线及动脉直径计算

请教一下大家,Segment editor平滑重建后用VMTK提取中心线无法从起始端点开始建立,如何解决?以及像这种主动脉缩窄疾病如何提取需要位置的直径?谢谢!

先在 Segment Editor 中保证主动脉腔道连续、剪掉多余分支、轻度扩张后平滑,然后在腔内放置近端/远端端点,用 Extract centerline 得到可靠中心线,再用 Vessel cross-section analysis 沿中心线自动计算各位置截面,从缩窄最重处或指定位置读取直径即可。


1. Segment editor 平滑后中心线不能从起始端点开始的处理

原因一般是:血管腔在近端被剪得过短/过细、平滑后局部闭合,或端点标在血管壁上,VMTK 找不到从该点出发的连通路径。

处理步骤:

  1. 在 Segment Editor 中只保留主动脉腔:

    • 阈值 + Islands 保留最大连通块;

    • Scissors 去掉头臂干、颈总、锁骨下等不需要的分支,只保留主动脉主干。

  2. 为避免平滑“磨没”狭窄段:

    • 先用 Margin(膨胀)扩张 1–2 voxel;

    • 再用 Smoothing(推荐 Joint smoothing,强度中等)整体平滑;

    • 滚动切片确认从近端到远端腔道完全连通、没有“卡断点”。

  3. 新建一个 Markups Fiducial 列表(如 Centerline endpoints):

    • 端点一定放在“腔内”,不要放在壁上;

    • 近端点放在狭窄前 1–2 cm,远端点放在狭窄后 1–2 cm。

  4. 在 Extract centerline 模块:

    • Surface 选刚才的 segment;

    • Endpoints 选刚才的 fiducial 列表;

    • 勾选 “Preprocess input surface”,必要时勾上 “Use only largest tree”;

    • Apply。若起点仍往下游偏,再回 Segment Editor 把狭窄处稍微扩张一点后重算。


2. 主动脉缩窄病变处如何量“需要位置”的直径

有了稳定的中心线后,用 VMTK 的截面分析模块就能定量出各位置直径。

推荐流程:

  1. 打开 Vessel cross-section analysis(SlicerVMTK):

    • Input surface:选主动脉模型/segment;

    • Input centerline:选刚刚得到的 centerline curve。

  2. Apply:

    • 模块会沿中心线自动计算每个位置的截面信息(面积、等效直径等),并生成表格。
  3. 在 3D 视图或表格中:

    • 把截面滑动到肉眼判断最狭窄处,读取该位置的 “Equivalent diameter”(或最小直径);

    • 若需要特定距离处的直径,可在中心线上加一个 fiducial 点,或按曲线长度定位后再读对应截面。