ADS Dexter help

Please report errors or malfunctions of Dexter to If possible, please include the contents of your Browser's Java Console.

Dexter is a little tool to extract data from figures on scanned pages from our article service. To use it, you need a browser that can execute Java Applets and has that feature enabled. If Dexter does not seem to run on your machine, see Browser Issues

After you enter Dexter through the "DEXTER" link on an article page, you will find yourself on the...

Figure Selection Page

Please wait until the image is entirely downloaded. To select a figure, just click on one corner of the figure, hold the mouse button and adjust the rubber band to encompass the entire figure. If the figure is larger than the applet area, the visible portion of the page will follow your mouse pointer. When you are done, release the mouse button, and the...

Data Extraction Window

will pop up. Again, you should wait until the image is fully downloaded, at which point the window will resize to show as much of the image as is possible on your screen. After that, the usual action sequence in there is

Instead of manually marking the gauges, you can select automatic axes from the Recognizer Window or hit Control-A. You can adjust the gauges by dragging their end points

Special Features

The "Show Data" button fills the text box at the botton of the window with the data you have extracted so far. "Send Data" tries to open a new window on your browser and puts your results there. "Save Data" sends the data points as application/octet-stream, usually triggering a file selector box or a similar mechanism asking you for a place to store the data in. If you have changed your browser's default behavior, this might not work.

Under the "Zoom" pull down menu, you have entries from 75dpi to 600dpi to change the resolution of the image -- for large figures, you may want to use 100 dpi, small figures will require 300dpi. Use these buttons if your screen is too small for the entire image or the figure is so small that you cannot mark points with sufficient accuracy. Please note that you Java virtual machine may not have enough memory for high resolution renderings of large images.

The coordinates of the mouse pointer are shown in the last line of the data extraction window. The coordinates will be in pixels as long as you have not defined both axes, and in graph coordinates otherwise. If you change one of the text fields, you may have to force a loss of keyboard focus on that text field for the change to become effective for the mouse tracking, e.g. by clicking into the output field, pressing the tab key, setting a data point, or the like. Unfortunately, this behavior is platform dependent, and you will have to try for yourself to see what works on your machine.

After you have defined the axes, you can set error bars by clicking and dragging on an existing data point. Error bars are always parallel to the axes at the point of time of their creation. On output, the error bars are shown in up to four additional columns, with horizontal error bars first if both vertical and horizontal ones were marked; "plus" and "minus" errors are indicated by the applicable sign. If you miss the data point, Dexter starts to draw another axis gauge. To avoid clobbering your previous gauge, drop the new gauge when its length is below Dexter's lower limit on gauge length (about 30 pixels). To entirely remove (as opposed to resize) the error bars, delete the data point and set a new one.

If the diagram has logarithmic axes, check the "log" check button. Note that you should not check this button if the logarithm of a quantity is plotted on a linear scale.

Dexter has a magnifying glass that is by default turned off because some (faulty) Java run-time libraries cause the applet to slow to a crawl when it is turned on or cause other funny effects. To turn it on, just click on the sketched magnifying glass on the left side of the applet. Clicking on the area of the magnifying glass once more deactivates it again.

The magnifying glass currently does not show "temporary" features (axes and error bars during their creation), and you may have to move the mouse to update the display after you set a point. We are looking to change this without slowing down Dexter.


You can ask Dexter to do some of the marking of data points automatically. Currently, three operations are supported: axis finding, line tracing, and point marking. In general, teaching a computer to recognize features is a highly nontrivial task, so you should not expect miracles. For many plots, though, Dexter's recognizers might save you some time.

All recognizers run in separate threads, so that you can continue working with Dexter. While they are running, certain operations are not allowed (e.g., changing resolution, sending data), and the respective buttons or menu entries are greyed out. As long as a recognizer is running, there will be a notice "Recog. running" in Dexter's status line.

Some parameters used by the recognizers can be changed using the Recognizer/Settings dialog. The settings become effective as you change them.

Because the recognizers may set a large number of points, there is a menu entry Delete all Points in the Recognizer pull-down menu. Selecting this really deletes all points set, not only those set by a recognizer. You may want to use that feature while experimenting with various parameters for the recognizers.

To stop a running recognizer, select "Stop Recognizer" in the Recognizer pull-down menu.

The run time of recognizers with current Java implementations is mainly a function of the image size, since they spend most of their time transforming the image into something that is accessible by the program. Also, this conversion requires significant amounts of memory. If a recognizer runs out of memory, it may just stop working (though in general we try to catch these cases and warn the user). Reducing the resolution might help.

Axis Finding

To make Dexter identify the gauges on the axes, select Recognize/Automatic Axes or type Control-A. Note that no gauge will be set if Dexter cannot find any ticks on an axis.

Line Tracing

This recognizer follows a line and leaves points along it where it thinks something "interesting" happens or at invervals configurable in the Settings dialog. When you start the line tracer either by selecting Recognizer/Trace a line or hitting Control-T, the mouse pointer will change to a pointing finger. Click on the line you want Dexter to trace, and after a little time you should see points marked along the line. At junctions of lines, the tracer may become confused and take the wrong way, or it may lose the line at certain extreme points. In these cases is may help to give the line tracer a different start point or to let it run more than once.

Point Finding

This recognizer tries to register points similar to a user-defined template within a graph. After you start it by either selecting Recognizer/Find Points or Control-B, it asks you to click on a template point. When there are error bars in the graph, either select a template without error bars or one with large error bars (i.e., error bars larger than the marker itself), or Dexter will add the error bars into the template and will have a hard time finding anything similar to the template.

The distance measure used by the point finder is the number of matching points normalized by the total number of points in the template area, where two points match if they are both black or both white after thresholding.

You can change the maximal acceptable difference between a template and an acceptable data point in the settings dialog. For bad scans, it may be necessary to raise this value.

The point finder will not accept templates smaller than 4x4 pixels. If you run into this limitation (Dexter will complain that it could not find the start object), try increasing the resolution.


Dexter should run on any browser that supports the Java 1.1 specification. Some very old browsers only provide an implementation of Java 1.0 -- you can select a stripped-down version in the article service preferences if you have one of those. Please let us know if Dexter doesn't work with your browser, if possible with the contents of the Java console.

We recommend using the java plugin available for several platforms from or Depending on your browser, you may need to select Dexter/plugin in the article service preferences to make ADS actually use this plugin.

The apple JVM on classic MacOS disallows Dexter to open its child window by default. If Dexter complains that it is not allowed to open a window, go to Preferences, select the Java tab and check "Don't check" in the combo box for code checking. We recommend to undo this selection after using Dexter.

Certain download managers inhibit the operation of "Save Data" because they effectively request the data twice and we do not store the extracted data. In that case, use "Send Data" and save the file from within your Browser.

A source distribution of Dexter is available at sourceforge under the GNU General Public Licence.

Last Change: July 20, 2000