Giter Club home page Giter Club logo

scalableminds / vizarr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hms-dbmi/vizarr

0.0 1.0 0.0 14.72 MB

A minimal, purely client-side program for viewing Zarr-based images with Viv & ImJoy.

Home Page: https://hms-dbmi.github.io/vizarr/?source=https://minio-dev.openmicroscopy.org/idr/v0.3/idr0062-blin-nuclearsegmentation/6001240.zarr

License: MIT License

JavaScript 0.75% Python 2.48% TypeScript 70.13% HTML 1.48% Jupyter Notebook 25.15%

vizarr's Introduction

Vizarr

Binder launch ImJoy Open In Colab

Multiscale OME-Zarr in Jupyter Notebook with Vizarr

Vizarr is a minimal, purely client-side program for viewing Zarr-based images. It is built with Viv and exposes a Python API using the imjoy-rpc, allowing users to programatically view multiplex and multiscale images from within a Jupyter Notebook. The ImJoy plugin registers a codec for Python zarr.Array and zarr.Group objects, enabling Viv to securely request chunks lazily via Zarr.js. This means that other valid zarr-python stores can be viewed remotely with Viv, enabling flexible workflows when working with large datasets.

Remote image registration workflow

We created Vizarr to enhance interactive multimodal image alignment using the wsireg library. We describe a rapid workflow where comparison of registration methods as well as visual verification of alignnment can be assessed remotely, leveraging high-performance computational resources for rapid image processing and Viv for interactive web-based visualization in a laptop computer. The Jupyter Notebook containing the workflow described in the manuscript can be found in multimodal_registration_vizarr.ipynb. For more information, please read our preprint doi:10.31219/osf.io/wd2gu.

Note: The data required to run this notebook is too large to include in this repository and can be made avaiable upon request.

Data types

Vizarr supports viewing 2D slices of n-Dimensional Zarr arrays, allowing users to choose a single channel or blended composites of multiple channels during analysis. It has special support for the developing OME-Zarr format for multiscale and multimodal images. Currently Viv supports i1, i2, i4, u1, u2, u4, and f4 arrays, but contributions are welcome to support more np.dtypes!

Getting started

The easiest way to get started with vizarr is to clone this repository and open one of the example Jupyter Notebooks.

Limitations

vizarr was built to support the registration use case above where multiple, pyramidal OME-Zarr images are viewed within a Jupyter Notebook. Support for other Zarr arrays is supported but not as well tested. More information regarding the viewing of generic Zarr arrays can be found in the example notebooks.

Citation

If you are using Vizarr in your research, please cite our paper:

Trevor Manz, Ilan Gold, Nathan Heath Patterson, Chuck McCallum, Mark S Keller, Bruce W Herr II, Katy Börner, Jeffrey M Spraggins, Nils Gehlenborg, "Viv: multiscale visualization of high-resolution multiplexed bioimaging data on the web." Nature Methods (2022), doi:10.31219/10.1038/s41592-022-01482-7

vizarr's People

Contributors

manzt avatar will-moore avatar oeway avatar ngehlenborg avatar habi avatar dependabot[bot] avatar manics avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.