在做三维可视化数据处理过程中,我们经常要提取的一个基本信息就是孔隙率。在今天的文章中我们要分享两个信息,一个是如何利用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中展示出获得的孔隙率,如下图:

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列对应材料的体积数,然后相除,也能计算获得孔隙率。

HOWTO: 如何利用Avizo或Amira计算孔隙率(Porosity)的更多相关文章

  1. 利用编辑距离(Edit Distance)计算两个字符串的相似度

    利用编辑距离(Edit Distance)计算两个字符串的相似度 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可 ...

  2. MeteoInfoLab脚本示例:利用比湿、温度计算相对湿度

    利用比湿和温度计算相对湿度的函数是qair2rh(qair, temp, press=1013.25),三个参数分别是比湿.温度和气压,气压有一个缺省值1013.25,因此计算地面相对湿度的时候也可以 ...

  3. 利用iOS8新特性计算cell的实际高度

    在计算cell的实际高度是 我们一般是通过计算frame  拿到最底部一个控件的最大Y值从而的到cell 的高度  算来算去  比较麻烦 其实,iOS8已经提供了直接通过Cell高度自适应的方法了,根 ...

  4. Android GIS开发系列-- 入门季(7) 利用GeometryEngine坐标转换、计算距离与面积等

    GeometryEngine是Arcgis的重要工具类,利用此工具类,可以计算地图上的距离.面积,将点.线.面转化为Json数据,将Json转化为点线面,坐标转换作用非常强大. 一.坐标转化 将用到方 ...

  5. 利用sklearn进行tfidf计算

    转自:http://blog.csdn.net/liuxuejiang158blog/article/details/31360765?utm_source=tuicool 在文本处理中,TF-IDF ...

  6. 利用JS写一个计算平方的网页

    <!-- 计算一个数的平方并显示出来 --> <!DOCTYPE html> <html> <head> <meta charset=" ...

  7. 利用MySQL游标进行计算排名

    SELECT a.id, a.nick_name, a.member_account, a.integral, () AS tRank #计算行号 FROM tzqc_raw_data AS a, ( ...

  8. 利用同步辅助类CountDownLatch计算多线程的运行时间

    一.CountDownLatch jdk提供的一个同步辅助类,在完成一组在在其他线程中执行的操作前,允许一个或者多个其他的线程等待,通过调用 await() 方法阻塞,直到由于 countDown() ...

  9. 利用if else 来计算车费

    static void Main(string[] args)        {            while (true)            {                double ...

随机推荐

  1. Codeforces 830D Singer House 动态规划

    原文链接https://www.cnblogs.com/zhouzhendong/p/CF830D.html 题解 考虑用 $dp[i][j]$ 表示深度为 $i$ 的树里,有 $j$ 条路径的方案数 ...

  2. NOIP2016提高组Day1T2 天天爱跑步 树链剖分 LCA 倍增 差分

    原文链接https://www.cnblogs.com/zhouzhendong/p/9275606.html 题目传送门 - 洛谷P1600 题目传送门 - LOJ#2359 题目传送门 - Vij ...

  3. mvc 过滤器篇

    1,重写类作为特性 2 写一个controller ,让其他controller集成 四种过滤器 1身份验证过滤器 2异常处理过滤器 3行为过滤器 4结果过滤器

  4. c#中的委託,匿名方法和lambda表達式

    (原博)http://www.cnblogs.com/niyw/archive/2010/10/07/1845232.html 简介 在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆.我 ...

  5. spring mvc读取properties资源文件夹中文乱码问题

    通过在applicationContext.xml和springmvc.xml中配置 <bean        class="org.springframework.beans.fac ...

  6. Java中System类的相关应用

    1.Runtime: public class RuntimeDemo { public static void main(String[] args) { Runtime runtime=Runti ...

  7. QLayout: Attempting to add QLayout XXX to XXX, which already has a layout

    QLayout是Qt应用开发中一个非常重要的组件,然而平时使用的时候不小心经常会发现控制台有类似如下的警告: QLayout: Attempting to add QLayout "&quo ...

  8. 利用Webpack+React(antd)+ES6+python(flask)实现代码转换

    之前的几篇博客是将flask 结合 antd本地化,但是这样使得antd无法按需加载(也不支持ES6的语法),而且在写的过程中还需要把每个组件都用antd对象,这样的做法虽然是实现了antd的本地化, ...

  9. 利用svg描边+css3实现边框逐渐消失小动画

    首先简单的描述一下svg中两个属性: stroke-dasharray:表示每个虚线的长短. stroke-dashoffset:表示首个虚线的偏移量. 当两者都特别大的时候就会消失掉 直接上代码: ...

  10. eslint那些事儿

    eslint是一个插件化的javascript和jsx代码检测工具,eslint使用Node.js编写.全局安装的eslint只能使用全局安装的插件,本地安装的eslint不仅可以使用本地安装的插件还 ...