Web based tool to extract data from plots, images, and maps
June 3, 2014
A simple blob detection algorithm has just been added to Version 3.3 (beta). This algorithm can be used to compute centroid location, area and one of the image moments of contiguous objects in images. I have found this algorithm to be very handy for many image processing problems and I think it makes a useful addition to this software. The current implementation is an improved version of the algorithm that I had in Version 2.x which only computed the centroid locations.
As an example, consider an image with multiple shapes as shown below. It is often necessary to determine the location of centers and areas of the various shapes in such an image. Often, we also want to distinguish between different shapes that might just be rotated (e.g. see alphabet 'A' in the image).
With this new blob detection algorithm, we can simply choose "Background" mode for color extraction and we get a table of centroids, areas and moments. The moment is the simplest rotation invariant Image Moment (I1). By comparing the area and the moment for each detection, different shapes can be identified irrespective of their rotation.
This is, however, a very simple algorithm. This may not work very well with noisy images where the objects may not be easily distinguishable from the background. Also overlapping shapes will result in confusion. Some pre-processing in an image editing software such as GIMP might help in some cases.
Also note that the centroid positions are calibrated to the chosen axes. The area is in square pixels for all images other than maps. The moment is always calculated in square pixels (for now at least).
May 27, 2014
Version 3.2 is out! Besides a couple of bug fixes, the color picker for foreground and background colors show the top few dominant colors in the plot:
This makes it a little easier to select the colors and in the future, this should allow for better auto detection of curves and data points
May 21, 2014
WordPress had served this website very well for almost four years, but it was an overkill for such a simple static website like this. Having to keep track of MySQL backups and WordPress version updates is too much work to maintain the simple static pages here. Also the appearance and layout was not exactly in my full control.
This new website has been developed from scratch using Jinja2 templates. I compile the pages on my laptop using a Python script and upload the rendered HTML on the server. So now there is no need for a database server or any server side PHP scripts that WordPress needed. I am hoping that this results in a better experience and lower server load. I can also reuse these templates for my other projects quite easily.
If you are curious, then the source code for this website is located here: https://github.com/ankitrohatgi/Website
Also note that some of the older posts have been removed in the new website. I might restore some of those if I think they are still useful. The RSS feed is also temporarily down. A new feed should be available in the next couple of days.