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.4.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.4-cp311-cp311-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pmmoto-1.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

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

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

Uploaded CPython 3.11macOS 11.0+ ARM64

pmmoto-1.0.4-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.4.tar.gz.

File metadata

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

File hashes

Hashes for pmmoto-1.0.4.tar.gz
Algorithm Hash digest
SHA256 604f9bf89375a10bae62d2960aa967aa2a0b926bee808840b0e7d548e4e50412
MD5 077e75dd3fcc9d6b540ca28f04048fda
BLAKE2b-256 b1e9d1c82285619366650d33f5d8cbe7bc24eeae179c4439a4704c4f51862346

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c6bb6e20e83e920e926ad3aaf457e4d1c323b38ffa1c8bac381ec4445330be1f
MD5 f4bc3f109bee11af220bd8574084c9df
BLAKE2b-256 adf9d446b1ce54c4a650c6294e2e903115ed1f9a594c3aba1f5a4f21053b3722

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7230c94b09e72d336339c81ab13f8c41c0e15a008b2b7d6b7b4858dd4e6de317
MD5 971a524f01414a06c4511ab29d902c8c
BLAKE2b-256 eadeb7999370ff5363403d45736b10dab6869c125689a09f69e27bb081497a0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 630d5db14408dc39efeb8628d38cd8735e5fe21c9fa54e08fe4e8f16bdc9e4ee
MD5 9126dad112c594e1770af914c9f76d89
BLAKE2b-256 994bbb76b7e90e5337a85604384e9d17327e56f12b03468b3517a19117346a2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e2a77b6151cb55b9d025149ab5e38f30d272978bc724cae0230d21a8e25bec12
MD5 defde67cab5b2e32bc22535b96361d27
BLAKE2b-256 746a26c89c37111ede10f73493859c9790a0add818c02bf7fe98039ab01e784d

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