I have a large quantity of old digital images of low energy electron diffraction (LEED) patterns that I must process to identify and locate small, sometimes elongated gaussian-like blobs of a few pixels in width within a noisy and artifact-riddled background.

I'm currently reading up on Laplacian of Gaussian blob detection 1, 2, 3 and have started to implement the "roll-your-own" script in the first link; there are python packages like OpenCV and Scikit-image that have standard libraries for this as well and I believe they both have Laplacian of Gaussian blob detection, but I like to do it first myself to better understand what's going on.

Why are you asking this here in Astronomy SE?

Good question! Because this looks at least superficially a lot like what astronomers need to do when searching for objects in deep space imaging applications, and there may be some standard implementations in AstroPy or even lecture notes for Digital Imaging in Astronomy 101 courses.

In parallel with my brute force efforts, how might I compliment this work with existing astronomical imaging techniques to compare notes? It would be great if it turned out that some existing script or package searching for distant elliptical galaxies or weak gravitational lensing could be applied directly to these kinds of images!

Example image (most data has smaller pixels higher pixel density, but I need to process these low pixel count images as well):

enter image description here

The kinds of "spots" I'm looking for:

enter image description here

First try with Python implementation of Laplacian of Gaussian blob detection, haven't yet looked at generalizing to non-circular shapes, just ran the script in the link with a few small modifications.

enter image description here

  • 2
    $\begingroup$ If the artifacts are the same in all the images, and the spots you are trying to find are not, you could start by stacking all the images and taking the median at each pixel. Then you substract this from each image in order to remove some of the structures you don't want $\endgroup$
    – usernumber
    Commented Jan 9, 2020 at 8:45
  • 1
    $\begingroup$ The software that's most used for detecting things in astronomical images is SExtractor or the Python library SEP which implements the same core algorithms. $\endgroup$ Commented Jan 10, 2020 at 19:02
  • 1
    $\begingroup$ do you know where the blobs are expected from the symmetry? in any case, I would expect SExtractor to do a good job on your image $\endgroup$
    – user26287
    Commented Sep 20, 2020 at 11:04
  • 1
    $\begingroup$ The symmetry statement was separate, if you know where to look for the blobs, it becomes very straightforward to mask and fit each expected position with $N$ parametric models. But yes, SExtractor should be able to identify these easily, it is also very good at deblending close-together blobs. $\endgroup$
    – user26287
    Commented Sep 20, 2020 at 11:13
  • 1
    $\begingroup$ If you don’t use it already, take a look at conda/anaconda, most scientific software is available from there nowadays, with all dependencies etc. managed. Case in point: conda install -conda-forge astromatic-source-extractor $\endgroup$
    – user26287
    Commented Sep 20, 2020 at 13:57


You must log in to answer this question.