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.
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?
- It is written in Java, it runs on Windows, Unix, Macos...
- It is capable of tracing any more or less continuous line, even when the line crosses itself.
- Alternatively, you can enter data points by hand.
- It can trace error bars in the graph
- It can use virtually any kind of coordinate system: linear, logarithmic, polar or user-defined.
- It can convert data from numeric format to any other format, for instance dates.
-
It is shareware.
If you use DataThief please buy the shareware registration key from
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.
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:
2d76e91ab76c5c1b3c59337260ae2956 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.
The only known solution is to reinstall the Java Runtime Environment (JRE).
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.
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.
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).
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.
If you have lost your reference locators, you can use the reset menu item to move all locators to their default positions.
Screenshots
Examples
The graphs that are used as examples in the manual are
The first example
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
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.
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.
The date translator code
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/>