subdivide#

Import packages#

import numpy as np
import porespy as ps
import scipy.ndimage as spim
import matplotlib.pyplot as plt
import skimage

np.random.rand(0)
ps.visualization.set_mpl_style()
[17:45:31] ERROR    PARDISO solver not installed, run `pip install pypardiso`. Otherwise,          _workspace.py:56
                    simulations will be slow. Apple M chips not supported.                                         

Create image and variables#

im = ps.generators.blobs([500, 500])
fig, ax = plt.subplots(1, 1, figsize=[4, 4])
ax.axis(False)
ax.imshow(im, origin='lower');
../../../_images/dab1e4c49d6788db2e04cb78762e4c9662e5d2218157b63233dfb3ab8fcc07c4.png

Apply tool#

slice objects are returned:

slices = ps.tools.subdivide(im=im, divs=2, overlap=20)
print(slices)
[(slice(0, 270, None), slice(0, 270, None)), (slice(0, 270, None), slice(230, 500, None)), (slice(230, 500, None), slice(0, 270, None)), (slice(230, 500, None), slice(230, 500, None))]
fig, ax = plt.subplots(1, 4, figsize=[8, 2])
for i, s in enumerate(slices):
    ax[i].imshow(im[s], origin='lower')
    ax[i].axis(False);
../../../_images/75e0a28291beec7147ccbb3aa539d70827110cd327a9da516dff238f60ea4761.png