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

[!NOTE] We no longer support macOS on x86_64 (Intel) systems. A few dependencies—triangle among them—are no longer maintained there, and that breaks our build. These packages are mostly optional, though, so if you need PoreSpy on that platform, you can still build it from source.

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.dev1.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.dev1-py3-none-any.whl (225.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for porespy-3.0.3.dev1.tar.gz
Algorithm Hash digest
SHA256 cd44d0fe75594b4f19baa68dd6cb074d7794097141661f33660dc47e3469330a
MD5 421e0c552dcb74647e97af63abd385bb
BLAKE2b-256 a25dd7422bd5b2af23448db283cccac8f4853359f90f32d25e86f0968d1caf49

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for porespy-3.0.3.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 fede0b49297da82681dccb67253215c8582eb739ffc7cbc8b7bb88e44a0766a2
MD5 1dc3768be270b2af274f310ad24e51c5
BLAKE2b-256 13f2484f6da3b8f42e6ac5e518c0029fdb49fcdb8258fdbf8643ea7bf7020d97

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