Skip to main content

xOpat Deployment

To deploy xOpat, we need to configure it statically,

  1. Clone repository and install development dependencies: git clone https://github.com/RationAI/xopat.git cd xopat npm install

  2. Create env.json in env directory (can be also created - but unpersonalised - by using grunt env):

    note

    This env.json file is suitable for WSI-Server. If you have your own image server you need to configure your own.

    env.json
    {
    "core": {
    // This configuration file supports JSON with comments
    "gateway": "/",
    // Active configuration key from 'client'
    "active_client": "localhost",
    "client": {
    "localhost": {
    // Viewer url, so that it is accessible at domain+path url
    "domain": "http://localhost:8000",
    "path": "/",
    // Named slide-protocol registry. Each entry is a backtick template
    // resolving a scalar DataID to a tile-source URL; the server URL is
    // embedded directly in the template. The `default_*_protocol` keys
    // pick which entry is used by default for background / visualization
    // slides. Protocols can also be added at runtime by plugins via
    // `window.SLIDE_PROTOCOLS.register(...)` — e.g. the dicom plugin
    // registers a "dicom" factory protocol that builds a DICOMWebTileSource.
    "slide_protocols": {
    "wsi_service": "`http://localhost:8080/v3/slides/info?slide_id=${data}`"
    },
    "default_background_protocol": "wsi_service",
    "default_visualization_protocol": "wsi_service",
    "headers": {},
    "js_cookie_expire": 365,
    "js_cookie_path": "/",
    "js_cookie_same_site": "",
    "js_cookie_secure": "",
    "secureMode": false
    }
    },
    // Setup can configure much more default parameters for the viewer
    "setup": {
    "locale": "en",
    "theme": "auto"
    }
    },
    // We do not re-define any plugin configuration
    "plugins": {},
    // We force-load module for communication with WSI-Service
    "modules": {
    "rationai-wsi-tile-source": { // the module id
    "permaLoad": true // the built-in parameter for force-loading
    }
    }
    }
  3. run server node: npm run s-node

Now you should see xOpat running. However, to open the viewer, you must tell it what data is to be viewed in a what way, and possibly also other things (active plugins and their configuration, etc.).

Accessing WSIs

The simples way of opening a slide is through URL parameters.

  1. Go to image server deployment and inspect "cases" to the url: http://localhost:8080/v3/cases
  2. Fetch desired case ID and use it to get its slides: http://localhost:8080/v3/cases/slides?case_id=*CASE_ID
  3. Find desired slide ID and add it to the xOpat deployment url: http://localhost:9000/?slides=*SLIDE_ID*

Now you should have working xOpat instance.