A web based, NO-API oriented WSI Viewer with enhanced rendering of high resolution images overlaid, fully modular and customizable.
Configure the viewer to your needs, not vice versa! Here, you can take a half-ready solution and bring it to something that covers all your needs. With the focus on flexibility, extensibility and modularity, the xOpat viewer tries to address issues in digital pathology related to AI adoption.
To parse existing modules, plugins, read POST data the viewer uses a server. Don't worry, we try to cover it all!
Please do not hesitate to reach us. We have yet to work in documentation & deployment simplification.
First, install development dependencies. You need node
and npm
. Then just run npm install
.
Although very versatile, setting up the viewer correctly requires xOpat configuration & web development knowledge.
To configure the viewer for deployment, run grunt env
and provide env/env.json
file with the desired configuration.
For more, see env/README.md
.
PHP server has available docker image. Node server can be run e.g. locally via
npm run node
. However, to really open the viewer with a meaningful data and visualization, you need to provide the data, configure a WSI server and open the viewer session. To simplify all of this, we work on example deployment docker compose we will soon publish. To test the session manually, you can useviewer.url/dev_setup
.
xOpat itself is not based on any framework, it is pure JavaScript application that integrates
various libraries. That is true for the running deployed application.
However, testing and documentation uses npm
, grunt
and cypress
.
The build and test framework is still in development - for now, the viewer can be used AS-IS just add the OSD library and run from a PHP server.
To minify (build) the viewer, you can run
grunt all
and for plugins only
grunt plugins
or modules only
grunt modules
This will create index.min.js
files in respective directories. The viewer core recognizes
existence of these files and loads them instead of all the source scripts.
For more details on components, see README files in respective directories.
For details on integration, see INTEGRATION.md
.
For documentation, you can run npm install && grunt docs && grunt connect watch
and open localhost:9000/