Answers are grounded in this paper and cite their sources.
Nanoporous materials databases now contain millions of structures, yet the tools for characterizing their void spaces have not kept pace. Standard descriptors such as largest cavity diameter and pore limiting diameter are global quantities that conflate local pore geometry with inter-pore connectivity, and can hide distinct pores and network topology behind a single number. We present Mofography, an open-source Python/Rust library that recasts pore characterization as a three-dimensional image-processing problem. It segments the void space into non-overlapping pore regions, connects them at shared windows, and constructs a pore graph that decouples local properties (size, shape, chemistry) from global topology (percolation, connectivity). Global textural properties are obtained as queries on this graph and agree with those from Zeo++ and Pore-Blazer across a diverse set of metal-organic frameworks (MOFs), while remaining traceable to individual pores and windows. The same representation supports pore-resolved pore size distributions, multi-modal pore-type clustering, window detection across periodic boundaries, and percolation and accessibility analysis. To demonstrate its utility for material discovery, we develop a workflow integrated with Mofography to screen favorable pores in MOFs for xylene isomer separations and validate selected candidates with grand canonical Monte Carlo simulations. The results reveal how accessibility and competing pore environments influence whether local preferences translate into material performance. By linking global textural properties to local pore environments and their connectivity, Mofography provides a unique platform for interpreting structure–property relationships and accelerating nanoporous materials discovery.
No takes yet. Share an insight, caveat, or question.
Gopalan et al. (2026) studied this question.
Synapse has enriched 8 closely related papers on similar clinical questions. Consider them for comparative context: