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

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pmmoto-0.1.5-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-0.1.5-cp311-cp311-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

File metadata

  • Download URL: pmmoto-0.1.5.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-0.1.5.tar.gz
Algorithm Hash digest
SHA256 0db0a1cbd5814d294cf48e598a01c25dc25a342c01f36c777377299ef336bc3b
MD5 193d471d88a0ae9b3887e321223c26e4
BLAKE2b-256 4e3ec40a7ccb9b1c22a217b09a9d08f78532f2d445d3aacc8bba8d415e9791d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-0.1.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b63aff9f14b3c2d63d0f5053b01f84e80395de72384cabc05d8a5e323c19843a
MD5 71c8639ab5d66a570b14a3275295e23d
BLAKE2b-256 b95671181ce74e2ad3e5cc53dcc0c5514243d4ae0f60540ebe2a93f330b30c3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-0.1.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eea8a2c835d8715d07ebec46749bd152cf7f24eef99e9ad081334a3f0d1a6171
MD5 c92a69b821c6a011000a0ea7c653ebcf
BLAKE2b-256 64e820af97f5a473e9c27a868d288c6f8f740c2539fcb056dd1322426f0704ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a03db287b692cdd434e8672815d81bb1bab8d34794e394e2fffda30c2fa37e2d
MD5 bb874c760c1207bdd746437c99049745
BLAKE2b-256 1091dcbd73552733becd61114e1fb50d52e336b370c56e37ea2048bcd1df206e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e162c735caa683c82939a08c4153e546ba36e2281535e0265801a407d0ef9269
MD5 bac63c8856472f188da171dcca696211
BLAKE2b-256 9a6a839b020ed2c331a84230326c98c23109d4f5f1c3b83dac330f4a10a2d50f

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