.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/segmentation/plot_peak_local_max.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. or to run this example in your browser via Binder .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_segmentation_plot_peak_local_max.py: ==================== Finding local maxima ==================== The ``peak_local_max`` function returns the coordinates of local peaks (maxima) in an image. Internally, a maximum filter is used for finding local maxima. This operation dilates the original image and merges neighboring local maxima closer than the size of the dilation. Locations where the original image is equal to the dilated image are returned as local maxima. .. GENERATED FROM PYTHON SOURCE LINES 13-48 .. image-sg:: /auto_examples/segmentation/images/sphx_glr_plot_peak_local_max_001.png :alt: Original, Maximum filter, Peak local max :srcset: /auto_examples/segmentation/images/sphx_glr_plot_peak_local_max_001.png :class: sphx-glr-single-img .. code-block:: Python from scipy import ndimage as ndi import matplotlib.pyplot as plt from skimage.feature import peak_local_max from skimage import data, img_as_float im = img_as_float(data.coins()) # image_max is the dilation of im with a 20*20 structuring element # It is used within peak_local_max function image_max = ndi.maximum_filter(im, size=20, mode='constant') # Comparison between image_max and im to find the coordinates of local maxima coordinates = peak_local_max(im, min_distance=20) # display results fig, axes = plt.subplots(1, 3, figsize=(8, 3), sharex=True, sharey=True) ax = axes.ravel() ax[0].imshow(im, cmap=plt.cm.gray) ax[0].axis('off') ax[0].set_title('Original') ax[1].imshow(image_max, cmap=plt.cm.gray) ax[1].axis('off') ax[1].set_title('Maximum filter') ax[2].imshow(im, cmap=plt.cm.gray) ax[2].autoscale(False) ax[2].plot(coordinates[:, 1], coordinates[:, 0], 'r.') ax[2].axis('off') ax[2].set_title('Peak local max') fig.tight_layout() plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.089 seconds) .. _sphx_glr_download_auto_examples_segmentation_plot_peak_local_max.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: binder-badge .. image:: images/binder_badge_logo.svg :target: https://mybinder.org/v2/gh/scikit-image/scikit-image/v0.24.0?filepath=notebooks/auto_examples/segmentation/plot_peak_local_max.ipynb :alt: Launch binder :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_peak_local_max.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_peak_local_max.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_peak_local_max.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_