Skan

Latest version: v0.12.0

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

Scan your dependencies

0.12.0

This release adds NumPy 2.0 compatibility (while remaining compatible with 1.x)
([229](https://github.com/jni/skan/pull/229)). It also lays the groundwork for
new skeleton editing features with bidirectional Skeleton to NetworkX
conversion functions ([224](https://github.com/jni/skan/pull/224).

We also have a minor deprecation that should improve quality of life in the
future: column names in the summary dataframe can now use `_` as the separator
(instead of `-`), which allows one to use the pandas attribute access for
columns (for example, `summary.branch_distance` instead of
`summary['branch-distance']`. Use the `separator='_'` keyword argument to
`summarize` to take advantage of this feature (which will become the default in
a future version), or `separator='-'` to maintain the current behavior even
when new versions come out ([215](https://github.com/jni/skan/pull/215)).

The napari plugin now lets you make a Shapes layer fully backed by a Skeleton
dataset, including coloring the edges by features in the summary table
([201](https://github.com/jni/skan/pull/201)).

Thanks to [Neil Shephard](https://github.com/ns-rse),
[James Ryan](https://github.com/jamesyan-git),
[Jarod Hanko](https://github.com/jarodhanko-crafco), and
[Tim Monko](https://github.com/TimMonko) for their contributions to this
release! 🙏 You can find the full list of changes below:

API changes

- [215](https://github.com/jni/skan/pull/215): The separators used for column
names are configurable, and will transition to `_` in the future. This is to
make it easier to use the dataframe attribute interface, e.g.
`summary.branch_distance`

New features

- [229](https://github.com/jni/skan/pull/229): NumPy 2 compatibility
- [224](https://github.com/jni/skan/pull/224): Create a networkx summary graph
from a Skeleton
- [201](https://github.com/jni/skan/pull/201): Add napari widget to generate
shapes layer from a skeletonized label layer

Improvements

- [220](https://github.com/jni/skan/pull/220): Allow mean pixel value
calculation from integer values, not just floats
- [212](https://github.com/jni/skan/pull/212): Improved error reporting and
tests for prune_paths methods

Bug fixes

- [221](https://github.com/jni/skan/pull/221): Fix documentation builds
- [210](https://github.com/jni/skan/pull/210): Cache skeleton_image shape for
use by the path_label_image method

Documentation

- [231](https://github.com/jni/skan/pull/231): Add 0.12 release notes

Misc

- [232](https://github.com/jni/skan/pull/232): Use python -m build for wheel
and sdist
- [218](https://github.com/jni/skan/pull/218): Fix pyproject.toml metadata
formatting
- [217](https://github.com/jni/skan/pull/217): Migrate from setup.cfg to
pyproject.toml

0.11.0

This release of skan incorporates several bug fixes, new API features, and

0.11.0rc1

0.10.0

0.10.0rc2

0.10.0rc0

This is a major release of skan that changes, removes, or deprecates much
functionality. As skan has grown in popularity, we've been working hard to
clean out the warts and kinks in the API, improve compatibility with libraries
such as dask, and fix several bugs reported by users. This has brought one
major change in how skan computes branch lengths
([135](https://github.com/jni/skan/pull/135)): junctions are now cleaned up by
computing their minimum spanning tree rather than by computing their centroid
(see the [FAQ](https://jni.github.io/skan/faq.html)). This change can be
reverted with a keyword argument in this version (`junction_mode='centroid'`),
but **will be mandatory in upcoming versions**. If you need to preserve the old
results, pin skan to <v0.11.

Thanks to [Genevieve Buckley](https://github.com/GenevieveBuckley), [Marianne
Corvellec](https://github.com/mkcor), [Zoltan
Csati](https://github.com/CsatiZoltan), [Marlene da Vitoria
Lobo](https://github.com/marlenedavitoria), and [Kevin
Yamauchi](https://github.com/kevinyamauchi) for their contributions!

API changes

- [135](https://github.com/jni/skan/pull/135): the `unique_junctions` keyword
argument to the Skeleton class is deprecated. Use instead `junction_mode`.
Note however that this option will be removed in 0.11, so you should pin your
skan dependency if you need this behavior.
- [139](https://github.com/jni/skan/pull/139): the skan GUI and corresponding
skan.gui module and skan command have all been removed. A new, much more
sophisticated napari plugin is in development at
https://github.com/kevinyamauchi/napari-skeleton-curator and will be folded
into a future version of skan (probably v0.11).

Improvements

- skan tests now pass on GitHub Actions on all platforms
([139](https://github.com/jni/skan/pull/139)).
- skan documentation is now built and deployed on GitHub Actions
([140](https://github.com/jni/skan/pull/140)).
- skan releases are created using GitHub Actions
([141](https://github.com/jni/skan/pull/141)).
- the skan code base is now formatted by yapf
([136](https://github.com/jni/skan/pull/136)).
- skan is now easier to adapt for dask arrays (though there is still much work
to be done here) (([107](https://github.com/jni/skan/pull/107),
[112](https://github.com/jni/skan/pull/112) and
[123](https://github.com/jni/skan/pull/123)).

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.