So I am using the Source Extractor to find point sources in my images and it offers the possibility to use matched filtering to enhance the detection results. In the documentation they also claim that the matched filter defaults to a convolution of the data, should the noise be equal across the field (please correct me if I got this wrong). While there is a nice and easy to understand visual reprentation for the convolution, where the convoluted pixel value is simply the sum of the pixel values "below" the kernel weighted by the factors in the kernel "above", I have yet to find a similar explanation for what is going on in matched filtering.

I also like how the matched filter is derived in terms of matrices, since I feel like this makes the most sense with image processing (unlike the derivation using itegrals I found in many places), but I haven't found a book yet where this is well explained. Can someone point me to a source where matched filtering is explained regarding image processing?


1 Answer 1


There's really nothing special about image processing here: the matched filter is still the hermetian, spatially-inverse filter (=convolution kernel) to the original filter (=convolution kernel).

Since images tend to be real-valued, most convolutional kernels are, too. In which case you just flip the kernel along both axes and are done.

If the original kernel is symmetrical along both axes, it's its own matched filter.

The explanations used for the one-dimensional matched filter are the same as for the 2D case:

Cauchy-Schwarz inequality says that, for any given filter energy, a filter that fulfills the above criteria leads to the highest SNR in the additive uncorrelated noise case.

  • $\begingroup$ Hey, thanks for the answer! Sorry for my ignorance though, I don't know what a hermetian, spatially-inverse filter is. I'm not a math pro, but I can visualize a kernel overlapping with an image to understand convolution. I still don't understand how this process plays out differently with a matched filter though. In both cases I provide a kernel and the image (and a map of the noise, not sure where this comes in), but how do the operations differ? $\endgroup$
    – mapf
    Sep 17, 2020 at 14:00
  • $\begingroup$ I guess basically what I would need is a simple example with a kernel and a pixel array that shows how the computation is performed, and how this would default to a simple convolution if there were equal noise across all pixels. $\endgroup$
    – mapf
    Sep 17, 2020 at 14:03
  • $\begingroup$ I explained these terms right in the next sentences. $\endgroup$ Sep 17, 2020 at 15:06
  • 1
    $\begingroup$ Ok, so you might have some basic misunderstanding there: a matched filter is a filter, that is matched to another filter that you already applied to an image $\endgroup$ Sep 17, 2020 at 15:06
  • $\begingroup$ Ahh ok. So the operations are the same as with the convolution, only that matching the filter tells me to flip my kernel along both axes? $\endgroup$
    – mapf
    Sep 17, 2020 at 15:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.