使用 VMTK 将 VTK 转换为 STL,反之亦然

Using VMTK to convert VTK into STL and vice versa

我正在尝试使用 VMTK(血管建模工具包 http://www.vmtk.org/index.html)将大量 VTK 文件转换为 STL,反之亦然。我通常使用 ParaView,但我希望通过自动转换来减少人为错误的可能性。我对 Python 没有经验,但对 Matlab 有经验。

目前,我什至无法在没有错误输出的情况下使用 VMTK 读取文件,所以我认为我使用了错误的 VMTK 脚本。

有人在这方面有专业知识吗?

非常感谢。

您可以创建一个 ParaView python 脚本来执行与在 GUI 中执行的操作相同的操作。

创建这样的脚本无需知道如何编写 python 代码,您可以使用 Python Trace:

  • Tools / Start Trace
  • 默认选项应该没问题
  • 执行您通常的操作(加载文件等)
  • Tools / Stop Trace.
  • 将其保存到磁盘
  • 修改它以使用参数而不是硬编码路径

例如,它可能看起来像:

# trace generated using paraview version 5.8.1-1632-g0a4d2813b0

#### import the simple module from the paraview
from paraview.simple import *
#### disable automatic camera reset on 'Show'
paraview.simple._DisableFirstRenderCameraReset()

import sys
if len(sys.argv) != 2:

    raise ValueError('Please provide a filename.')

filename = sys.argv[1]
print(f'Processing {filename} ...')

# create a new 'Legacy VTK Reader'
blowvtk = LegacyVTKReader(FileNames=[filename])
...

  • 运行 `./pvpython myscript.py 文件到process.vtk

当然,有了更多 python(或其他脚本工具),您可以改进它以遍历文件列表而不是只处理一个,等等...