There have been several deprecations and expirations of deprecations in scikit-image as of v0.18 that have affected the codebase. We caught most of these usages in vanvalenlab/deepcell-toolbox#131. Unfortunately, due to internal usage of functools.wraps, the stacklevel of some of the calls containing deprecated kwargs had changed, which prevented the DeprecationWarnings from being visible within deepcell-tf itself. This leads to all-out failures if scikit-image v0.21 is installed.
This PR fixes the situation by:
Pinning the lower-bound of scikit-image to 0.19, which is now the minimum version that supports the new keyword argument names. Fixes #670.
Updating internal usages of scikit-image functions that had relied on kwargs that have now been expired. Fixes #655.
Additional context
This should fix the situation for those who are just installing deepcell. Things get more complicated if e.g. a user has installed deepcell-toolbox separately. There will likely need to be changes along the lines of `vanvalenlab/deepcell-toolbox#136 as well for better coverage of different installation orders, etc.
Why
Without the lower-bound pin, it is possible to install deepcell with a non-functional environment (i.e. if scikit-image is installed as a transitive dependency by some other package in the environment).
What
There have been several deprecations and expirations of deprecations in
scikit-image
as of v0.18 that have affected the codebase. We caught most of these usages in vanvalenlab/deepcell-toolbox#131. Unfortunately, due to internal usage offunctools.wraps
, the stacklevel of some of the calls containing deprecated kwargs had changed, which prevented the DeprecationWarnings from being visible withindeepcell-tf
itself. This leads to all-out failures if scikit-image v0.21 is installed.This PR fixes the situation by:
Additional context
This should fix the situation for those who are just installing
deepcell
. Things get more complicated if e.g. a user has installeddeepcell-toolbox
separately. There will likely need to be changes along the lines of `vanvalenlab/deepcell-toolbox#136 as well for better coverage of different installation orders, etc.Why
Without the lower-bound pin, it is possible to install
deepcell
with a non-functional environment (i.e. ifscikit-image
is installed as a transitive dependency by some other package in the environment).