Web based tool to extract data from plots, images, and maps
September 14, 2014
A number of new features have just been added to the beta version. Once these are tested out thoroughly, I will move these to the stable version. Here's a short description of these new features. Please try these out if you can:
Save and Resume work using JSON files
For many sets of plots, axes calibration may remain the same or sometimes we just want to edit a few data points after using the data. Until now, there was no easy way to save the work to a file and re-use the information in another plot or just resume the digitization process once the application was closed. Now, users can save work by exporting data to a JSON file that can be downloaded. This file contains the axes calibration settings and the data points marked on the plot. In the future, this may be extended to contain the image file and auto-extraction algorithm settings. To use this feature, just click on the new menu options in the File menu and follow the instructions:
Format numbers in CSV
Many users pointed out that it was inconvenient to format the numbers in the CSV data. Now, number of decimal digits, formatting style etc. can be changed from the CSV window itself. The user interface has been adjusted to accomodate this new control as show below:
Some initial infrastructure to handle multiple data series from a plot has now been added. Users can now define a separate dataset for each series using the 'Manage Dataset' option in the 'Data' menu. While marking data points, users can switch between the datasets using the dropdown menus now available in the sidebars.
Based on the axes calibration, WebPlotDigitizer constructs a mapping from the image pixels to the data values. Users can now view these relationships by clicking the 'Transformation Equations' item in the 'Axes' menu. This will display a set of equations as shown below. These can be used in multiple ways. For example, if you want to draw shapes over the image, you can map the data coordinates to pixels that can be used by your graphics software/code.
Other small improvements
Many other smaller improvements have also been made. WebKit based browsers like Chrome and Safari have a bug that was limiting the size of the CSV file generated for download. A workaround for that issue has been added in the software. A few performance and stability improvements have also been made. Lastly, a button to quickly erase the entire mask has been added next to the stroke size control of the 'Erase' tool.
Stay tuned for more!
September 2, 2014
This is just a small update on the status of DigitizationLab and the on going development of WebPlotDigitizer. I had taken a break of almost two months and have recently resumed the development of both the projects.
DigitizationLab is intended to be a desktop version of the WebPlotDigitizer program with added abilities to save and re-use calibration, masks, data etc. The desktop based implementation may also be better suited for automated tasks such as extraction of plots from documents, auto-detection of axes etc. I have made some progress on this, but there is still a lot more that has to be done. I am making the repository private for now and as it may not end up being a completely opensource software. Here is a screenshot of DigitizationLab running on Mac OS:
As for WebPlotDigitizer, I have collected a number of small enchancement requests and identified a few places where improvements are needed. I will be making these changes sometime this month.
June 15, 2014
I had received some requests for a desktop deployment of WebPlotDigitizer and in the last few weeks, I had been exploring that possibility under a project name "DigitizationLab". After exploring many UI toolkits and programming languages, I have finally settled upon a Qt C++ code. It is still at a very initial stage, but I finally have some seed code that can be worked upon in the future. This project will also be distributed with an opensource license (GNU GPL Version 3) and is available on GitHub: https://github.com/ankitrohatgi/digitizationlab.
The aim is not just to recreate WebPlotDigitizer in a native application, but also to go beyond what is practically feasible in a web-based environment. Some possibilities that I can think of right now are as follows:
Since this is also worked upon in my spare time, this will not receive full attention until I see some genuine interest in the project. The web-based application will continue being the priority until then. If you believe that DigitizationLab is something you would be interested in or have some suggestions, then feel free to drop me an email (email@example.com) or post on the discussion forum.
Here's a screenshot of DigitizationLab under development: