科学可视化具有较长的发展历史和广泛的应用领域,包括医学图像、地理信息和流体力学等有相应时空坐标的数据。一些软件通用于科学可视化领域的数据,如VTK、AVS等。另一些软件适用于科学可视化中的某些子领域,如医学图像领域的3D Slicer、地理信息领域的ArcGIS等。
(1)3D Slicer
3D Slicer是一个免费的、开源的、跨平台的医学图像分析与可视化软件,广泛应用于科学研究与医学教育领域。Slicer支持Windows、Linux和Mac OS等平台。Slicer支持包括医学图像分割、配准在内的很多功能,列举如下。
● 支持DICOM图像,并支持其他格式图像的读写。
● 支持三维体数据和几何网格数据的交互式可视化。
● 支持手动编辑、数据配准与融合和自动图像分割。
● 支持弥散张量成像和功能核共振成像的分析和可视化,提供图像引导放射治疗分析和图像引导手术的功能。
Slicer的实现全部基于开源工具包:用户界面采用强大的QT框架;可视化使用VTK;图像处理使用ITK;手术图像引导使用IGSTK;数据管理使用MRML;基于跨平台的自动化构建系统CMake实现跨平台编译。
(2)ArcGIS
ArcGIS是美国Esri公司开发的地理信息软件。ArcGIS通过基本的地图、地理信息,为用户提供方便快速的地理数据映射,并提供开发工具包为开发新的应用提供支持。ArcGIS可以将结果嵌入到Excel报表中,在微软Office程序中插入地理信息数据显示。
(3)Visualization Toolkit
Visualization Toolkit简称VTK(http://www.vtk.org/),是一个开源、跨平台的可视化应用函数库。它的主要维护者——Kitware公司创造了VTK,ITK,Cmake和ParaView等众多开源软件系统。VTK的设计目标是在三维图形绘制底层库OpenGL基础上,采用面向对象的设计方法,构建用于可视化应用程序的支撑环境。它屏蔽了在可视化开发过程中常用的算法,以C++类库和众多的翻译接口层(如Tcl/Tk、Java和Python类)的形式提供可视化开发功能。
● VTK具有强大的三维图形和可视化功能,支持三维数据场和网格数据的可视化,也具备图形硬件加速功能。
● VTK具有更丰富的数据类型,支持对多种数据类型进行处理。
● VTK的体系结构使其具有很好的流数据处理和高速缓存的能力,在处理大量的数据时不必考虑内存资源的限制。
● VTK支持基于网络的工具,如Java和VRML,其设备无关性使其代码具有可移植性。
● VTK中定义了许多宏,极大地简化了编程工作,并加强了一致的对象行为。
● VTK支持Windows和UNIX操作系统。
● VTK支持并行地处理超大规模数据,最多可处理1个PetaByte的数据。
VTK可广泛使用科学数据的可视化,如建筑学、气象学、生物学或者航空航天等领域,其中在医学影像领域的应用最为常见,包括3D Slicer、Osirix和BioImageXD等在内的众多优秀的医学图像处理和可视化软件都使用了VTK。