Starting this week (Feb 15, 2021) we have begun merging ‘breaking changes’ onto the ‘dev’ branch or PoreSpy. The next major release will therefore be tagged 2.0.0, following the common semantic versioning. Incrementing the major version number indicates that backwards incompatible changes have been made. In the present case the majority of changes are enhancements and additions and should be relatively painless, but users may have to update their code in a few places.
For example the
lattice_spheresmethod now accepts
spacingto indicate the center-to-center distance between spheres, while
offsetnow means the distance between the start of each axis and the center of the first sphere. Clearly not an insurmountable change.
Perhaps the most significant change, and the main motivation for moving to V2, will be how the network extraction functions work. In the current version (V1.3.1) we return many different properties, some of which are quite opinionated. For instance, pore volume assumes that the pore is a sphere. We are going to reduce the returned set of properties to only quantitatively well-defined values, such as the region volume and inscribed diameter.
For sure the most exciting part of this upcoming release is all the new features to be added. Below gives a summary of just a few highlights:
Wrappers for ImageJ functions using the
Wrapper for the classic
MaximalBallalgorithm developed by Martin Blunt’s group
Opening images directly in Paraview for powerful visualization
Image-based invasion percolation algorithm to simulate rate-based injection of non-wetting fluids
Several new image generators including
pseudo_electrostatic_packing. These will allow creation of well-packed but not overlapping spheres. The ‘pseudo’ prefix indicates that they are not rigorous, but just meant to be helpful ways to prototype and test.
Skeleton shortest-path search method (
sspsm) for estimating the tortuosity as recently outlined by Fu et al.
Export images to Salome and STL formats
Generate a sphere packing geometry for use in Comsol
Fractal dimension measurement using the box-counting method
Example notebooks for each and every function in the package
Parallelized versions of many functions using the
dasklibrary to process each image in chunks
Addition of several network extraction algorithms developed by the PMEAL group including the parallized version of SNOW.
In addition to these exciting changes, there will be many smaller ones behind the scenes to speed things up and reduce memory consumption.
The expected release date for this is near the end of March 2021, so keep your eyes glued to our Github page to monitor progress. Any suggestions or contributions would be more than welcome. To make a suggestion please leave us a note on the new Github Discussions forum. And you happen to have any code you wish to share, now would be a great time! Peruse our contributors guide for how to proceed.