HOWTO: 如何利用Avizo或Amira计算孔隙率(Porosity)
在做三维可视化数据处理过程中,我们经常要提取的一个基本信息就是孔隙率。在今天的文章中我们要分享两个信息,一个是如何利用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)的更多相关文章
- 利用编辑距离(Edit Distance)计算两个字符串的相似度
利用编辑距离(Edit Distance)计算两个字符串的相似度 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可 ...
- MeteoInfoLab脚本示例:利用比湿、温度计算相对湿度
利用比湿和温度计算相对湿度的函数是qair2rh(qair, temp, press=1013.25),三个参数分别是比湿.温度和气压,气压有一个缺省值1013.25,因此计算地面相对湿度的时候也可以 ...
- 利用iOS8新特性计算cell的实际高度
在计算cell的实际高度是 我们一般是通过计算frame 拿到最底部一个控件的最大Y值从而的到cell 的高度 算来算去 比较麻烦 其实,iOS8已经提供了直接通过Cell高度自适应的方法了,根 ...
- Android GIS开发系列-- 入门季(7) 利用GeometryEngine坐标转换、计算距离与面积等
GeometryEngine是Arcgis的重要工具类,利用此工具类,可以计算地图上的距离.面积,将点.线.面转化为Json数据,将Json转化为点线面,坐标转换作用非常强大. 一.坐标转化 将用到方 ...
- 利用sklearn进行tfidf计算
转自:http://blog.csdn.net/liuxuejiang158blog/article/details/31360765?utm_source=tuicool 在文本处理中,TF-IDF ...
- 利用JS写一个计算平方的网页
<!-- 计算一个数的平方并显示出来 --> <!DOCTYPE html> <html> <head> <meta charset=" ...
- 利用MySQL游标进行计算排名
SELECT a.id, a.nick_name, a.member_account, a.integral, () AS tRank #计算行号 FROM tzqc_raw_data AS a, ( ...
- 利用同步辅助类CountDownLatch计算多线程的运行时间
一.CountDownLatch jdk提供的一个同步辅助类,在完成一组在在其他线程中执行的操作前,允许一个或者多个其他的线程等待,通过调用 await() 方法阻塞,直到由于 countDown() ...
- 利用if else 来计算车费
static void Main(string[] args) { while (true) { double ...
随机推荐
- Codeforces 830D Singer House 动态规划
原文链接https://www.cnblogs.com/zhouzhendong/p/CF830D.html 题解 考虑用 $dp[i][j]$ 表示深度为 $i$ 的树里,有 $j$ 条路径的方案数 ...
- NOIP2016提高组Day1T2 天天爱跑步 树链剖分 LCA 倍增 差分
原文链接https://www.cnblogs.com/zhouzhendong/p/9275606.html 题目传送门 - 洛谷P1600 题目传送门 - LOJ#2359 题目传送门 - Vij ...
- mvc 过滤器篇
1,重写类作为特性 2 写一个controller ,让其他controller集成 四种过滤器 1身份验证过滤器 2异常处理过滤器 3行为过滤器 4结果过滤器
- c#中的委託,匿名方法和lambda表達式
(原博)http://www.cnblogs.com/niyw/archive/2010/10/07/1845232.html 简介 在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆.我 ...
- spring mvc读取properties资源文件夹中文乱码问题
通过在applicationContext.xml和springmvc.xml中配置 <bean class="org.springframework.beans.fac ...
- Java中System类的相关应用
1.Runtime: public class RuntimeDemo { public static void main(String[] args) { Runtime runtime=Runti ...
- QLayout: Attempting to add QLayout XXX to XXX, which already has a layout
QLayout是Qt应用开发中一个非常重要的组件,然而平时使用的时候不小心经常会发现控制台有类似如下的警告: QLayout: Attempting to add QLayout "&quo ...
- 利用Webpack+React(antd)+ES6+python(flask)实现代码转换
之前的几篇博客是将flask 结合 antd本地化,但是这样使得antd无法按需加载(也不支持ES6的语法),而且在写的过程中还需要把每个组件都用antd对象,这样的做法虽然是实现了antd的本地化, ...
- 利用svg描边+css3实现边框逐渐消失小动画
首先简单的描述一下svg中两个属性: stroke-dasharray:表示每个虚线的长短. stroke-dashoffset:表示首个虚线的偏移量. 当两者都特别大的时候就会消失掉 直接上代码: ...
- eslint那些事儿
eslint是一个插件化的javascript和jsx代码检测工具,eslint使用Node.js编写.全局安装的eslint只能使用全局安装的插件,本地安装的eslint不仅可以使用本地安装的插件还 ...