Deepcell

Latest version: v0.12.9

Safety actively analyzes 623608 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 11

0.12.9

🐛 Bug Fixes

<details>
<summary>Make creation of base download location more robust. rossbar (692)</summary>

What
* Fixup for `fetch_data` when a `cachedir` is provided but the parent directory has not yet been created.

Why
* Should make the downloading of assets (i.e. models/datasets) more robust to order and existing directory structure.

</details>

0.12.8

🚀 Features

<details>
<summary>Authenticated SpotNet dataset elaubsch (688)</summary>

This PR adds the `SpotNet` dataset to the list of new authenticated datasets, following the established pattern. It also adds a `SpotNetExampleData` class, which loads the example data for the [Polaris example notebooks](https://github.com/vanvalenlab/deepcell-spots/tree/master/notebooks). This class deviates slightly from the existing pattern for loading data in order to accommodate for the different file types that need to be loaded. The SpotNet dataset has also been added to the datasets gallery in the documentation.

</details>

0.12.6

🐛 Bug Fixes

<details>
<summary>Fix untiling corner-case when no padding in one dimension rossbar (673)</summary>

What
Closes 665. As noted there, the issue arises from pads of `(0, 0)` which subsequently lead to `0:0` slices in untiling, giving arrays with shape 0 for that dimension.

AFAICT, the only way to hit this corner case is when one of the dimensions is smaller than `model_image_shape`, but the other is exactly `model_image_shape`. If both dimensions are `>= model_image_shape`, then `padding` should be `False` if I'm following the logic correctly.

Why
Bugfix
</details>


🧰 Maintenance

<details>
<summary>Bump version for 0.12.6 release msschwartz21 (674)</summary>


</details>

<details>
<summary>Update nuclear segmentation and tracking notebooks msschwartz21 (671)</summary>

This PR updates the three notebooks that are associated with the tracking paper to match our current scripts for training and running the application. I tested each notebook to verify that everything runs.
</details>

<details>
<summary>Update nuclear tracking and segmentation model paths msschwartz21 (666)</summary>

This PR updates the models used by the `NuclearSegmentation` and `CellTracking` applications to the latest versions associated with the upcoming paper.
</details>

<details>
<summary>Cleanup related to transitioning from pylint -> ruff rossbar (661)</summary>

What
Update codebase to reflect the adoption of `ruff` instead of `pylint`.
* Removes pylint configs & pylint ignore flags
* Updates the contributor guide

Why
General cleanup.

</details>

<details>
<summary>Apply pyupgrade to update code style rossbar (662)</summary>

What
This PR applies `pyupgrade` (via `ruff`) to automatically modernize some coding patterns. The way this works: you tell `pyupgrade` what minimum version of Python you support (3.7 in our case), then it automatically applies linting patterns based on language features in the minimum supported version.

The changes here generally fall in the following categories:
* Stop inheriting from object
* Remove `from __future__` imports
* Remove super() args in cases of single inheritance
* Automatically convert older-style string formatting to fstrings.

Why
The main improvement is removing cruft related to old Python versions - perhaps the most notable is the removal of the `from __future__` imports and related `del`s in the `__init__.py` files. The automatic switch to f-strings is also (IMO) a nice improvement.

</details>


📚️ Documentation

<details>
<summary>Update nuclear segmentation and tracking notebooks msschwartz21 (671)</summary>

This PR updates the three notebooks that are associated with the tracking paper to match our current scripts for training and running the application. I tested each notebook to verify that everything runs.
</details>

0.12.5

Main highlights:
* Add support for Python 3.10
* Add support for numpy version >= 1.24
* Pin scikit-image to <0.20 for compatibility

🐛 Bug Fixes

<details>
<summary>Correct crop mode bug in tracking application and improve model metadata organization msschwartz21 (629)</summary>

* The CellTracker had a bug where the crop mode was not being set during inference. This update to the tracking application sets the crop mode correctly.
* Reorganizes model metadata and parameters to set of global variables in each application so that they are easier to maintain and update.

~~**Warning:** This PR is dependent on a tracking release after merging https://github.com/vanvalenlab/deepcell-tracking/pull/108.~~

</details>


🧰 Maintenance

<details>
<summary>Add CI testing against dev branches of deepcell-toolbox and deepcell-tracking rossbar (636)</summary>

This should help catch incompatibilities between unreleased versions of libraries in the deepcell ecosystem.

What
* Code remains unaffected - this PR is just dedicated to bolstering testing infrastructure

Why
* The deepcell- libraries are interdependent: `deepcell-tf` depends on `deepcell-tracking` and `deepcell-toolbox`. If there is a change in one of these dependencies, there is no way to tell in the automated test running whether this will break something in `deepcell-tf` until the underlying libraries are released. Testing against the dev branches will catch potential issues sooner, at the expense of being noisier and reducing test specificity (failures can originate from either *deepcell-tf* or the dependencies). Overall however I think this should improve the ability to things consistent across libraries.

</details>


<details>
<summary>Prepare for 0.12.5 release rossbar (659)</summary>

What
* Bump version numbers in final step before next patch release

</details>

<details>
<summary>Update copyright notice to 2023. rossbar (658)</summary>

What
* Update year in copyright notice. Accomplished with:

bash
find . -type f -exec sed -i "s/2016-2022/2016-2023/g" {} \;


Why
* I plan to do a 0.12.5 release soon (primarily for the scikit-image pin) so I figured I'd get this in as well.

</details>

<details>
<summary>Update pydot dependency: soft dep for `keras.utils.plot_model` rossbar (647)</summary>

What
`pydot` is listed as a dependency, but is not actually used in the project, so should be safe to remove.

Why
Decreasing the dependency footprint is always beneficial. Doubly-so in the case of `pydot`, which has not been actively maintained in a while, see e.g. networkx/networkx5723
</details>

<details>
<summary>Bump action versions to avoid deprecation warnings. rossbar (653)</summary>

What
The builtin github actions checkout, setup-python, and cache have all been updated to a later version of node. There are now deprecation warnings for the previous versions in the actions logs.

Why
General maintenance to keep the CI in good shape.

Note there may be other actions that need to be updated, but I'm starting with the main ones so I can see what remains in the logs after these updates.

</details>

<details>
<summary>Pin scikit-image to avoid expired deprecations. rossbar (656)</summary>

What
* Fix for 655 .

Why
My vote is to pin scikit-image then do a patch release. For the next minor release the pin should be updated to >=0.19.

</details>

<details>
<summary>Deprecate entire `export_utils` module rossbar (649)</summary>

What
A followup to 648. With the deprecation of `export_model_to_tflite`, it is now the case that every function in the `export_utils` module has been deprecated. Therefore I propose to deprecate the entire module. We can do this using the module `getattr` to emit warnings if a user ever tries to access the two public names (i.e. `export_model` or `export_utils`).

In practice this means import patterns like:

python
>>> from deepcell.utils import export_model or export utils


will now raise a deprecation warning as well.

The module `getattr` was added in Python 3.7 - see [PEP 562](https://peps.python.org/pep-0562/) for details.

Why
Further cleanup related to the `export_model` functions, all of which are deprecated in favor of using `tf.keras.models.save_model` directly.

</details>

<details>
<summary>Deprecate export\_model\_to\_tflite rossbar (648)</summary>

What
Deprecate `export_utils.export_model_to_tflite`.

Why
Notify users who may still be using this function to switch to `tf.keras.models.save_model`. Closes gh-645.

</details>

<details>
<summary>Lint with ruff rossbar (646)</summary>

What
Adopt `ruff` as a linter for the project. See also: vanvalenlab/deepcell-toolbox137 and vanvalenlab/deepcell-tracking113.

Why
Primarily to add automated linting for future code submissions, though this PR also contains a few minor fixups to address existing issues.

This one's a bit of a bear in terms of files touched and lines modified - I'm more than happy to split this up into smaller PRs to make review easier, just LMK!

</details>

<details>
<summary>Update test to use second num\_semantic\_classes input. rossbar (644)</summary>

What
Closes gh-643. If there's a reason not to use the `nsc2` input, then alternatively we can delete that var.

Why
See gh-643 for context.

</details>

<details>
<summary>Add python3.10 support rossbar (639)</summary>

What
Add support for Python 3.10

Why
General software updates. See also vanvalenlab/deepcell-tracking111 and vanvalenlab/deepcell-toolbox128

</details>

<details>
<summary>Fix failures due to invalid numpy scalars. rossbar (634)</summary>

What
Fixes the failures in `deepcell-tf` for numpy v1.24 by updating to use the

Why
Remove the upper bound on numpy.

Marking as draft for now, as this depends on vanvalenlab/deepcell-tracking112 as well. The tracking tests in `deepcell-tf` will continue to fail until those changes make it into a release.

</details>

<details>
<summary>Update Dockerfile to jupyter lab rdilip (637)</summary>

What
* Removed jupyter notebook call

</details>

<details>
<summary>A collection of minor documentation updates rossbar (633)</summary>

What
The major change is removing the pins to sphinx, docutils, etc. AFAICT the motivating factors for the pins are no longer relevant - see e.g. 320 and 526.

Some other minor changes include:
- Minor configuration updates to get rid of warnings
- Updating intersphinx to point to the stable Python docs instead of 3.7
- Modifying the heading levels in one of the example notebooks to fix the toctree nav column

Why
Sphinx 2.3.1 is 2 major releases behind stable - being pinned this far back will make it difficult to reliably change/update the docs.

</details>


📚️ Documentation

<details>
<summary>Rm blurb about Python2/TensorFlow 1 from README. rossbar (651)</summary>

What
Removing blurb from README about running with Python2/TensorFlow 1.

Why
The chances of this working out of a containerized environment is practically nil and certainly not worth the effort for users.

I'm also using this change as a test for the RTD docs preview feature in CI.

</details>

<details>
<summary>A collection of minor documentation updates rossbar (633)</summary>

What
The major change is removing the pins to sphinx, docutils, etc. AFAICT the motivating factors for the pins are no longer relevant - see e.g. 320 and 526.

Some other minor changes include:
- Minor configuration updates to get rid of warnings
- Updating intersphinx to point to the stable Python docs instead of 3.7
- Modifying the heading levels in one of the example notebooks to fix the toctree nav column

Why
Sphinx 2.3.1 is 2 major releases behind stable - being pinned this far back will make it difficult to reliably change/update the docs.

</details>

0.12.4

🧰 Maintenance

<details>
<summary>MAINT: Pin numpy to avoid errors due to expired scalar deprecations rossbar (630)</summary>

Resolve failures in deepcell due to code that depends on numpy features that were removed in numpy v1.24.

</details>

<details>
<summary>Bump model versions for nuclear segmentation and tracking msschwartz21 (627)</summary>

Updates the nuclear segmentation model from model-registry 34 and the tracking model from model-registry 36

</details>

0.12.3

🧰 Maintenance

<details>
<summary>Swap m2r with m2r2 and update version number to 0.12.3 msschwartz21 (623)</summary>

Bump version number for new release

Also includes a change from `m2r` to `m2r2` for our documentation pipeline. `m2r` is no longer being maintained so it has been replaced with a fork with more active maintenance. https://github.com/CrossNox/m2r2
</details>

<details>
<summary>Add support for EfficientNetV2 backbones to the get_backbone utility function msschwartz21 (619)</summary>

What
* Add support for EfficientNetV2 backbones to the get_backbone utility function

Why
* Exposes EfficientNetV2 backbones for use in deepcell model architectures

</details>

Page 1 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.