Skip to main content

A set of tools for analyzing 3D images of porous materials

Project description

image image Tests Examples

What is PoreSpy?

PoreSpy is a collection of image analysis tools used to extract information from 3D images of porous materials (typically obtained from X-ray tomography). There are many packages that offer generalized image analysis tools (i.e Skimage and Scipy.NDimage in the Python environment, ImageJ, MatLab's Image Processing Toolbox), but they all require building up complex scripts or macros to accomplish tasks of specific use to porous media. The aim of PoreSpy is to provide a set of pre-written tools for all the common porous media measurements.

PoreSpy relies heavily on scipy.ndimage and scikit-image also known as skimage. The former contains an assortment of general image analysis tools such as image morphology filters, while the latter offers more complex but still general functions such as watershed segmentation. PoreSpy tries not to duplicate any of these general functions so you will also have to install and learn how to use them to get the most from PoreSpy. The functions in PoreSpy are generally built up using several of the general functions offered by skimage and scipy. There are a few functions in PoreSpy that are implemented natively, but only when necessary.

Capabilities

PoreSpy consists of the following modules:

  • generators: Routines for generating artificial images of porous materials useful for testing and illustration
  • filters: Functions that accept an image and return an altered image
  • metrics: Tools for quantifying properties of images
  • networks: Algorithms and tools for analyzing images as pore networks
  • simulations: Physical simulations on images including drainage
  • visualization: Helper functions for creating useful views of the image
  • io: Functions for outputting image data in various formats for use in common software
  • tools: Various useful tools for working with images

Gallery

Cite as

Gostick J, Khan ZA, Tranter TG, Kok MDR, Agnaou M, Sadeghi MA, Jervis R. PoreSpy: A Python Toolkit for Quantitative Analysis of Porous Media Images. Journal of Open Source Software, 2019. doi:10.21105/joss.01296

Installation

For detailed and up to date installation instructions, see here

Contributing

If you think you may be interested in contributing to PoreSpy and wish to both use and edit the source code, then you should clone the repository to your local machine, and install it using the following PIP command:

pip install -e "C:\path\to\the\local\files\"

For information about contributing, refer to the contributors guide

Acknowledgements

PoreSpy is grateful to CANARIE for their generous funding over the past few years. We would also like to acknowledge the support of NSERC of Canada for funding many of the student that have contributed to PoreSpy since it's inception in 2014.

Examples

A set of examples is included in this repo, and can be browsed here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

porespy-3.0.3.tar.gz (64.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

porespy-3.0.3-py3-none-any.whl (225.3 kB view details)

Uploaded Python 3

File details

Details for the file porespy-3.0.3.tar.gz.

File metadata

  • Download URL: porespy-3.0.3.tar.gz
  • Upload date:
  • Size: 64.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.1 cpython/3.13.10 HTTPX/0.28.1

File hashes

Hashes for porespy-3.0.3.tar.gz
Algorithm Hash digest
SHA256 4bc86cbd5ba37bcacc5624e54ee9c245299b0764fd68bed8beb9d8d94753f97b
MD5 f3ed6c868d0b1cdd12fc0fcae19a994d
BLAKE2b-256 25aae6fe021b3650390df4f563e121f976dc0e8942c8bd7feca66cf75747f49c

See more details on using hashes here.

File details

Details for the file porespy-3.0.3-py3-none-any.whl.

File metadata

  • Download URL: porespy-3.0.3-py3-none-any.whl
  • Upload date:
  • Size: 225.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.1 cpython/3.13.10 HTTPX/0.28.1

File hashes

Hashes for porespy-3.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7906705ff1885012e7fbd39a53eca1e08942f1878af68d24eb0254d27c366945
MD5 1f4e0655816e15956880cc811ed6aba3
BLAKE2b-256 00d515c143c91a6c30291dcece5e36437bdd1ffc08e599f6481fd8a6ceae7679

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page