Skip to content

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Mar 14:07
· 1977 commits to dev since this release

🚀 New features

  • Added pc_to_satn function to filters #new
  • Added satn_to_seq function to filters #new
  • Added satn_profile to metrics #new
  • Added find_h to metrics #new
  • Added pc_curve to metrics which accepts either sizes or pressures #new
  • Added satn_to_panels to visualization folder to create a montage of invasion steps #new
  • Added prep_for_imshow to visualization folder to adjust image for passing to plt.imshow #new
  • Created simulations module to replace dns #new #api
  • Moved tortuosity function to simulations and renamed it tortuosity_fd for finite difference #new #api
  • Added drainage function to the new simulations module, which incorporates the effect of gravity #new

🍰 Enhancements

  • Added ability to pass custom peaks to snow algorithms #enh
  • Phase labels no longer need to be contiguous in snow functions or snow2 extraction #enh
  • Phase labels of 0 can now be passed to snow2, if phase_alias argument is provided #enh
  • Added ability to specify residual invading phase in drainage #enh
  • Added surface option to trim/fill functions to optionally remove artifacts on the surfaces #enh
  • Added optional strel arg to trim_nonpercolating_paths #enh

🔧 Maintenance

  • Removed joss folder from top level of repo #maint
  • Decreased size of examples to accelerate testing and building #maint
  • Added many quantitative unit tests for snow functions #maint
  • Using much small images in snow tests to improve testing speed #maint
  • Minor adjustments/improvements to various trim peaks functions #maint
  • Consolidated jit sphere insertion funcs into a single file under tools #maint
  • Streamlined and simplified CI workflows #maint
  • Renamed how-tos to reference and other maintenance of docs #docs #maint
  • Added citations file to repo #maint
  • Dropped support for Python 3.6 and 3.7 per NEP29 #maint
  • Fixed examples CI to use the official pytest-split #maint
  • Temporarily excluded imagej module from coverage due to CI/dependency issues #maint
  • Removed transforms3d from requirements as it's no longer needed #maint
  • Added 4th digit to semantic version to indicate number of merges into dev branch

⚠️ API changes

  • Deprecated pc_curve_from_mio in favor of just pc_curve(sizes=sizes) #api
  • Created simulations module to replace dns #new #api
  • Moved tortuosity function to simulations and renamed it tortuosity_fd for finite difference #new #api
  • Deprecated dns.tortuosity though provided a wrapper to the moved and renamed version tortuosity_fd #api

🐛 Bugfixes

  • Fixed bug in region_volumes method #bug
  • Fixed cylindrical_plug generator to work in 2D #bug
  • Fixed bugs in snow2 when accuracy was 'high': missing throat_perimeters and incorrect voxel scaling #bug
  • Fixed a memory leak in tortuosity_fd

📗 Documentation

  • Removed excess badges from readme #doc
  • Major updates to all example notebooks #docs
  • Renamed how-tos to reference and other maintenance of docs #docs #maint
  • Added 2 new examples on the basic use of drainage and explaining its inner workings #docs
  • Updated some notebooks to work with new version of openpnm (2.8+) #doc

Installation

Normally porespy can be installed using conda install -c conda-forge porespy=2.1; however, to reproduce the exact environment which this release was built upon (i.e. at some point in the future), download one of the requirements files below (i.e. requirements_ps21_py310_win64.txt), then run the following at the conda prompt:

conda create --name <env> --file requirements_ps21_py310_win64.txt
conda activate <env>

where <env> is your chosen environment name.