Skip to content

Releases: spacetx/starfish

0.4.0

27 Jan 13:59
d9a305f

Choose a tag to compare

Announcing release 0.4.0 of starfish!

starfish is a Python library for processing images of image-based spatial transcriptomics. It lets you build scalable pipelines that localize and quantify RNA transcripts in image data generated by any FISH method, from simple RNA single-molecule FISH to combinatorial barcoded assays.

For more information, examples and documentation, see https://spacetx-starfish.readthedocs.io/en/latest/.

Highlights

This is a small release focusing on adding support for Python 3.13 and dropping support for Python 3.9 (due to security issues of some dependencies).

What's Changed

Full Changelog: 0.3.4...0.4.0

0.3.4

25 Nov 08:56
36632c5

Choose a tag to compare

Happy to announce release 0.3.4 of starfish!

starfish is a Python library for processing images of image-based spatial transcriptomics. It lets you build scalable pipelines that localize and quantify RNA transcripts in image data generated by any FISH method, from simple RNA single-molecule FISH to combinatorial barcoded assays.

For more information, examples and documentation, see https://spacetx-starfish.readthedocs.io/en/latest/.

Highlights

A few new features and lots of bugfixes (mostly related to keeping dependencies up-to-date).

One noticeable change - for consistency in blob detection results we now treat data presented as (y, x) or (1, y, x) the same, while scikit-image treats the later as 3d which yields slightly different results.

Important notice, this will be the last release to support python 3.9. If you are still using python 3.9, it is time to move to the latest supported version (3.12) for the latest enhancements and the longest support.

New Features

  • Add aligned group info to ImageStack repr and warn when get_image returns first of multiple groups by @Copilot in #2111
  • Add jupyter extras_require for single-command installation with napari by @Copilot in #2156
  • Add ImageStack.from_xarray() constructor for memory-efficient round processing by @Copilot in #2155

Bug Fixes

  • Upgrading dependency Matplotlib 3.8+ by @shachafl in #2074
  • Migrate from deprecated RefResolver to new referencing library for jsonschema 4.18+ by @Copilot in #2090
  • Fix xarray compatibility issues to support versions 2023.9+ by @Copilot in #2096
  • Fix DeprecationWarning: Replace deprecated magic() with run_line_magic() by @Copilot in #2104
  • Replace deprecated pkg_resources with importlib alternatives by @Copilot in #2102
  • fix: numpy 2 support and update pinned dependencies by @shachafl in #2103
  • fix: replace ipython.run_line_magic(matplotlib,inline) with if-else for Jupyter vs. Ipython usage by @shachafl in #2151
  • Replace unmaintained showit dependency with matplotlib by @Copilot in #2135
  • fix: remove _repr_html function from imagestack by @shachafl in #2163
  • Fix BlobDetector coordinate extraction and ensure consistent results across dimensionalities by @Copilot in #2154

Documentation

CI Improvements

  • fix: changing pip install flag from -c to -r due to dependabot relative path error by @shachafl in #2078
  • Explicitly adding read permission to GitHub Actions workflow by @shachafl in #2094
  • move docs generation run to a separate job by @shachafl in #2098
  • Add CodeQL analysis workflow configuration by @shachafl in #2106
  • ✨ Add GitHub Copilot instructions for the repository by @Copilot in #2093
  • Configure Dependabot to automatically upgrade dependencies monthly by @Copilot in #2099
  • Add GitHub Copilot coding agent environment setup configuration by @Copilot in #2108
  • fix: add .python-version file to force dependabot to use Python 3.9 for pip updates by @shachafl in #2133
  • Remove redundant location for dependency update and group patch updates by @shachafl in #2146
  • set ubuntu version to use latest in readthedocs.yml by @shachafl in #2158

Full Changelog: 0.3.3...0.3.4

0.3.3

13 May 02:02
988a92f

Choose a tag to compare

What's Changed

  • removing mistune package from REQUIREMENTS.txt and minor requirements files updates by @shachafl in #2054
  • Clear outputs of SeqFISH notebook and bug fix on SeqFISH.py by @shachafl in #2059
  • fix: blob.py 2d intensities shape and pd.concat instead of append by @shachafl in #2064
  • updating REQUIREMENTS-JUPYTER.txt to resolve h11 dependency vulnerability by @shachafl in #2066
  • Add normalization argument to LearnTransform.Translation with default value None by @iimog in #2063
  • updating output of registration example for RTD with Normalization=None instead of "phase" by @shachafl in #2071
  • add MacOS to Github actions workflow by @shachafl in #2068

Full Changelog: 0.3.2...0.3.3

0.3.2

24 Feb 02:48
b9787aa

Choose a tag to compare

What's Changed

  • Replace scipy.ndimage.filters with scipy.ndimage for scipy v2 support by @shachafl in #2035
  • Create dependabot.yml to auto update Github Action versions by @shachafl in #2039
  • Missing pypi description fix by adding pyproject.toml by @shachafl in #2047
  • Scikit image update from 0.21 to 0.23+ by @shachafl in #2049
  • rolling back to Sphinx v5 as v6-8 introduce issues on ReadTheDocs by @shachafl in #2050

Full Changelog: 0.3.1...0.3.2

0.3.1

14 Nov 19:34
233b013

Choose a tag to compare

What's Changed

Full Changelog: 0.3.0...0.3.1

0.3.0

13 Oct 01:40

Choose a tag to compare

What's Changed

  • Update Starfish CI and dependencies by @njmei in #1963
  • Update TransformsList class with to_dict() and from_dict() methods by @njmei in #1956
  • Fix coords assignment in CombineAdjustFeatures.run by @sgratiy in #1965
  • Revert "Fix coords assignment in CombineAdjustFeatures.run" by @berl in #1966
  • Revert "Revert "Fix coords assignment in CombineAdjustFeatures.run"" by @berl in #1967
  • Updated seqFISH Decoding Method: CheckAll Decoder by @nickeener in #1978
  • Various Small Fixes/Improvements by @nickeener in #1985
  • Add min_distance parameter to peak_local_max call by @iimog in #2008
  • Scripts and dependencies updates for Python 3.8 - 3.10 by @shachafl in #2009
  • Update readthedocs.yml by @berl in #2014
  • Dropping support for Python 3.8 and setting Python 3.9 as minimum by @shachafl in #2018

New Contributors

Full Changelog: 0.2.2...0.3.0

Release 0.2.2

03 May 19:15

Choose a tag to compare

  • Updates requirements
  • Updates to documentation
  • Import match_histograms from skimage.exposure
  • Add necessary coords for IntensityTable when using Nearest Neighbors strategy (#1928)
  • Fix localmaxpeakfinder spot_props filter (#1839)

Release 0.2.1

18 Jun 02:42

Choose a tag to compare

  • Bump napari to 0.3.4 (#1889)
  • fix how spot_ids are handled by build_traces_sequential and Label._assign() (#1872)
  • reorganized examples gallery and made clarifications to example pipelines and formatting (#1880)
  • added image registration tutorial (#1874)
  • Add assigning spots to cells docs (#1832)
  • Add a Quick Start tutorial (#1869)
  • Update starfish installation guide for JOSS submission (#1868)
  • Add image segmentation docs (#1821)
  • Changing return value of PixelDecoding to DecodedIntensityTable (#1823)
  • Ensure that LocalMaxPeakFinder works in 3D (#1822)
  • Deprecate is_volume parameter with trackpy (#1820)
  • Fix on-demand calculation of BinaryMaskCollection's regionprops (#1819)
  • Remove workaround for non-3D images (#1808)
  • improve from_code_array validation (#1806)
  • Add group_by for tilefetcher-based ImageStack construction (#1796)

Release 0.2.0

31 Jan 23:19
2b4eda8

Choose a tag to compare

[0.2.0] - 2020-01-31

  • Add level_method to the clip filters. (#1758)
  • adding method to use installed ilastik instance (#1740)
  • Create a TileFetcher-based constructor for ImageStack (#1737)
  • adding mouse v human example to starfish.data (#1741)
  • adding method to binary mask collection that imports labeled images from external sources like ilastik (#1731)
  • Remove starfish.types.Clip (#1729)
  • Move watershed segmentation from morphology.Binarize to morphology.Segment (#1720)
  • Link to the available datasets in "loading data" section (#1722)
  • Document workaround for python3.8 (#1705)
  • Wrap skimage's watershed (#1700)
  • Add 3D support to target assignment. (#1699)
  • Pipeline component and implementation for merging BinaryMaskCollections (#1692)
  • Mechanism to reduce multiple masks into one (#1684)

Release 0.1.10

13 Dec 19:17
3b13184

Choose a tag to compare

[0.1.10] - 2019-12-13

  • Bump slicedimage to 4.1.1 (#1697)
  • Make map/reduce APIs more intuitive (#1686)
  • updates roadmap to reflect 2020H1 plans
  • adding aws scaling vignette (#1638)
  • Use thresholded binarize and mask filtering in existing watershed code. (#1671)
  • adding spot ids to pixel results (#1687)
  • Implement Labeling algorithms (#1680)
  • Thresholded binarize conversion algorithm (#1651)
  • Area filter for binary masks (#1673)
  • Fix stain generation in watershed (#1670)
  • Use the new levels module. (#1669)
  • Linear image leveling (#1666)
  • add axis labels to display() (#1682)
  • Clip method for Richardson Lucy (#1668)
  • Filters for mask collections (#1659)
  • Provide an apply method to binary mask collections. (#1655)
  • adding convience method for slicing codebook data (#1626)
  • Fix display tests and code (#1664)
  • Additional builders for BinaryMaskCollection (#1637)
  • Methods for uncropping binary masks. (#1647)
  • Improve coordinate handling code for BinaryMaskCollection and LabelImage (#1632)