Welcome to DataThief

What is DataThief III

DataThief III is a program to extract (reverse engineer) data points from a graph.
Typically, you scan a graph from a publication, load it into DataThief, and save the resulting coordinates, so you can use them in calculations or graphs that include your own data.

What is new in DataThief III?

Log4j

Java has had a serious security problem with a module called Log4j.
DataThief does use Java, but this specific module is not included in the DataThief code, so this security problem is not present in DataThief.

Download DataThief

Usualy downloading Datathief.jar will work. If not, see notes below.
Note that the downloaded file must have ".jar" as extension. Sometimes Windows tries to save the file as a ".zip" file and you have to correct this by hand.
Once Datathief.jar is downloaded you can usually start DataThief by double clicking it. If this does not work, see Trouble shooting below
The MD5sum for Datathief.jar is:
6d8c37acff95273993a46f3af97f4f06 Datathief.jar

The manual

Even though the aim has been to create an easy to use tool, DataThief III has many possibilities that are hard to understand without the manual. So we urge you to download it.

Problem starting DataThief

MacOS

On MacOS the first time you try to start DataThief it is possible that nothing seems to happen, or that you get an alert that DataThief is of an unknown vendor and cannot be started.
In both cases open System Preferences and go to the Privacy and Security part.
If you see a message about not starting DataThief perform the steps to allow opening DataThief anyway.

Windows

It has happened several times that DataThief did not start on a Windows platform.
The only known solution is to reinstall the Java Runtime Environment (JRE).

A nice video tutorial

Kathryn Thomson made a nice video tutorial.
 
View the tutorial video

Changes in DataThief III version 1.7

Fixed a nasty little bug that sometimes caused a number to have an exponent of 1 less then it should be. E.g. 1e6 was shown as 1e5.

Changes in DataThief III version 1.6

Added fine motion.
To move a point it is now possible to locate the mouse pointer over the point so the pointer will turn to a crosshair.
Now you can move the point using the arrow keys on your keyboard.
When you zoom in, the motion will be even more precise.

Changes in DataThief III version 1.5

The bug that was introduced in version 1.4 was repaired.

Changes in DataThief III version 1.4

There was another bug in the formatting of numbers. The number 1.0001 was formatted as 1.0E-4. It is fixed in version 1.4. (Thanks to Stephen Schwarz). Regretfully the fix introduced another bug. (See version 1.5)

Changes in DataThief III version 1.3

Made it possible to enter the key using copy and paste

Changes in DataThief III version 1.2

There was a serious bug in the previous versions of DataThief.
Under certain circumstances negative numbers in scientific notation were respresented as positive (ouch)!
This has been repaired in version 1.2. (Thanks to Meritt Reynolds).

Changes in DataThief III version 1.1

It is now impossible to move point to the top or the left out of the screen.
If you have lost your reference locators, you can use the reset menu item to move all locators to their default positions.

Screenshots

View Screen shots of various platforms

Examples The graphs that are used as examples in the manual are

The first example

example.jpg

Translators example with sunrise

sunrise.png
There is a small problem with the sunrise example.
The toDate() and fromDate() functions use the Locale setting of your Java installation.
In plain English: the names of the months will be used according to your (Java) system's language settings.

This means that if you follow the sunrise example in the manual, you will have to give the abbreviated month names accordingly. For example, in a German system you have to give the Ref3 x-coordinate a value of 31-dez in stead of 31-dec.

Error bars

bars.jpg

The date translator code

date.dtc

Known problems

Out of memory

If you get an error message explaining that the program quits due to a "OutOfMemoryError", this usually means that the image you are using is too big. Try reducing the dimensions of the image.

Problem with MacOS X image load

There is one known problem which I have as yet been unable to solve: On (some versions of) MacOS X, when you load an image, it is not automatically displayed. Zooming in and out, or any other way to refresh the screen will do the trick. I shall try to solve the problem, but it seems a tricky little item of what my software does with how Java is implemented for MacOS X.

Trouble shooting

If you have problems starting Datathief.jar, the following might help:

The jar file contains a MANIFEST. The class that contains the main method is Datathief. So a basic command would be

java -classpath Datathief.jar Datathief

Or you might try

java -jar Datathief.jar

Citation

If you want to cite DataThief you can use:
B. Tummers, DataThief III. 2006 <https://datathief.org/>
Terms of Service Privacy Policy Pricing Refund Policy