Porous Media Topology and Morphology Toolkit
Project description
PMMoTo
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
-
Clone the repository:
git clone https://github.com/tmweigand/PMMoTo.git cd PMMoTo
-
Install the package:
pip install .
Development
-
Clone the repository:
git clone https://github.com/tmweigand/PMMoTo.git cd PMMoTo
-
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
- See the docs and examples.
- For questions, open a discussion or file an issue.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
548c20585101ac73d9cda2caa604c2f31cdf8850bb4c700b70d48ec1f5910512
|
|
| MD5 |
00e63204275e83754f87ca52c7de9adb
|
|
| BLAKE2b-256 |
5d99d6ce2225036f4fd36a1f6a83c92832c6b91861336d250f1b97430df052ee
|
File details
Details for the file pmmoto-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pmmoto-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 11.2 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51a3c904dea46a03949d20a11f9570b27c0918a087294d1243f575aef33ce994
|
|
| MD5 |
7636bb55eb4480d002fbc72337f4957f
|
|
| BLAKE2b-256 |
d1f0a30274d6a338ea2c3a9523293fb6f911964c9446c1ed0858b50d076afb08
|
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
- Download URL: pmmoto-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
543da22bdb4c73f81e4372343d66123851af3a223d67b47a0f91bf0691fc46c2
|
|
| MD5 |
85bd0a9c63d507a79cb5be1f070f736c
|
|
| BLAKE2b-256 |
746bb6ac4700c885fed708e1a258713305b6bc5c4a845e93583ae0db03c2566d
|
File details
Details for the file pmmoto-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: pmmoto-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a32769861cb658c89ef1de2d4ad2225fe4bd5b34cc4fc5491ffa25c2dc01a40
|
|
| MD5 |
c1ff9c1f806a5ee15c1b9547efb24e02
|
|
| BLAKE2b-256 |
278a7abee8bb9f0997372dd05bb1477091a426c71e472163ede589ad931ef088
|
File details
Details for the file pmmoto-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: pmmoto-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33629231fac3bef26d6e0284120d2d91c44d17633d5e31b5bacca58c789ec324
|
|
| MD5 |
badf84ffb9b0dd17bc2954a58a60ee2c
|
|
| BLAKE2b-256 |
404fe77dd4e7cb5d04925e519456a4b63e576dc2c9bfaa8906feab917afd73a5
|