Skip to main content

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

Project description

image image Tests Examples

Overview

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: porespy-3.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 7dee74d2772f092e422bd05304fc89a3d1ed424cecd770f8a56cc235824ef1c4
MD5 53f6526f02ce48c933c84666a88027e3
BLAKE2b-256 42b6f1421c776ecd13ed88f4b62a6f100409abd79ba7c7ea18ba7ccfd02cc8cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: porespy-3.0.4-py3-none-any.whl
  • Upload date:
  • Size: 230.1 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ee57649e0f03a8ac88e4d7eb25e5eed9c0201e286b25f1f280231a230bdf7a69
MD5 0c783e70a8c2cd9c8cfc1b80af1a9abd
BLAKE2b-256 f74e3fe53a26d52cd9c90e1b212cc6d7b74e8521194e2c53477ba38784d9d7f2

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