trim_nearby_peaks
#
trim_nearby_peaks
function is a filter which finds nearby peaks in an image and removes the peak that is closer to the solid phase. This filter relies on the distance transform of an image.
[1]:
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()
dt
#
The distance transform of a test image is determined using the edt
method.
[2]:
im = ps.generators.blobs(shape=[200, 200])
dt = edt(im)
plt.figure(figsize=[6, 6])
plt.imshow(dt/im)
plt.axis(False);
peaks
#
The peaks
of the distance transform are found using the find_peaks
filter and nearby peaks are removed.
[3]:
peaks = ps.filters.find_peaks(dt, r_max=4)
x = ps.filters.trim_nearby_peaks(peaks=peaks, dt=dt)
fix, ax = plt.subplots(1, 2, figsize=[12, 12])
ax[0].axis(False)
ax[0].imshow(peaks/im)
ax[0].set_title('Before', fontdict={'fontsize': 18});
ax[1].axis(False)
ax[1].imshow(x/im);
ax[1].set_title('After', fontdict={'fontsize': 18});