wiki:VizAlign

TracNav?

VizAlign visualisation system

The VizAlign visualisation system enables a developer to analyse a set or series of alignments. This may serve various puposes:

  • bug hunting
  • fine tuning of the algorithms
  • simply to visualise a result

Architecture

The system consists of two parts:

  • the API, which is statically accessible from anywhere in the developer's code. This API holds a number of alignment sets, represented by instances of de.dfki.km.phaselib.tools.vizAlign.VizAlignDataSet, which is basically list of alignments. The only difference is, that this data structure stores clones of the alignments added, to avoid problems with reused or altered alignments. Each alignment set is accessible via an id string. With this string, the developer can, at any time, add/remove/resort the alignemts in the set.
  • the visualisation system instance, which renders an (interactive) visualisation of an alignment set. It can be activated by calling the visualise(id) method of the API. In this case, the default visualisation system is instantiated on the alignment set refered by the id. Alternatively, an arbitrary visualisation system instance can be provided for rendering by calling visualise(id, renderer). These methods issue the immedeate rendering of the selected alignment set.

Visualisation Systems

1. TableTime

The TableTime visualisation uses tables to render an alignment as a list of relations. Furthermore, there are two such tables to enable the user to compare two selected alignments from the set. The synchronise function sorts the second table according to the first one, allowing for an easy comparison of the relations included.

Among the features planned are an alignment diff and some easy statistical analysis tools.

The visualising main class is de.dfki.km.phaselib.tools.vizAlign.tableTime.TableTimeVisualiser.

2. DOT-Based

GraphViz is a general graph layouting package, containing the DOT tool. The abstract visualisation module de.dfki.km.phaselib.tools.vizAlign.dotGUI.GraphVizBasedVisualiser provides a basic access to this DOT layouter, by generating an input (.dot) file from the alignment to be rendered. The resulting layout is then to be presented by an specification of this abstract module. Each such specification requires the GraphViz tools to be installed and to be found in the path.

The BatikDOTVisualiser uses the abstract module to layout the ontology and alignment graphs to scalable vector graphic (.svg) files. It then uses the apache batik package to render these .svg files on the screen. The visualising main class is de.dfki.km.phaselib.tools.vizAlign.dotGUI.BatikDOTVisualiser. It thus requires the apache batik package. The batic library provides an extensive user interface, have a look at their viewer manual and ignore the menu based descriptions.

Unfortunately, this visualiser is not able to deal with larger data sets. Furthermore is the layout often quite unappropriate to show a set of relations between the ontology graphs, despite our effort to teach it better. We'd be grateful for any contribution.

Code Example

Here's some sample code to demonstrate the easy usage of VizAlign:

//////////////////////// SNIP SNIP SNIP //////////////////////////////
	// generate an alignment from the scratch
	AlignmentGenerator generator = new SomeAlignmentGenerator();
	Alignment alignment = generator.generateAlignment(emptyAlignment, params);
	
	// add the resulting alignment to our VizAlign data set, id "Test"
	VizAlign.getVizAlign("Test").add(alignment);
		
	// let the generator run a second pass
	alignment = generator.generateAlignment(alignment, params);
	
	// add the resulting alignment again.
	VizAlign.getVizAlign("Test").add(alignment);
		
	// Visualise our two alignments using the default visualiser
	VizAlign.visualise("Test");	
//////////////////////// SNAP SNAP SNAP //////////////////////////////
Last modified 18 years ago Last modified on 07/20/06 14:53:00

Attachments (2)

Download all attachments as: .zip