Kitware / itk-vtk-viewer

2D / 3D web image, mesh, and point set viewer using itk-wasm and vtk.js
https://kitware.github.io/itk-vtk-viewer/
BSD 3-Clause "New" or "Revised" License
210 stars 64 forks source link

feat(ImJoy): Add plugin interface #340

Closed thewtex closed 4 years ago

oeway commented 4 years ago

BTW, we can also use the ImJoy badges somewhere, see here: https://imjoy.io/docs/#/development?id=add-an-imjoy-badge

thewtex commented 4 years ago

BTW, we can also use the ImJoy badges somewhere, see here: https://imjoy.io/docs/#/development?id=add-an-imjoy-badge

:star2: :rocket: added to the doc page, doc index page, and README.

thewtex commented 4 years ago

@oeway your review would be appreciated!

Starting with setImage for the API, since it is implemented, serves current needs, and it should not change.

thewtex commented 4 years ago

Looks great!

I added some suggestion for the docs to clarify some additional options and add basic examples. It would be also great if we can add for executable examples, e.g. binder, colab notebooks (like your itkwidgets notebooks), but that can be addressed in a following PR. Furthermore, we can think about how to best support other data types (xarray, ome-zarr etc) with optional compression.

:+1: thanks for the review, Wei! The itkwidgets binder, colab notebooks, xarray, ome-zarr support are coming next :fire: :-)

thewtex commented 4 years ago

:tada: This PR is included in version 10.8.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

oeway commented 4 years ago

Congrats! Also thanks for adding me to the author list.

Looks great!

It also works in ImageJ.JS (ImageJ compiled into JS plus ImJoy integration, a project I started recently): https://ij.imjoy.io/?plugin=https://kitware.github.io/itk-vtk-viewer/app/

BTW, I am thinking about introducing plugin service discovery scheme for applications such as imagej.js. E.g. if we register a image-visualization service from itk-vtk-viewer to the imjoy-core, plugins such as ImageJ.JS can then get all the imjoy plugins that supports image-visualization, and render them (including itk-vtk-viewer) in its plugin menu. Once clicked, ImageJ.JS converts ImagePlus object into a itkImage and visualize the image with ImJoy plugins such as itk-vtk-viewer. How does that sounds to you?

thewtex commented 3 years ago

BTW, I am thinking about introducing plugin service discovery scheme for applications such as imagej.js. E.g. if we register a image-visualization service from itk-vtk-viewer to the imjoy-core, plugins such as ImageJ.JS can then get all the imjoy plugins that supports image-visualization, and render them (including itk-vtk-viewer) in its plugin menu. Once clicked, ImageJ.JS converts ImagePlus object into a itkImage and visualize the image with ImJoy plugins such as itk-vtk-viewer. How does that sounds to you?

Sounds awesome!~! :rocket: :exploding_head: