月度存档: 九月 2015

时间轴制造器:基于非结构化文本数据的可交互时间轴提取系统(TimeLineCurator: Interactive Authoring of Visual Timelines from Unstructured Text)

时间轴大家都很熟悉了,用来表示不同事件在不同时间上的分布,可以让人清晰地理解事件发展的时间脉络。但是传统的时间轴可视化往往需要结构化的数据,假如一个做数据新闻的记者需要做一个时间轴的可视化,他会需要很长的时间来从非结构化的文本中,逐字逐句地‘复制、粘帖并整理’各个事件,将其做成结构化的包括时间(时间点、时间段)、事件描述、摘要等这样的数据。整个过程十分耗时。

继续阅读 »

VAiRome:罗马历史可视分析系统 (VAiRoma: A Visual Analytics System for Making Sense of Places, Times, and Events in Roman History)

古罗马帝国有着悠久的历史和灿烂的文明,然而它复杂的历史同样让不少人头疼。如何高效地学习、了解古罗马的历史,掌握相关的地点和时间呢?这篇论文向大家介绍了VAiRome,这是一个可视分析系统,运用了文本分析技术和多种直观地可视化视图,向大家展示了罗马的历史,揭露了其中重要的时间、地点、事件以及它们之间的关系。

继续阅读 »

MobilityGraphs: Visual Analysis of Mass Mobility Dynamics via Spatio-Temporal Graphs and Clustering(基于时空图聚类的大量流动数据的可视分析)

对人群流动行为模式的理解,对政府决策制定者和城市规划人员来说,都相当的重要。人群流动数据(movement data)主要记录了一段时间内,人们在不同地方的出现状态和地方之间的流动情况。对流动数据的分析主要集中在两种流动模式的分析上,一是典型模式(typical movement),主要描述人们的规律性行为;一是突发模式(extraordinary movement),主要描述突发情况下,比如爆炸事件,人们的行为模式。本文主要探索研究人们的规律性行为模式。
继续阅读 »

Association Analysis for Visual Exploration of Multivariate Scientific Data Sets (基于关联分析的多变量科学数据集可视探索)

多变量数据是科学模拟中的一种非常重要的数据,其包含了一系列不同的变量用于描述不同的物理特性。对多变量数据的研究集中在探索不同变量之间的关系,已有的度量方法包括相关系数和互信息等。但是这些工作基本上针对的是不同变量之间的平均关系,很少将重心放在研究不同变量的标量值之间的特定关系。实际上,特定的标量值之间的关联是非常重要的,我们可以通过给定的某变量标量值探索其与其他变量的标量值之间的交互,从而更好地理解潜在的现象。例如,在飓风Isabel数据中,温度变量具有比较高的标量值的区域往往预示着风速和水汽混合比这两个变量的标量值比较低。因此,今年SciVis的一篇文章就提出了一种标量级(scalar-level)关联的分析方法,将不同变量的特定标量值之间的关联基于关联规则(association rules)来表达。为了找到有代表性的标量值,他们利用社交网络中的IP模型(Influence-Passivity Model)计算出了两个影响因素,informativeness和uniqueness,并且提供了一系列交互视图让用户进行探索,如图所示1。

继续阅读 »

Diderot: 领域专用语言实现的可移植的并行科学可视化与图像分析(Diderot: a Domain-Specific Language for Portable Parallel Scientific Visualization and Image Analysis)

随着科学数据越来越大以及数据处理分析越来越复杂,科学可视化系统面临两个重要的挑战:
1)数据在可视化之前的预处理与分析需要更灵活的并行计算
2)数据分析过程中涉及到的复杂数学计算需要抽象成简单的函数调用

领域专用语言可以很好地解决以上两个问题。本文提出的Diderot[1]系统主要从以下几个方面解决这两个问题。
1)可移植的并行设计,使用基于POSIX标准的pthread实现线程级。
2)定义strand(股),并使用strand创建线程,线程的一次执行就叫做strand的一次迭代。此外,strand还支持线程之间的通信。
3)抽象复杂的数学计算。简化导数,梯度,卷积,张量计算过程。将这些复杂的计算封装成简单函数调用。在代码中支持直接使用这些数学计算的操作符。
4)封装成C/C++的API。方便其他使用C/C++开发的程序调用。
5)卷积计算操作(如clamp, mirror以及wrap等操作)。

Diderot提供对一些数据描述的简化操作。主要从支持以下抽象代码实现的

image(2)[] I = image(“hand.nrrd”);

其中(2)表示hand.nrrd数据为二维数据,[]表示变量的个数。[]中间空表示标量,[3]表示三维向量,[3,3]表示3×3矩阵。

继续阅读 »