Difference between revisions of "Tools:Visualization"

From Forensics Wiki
Jump to: navigation, search
m (Commercial Tools)
m
Line 15: Line 15:
 
: Disadvantage: wxWidgets is not installed by default, so you'll need to get it installed. Not as well documented as Tkinter
 
: Disadvantage: wxWidgets is not installed by default, so you'll need to get it installed. Not as well documented as Tkinter
  
; processing.org
+
; [http://processing.org processing.org]
 
: Advantage: Programming language specifically developed for visualization; compiles to java byte code
 
: Advantage: Programming language specifically developed for visualization; compiles to java byte code
 
: Disadvantage: Very oddball
 
: Disadvantage: Very oddball
Line 22: Line 22:
  
 
; Flash
 
; Flash
 
 
  
 
== Open Source ==
 
== Open Source ==
=== Visualization Toolkits and Libraries ===
 
* [http://csbi.sourceforge.net/index.html Graph Interface Library (GINY)] - Java
 
* [http://www.gravisto.org/ Gravisto: Graph Visualization Toolkit] - An editor and toolkit for developing graph visualization algorithms.
 
*  [http://hypergraph.sourceforge.net/ HyperGraph] - Hyperbolic trees, in Java. Check out the home page. Try clicking on the logo...
 
* [http://ivtk.sourceforge.net/ InfoViz Toolkit] - Java, originally developed at [[INRA]].
 
* [https://jdigraph.dev.java.net/ Jdigrah] - Java Directed Graphs.
 
* [http://jgrapht.sourceforge.net/ JGraphT] - A Java visualization kit designed to be simple and extensible.
 
* [http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMaps Linguine Maps] - An open-source Java-based system for visualizing software call maps.
 
* [http://prefuse.sourceforge.net/ Perfuse] - A Java-based toolkit for building interactive information visualization applications
 
* [http://www.gnu.frb.br:8080/rox Rox Graph Theory Framework] - An open-source plug-in framework for graph theory visualization.
 
* [http://touchgraph.sourceforge.net/ TouchGraph] - Library for building graph-based interfaces.
 
* [http://www.ssec.wisc.edu/~billh/visad.html#intro VisAD] - A Java component library for interactive and collaborative visualization.
 
* [http://public.kitware.com/VTK/ The Visualization Toolkit] - C++ multi-platform with interfaces available for Tcl/Tk, Java and Python. Professional support provided by [http://www.kitware.com/ Kitware].
 
* [http://zvtm.sourceforge.net/index.html Zoomable Visual Transformation Machine] - Java. Originally started at Xerox Research Europe.
 
* [http://processing.org/ Processing.org] - A new language for doing graphics and visualization.
 
 
====Tree Maps====
 
[http://www.cs.umd.edu/hcil/treemap-history/index.shtml Treemaps] are a visualization technique developed at the University of Maryland for visualizing large amounts of multi-dimensional data. There is a GPLed implementation of treemaps written in C. You can find a copy of in it:
 
* [http://www.derlien.com/ Disk Inventory X]
 
* [http://kdirstat.sourceforge.net/ KDirStat]
 
 
 
===Graph Drawing Applications===
 
===Graph Drawing Applications===
 
* [http://www.graphviz.org/ Graphviz] - Originally developed by the [http://public.research.att.com/areas/visualization/ AT&T Information Visualization Gorup], designed for drawing connected graphs of nodes and edges. Neato is a similar system but does layout based on a spring model. Can produce output as [[PostScript]], [[PNG]], [[GIF]], or as an annotated graph file with the locations of all of the objects — ideal for drawing in a GUI. Runs from the command line on [[Unix]], [[Windows]] and [[Mac]], although there is also a [http://www.pixelglow.com/graphviz/ MacOS GUI version].
 
* [http://www.graphviz.org/ Graphviz] - Originally developed by the [http://public.research.att.com/areas/visualization/ AT&T Information Visualization Gorup], designed for drawing connected graphs of nodes and edges. Neato is a similar system but does layout based on a spring model. Can produce output as [[PostScript]], [[PNG]], [[GIF]], or as an annotated graph file with the locations of all of the objects — ideal for drawing in a GUI. Runs from the command line on [[Unix]], [[Windows]] and [[Mac]], although there is also a [http://www.pixelglow.com/graphviz/ MacOS GUI version].
Line 63: Line 40:
 
* [http://wilma.sourceforge.net/ WilmaScope] - Real-time animations of dynamic graph structures. Written in Java. Sophisticated force model with strings and attraction.
 
* [http://wilma.sourceforge.net/ WilmaScope] - Real-time animations of dynamic graph structures. Written in Java. Sophisticated force model with strings and attraction.
 
* [http://www.caida.org/tools/visualization/walrus/ Walrus] - A 3-d graph network exploration tool. Employs 3D hyperbolic displays and layout based on a user-supplied spanning tree.
 
* [http://www.caida.org/tools/visualization/walrus/ Walrus] - A 3-d graph network exploration tool. Employs 3D hyperbolic displays and layout based on a user-supplied spanning tree.
 +
=== Visualization Toolkits and Libraries ===
 +
====C/C++====
 +
* [http://public.kitware.com/VTK/ The Visualization Toolkit] - C++ multi-platform with interfaces available for Tcl/Tk, Java and Python. Professional support provided by [http://www.kitware.com/ Kitware].
 +
* [http://kdirstat.sourceforge.net/ KDirStat], an open source implementation of [http://www.cs.umd.edu/hcil/treemap-history/index.shtml 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 [http://www.derlien.com/ Disk Inventory X] and
 +
====Java====
 +
* [http://csbi.sourceforge.net/index.html Graph Interface Library (GINY)] - Java
 +
* [http://hypergraph.sourceforge.net/ HyperGraph] - Hyperbolic trees, in Java. Check out the home page. Try clicking on the logo...
 +
* [http://ivtk.sourceforge.net/ InfoViz Toolkit] - Java, originally developed at [[INRA]].
 +
* [https://jdigraph.dev.java.net/ Jdigrah] - Java Directed Graphs.
 +
* [http://jgrapht.sourceforge.net/ JGraphT] - A Java visualization kit designed to be simple and extensible.
 +
* [http://prefuse.sourceforge.net/ Perfuse] - A Java-based toolkit for building interactive information visualization applications
 +
* [http://www.ssec.wisc.edu/~billh/visad.html#intro VisAD] - A Java component library for interactive and collaborative visualization.
 +
* [http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMaps Linguine Maps] - An open-source Java-based system for visualizing software call maps.
 +
* [http://zvtm.sourceforge.net/index.html Zoomable Visual Transformation Machine] - Java. Originally started at Xerox Research Europe.
 +
 +
====Unclassified====
 +
* [http://www.gravisto.org/ Gravisto: Graph Visualization Toolkit] - An editor and toolkit for developing graph visualization algorithms.
 +
* [http://www.gnu.frb.br:8080/rox Rox Graph Theory Framework] - An open-source plug-in framework for graph theory visualization.
 +
* [http://touchgraph.sourceforge.net/ TouchGraph] - Library for building graph-based interfaces.
 +
  
 
== Geographical Drawing Programs ==
 
== Geographical Drawing Programs ==

Revision as of 12:59, 31 May 2009

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.

Contents

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
processing.org
Advantage: Programming language specifically developed for visualization; compiles to java byte code
Disadvantage: Very oddball
JavaFX - Java's version of Flash
Flash

Open Source

Graph Drawing Applications

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

Unclassified


Geographical Drawing Programs

Commercial 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 - "One of the most comprehensive and usable software tools for Social Network Analysis in the world." 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.

Other Resources

Journals and Conferences

Link Farms

Research Groups

Berkeley

Brown

Stanford

UNM