Summary of Tools

This page enumerates and summarizes the various tools that have been developed.


External Tools

A collection of tools, primarily web applications, available to the general public.

Pen Entry Interface
Pen Entry Interface


Description: Allows the user to input (with a mouse, or with a finger on a tablet device) math formulas. The interface permits the user to manually segment pen strokes and then presents classification results. InkML exportation of the stroke data is also supported.

InkML Viewer
InkML Viewer


Description: Renders an InkML file, showing annotation information as well as embedded MathML, if present. Clicking on the strokes will cause them to animate, showing how they were drawn. Hovering over strokes will highlight in the MathML (if present) to which symbol a stroke belongs.

Note: This tool was designed specifically for viewing data for the ICDAR 2011 CROHME competition.

Adjacency Viewer
Adjacency Viewer


Description: Presents a visualization of data collected from analysis of adjacent symbols in the data set.

System Run and Evaluate Interface

Location: n/a

Description: Runs the recognition system on a set of input InkML files and produces evaluation results.

Note: This interface has not been set up on a "production" server (e.g.

Internal Tools

Tools which are currently for internal use only. Most, if not all, of the tools listed here will be available in the code repository. For locations given, a dollar sign ('$') is used to indicate the root of the repository.

System Run Script

Location: $/mathbackend/perl/

Invocation: input.inkml output.inkml

Description: Runs the system with naive segmentation (e.g. three strokes at a time) against an input InkML file. Produces another InkML file with the recognized expression.

Evaluation Tools

Other tools used for evaluation purposes.

CROHME Evaluation Script

Location: $/mathbackend/perl/

Invocation: fileReference.inkml fileToTest.inkml

Description: Evaluates a recognized expression as a file to test against a reference file, reporting error metrics.

Note: This tool was written by Harold Mouchère for evaluation of the ICDAR 2011 CROHME competition.

Web Services/Servers

A number of web services have been developed as backends for many of the frontend web applications. There are detailed in the table below.

Name URL Description
Classifier Accepts classification requests and returns probabilities for each class.
Data Recorder Records user actions and session data for the Pen Entry Interface.
InkML Save Saves InkML data exported from a tablet device.
Parse Invokes DRACULAE to parse the layout of a set of segments. (Currently unused.)
Execute and Evaluate n/a Invokes the recognition system and evaluation script on a set of input files. (Currently unused.)

Code Repository

Subversion (SVN) repositories are currently being used to maintain all code. These can be found at

Below is a rough outline of the repository and subdirectory structure, and which tools are in certain directories. This hierarchy can also be seen by navigating to the above URL in a web browser.