Blog

Blob Detection in Version 3.3 Beta

Ankit Rohatgi - 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).

Save & Resume, Number Formatting, Multiple Datasets and more!

Ankit Rohatgi - 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:



Multiple Datasets

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.


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!


Page: 1   2   3   [ 4 ]