Skip to content

labsyspharm/visinity

Repository files navigation

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

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
  • Install miniconda or conda.
  • Create env: conda env create -f requirements.yml
Activate Environment
  • Active environment: conda activate visinity
Start the Server
  • python run.py - Runs the webserver
Start the Server
  • Access the tool via http://localhost:8000/

Node.js installation and packages

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

  • Install Node.js, then navigate to /minerva_analysis/client and run npm install to install all packages listed in package.json.
  • Run npm run start to package the Javascript, or run npm run watch if you plan on editing dependencies

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors