代码改变世界

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

2017-09-08 14:54  Kevin.Wan  阅读(6740)  评论(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列对应材料的体积数,然后相除,也能计算获得孔隙率。