Skip to content

Releases: jni/skan

refs/tags/v0.11.0

17 Feb 07:49
07b3c67
Compare
Choose a tag to compare

skan v0.11.0

This release of skan incorporates several bug fixes, new API features, and
documentation improvements. It also finalizes an API change started in 0.10.0:
now junction points are always resolved using a minimum spanning tree, and the
uniquify_junctions and junction_mode arguments to Skeleton are
deprecated (see our FAQ). Finally, this is the first release
containing a napari plugin!
Currently all it does is skeletonize a Labels layer, but this is just the
beginning for GUI-based skeleton analysis.

Thanks to everyone who has helped make this release possible, including
Kushaan Gupta, Lucy
Liu
, Ryan Ly,
James Ryan, and
Simon Savary! Not to speak of all the
contributors who make our upstream libraries possible! 🙏

API changes

  • #143: the unique_junctions and
    junction_mode keyword arguments are removed. Junctions are always resolved
    by finding the minimum spanning tree of the junction pixels. This PR also
    speeds up building of the pixel graph.

New features

  • #150,
    #164: add Sholl analysis. (Thanks to
    Kushaan Gupta for the collaboration that
    led to this feature!)
  • #184: add napari plugin.

Bug fixes

  • #152: Some pixel graphs had missing
    paths in their skeletons because of a mistake in how the graphs were
    traversed. Thanks Simon Savary for the detailed
    report that led to the fix! (#147)
  • #193,
    #183: fix the calculation of the
    buffer size needed for the pixel path graph in the presence of 0-degree
    nodes (isolated pixels).
  • #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: 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).

Documentation

  • #155,
    #156,
    #159: Add documentation on 3D display
    of skeletons in napari.
  • #173,
    #175,
    #177: support multiple versions of
    documentation. (!) (This series of PRs in particular is close to my heart
    because deprecations and API changes like those listed above are much more
    painful if the old versions are just erased! Thanks to Lucy
    Liu
    for her efforts and expertise here!)
  • #194,
    #195: overhaul of documentation and
    build infrastructure.

Misc

v0.11.0rc1: This release of skan incorporates several bug fixes, new API features…

31 Jan 03:36
550626e
Compare
Choose a tag to compare
…, and

documentation improvements. It also finalizes an API change started in 0.10.0:
now junction points are always resolved using a minimum spanning tree, and the
`uniquify_junctions` and `junction_mode` arguments to `Skeleton` are
deprecated (see our [FAQ](../faq)). Finally, this is the first release
containing a [napari plugin](https://napari.org/stable/plugins/index.html)!
Currently all it does is skeletonize a Labels layer, but this is just the
beginning for GUI-based skeleton analysis.

Thanks to everyone who has helped make this release possible, including
[Kushaan Gupta](https://github.com/kushaangupta), [Lucy
Liu](https://github.com/lucyleeow), [Ryan Ly](https://github.com/rly),
[James Ryan](https://github.com/jamesyan-git), and
[Simon Savary](https://github.com/ssavary)! Not to speak of all the
contributors who make our upstream libraries possible! 🙏

- [#143](https://github.com/jni/skan/pull/143): the `unique_junctions` and
  `junction_mode` keyword arguments are removed. Junctions are always resolved
  by finding the minimum spanning tree of the junction pixels. This PR also
  speeds up building of the pixel graph.

- [#150](https://github.com/jni/skan/pull/150),
  [#164](https://github.com/jni/skan/pull/164): add Sholl analysis. (Thanks to
  [Kushaan Gupta](https://github.com/kushaangupta) for the collaboration that
  led to this feature!)
- [#184](https://github.com/jni/skan/pull/184): add napari plugin.

- [#152](https://github.com/jni/skan/pull/152): Some pixel graphs had missing
  paths in their skeletons because of a mistake in how the graphs were
  traversed. Thanks [Simon Savary](https://github.com/ssavary) for the detailed
  report that led to the fix! ([#147](https://github.com/jni/skan/issues/147))
- [#193](https://github.com/jni/skan/pull/193),
  [#183](https://github.com/jni/skan/pull/183): fix the calculation of the
  buffer size needed for the pixel path graph in the presence of 0-degree
  nodes (isolated pixels).
- [#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).

- [#155](https://github.com/jni/skan/pull/155),
  [#156](https://github.com/jni/skan/pull/156),
  [#159](https://github.com/jni/skan/pull/159): Add documentation on 3D display
  of skeletons in napari.
- [#173](https://github.com/jni/skan/pull/173),
  [#175](https://github.com/jni/skan/pull/),
  [#177](https://github.com/jni/skan/pull/177): support multiple versions of
  documentation. (!) (This series of PRs in particular is close to my heart
  because deprecations and API changes like those listed above are much more
  painful if the old versions are just *erased*! Thanks to [Lucy
  Liu](https://github.com/lucyleeow) for her efforts and expertise here!)
- [#194](https://github.com/jni/skan/pull/194),
  [#195](https://github.com/jni/skan/pull/195): overhaul of documentation and
  build infrastructure.

- [#167](https://github.com/jni/skan/pull/167): drop Python 3.7 support.
- [#188](https://github.com/jni/skan/pull/188),
  [#189](https://github.com/jni/skan/pull/189),
  [#190](https://github.com/jni/skan/pull/190): update requirements.

v0.10.0

24 Nov 12:51
Compare
Choose a tag to compare

skan v0.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): junctions are now cleaned up by
computing their minimum spanning tree rather than by computing their centroid
(see the FAQ). 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, Marianne
Corvellec
, Zoltan
Csati
, Marlene da Vitoria
Lobo
, and Kevin
Yamauchi
for their contributions!

API changes

  • #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: 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).
  • skan documentation is now built and deployed on GitHub Actions
    (#140).
  • skan releases are created using GitHub Actions
    (#141).
  • the skan code base is now formatted by yapf
    (#136).
  • skan is now easier to adapt for dask arrays (though there is still much work
    to be done here) ((#107,
    #112 and
    #123).

v0.10.0rc2

21 Nov 09:40
Compare
Choose a tag to compare
v0.10.0rc2 Pre-release
Pre-release

skan v0.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): junctions are now cleaned up by
computing their minimum spanning tree rather than by computing their centroid
(see the FAQ). 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, Marianne
Corvellec
, Zoltan
Csati
, Marlene da Vitoria
Lobo
, and Kevin
Yamauchi
for their contributions!

API changes

  • #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: 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).
  • skan documentation is now built and deployed on GitHub Actions
    (#140).
  • skan releases are created using GitHub Actions
    (#141).
  • the skan code base is now formatted by yapf
    (#136).
  • skan is now easier to adapt for dask arrays (though there is still much work
    to be done here) ((#107,
    #112 and
    #123).