Fast 2D peak finder
by natan
03 Jul 2012
(Updated 06 Jun 2013)
Find local maxima \ peak positions in noisy 2D arrays
|
Watch this File
|
| File Information |
| Description |
A simple and fast 2D peak finder. The aim was to be faster than more sophisticated techniques yet good enough to find peaks in noisy data to within 1 pixel accuracy. The code thresholds the data, median filters it, smooths it with a user defined filter, thresholds again, and looks for local maxima at relevant pixels. The code best works when using uint16 \ uint8 images, and assumes that peaks are relatively sparse. The code requires Matlab's Image Processing Toolbox. The code can be used inside parfor for faster processing times. |
| Required Products |
Image Processing Toolbox
|
| MATLAB release |
MATLAB 7.13 (R2011b)
|
|
Tags for This File
|
| Everyone's Tags |
|
| Tags I've Applied |
|
| Add New Tags |
Please login to tag files.
|
| Updates |
| 09 Jul 2012 |
bug fixed, code now handles images of arbitrary size. |
| 16 Jul 2012 |
Code runs faster by casting to appropriate numeric classes for medfilt2 and conv2 |
| 10 Aug 2012 |
minor editing, added functionality - when no input is used, the function generates random peaks data and plot a figure. |
| 21 Aug 2012 |
Added scaling correction for the case pixel values are all between 0 and 1. Improved file documentation. |
| 05 Feb 2013 |
Improved performance of saving to file and additional small improvements. |
| 11 Feb 2013 |
corrected typos from previous release that prevented the function from running for no arguments (demo mode) |
| 05 Mar 2013 |
bug fixes |
| 09 May 2013 |
Added automatic uint8 support for improved performance. Added an output option of a binary matrix of peak positions besides the regular coordinate vector. |
| 06 Jun 2013 |
the case binary matrix output when the image is all zeros returned an error (bug now fixed). Many thanks to Roman Voronov for spotting this. |
|
Contact us