Skip to content

Release Notes: v0.7.1 - 06/27/24

Compare
Choose a tag to compare
@github-actions github-actions released this 27 Jun 20:36
· 7 commits to refs/heads/main since this release
301e344

You may download the latest release with:

git clone -b v0.7.1 https://github.com/angelolab/ark-analysis.git

What's new?

Pixie updates

In certain datasets, it is impossible to assign all unique SOM clusters. This was previously prohibitive because error checks required all unique SOM clusters to have at least 1 pixel/cell assigned to it. With this update, this is no longer the case, and users may continue in spite of this.

To prevent users from generating duplicate cluster_id columns by accidentally running the mask generation function multiple times, a safeguard has been added.

An ongoing issue with visualizing unordered cluster IDs using the existing plotting functions has been resolved. Regardless of the spacing and ordering of the IDs internally, they are mapped to the correct color in the overlays.

Update the Mantis directory conversion process to turn off erosion and use an updated cluster_id column to generate correct and clearer overlays.

Lab members often have multiple resolutions of clustering analysis that need to be resolved. The post clustering notebook has been updated to allow users to define new cluster groups based on user-set mappings.

Spatial Analysis Updates

Our repo is gradually transitioning our internal single-cell data representation format to AnnData. We need a way to convert our existing format to be scverse compatible. The AnnData conversion notebook is the first step of this large-scale conversion process.

Prevent incorrect ordering of kmeans clusters by adding control params.

Correct a bug in fiber segmentation that causes metric averages for a fiber to be the same at the first metric value.

ezSegmenter Updates

merge_masks.py took a while to run on very long datasets with thousands of FOVs. This has been optimized by only merging cells that are in the areas surrounding objects.

Due to requests from lab members, we've added a generalized masking script to create masks from single or composite channel tiffs. This is implemented using the channel masking function from the TNBC repo.

Update image loading process to use np.int32 for compatibility of composite array addition and subtraction.

With the addition of various types of masks, it's important for the cell table generation notebook to differentiate only _whole_cell.tiff and _nuclear.tiff files if desired. Support for this has been added. Also prevents FOVs with duplicate substrings from breaking the cell table generation process by requiring specific names.

Optimize the generation of nuclear masks to prevent repetitive computation.

Deployment + Environment Updates

Our deployment stack requires enhanced security protocols, including OIDC and 2FA. These have been updated to allow for future releases.

Downgraded Python to 3.10 while waiting for scikit-image support for 3.11.


🚀 Features

🐛 Bug Fixes

🧰 Maintenance

@alex-l-kong, @bryjcannon, @camisowers and @srivarra