reduce_peaks

Broad or elongated peaks are replaced with single peaks located at the centre of original voxels

Import packages

import numpy as np
import porespy as ps
import scipy.ndimage as spim
import matplotlib.pyplot as plt
import skimage
from edt import edt
ps.visualization.set_mpl_style()
np.random.seed(0)
[03:05:26] ERROR    PARDISO solver not installed, run `pip install pypardiso`. Otherwise,          _workspace.py:56
                    simulations will be slow. Apple M chips not supported.                                         

peaks

Find peaks on the test image

im = ps.generators.blobs(shape=[200, 200])
dt = edt(im)
peaks = ps.filters.find_peaks(dt, r_max=4)

plt.figure(figsize=[6, 6])
plt.axis(False)
plt.imshow(peaks/im);

Apply reduce_peaks filter

x = ps.filters.reduce_peaks(peaks=peaks)
plt.figure(figsize=[6, 6])
plt.axis(False)
plt.imshow(x/im);