labsyspharm / visinity

MIT License
15 stars 4 forks source link

Visinity

Visinity: Visual Spatial Neighborhood Analysis for Multiplexed Tissue Imaging Data

Simon Warchol, Robert Krueger, Ajit Johnson Nirmal, Giorgio Gaglia, Jared Jessup, Cecily C. Ritch, John Hoffer, Jeremy Muhlich, Megan L. Burger, Tyler Jacks, Sandro Santagata, Peter K. Sorger, Hanspeter Pfister (* Indicates equal contribution)

Published in IEEE Transactions on Visualization and Computer Graphics and presented at IEEE Vis 2022: 10.1109/TVCG.2022.3209378

Pre-print 10.1109/TVCG.2022.3209378

Visinity is part of the Minerva Analysis suite of tools from the Lab of Systems Pharmacology at Harvard Medical School and the Visual Computing Group at Harvard SEAS.

About

This is an openseadragon based Cellular Image Viewing and Analysis Tool. It is built with a python Flask backend and a Node.js javascript frontend.

InterfaceTeaserFinal

Visinity interface. a) Image viewer: multiplex whole-slide tissue images highlighting spatial cell arrangement. b) Cohort view: search, apply, compare spatial patterns across different specimens. c) Neighborhood composition view: visualizes cell types that make up cell neighborhoods; d) UMAP embedding view: encodes cells with similar neighborhood as dots close to each other; e) Correlation matrix: pairwise interactions between cells; f) Comparison \& summary view: different small multiple encodings of extracted patterns. g) Neighborhood search: finds cells with similar neighborhood; h) Interactive clustering: automated detection of neighborhood patterns; i) Annotation panel: save and name patterns; j) Channel selection: color and combine image channels.

Example Dataset

https://www.synapse.org/#!Synapse:syn30919374/wiki/617796

Import

Import requires an image,segmentation mask, single cell quantification, and cell types. See example dataset.

Importing cohort data requires pressing the add linked dataset button and importing all specimens at once image

Match CSV columns with channels in the image via the GUI.

For more info about the specific features of the system and their use, see the pre-print.

Executables (for Users)

Releases can be found here: https://github.com/labsyspharm/Visinity/releases These are executables for Windows and MacOS that can be run locally without any installations.

Developer Instructions

Checkout Project

git clone https://github.com/labsyspharm/visinity.git

Conda Install Instructions.

Install Conda

Node.js installation and packages

This step is only needed when you plan to edit js code. The codebase already included bundled js files.

Packaging/Bundling Code as Executable (for Developers)

Any tagged commit to a branch will trigger a build, where tag == commit message. This will appear under releases. Note building may take ~10 min.

Tagging Conventions: All release tags should look like v{version_number}_{branch_name}.

Debugging

npm ssh errors from viawebgl can be solved w/ npm cache clear --force && npm install --no-shrinkwrap --update-binary