extract_subsection

Import packages

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

Generate image for testing

im = np.random.rand(100, 100)
fig, ax = plt.subplots(figsize=[4, 4])
ax.axis(False)
ax.imshow(im)
<matplotlib.image.AxesImage at 0x7f9d89196800>
../../../_images/6f96250cfdd9df135c54acf493c7960516af412fa2325b1dfdfa0faf4ec22d64.png

Demonstration

This tool was designed to ‘uppad’ an image that has had an equal amount of padding applied to all sides. The arguments assume that you know the original size of the image and wish to retrieve it back:

im2 = np.pad(im, pad_width=20, constant_values=0)
im = ps.tools.extract_subsection(im=im2, shape=im.shape)
fig, ax = plt.subplots(1, 2, figsize=[8, 4])
ax[0].axis(False)
ax[0].imshow(im2);
ax[1].axis(False)
ax[1].imshow(im);