【Avizo&Python】离散颗粒的分割、网格化与单颗粒批量自动保存wrl文件

2024年10月31日更新wrl转stl和xyz

【wrl2stl】WRL文件转STL文件-Python-CSDN博客

Wrl文件转XYZ文件-Python_python 打开wrl三维模型-CSDN博客


颗粒CT扫描数据使用Avizo重建后,需要将每个颗粒单独保存为一个文件,再进行后续的分析。前几部都可参考以下视频。

【Avizo Amira培训练习】 孔隙(或颗粒)分析 Colorize by Measure_哔哩哔哩_bilibili

每个颗粒单独分割后,软件内不支持批量将分割结果导出,只能通过python脚本将每个颗粒导出。因为python调用的是左侧project,因此只能导出VRWL文件,再通过python转为stl\obj格式。

需要先按照如下路径分割颗粒

python脚本自动化操作的是上述红框内的部分,起点是pmma1-483(3).label,通过修改Interactive Thresholding(2)中的intensityRange来选择要保存的颗粒。

要注意的是Generate Surface、Smooth Surface都要勾选auto-refresh,可以保证Interactive Thresholding(2)修改后自动更新。Interactive Thresholding(2)和Export to VRML不需要勾选auto-refresh,因为已经在代码中分别加入了thresh.execute()和export.execute()执行“Apply”,二者选其一即可。

特别提醒:在运行python程序前一定要保存!!!程序一旦开始无法暂停!!!只能强制退出!!!可以修改range的范围进行调试!!!确认代码没问题后再执行!!!

num = int(hx_project.get('pmma1-483(3).label').range[1])
for i in range(1, num + 1):
    thresh = hx_project.get('Interactive Thresholding(2)')
    thresh.ports.intensityRange.range=(i,i)
    thresh.execute()
    export = hx_project.get('Export to VRML')
    export.ports.filename.filenames = f'D:/fooling_around/PMMAbubble/pmma1_wrl/{str(i).zfill(3)}.wrl'
    export.execute()

如果弹出警告框,需要手动点击Continue,如果颗粒很多可以使用鼠标连点器……这很工程。

如果出现需要覆盖的情况:

  1. 首先检查文件夹内是否已存在同名文件,把这些文件删掉或转移走;
  2. 其次检查“Export to VRML”模块勾选了“auto-refresh”的同时,代码中也加入了export.execute(),二者选其一即可。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值