
Hi list, just a quick survey: which algorithms are you using for peak detection (detection of local maxima in a grayscale image), and which ones are you most satisfied of? We were wondering about the existence of good peak detectors during the scikit-image sprint, following difficulties with existing ones such as our feature.peak_local_max (see for example the discussion in https://github.com/scikit-image/scikit-image/pull/1248). Cheers, Emma

Hi Emma! This one is a bit slow (based on morphological reconstruction) but works well: https://github.com/janelia-flyem/gala/blob/master/gala/morpho.py#L122 Juan. On Tue, Dec 16, 2014 at 9:06 AM, Emmanuelle Gouillart <emmanuelle.gouillart@nsup.org> wrote:
Hi list, just a quick survey: which algorithms are you using for peak detection (detection of local maxima in a grayscale image), and which ones are you most satisfied of? We were wondering about the existence of good peak detectors during the scikit-image sprint, following difficulties with existing ones such as our feature.peak_local_max (see for example the discussion in https://github.com/scikit-image/scikit-image/pull/1248). Cheers, Emma -- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.

Hi Emma, We implemented this some time ago: https://github.com/bnoi/scikit-tracker/blob/master/sktracker/detection/peak_... It depends slightly on the rest of the module, but it shouldn't be too hard to extract only the detection module. It's based on this paper: http://www.nature.com/nmeth/journal/v5/n8/full/nmeth.1233.html Best, Guillaume Le 15/12/2014 23:19, Juan Nunez-Iglesias a écrit :
Hi Emma!
This one is a bit slow (based on morphological reconstruction) but works well:
https://github.com/janelia-flyem/gala/blob/master/gala/morpho.py#L122
Juan.
On Tue, Dec 16, 2014 at 9:06 AM, Emmanuelle Gouillart <emmanuelle.gouillart@nsup.org <mailto:emmanuelle.gouillart@nsup.org>> wrote:
Hi list,
just a quick survey: which algorithms are you using for peak detection (detection of local maxima in a grayscale image), and which ones are you most satisfied of? We were wondering about the existence of good peak detectors during the scikit-image sprint, following difficulties with existing ones such as our feature.peak_local_max (see for example the discussion in https://github.com/scikit-image/scikit-image/pull/1248).
Cheers, Emma
-- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
-- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe@googlegroups.com <mailto:scikit-image+unsubscribe@googlegroups.com>. For more options, visit https://groups.google.com/d/optout.

Hi Emma,
just a quick survey: which algorithms are you using for peak detection (detection of local maxima in a grayscale image), and which ones are you most satisfied of? We were wondering about the existence of good peak detectors during the scikit-image sprint, following difficulties with existing ones such as our feature.peak_local_max (see for example the discussion in https://github.com/scikit-image/scikit-image/pull/1248).
Something I had in mind at some point is a peak detection based on wavelets, but I did not find the time to finish that. In my notes, I have this repository https://github.com/johnmgregoire/PyWaveletPeakID which contains a code working with pywavelet and a link to the paper. They got nice results on a very noisy signal. Might not be universal, but useful for sure. As you may know, I worked a bit with Ralf (Ralf did more than I) to clean up pywavelet (mainly documentation, coding style, API). Ralf has a clone on his github page. Pywavelet is not maintained anymore by its original author. The next step is to integrate the code to scipy but we need to find somebody who wants to play with C-python bindings. (The last Gsoc project on that was not accepted). Definitely something that would be useful to scikit-image and probably many other users. Best, -- François Boulogne. http://www.sciunto.org GPG: 32D5F22F

On Tue, Dec 16, 2014 at 8:39 PM, François Boulogne <fboulogne@sciunto.org> wrote:
Hi Emma,
just a quick survey: which algorithms are you using for peak detection (detection of local maxima in a grayscale image), and which ones are you most satisfied of? We were wondering about the existence of good peak detectors during the scikit-image sprint, following difficulties with existing ones such as our feature.peak_local_max (see for example the discussion in https://github.com/scikit-image/scikit-image/pull/1248).
Something I had in mind at some point is a peak detection based on wavelets, but I did not find the time to finish that. In my notes, I have this repository https://github.com/johnmgregoire/PyWaveletPeakID which contains a code working with pywavelet and a link to the paper. They got nice results on a very noisy signal. Might not be universal, but useful for sure.
As you may know, I worked a bit with Ralf (Ralf did more than I) to clean up pywavelet (mainly documentation, coding style, API). Ralf has a clone on his github page. Pywavelet is not maintained anymore by its original author. The next step is to integrate the code to scipy but we need to find somebody who wants to play with C-python bindings. (The last Gsoc project on that was not accepted). Definitely something that would be useful to scikit-image and probably many other users.
It's still on the todo list, but I kind of ran out of steam. After https://github.com/rgommers/pywt/pull/55 goes in, it's pretty close to being ready. The final issues to solve are all API-related (we only get one chance to get those right). Those API issues wouldn't be a problem for shipping a private copy in scikit-image though, so if you're comfortable doing that then I'd say go for it. Cheers, Ralf

Hi, I had a trainee implementing a peak-picking based on difference of gaussian ... it is available on https://github.com/kif/pyFAI/blob/master/pyFAI-src/blob_detection.py but it turned out to be quite sensitive to noise. Cheers, -- Jérôme Kieffer <google@terre-adelie.org>
participants (6)
-
Emmanuelle Gouillart
-
François Boulogne
-
Guillaume Gay
-
Juan Nunez-Iglesias
-
Jérôme Kieffer
-
Ralf Gommers