DataThief is retired
After more than three decades, it is time for DataThief to retire.
DataThief was first released in 1995, in a world without modern A.I. tools. Its purpose was simple but powerful: to help users extract data points from images of graphs when the original numerical data was no longer available. Over the years, this little program has been used in countless projects, theses, papers, and experiments, and it has found its way into more places than ever imagined.
Today, however, the software landscape has changed completely. With the rise of advanced A.I. tools and online services, many tasks that once required specialized software like DataThief can now be done faster, more easily, and often more accurately by intelligent algorithms. In that sense, DataThief has gracefully become obsolete: its original problem is now largely solved by a new generation of tools.
There is one important exception: DataThief works fully offline. For users who, for privacy, security, or practical reasons, prefer or require an offline solution, DataThief may still be useful. For that reason, the program will remain available for download, so that anyone who still needs it can continue to use it.
To reflect its retirement status, the shareware payment request has been removed, and the 10-second "annoyance screen" no longer appears. DataThief is now completely free to use, without interruptions or reminders.
A warm thank you goes out to everyone who has used DataThief over the years, sent feedback, reported bugs, or simply relied on it in their daily work. Knowing that this small tool has helped so many people has always been the greatest reward.
DataThief will now enjoy its well deserved retirement.
For those of you who stiil like to use DataThief follows the original download page
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, Linux, 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.
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:
6044e06b4f11ae6ddfd2d40a37a167b4 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.8
Removed the shareware payment request and the 10 second "Annoyance screen".
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/>