Avizo用户使用手册-20

Avizo用户使用手册-20

[TOC]

Chapter 20

20 Avizo XDigitalVolumeCorrelation Extension 用户指南

要解锁本章所描述的教程和功能,需要Avizo XDigitalVolumeCorrelation扩展。

Avizo XDigitalVolumeCorrelation扩展提供了数字体相关(Digital Volume Correlation,DVC)技术,用于从某个物体在变形过程中所采集的体图像计算3D全场连续位移图和应变图。你将输入两幅图像和一个网格,它们将被用来测量位移图和应变图。

例如,该扩展可以用于可视化和量化动态过程中由变形所引起的微结构变化,例如由非均质性或材料之间的热膨胀不匹配所诱发的局部化现象。此外,输出的位移场可以通过使用测得的边界条件来充实一次数值仿真,或者通过比较数值数据与测量数据来优化这次仿真。

要了解该扩展中可用工具的更多信息,请参阅以下链接:

  • Digital Volume Correlation Module
  • Digital Volume Correlation Analysis

注意:关于系统要求和硬件平台可用性,参见第1.4节System Requirements。

致谢

Avizo XDigitalVolumeCorrelation扩展是与3Dmagination(Didcot,英国)和Eikosim(巴黎,法国)两家公司合作开发的。

20.1 数字体相关分析

本教程描述如何执行一次DVC(数字体相关)分析,并可视化相应的位移场和应变场。先采用一种基于子集的(局部)方法,在一个 较粗 的规则网格上捕捉 较大 的位移,所得结果被用来在一个 较细 的网格上初始化一种最为稳健的基于有限元的(全局)DVC技术。本教程所使用的骨-骨水泥(bone-cement)数据由朴茨茅斯大学的Gianluca Tozzi博士提供,代表了关节固定中交错骨结构的一种可能配置 [1]。

要跟随本教程,你应当熟悉Avizo的基本概念,例如与3D查看器、分割编辑器等的交互。所有这些主题都在Avizo Getting Started 一章中讨论过。

注意:关于系统要求和硬件平台可用性,参见第1.4节System Requirements。

20.1.1 准备基于子集的方法

在本节中,我们将计算微结构的特征长度尺度,以便为 Digital Volume Correlation 模块的子集大小设定一个合理的值。

  • 加载文件 data/tutorials/xvolumecorrelation/BCI_reference.am
  • 使用一个 Ortho Slice 模块显示它,并把 Orientation 端口设为 xz

    该微结构由纯小梁骨(白色)与骨水泥(灰色)交错构成。

图 20.1:数据集说明。

  • 按图20.2所示,使用一个 Extract Subvolume 在骨-骨水泥中提取一个感兴趣区域

图 20.2:Extract Subvolume模块属性。

  • 使用 Radial Autocorrelation 模块计算该微结构的长度尺度。这个模块计算该断层图像的两点相关函数。
  • 按图20.3所示附加一个 Plot Spreadsheet 模块

图 20.3:Plot Spreadsheet模块属性。

  • 绘制自相关对距离的曲线。自相关逐渐减小,直至达到一个渐近值。这个渐近值大约在30体素处达到,从该处起的距离就是该微结构的作用范围。一条关于最优子集大小的经验法则是取这个值的约3–4倍。在本研究中我们将使用110体素(见图20.4)。

图 20.4:自相关对距离曲线。

20.1.2 使用基于子集的方法计算一个良好的初始猜测

在本节中,你将使用 Digital Volume Correlation 模块的基于子集的(局部)方法来捕捉较大的位移,并用这些结果来初始化最为稳健的基于有限元的(全局)方法。

  • 加载文件 data/tutorials/xvolumecorrelation/BCI_peak_force.am,它对应于前述数据在压缩之后、产生了内部位移的状态。
  • 使用一个 Ortho Slice 模块显示它,并把 Orientation 端口设为 xz
  • 使用连接编辑器(Connection Editor)把附加在 BCI_referenceBCI_peak_force 上的两个Ortho Slice关联起来(在项目视图中把一个Ortho Slice的 Slice number 端口和 Orientation 端口拖到另一个上)(见图20.5)。

图 20.5:Ortho Slice之间的连接。

  • 开关 Ortho Slice 2 的查看器开关(ON/OFF),以可视化高度变形的区域。你应当观察到大部分变形都局部化在小梁骨区域(上部)。
  • 估算该区域中的最大位移。为此,确保查看器工具栏中的Quick Probe被设为 Continuous Update(图20.6),然后把鼠标放在3D查看器上,读取进度条中所显示的坐标。请确保处于Interact模式(如果不是,按 ESC)。
  • 或者,你可以使用查看器工具栏中的Measure工具。最大位移出现在较靠后的那些切片处(xz朝向下大约切片230)。选择一个切片,然后通过在两个ortho slice之间切换,放置测量工具并尝试大致测出最大位移。

图 20.6:可以使用Quick Probe或Measure工具来估算最大位移。

  • 最大位移应当在10左右(见图20.7)。

图 20.7:两个ortho slice之间的位移测量。

  • 把一个 Digital Volume Correlation 模块附加到数据 BCI_reference 上。把 Deformed volume 端口设为 BCI_peak_force.am,把 DVC approach 端口设为 Subset-based (local)。激活Advanced开关。把 Sub-volume size 端口设为110、Max displacement 设为10、Correlation Threshold 设为0.7。把 Enable Display 端口打开为 ON,以可视化各个子体。把 Metric 端口设为 CorrelationTransform 端口设为 Translation + Rotation。对于每个子体,该算法迭代地寻找一个刚体变换矩阵的六个参数(三个平移、三个旋转),使之满足参考图像与变形图像的灰度强度之间的最佳匹配(Metric = 0:不匹配;Metric = 1:完美匹配)(见图20.8)。单击 Apply

图 20.8:采用基于子集的(局部)方法的Digital Volume Correlation模块。

这一操作会创建四个输出:

  1. dvc_mesh_cellSize_110x110x110_:表示各子集的网格
  2. BCI_reference.disp:位移场
  3. BCI_reference.strain:应变张量
  4. BCI_reference.metric:度量图(metric map)。
  • 通过把一个 Histogram 模块附加到 BCI_reference.metric 上来绘制该度量图的统计量。平均而言,度量约为0.98,表明相关性良好。
  • 通过把一个 Grid View 模块附加到 BCI_reference.metric 上来可视化该度量图。在Grid View中,把 Colouring 端口设为 Data MappingOpacity 端口设为0.4、Value Mapping 设为 Cell Values。在 BCI_reference.metric 中,把 Colormap 端口设为 physics,并通过单击 Adjust the range to 并选择 BCI_reference.metric 来调整范围。在 Options 端口中按下 create legend 以可视化图例。在位移较高的区域(上部的小梁骨区域),度量最低(0.96)。
  • 通过把一个 Vector Field 模块附加到 BCI_reference.disp 上来可视化位移矢量。把 Scale 端口设为25(在Scale端口那一行打开更多选项,并把Max值设定改为25),把 Coloring 端口设为 Uniform,并从 Uniform color 端口中选择白色(见图20.9)。
  • 如果你想可视化位移的幅值,把一个 Magnitude 模块附加到 BCI_reference.disp 上。

图 20.9:度量图与位移矢量。

20.1.3 运行一种稳健的基于有限元的DVC技术

在本节中,使用基于子集的(局部)方法所得到的位移场,被用来在一个更细的网格上初始化一种基于有限元的(全局)DVC算法。

  • 隐藏除ortho slice之外的所有先前的可视化模块。
  • 再次选中 Digital Volume Correlation 模块。
  • 关闭基于子集的(局部)方法的 Enable Display 端口。
  • 使用 Mesh Generation 部分生成一个四面体网格。把 Cell size 设为48,并打开 Enable Display 端口以查看该网格的节点(见图20.10)。单击 Generate Mesh 以创建该网格。

图 20.10:生成一个四面体网格(黄色的点表示待创建网格的节点)。

  • 通过把一个 Grid View 模块附加到所创建的网格 dvc_mesh_cellSize_48x48x48_ 上来可视化该网格。把 Draw Style 端口设为 Solid Outline 以可视化各个单元(见图20.11)。

图 20.11:Grid View模块属性与四面体网格可视化。

  • DVC Approach 端口改为 Finite-Element-based (global)。把 Max Iterations 端口设为30、Convergence criterion 设为0.001。把网格 dvc_mesh_cellSize_48x48x48_ 附加到 Reference mesh 端口。在 Optional Connections 部分,把 Initial displacement 设为 BCI_reference.disp(使用子体大小为110体素的局部方法所计算出的位移)(见图20.12)。单击 Apply

图 20.12:基于有限元的(全局)方法。

这一操作会创建三个输出:

  1. BCI_reference2.disp:位移场
  2. BCI_reference2.strain:应变张量
  3. BCI_reference.res:残差

在全局方法中,位移场(也称为光流,optical flow)是通过最小化相关残差得到的,因此建议你先检查相关残差。

  • 把一个 Histogram 模块附加到残差图像 BCI_reference.res 上,再把另一个附加到 BCI_reference.am 上。
  • 对两者都单击 Apply(结果见图20.13)。

图 20.13:参考体(左)与残差(右)的直方图。

如残差图像的 Histogram 模块的 In Range 端口所示,均值约为0.74,标准差为3.81,表明相关性良好。

  • 把一个 Ortho Slice 模块附加到残差图像 BCI_reference.res 上,并通过单击 EditAdjust Range To、然后 Data Histogram 来改变Colormap。

弱相关区域对应于强度最低和最高的那些体素,它们出现在骨区域界面的上部——那里类小梁形态更为复杂、变形也更大(见图20.14)。

图 20.14:横断面对比。

在显示正值时,高强度体素能被最好地突出出来。

图 20.15:高强度体素。

20.1.4 可视化并动画化全局方法的结果

在本节中,我们将使用不同的方法可视化位移场和应变场。

20.1.4.1 在DVC网格上可视化竖直位移与轴向应变

  • 把一个 Arithmetic 模块附加到 BCI_reference2.disp 上。把 Output Data Type 端口设为 scalarExpression 端口设为 Az。把输出的 Result 数据集重命名为 Uz(选中 Result 并按F2)。
  • 把一个 Arithmetic 模块附加到 BCI_reference2.strain 上。把 Output Data Type 端口设为 scalarExpression 端口设为 Akk。把输出的 Result 数据集重命名为 e33(选中 Result 并按F2)。
  • 把一个 Grid View 模块连接到Uz和e33上,并可视化竖直位移和轴向应变。
  • 要可视化位移矢量,把一个 Vector Field 模块连接到 BCI_reference2.disp 上。把 Scale 端口设为25(在Scale端口那一行打开更多选项,并把Max值设定改为25),把 Coloring 端口设为 Uniform,并从 Uniform color 端口中选择黄色(见图20.16)。

图 20.16:竖直位移(左)与轴向应变(右)的3D可视化。

20.1.4.2 使用曲面网格可视化轴向应变

第一种方法是把位移和应变重映射到一个规则网格(图像)中,并在各相的表面上可视化轴向应变。

  • 加载已分割的数据 data/tutorials/xvolumecorrelation/BCI_reference3.labels.am
  • 把一个 Arithmetic 模块附加到 BCI_reference2.disp 上,使用下列参数:
    • Output Data Type 设为 same as input
    • Expression X 端口设为 Ax
    • Expression Y 端口设为 Ay
    • Expression Z 端口设为 Az
    • Output grid Type 端口设为 regular
    • Resolution 端口设为参考体的维数(241, 241, 337)。
  • Apply 并把输出重命名为 DispVectors.RegularGrid
  • 把一个 Arithmetic 模块附加到先前计算出的e33数据集上,使用下列参数:
    • Output Data Type 设为 scalar
    • Expression 端口设为 A
    • Output grid Type 端口设为 regular
    • Resolution 端口设为参考体的维数(241, 241, 337)。
  • Apply 并把输出重命名为 e33.RegularGrid
  • 把一个 Generate Surface 模块附加到 BCI_reference3.labels 上,保持所有参数不变并按 Apply。通过这一操作,就生成了骨-骨水泥各相的曲面模型。
  • 把一个 Surface View 模块附加到 BCI_reference3.labels.surf 上,使用下列参数:
    • Color Field 端口设为 e33.RegularGrid
    • Colormap 端口调整为 physics
    • 使用 Buffer 端口,单击 Clear 操作按钮,然后选择一种感兴趣的材料(骨或骨水泥),并单击 Add 操作按钮来显示它(见图20.17)。

图 20.17:骨-骨水泥(左)与骨相(右)中轴向应变的3D可视化。

  • 为了更好地揭示内部应变,把一个 Volume Edit 模块连接到 BCI_reference3.labels 上,使用下列参数:
    • Tool 端口设为 TabBox
    • 选择该体的四分之一。
    • 单击 Cut 端口中的 Inside 按钮。这一操作会移除所选的那四分之一体。
  • 在新的体 BCI_reference3.labels.modif 上重复前面的步骤(通过连接一个 Generate Surface 模块生成一个曲面,并用一个 Surface View 模块可视化它)。
  • 把一个 Vectors Slice 模块连接到 DispVectors.RegularGrid 上,使用下列参数:
    • Resolution 设为 20(x和y)。
    • Colormap 设为 Constant Color,然后选择白色。
    • 在Clipping Plane上把 Orientation 端口设为 yz
  • 结果见图20.18。

图 20.18:叠加在小梁骨(左)与骨水泥相(右)3D轴向应变之上的位移矢量。

可以观察到,大部分变形是由小梁骨承受的,向骨水泥区域的应变传递很差。已有其他含更多皮质骨的骨-骨水泥复合配方被测试过,并被证明在把应变扩散到骨水泥中方面更为有效 [1]。

要查看植入体的变形:

  • 把一个 Apply Deformation 模块附加上去,使用下列参数:
    • Vector Field 端口设为 DispVectors.RegularGrid
  • Apply
  • 附加一个 Surface View 模块。
  • 在参考曲面与变形曲面的视图模块之间切换,以查看变形。

20.1.4.3 使用四面体网格可视化轴向应变

第二种方法是在一个四面体网格中可视化位移和应变。

  • 加载四面体网格数据 data/tutorials/xvolumecorrelation/BCI_reference3.labels.tetra.am(图20.19)。

图 20.19:四面体网格可视化(左 - 骨水泥/骨;右 - 骨)。

  • 把一个 Apply Deformation 模块附加到该四面体网格上,使用下列参数:
    • Vector Field 端口设为 DispVectors.RegularGrid
  • Apply
  • 把一个 Tetra Grid View 模块附加到参考四面体网格数据上。设置:
    • Color Field 端口设为 e33.RegularGrid
    • Colormap 设为 physics,并把范围调整到 e33.RegularGrid,然后是 Data Histogram
  • 在参考数据与变形数据之间切换 Data 端口,以查看变形。

20.1.5 实验与仿真之间的对话

输出的位移场可以通过使用测得的边界条件来充实一次数值仿真,或者通过比较数值数据与测量数据来优化这次仿真。所生成的网格可以导出到有限元软件包(Abaqus、Ansys等)中,以在不同尺度上执行有限元计算:(i) 连续介质尺度(DVC模块的网格输出),(ii) 组分尺度(四面体网格曲面)。通过在网格边界上施加DVC位移,可以规定出真实的边界条件。

20.1.6 额外的后处理

可以使用张量提取(tensor extract)模块从数字体相关的应变输出中计算出额外的变量:可以提取主应变、不变量、特征向量、等效Von Mises应变和Tresca应变,用以识别例如最大剪切区域或高应变区域。

20.1.7 参考文献

[1] TOZZI et al., Microdamage assessment of bone-cement interfaces under monotonic and cyclic compression. Journal of Biomechanics 47:3466-3474 (2014)

文章作者: HibisciDai
文章链接: http://hibiscidai.com/2020/04/14/Avizo用户使用手册-20/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HibisciDai
好用、实惠、稳定的梯子,点击这里