pore_size_distribution

pore_size_distribution(im, bins=10, log=True, voxel_size=1)[source]

Calculate a pore-size distribution based on the image produced by the porosimetry or local_thickness functions.

Parameters
  • im (ndarray) – The array of containing the sizes of the largest sphere that overlaps each voxel. Obtained from either porosimetry or local_thickness.

  • bins (scalar or array_like) – Either an array of bin sizes to use, or the number of bins that should be automatically generated that span the data range.

  • log (boolean) – If True (default) the size data is converted to log (base-10) values before processing. This can help to plot wide size distributions or to better visualize the in the small size region. Note that you should not anti-log the radii values in the retunred tuple, since the binning is performed on the logged radii values.

  • voxel_size (scalar) – The size of a voxel side in preferred units. The default is 1, so the user can apply the scaling to the returned results after the fact.

Returns

result – A custom object with the following data added as named attributes:

R or logR

Radius, equivalent to bin_centers

pdf

Probability density function

cdf

Cumulative density function

satn

Phase saturation in differential form. For the cumulative saturation, just use cfd which is already normalized to 1.

bin_centers

The center point of each bin

bin_edges

Locations of bin divisions, including 1 more value than the number of bins

bin_widths

Useful for passing to the width argument of matplotlib.pyplot.bar

Return type

Results object

Notes

(1) To ensure the returned values represent actual sizes you can manually scale the input image by the voxel size first (im *= voxel_size)

plt.bar(psd.R, psd.satn, width=psd.bin_widths, edgecolor=’k’)

Examples

Click here to view online example.