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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

File metadata

  • Download URL: pmmoto-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 548c20585101ac73d9cda2caa604c2f31cdf8850bb4c700b70d48ec1f5910512
MD5 00e63204275e83754f87ca52c7de9adb
BLAKE2b-256 5d99d6ce2225036f4fd36a1f6a83c92832c6b91861336d250f1b97430df052ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 51a3c904dea46a03949d20a11f9570b27c0918a087294d1243f575aef33ce994
MD5 7636bb55eb4480d002fbc72337f4957f
BLAKE2b-256 d1f0a30274d6a338ea2c3a9523293fb6f911964c9446c1ed0858b50d076afb08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 543da22bdb4c73f81e4372343d66123851af3a223d67b47a0f91bf0691fc46c2
MD5 85bd0a9c63d507a79cb5be1f070f736c
BLAKE2b-256 746bb6ac4700c885fed708e1a258713305b6bc5c4a845e93583ae0db03c2566d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a32769861cb658c89ef1de2d4ad2225fe4bd5b34cc4fc5491ffa25c2dc01a40
MD5 c1ff9c1f806a5ee15c1b9547efb24e02
BLAKE2b-256 278a7abee8bb9f0997372dd05bb1477091a426c71e472163ede589ad931ef088

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 33629231fac3bef26d6e0284120d2d91c44d17633d5e31b5bacca58c789ec324
MD5 badf84ffb9b0dd17bc2954a58a60ee2c
BLAKE2b-256 404fe77dd4e7cb5d04925e519456a4b63e576dc2c9bfaa8906feab917afd73a5

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