title: Detecting weak blobs in a noise image
body: <p>I have an image which may contain some blobs. The blobs can be any size, and some will yield a very strong signal, while others are very weak. In this question I will focus on the weak ones because they are the difficult ones to detect.</p>
  
  <p>Here is an example with 4 blobs.</p>
  
  <p><a href="https://i.stack.imgur.com/CtiPD.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/CtiPD.png" alt="enter image description here"></a></p>
  
  <p>The blob at (480, 180) is the most difficult one to detect. By running a Gaussian filter followed by an opening operation increases the contrast a bit, but not a lot:</p>
  
  <p><a href="https://i.stack.imgur.com/zg4gs.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zg4gs.png" alt="enter image description here"></a></p>
  
  <p>The tricky part of this problem is that the natural noise in the background will result in (many) pixels which have a stronger signal than the blob I want to detect. What makes the blob a blob is that it's either a large area with an average increase in intensity, (or a small area with a very strong increase in intensity (not relevant here)).</p>
  
  <p><strong>How can I include this spacial information in order to detect my blob?</strong></p>
  
  <p>It is obvious that I first needs to filter the image with a Gaussian and/or median filter in order to incorporate the nearby region of each pixel into each single pixel value. However, no amount of blurring is enough to make it easy to segment the blobs from the background.</p>
  
  <p>EDIT: <strong>Regarding thresholding:</strong> Thresholding is very temping, but also problematic by itself. I do not have a region of "pure background" and the larger a blob is, the weaker the signal can be - while still being detectable.</p>
  
  <p>I should also not that the typical image will not have any blobs at all, but just be pure background.</p>