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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

File metadata

  • Download URL: pmmoto-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 4b70b11db705c5ce8c975b2f99d09968a2f789be757a5e3415d34355b5917d42
MD5 1dcaa26218b7e483484527513535c175
BLAKE2b-256 7ebf0dc370b0eb1a608cbdfa114d57f0b3e203a27d2c294c56ba2bc280ee83d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6007fd264b018821869a0156cf616a0fadd3620fdb94a627d3ee073a4e2d9a03
MD5 c09be363543c47f88265907b67ff33b8
BLAKE2b-256 bd619cadf1054a458808aae941b6580447853dd648da3d1df18941258185af42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d18bbcf34ea5028a2b9d2a3157ab7c4aa459b42e4fa877a5fca0521544c30071
MD5 9670d99210d229b4de49708303d173fa
BLAKE2b-256 c6a9456b5f5dbdeceb0adb04228eb3435504a710f73cb780a8f73519b2d2f676

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91dd0ac3364e873eaaaa3ad5ad9d51a62dfd0428495b8e640f11946d5b6d05ea
MD5 87f4eba59b98da0d3e15b62a8d779b8f
BLAKE2b-256 1d4b79b9032d11867393d952683268de9e855cdb1b28204324b9f08b7f75e681

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5d25b054defe11ec78885ea58f9d172216a5358b78cf37b3672e4539f367da3c
MD5 5f428772462a6f48602704d6e848ec3c
BLAKE2b-256 3d8342ea55a59cc0c80d78c31712db657982036ee60daf2bb8a785cfea05099e

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