Skip to main content

Porous Media Topology and Morphology Toolkit

Project description

PMMoTo

Tests

logo-1-text


The Porous Media Morphology and Topology (PMMoTo) toolkit is an open-source Python library for analyzing, modeling, and characterizing the structure of porous materials. Built with Cython and C++ and designed for distributed memory systems using MPI, PMMoTo includes parallelized implementations of connected components analysis, morphological operations (e.g., dilation and erosion), and Euclidean distance transforms. Unlike many tools that focus on image-based analysis, PMMoTo is specifically designed for synthetically generated porous media, such as sphere packings and molecular dynamics simulations.


Website

tmweigand.github.io/PMMoTo/

Installation

PMMoTo requires MPI (see https://tmweigand.github.io/PMMoTo/user_guide/installation.html)

Standard

  1. Clone the repository:

    git clone https://github.com/tmweigand/PMMoTo.git
    cd PMMoTo
    
  2. Install the package:

    pip install .
    

Development

  1. Clone the repository:

    git clone https://github.com/tmweigand/PMMoTo.git
    cd PMMoTo
    
  2. Install in editable mode with dev dependencies:

    pip install -e .[dev]
    

Citing

If you use PMMoTo in your research, please cite the relevant publication (too come).


Community Guidelines

Contributions and community feedback is welcomed!

Contributing

  • Fork the repo and create a branch.
  • Make your changes and submit a pull request.
  • Ensure tests pass.

Reporting Issues

  • Use GitHub Issues.
  • Include details: steps to reproduce, expected vs. actual behavior, and system info.

Support

License

This project is licensed under the MIT License. See LICENSE for details.


Contact

For questions, issues, or contributions, please open an issue or pull request on GitHub.

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

pmmoto-1.0.1.tar.gz (12.9 MB view details)

Uploaded Source

Built Distributions

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

pmmoto-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pmmoto-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pmmoto-1.0.1-cp311-cp311-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pmmoto-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file pmmoto-1.0.1.tar.gz.

File metadata

  • Download URL: pmmoto-1.0.1.tar.gz
  • Upload date:
  • Size: 12.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmoto-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c376b0b993f7a87692052d60c6f9ef53fe747d4d907a1916357969cd35c8256d
MD5 9476405e3761f3e6fa2dbaeae41d599e
BLAKE2b-256 b298433b8d3318b040e7fc71b478c1fa7e900d66022c8bd42f17efcd180d5884

See more details on using hashes here.

File details

Details for the file pmmoto-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pmmoto-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 456816f991208d58ae6c35e9ba0ebd169349f17610bee7982177e8ff6764f5eb
MD5 6fed37aff3d7e9cc4f5e252079848600
BLAKE2b-256 9965dccf7ef9426a12d8f95dd80416a45d829a4275f8d1a58849d25c67e030c4

See more details on using hashes here.

File details

Details for the file pmmoto-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pmmoto-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1aab6bd2cc73131079f34eb00ebb6a7c69ab8882c58975428cb2bc8c90850cde
MD5 7e2188649aa1f382e5b4ddf5c85ea8db
BLAKE2b-256 50c05afdc607f5a9921062a93b69d2ba35fa409316cc5ac36057a8e3784d4f60

See more details on using hashes here.

File details

Details for the file pmmoto-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pmmoto-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da03703cf2180d34151e0a7159bc4869d399e4228df939d2bd94b1d35ea8e1d5
MD5 2f8f0a7863fdcc66ac52072b0593318b
BLAKE2b-256 59dfeb80436adb8f1b1233104a73d86bde202ca955f8c087fbc983b1e4e2dbbc

See more details on using hashes here.

File details

Details for the file pmmoto-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pmmoto-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 26256b06397205e2ede77f21ccba7d572d6c4ef9d77379cb55a3968b1f6db63d
MD5 2690ea12ae4e17a3b459d50ae79176ea
BLAKE2b-256 d5c309d34c0940c16ac32a40067b723aac9b36100bdef1df77087e105aa85a7f

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