TissueTag: Jupyter Image Annotator
TissueTag consists of two major components:
-
Jupyter-based image annotation tool:Utilising the Bokeh Python library (http://www.bokeh.pydata.org) empowered by Datashader (https://datashader.org/index.html) and holoviews (https://holoviews.org/index.html) for pyramidal image rendering. This tool offers a streamlined annotation solution with subpixel resolution for quick interactive annotation of various image types (e.g., brightfield, fluorescence). TissueTag produces labelled images* (e.g., cortex, medulla) and logs all tissue labels, and annotation resolution and colours for reproducibility.
-
Mapping annotations to data: This components converts the pixel based annotations to an hexagonal grid to allow calculation of distances between morphological structures offering continuous annotation. This calculation is dependent of the grid sampling frequency and the number of grid spots that we define as a spatial neighborhood. This is foundational for calculating a morphological axis (OrganAxis, see tutorials).
Note: A labeled image is an integer array where each pixel value (0,1,2,...) corresponds to an annotated structure.
Annotator: Enables interactive annotation of predefined anatomical objects via convex shape filling while toggling between reference and annotation image.
We envision this tool as a starting point, so contributions and suggestions are highly appreciated!
Installation
- You need to install either jupyter-lab or jupyter-notebook
- Install TissueTag using pip:
pip install tissue-tag
How to use
We supply two examples of usage for TissueTag annotations:
-
visium spatial transcriptomics -
in this example we annotate a postnatal thymus dataset by calling the major anatomical regions in multiple ways (based on marker gene expression or sparse manual annotations) then training a random forest pixel classifier for initial prediction followed by manual corrections visium annotation tutorial and migration of the annotations back to the visium anndata object mapping annotations to visium. We also show how to calculate a morphological axis (OrganAxis) in 2 ways. -
IBEX single cell multiplex protein imaging - in this example we annotate a postnatal thymus image by calling the major anatomical regions and training a random forest classifier for initial prediction followed by manual corrections IBEX annotation tutorial. Next, we show how one can migrate these annotations to segmented cells and calulcate a morphological axis (OrganAxis) IBEX mapping annotations tutorial.
Usage on a cluster vs local machine
Bokeh interactive plotting required communication between the notebook instance and the browser. We have tested the functionality of TissueTag with jupyter lab or jupyter notebooks but have not yet found a solution that works for jupyter hub. In addition SSH tunnelling is not supported as well but if you are accessing the notebook from outside your institute, VPN access should work fine.
How to cite:
please cite the following preprint - https://www.biorxiv.org/content/10.1101/2023.10.25.562925v1
Metadata
Release files for tissue-tag 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tissue_tag-0.2.2.tar.gz | 22.6 kB | Without provenance | Details for tissue_tag-0.2.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tissue_tag-0.2.2-py3-none-any.whl | Python 3 | none | any | Details for tissue_tag-0.2.2-py3-none-any.whl |
Total release size: 43.7 kB
Release files / tissue_tag-0.2.2.tar.gz
| Download URL | tissue_tag-0.2.2.tar.gz |
|---|---|
| Size | 22.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f859bf5b6b6b3f9cbf6de18d6da1f612213b27fa6122f32f9ff73aed0a9e5665
|
|
BLAKE2b-256 checksum How to use checksums |
1757caf1664159fabd911c573cde397b5b2ced7ea23c6bda4e9e294629bb4e2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / tissue_tag-0.2.2-py3-none-any.whl
| Download URL | tissue_tag-0.2.2-py3-none-any.whl |
|---|---|
| Size | 21.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a3d5350d652cea754d79083599aa6119792e6fa0aadeaa1f4c641e032d1f3b54
|
|
BLAKE2b-256 checksum How to use checksums |
584f13a1ea296f3dc4c92e10618525e73ac86e3ce19ff8711bc700ea1f079e6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Security for tissue-tag 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.