zoukankan      html  css  js  c++  java
  • 什么是体数据可视化(Volume data visualization)?及体绘制的各种算法和技术的特点?

    该文对体数据进行综述,并介绍了体数据的各种算法和技术的特点。

    前言

    由于3D数据采集领域的高速发展,以及在具有交互式帧率的现代化工作站上执行高级可视化的可能性,体数据的重要性将继续迅速增长。

    数据集可以通过MRI,CT,PET,USCT或回声定位等技术捕获,也可以通过物理模拟(流体动力学或粒子系统)产生。以上提到的一系列技术证明了体数据信息在医疗行业中起着至关重要的作用。体数据信息被用于癌症检测,动脉瘤可视化和治疗计划。这种数据对使用计算机断层扫描或超声波的非破坏性材料测试非常有用。此外, 来源于地震研究的巨大三维数据集,也可以通过体渲染引擎可视化。

    体数据概述

    体数据由体素组成。 体素是基本体积元素,也可以理解为三维空间内的具有排列和颜色的点或一小块区域,这也是为什么可以保持高达六个标量参数的原因。

    通常体素属于固定网格,因此体数据可以作为表格储存。在这种情况下,运行可以被认为是多维数组,体数据可以被当作为本地储存的*.csv文件。然而,更常见的是,数据集被分成若干片,并且每个片被存储为位图图像。由于可以应用于图像的复杂压缩算法,明显减小模型尺寸。

    体数据可视化算法

    可视化体数据包括四种主要算法。以下将讨论各种算法和技术的特点及目前存在的问题。

    1. 基于切片方法

    最直接的解决方案,这意味着给予每个体数据切片滚动交互单独可视化机会。

    此技术的优点在于操作简单和复杂计算少。而它的缺点是可视化人员需要想象重建整个对象结构。因此,基于切片方法不是分析极其复杂和不明确结构的最佳选择。但是此方法非常适合可视化已知对象的内部情况,比如,人体内部结构。这也是为什么此方法在医疗行业中被广泛应用的原因。如,最常用于MRI 和CT 值得提醒的是, 一般的CT和MRI研究在一个维度中的分辨率比较低,这导致利用具有更先进技术数据集的一些困难。

      2. 其他技术仿真

    这种方法很适合于熟悉一定技术的专家可视化分析应用。比如,应用于医疗和地震行业的新技术开发,专家们可以从旧技术解决方案平稳过渡到现代化技术。此方法不常被采纳的原因如下: 首先,它需要使用非常详细的体数据集,而其它主要信息可能在通过模仿另一种技术时而丢失或损坏。 因此,在将新技术集成到专家工作流程中的过程中,可视化的普及将逐渐减少。其次,这种可视化类型的开发需要大量的时间才能接近可视化初始图像,在转换后部分图像将被丢弃使用。另外一个问题是需要有一定技术经验的人才能正确解释结果。

      3. 体渲染

    3D渲染指用2D图像可视化3D对象。最常用的3D渲染基于多边形网格表面的逼真图像可视化。该技术被广泛应用,因为现代显卡架构加速应用操作。

     

    ·        间接体绘制

    间接体渲染可以有多种工具用于多边形网格模型。此方法包含两个阶段,第一阶段是根据特定阈值从数据集中提取等值面,有几种算法可以进行该任务(最受欢迎的是Marching Cubes ) 有时,可以通过开发基于特定数据集的特定特征的特殊算法来改进等值面提取。然后用三维图像引擎或其它工具可视化多边形曲面模型,比如: LightningChart的网格模型非常合适于该方法。

    该方法的主要优点基于发挥旧技术优势。它包含3D对象可视化的所有典型特征,例如旋转,不同数量光源的使用,与其他3D对象的交互等。 因此,它使复杂的3D结构分析更简单。 它对于视觉检测未知数据集中的重要细节特别有用。 3D渲染引擎的性能优化允许任何现代办公电脑可视化数据。 此外,该技术允许开发人员使用更复杂的降噪算法。

    此方法第一阶段的可视化程序有一定的缺陷。因为从多边形体数据集转换数据时导致内部不需要的数据丢失。等面提取算法可能需要复杂的计算,也就是说预处理需要花费大量的时间,这通常是为什么不可能交互地改变表面提取的阈值。

    ·        直接体绘制

    直接体绘制不要求预处理。 直接从原始数据集观察数据,为算法提供了动态修改传递功能和阈值的机会。而且有些方法允许以半透明的方式可视化数据集的内部结构。

    直接体绘制是目前可视化数据最强大的方法。可视化具有多边网格模型的所有优点,并且可以在同一场景中轻松绑定。此外,可以切割模型的一部分来查看被物体表面隐藏的结构。

    高配置硬件要求是此方法的缺点,但是随着现代显卡的不断优化,即使用最便宜的硬件也可以运行可视化。它的缺点是体渲染引擎开发成本高问题。

    实现直接体绘制有几种不同的技术。最常用的是通过工具以自己的方式渲染,此工具是为多边形网格模型的GPU加速创建的。基于纹理体积和体积射线投射是目前最成功的直接体绘制方法。

    基于纹理的体绘制技术使用一系列平面来构造对象。数据集投射到平面成为纹理。最后的图形是由混合平面上α粒子组成。光线投射算法(Volume Ray Casting) 使用立方体作为体模型中的占位节点。模型本身通过光线投射算法投射到立方体的两侧,此算法使用射线来累积数据,并将其与称为Ray Function的特定方程合成。

    射线功能是光线投射算法真正迷人的特征。它允许设定射线是如何执行数据采样和像素颜色计算的。不同射线功能可以从数据中提取不同特征。我们来讨论下三个射线功能例子:

    累积功能尝试收集和组合尽可能多的数据,为观众提供探索对象内部结构的机会。 使用这种技术的可视化看起来像一个半透明的凝胶。

    最大强度功能仅显示由射线采样的最亮值。 视觉效果相似于X射线图像类。 可以通过此功能获取关于对象的内部结构的附加信息。

    等值面绘制的模型表面看起来像多边形模型渲染。最终结果与间接体绘制的结果非常相似。

    结论

    硬件的开发为不同数据采集技术的兴趣增长做好准备。 消费者电脑性能的改善将对直接和间接体积渲染等先进的体可视化技术的普及产生积极的影响。

    LightningChart有一个出色的工具,用于实现体数据的基于片段和间接体绘制的可视化。 此外,LightningChart的直接体渲染引擎为数据可视化提供许多高级功能。

  • 相关阅读:
    利用npm 安装删除模块
    C#比较类/接口、Dictionary 排序
    关于二叉树的一些基本知识
    关于前端JS的一些常用方法和知识
    组装Json数据的一种简单办法(不用Stringbuilder方法)
    windows环境下Kubernetes及Docker安装(那些坑)
    七夕给自己的礼物-上线排盘小程序
    Asp.net 自定义CustomerSession 存放到Redis中
    CodeTimer 代码性能计数器
    我虽码农,亦不搬砖
  • 原文地址:https://www.cnblogs.com/lightningchart/p/6796774.html
Copyright © 2011-2022 走看看