Tools:Visualization

From ForensicsWiki
Revision as of 14:04, 13 August 2011 by Zrlram (Talk | contribs)

Jump to: navigation, search

Although not strictly for forensic purposes, visualization tools such as the ones discussed here can be very useful for visualizing large data sets. As forensic practitioners need to process more and more data, it is likely that some of the techniques implemented by these tools will need to be adopted.

Programming Languages and Developer Toolkits

If you are building forensic tools, you probably want to start with one of these:

Java and Swing
Advantage: Portable and lots of good documentation out there.
Disadvantage: Programs are a bit verbose, and only offers about 1/2 the performance of C
Python with tkinter
Advantage: Portable
Disadvantage: Python is one of the slowest modern languages around.
Python with wxWidgets
Advantage: Portable and a better development environment than tkiner
Disadvantage: wxWidgets is not installed by default, so you'll need to get it installed. Not as well documented as Tkinter
Python with Qt (PySide)
Advantage: Portable and a better development environment than tkiner or wxWidgets
Disadvantage: Though not difficult, PySide has to be installed separately
processing.org
Advantage: Programming language specifically developed for visualization; compiles to java byte code
Disadvantage: Very oddball
JavaFX - Java's version of Flash
Flash

Or you could try one of these higher-level toolkits:

Crystal Space 3D
Panda#D

Applications

Most of these are scriptable.

Open Source

Data Plotting

Graph and (Social) Network Visualization

See also: http://en.wikipedia.org/wiki/Social_network_analysis_software

Abandoned Social network Graphers

(Abandoned means that it hasn't been updated since 2009)

  • Guess: The Graph Exploration System - Originally developed at HP, this is a large Jython/Java-based system that you can use for building your own applications. Distributed under GPL. (2007)
  • InfoVis Cyberinfrastructure - Another graph drawing system written in Java. (2009)
  • Krackplot - "KrackPlot is a program for network visualization designed for social network analysts." (2006; Windows only; no source, apparently)
  • MultiNet - A data analysis package for drawing conventional data and graph data.
(2007)
  • NetVis 2D - Another graph visualization and layout tool written in Java. (2005)
  • uDrawGraph
  • Ubigraph - a tool for visualizing dynamic graphs. The basic version is free, and talks to Python, Ruby, PHP, Java, C, C++, C#, Haskell, and OCaml. (2008)

Computer Network Visualization

Commercial Graphic Applications and Tools

  • aiSee Graph Layout Software - Supports 15 layout algorithms, recursive graph nesting, and easy printing. Runs on Windows, Linux, Solaris, NetBSD, and MacOS. 30-day trial and free registered versions available. Academic pricing available.
  • Geomantics - Geographical, Visualization and Graphics software. Runs on Windows.
  • Graphis 2D and 3D graphing software - Runs on Windows. Free 30-day evaluation copy available.
  • OpenViz and PowerViz - Both from Advanced Visual Systems, super high-end visualization toolkits. $$$$
  • Tom Sawyer Software Analysis, Visualizaiton, and Layout programs. - Heavy support for drawing graphs. Beautiful gallery. ActiveX, Java, C++ and .NET editions.
  • NetMiner - A comprehensive tool for Social Network Analysis. Runs on Windows, with a Linux version under development. $35 for "Express" student version, $250 for "Professional" student version, $950 for "Normal" "Professional" version.
  • UCINET - A comprehensive package for the analysis of social network data as well as other 1-mode and 2-mode data.
  • Logster - an ultra-easy software tool to visualize Apache-style logs on a world map.
  • Clarified Analyzer - Visualizes Network Traffic and allows to drill down from visualizations to the packet level.

Visualization Toolkits and Libraries

C/C++

  • The Visualization Toolkit - C++ multi-platform with interfaces available for Tcl/Tk, Java and Python. Professional support provided by Kitware.
  • KDirStat, an open source implementation of Treemaps written in C. (Treemaps are a visualization technique developed at the University of Maryland for visualizing large amounts of multi-dimensional data.) You can find a copy of it in Disk Inventory X and

Java

JavaScript

Unclassified

Journals and Conferences

Research Groups

Berkeley

Brown

Stanford

UNM

Wattenberg

See Also

CAIDA has 15+ years of work visualizing Internet topologies. You may find their tools to be useful: