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.
PMMoTo Website: https://tmweigand.github.io/PMMoTo/
PMMoTo requires MPI (see https://tmweigand.github.io/PMMoTo/user_guide/installation.html)
-
Clone the repository:
git clone https://github.com/tmweigand/PMMoTo.git cd PMMoTo -
Install the package:
pip install .
For detailed instructions, see https://tmweigand.github.io/PMMoTo/developer_guide/installation.html
-
Clone the repository:
git clone https://github.com/tmweigand/PMMoTo.git cd PMMoTo -
Install in editable mode with dev dependencies:
pip install -e .[dev]
If you use PMMoTo in your research, please cite the relevant publication (too come).
Contributions and community feedback is welcomed!
- Fork the repo and create a branch.
- Make your changes and submit a pull request.
- Ensure tests pass.
- Use GitHub Issues.
- Include details: steps to reproduce, expected vs. actual behavior, and system info.
- See the docs and examples.
- For questions, open a discussion or file an issue.
This project is licensed under the MIT License. See LICENSE for details.
For questions, issues, or contributions, please open an issue or pull request on GitHub.
