代码改变世界

HOWTO: 如何利用Avizo或Amira计算孔隙率(Porosity)

  Kevin.Wan  阅读(7013)  评论(3编辑  收藏  举报

在做三维可视化数据处理过程中,我们经常要提取的一个基本信息就是孔隙率。在今天的文章中我们要分享两个信息,一个是如何利用Avizo或Amira进行孔隙率计算;另外是关于Avizo 8.0中孔隙率计算异常的问题应对方法。

Avizo或Amira中如何计算孔隙率

孔隙率(Porosity),简单理解就是材料中孔隙体积与材料在自然状态下总体积的百分比。在Avizo和Amira中是利用Volume Fraction计算模块来提取孔隙率信息,基本步骤如下:

1. 分割获取孔隙(Foam示例中我只是简单利用交互阈值分割方式获取了孔隙,如下图):

  一般这里我会将获得的孔隙重命名为Pores。

2. 获取材料整体分割(类似步骤1,选择全部阈值范围,就可以获得整个材料的分割,不过注意,这里材料正好是正方形,如果是不规则材料,要考虑如何获取材料整体形态)

  一般这里我会将分割获得的材料重命名为Mark。

3. 利用Volume Fraction进行孔隙率计算。

  对Pores数据应用Volume Fraction,默认第一个参数就是Pores,第二个Input Image Mask我们选择Mark,第三个参数Interpretation选择3D(如果选择XY,我们可以获得面孔率),应用之后获取的结果点击Show,在Tables中展示出获得的孔隙率,如下图:

        

20200627补充:对于规则形态(比如上图,裁切出来的区域都为有效区域),则Volume Fraction的第二个参数可以为空;对于其他不规则形态,则需要想各种办法提取出研究区域。

Avizo 8.0计算孔隙率异常的问题

  使用Avizo 8.0的用户要注意,按照前面的方法计算孔隙率很可能是错误的,Avizo厂商在8.1的Release Notes中描述了这个问题“ 23292 Volume Fraction (Avizo Fire)

Volume Fraction could give incorrect values in some case when used with a mask.

  也就是说这个问题在8.1之后版本已经修正,所以这也提醒Avizo或Amira用户,软件及时更新非常重要。

  那这里还提供一个临时方案,参考前边完成孔隙和材料整体的分割,然后利用Material Statistics对材料进行统计计算,获取的计算结果表中提取Volume列对应材料的体积数,然后相除,也能计算获得孔隙率。

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2010-09-08 InstallShield 2011新功能试用(10)- Express版本
2010-09-08 HOWTO:InstallShield中如何制作应用程序的卸载快捷方式
点击右上角即可分享
微信分享提示