Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# vizarr
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/hms-dbmi/vizarr/master?filepath=example%2Fgetting_started.ipynb)

![Multiscale OME-Zarr in Jupyter Notebook with Vizarr](/screenshot.png)

Expand Down
17 changes: 17 additions & 0 deletions binder/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: vizarr
channels:
- conda-forge
- defaults
dependencies:
- fsspec
- ipywidgets
- jupyter-server-proxy
- numba
- numpy
- requests
- scikit-image
- zarr
- pip:
- imjoy>=0.10.0
- imjoy-jupyter-extension
- imjoy-rpc
7 changes: 7 additions & 0 deletions binder/postBuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
set -eu

npm install
npm run export

pip install ./binder/vizarr-server-proxy
12 changes: 12 additions & 0 deletions binder/vizarr-server-proxy/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import setuptools

setuptools.setup(
name="jupyter-vizarr-server",
py_modules=['vizarr_server_proxy'],
entry_points={
'jupyter_serverproxy_servers': [
'vizarr = vizarr_server_proxy:setup_vizarr',
]
},
install_requires=['jupyter-server-proxy'],
)
6 changes: 6 additions & 0 deletions binder/vizarr-server-proxy/vizarr_server_proxy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
def setup_vizarr():
return {
'command': [
'python', '-m', 'http.server', '--directory', 'out/', '{port}',
]
}
9 changes: 8 additions & 1 deletion example/imjoy_plugin.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from imjoy import api
from os import getenv
import zarr


Expand Down Expand Up @@ -43,8 +44,14 @@ async def setup(self):
pass

async def run(self, ctx):
# If we're running on Binder vizarr should be built locally and served
# by jupyter-server-proxy under PREFIX/vizarr/
if getenv("BINDER_REPO_URL"):
vizarr_src = f"{getenv('JUPYTERHUB_SERVICE_PREFIX')}vizarr"
else:
vizarr_src = "https://hms-dbmi.github.io/vizarr"
viewer = await api.createWindow(
type="viv-plugin", src="https://hms-dbmi.github.io/vizarr"
type="viv-plugin", src=vizarr_src
)
if self.view_state:
await viewer.set_view_state(self.view_state)
Expand Down
2 changes: 1 addition & 1 deletion next.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const path = require('path');

module.exports = {
assetPrefix: process.env.GITHUB_JOB === 'build-and-deploy' ? '/vizarr/' : '',
assetPrefix: process.env.GITHUB_JOB === 'build-and-deploy' ? '/vizarr/' : './',
webpack: config => {
config.resolve.alias['@hms-dbmi/viv'] = path.resolve(
__dirname, './node_modules/@hubmap/vitessce-image-viewer/dist/bundle.es.js'
Expand Down