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)
[12:33:55] 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);
../../../_images/85f721d5456867e9cf8b8d032194fe35d152a542390710ab9b66a7019d66ae05.png

Apply reduce_peaks filter#

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