Skip to main content
Version: 3.10.0-beta.101 (Latest)

Static DICOMweb Files for Enhanced Performance

This section describes how to generate and serve static DICOMweb files, significantly improving the performance of your OHIF Viewer setup. These files are pre-processed and compressed, minimizing storage space and reducing serving time to the bare minimum (disk read and HTTP stream write).

Static-DICOMWeb Project​

The core tool for this process is the static-wado project, available on GitHub:

This project contains two main components:

  • static-wado-creator: Converts raw DICOM files into a DICOMweb-compliant directory structure, optimizing them for efficient serving.
  • static-wado-webserver: A simple web server specifically designed to serve the generated static DICOMweb files.

Prerequisites​

  • Node.js and npm (or yarn) installed on your system.

Installation​

  1. Clone the Repository:

    git clone https://github.com/RadicalImaging/Static-DICOMWeb
    cd Static-DICOMWeb
  2. Install Dependencies:

    yarn install

Generating Static DICOMweb Files​

  1. Prepare your DICOM data: Organize your DICOM files into a directory. For example /Users/alireza/dicom/test-static-script/ACRIN-CT.

  2. Convert to DICOMweb Structure: Use the mkdicomweb.js script from the static-wado-creator package to create the DICOMweb directory:

    node packages/static-wado-creator/bin/mkdicomweb.js '/Users/alireza/dicom/test-static-script/ACRIN-CT' -o '/Users/alireza/dicom/test-static-script/output'
    • Replace:
      • /Users/alireza/dicom/test-static-script/ACRIN-CT with the path to your directory of DICOM files.
      • /Users/alireza/dicom/test-static-script/output with your desired output directory for the DICOMweb structure.

    This command will generate a directory structure similar to this in your output location:

    alt text

Serving Static Files with the Web Server​

  1. Start the Server:

    Run the dicomwebserver.mjs script from the static-wado-webserver package, specifying the port and the DICOMweb directory:

    node packages/static-wado-webserver/bin/dicomwebserver.mjs -p 3001 -o /Users/alireza/dicom/test-static-script/output
    • -p 3001: Sets the server to listen on port 3001. You can change this if needed.
    • -o /Users/alireza/dicom/test-static-script/output: Specifies the path to your generated DICOMweb directory.
    info

    The -p (port) and -o (output directory) flags are used to configure the server.

Running OHIF Viewer with Static Data​

  1. Use the local_static.js Configuration:

    Start the OHIF Viewer in development mode using the provided local_static.js configuration file:

    yarn dev:static
  2. Configuration Details:

    The local_static.js configuration file is pre-configured to point to:

    qidoRoot: 'http://localhost:3001/dicomweb',
    wadoRoot: 'http://localhost:3001/dicomweb',

    This matches the default port (3001) used by the static-wado-webserver.

    info

    If you change the port or output directory when running the static-wado-webserver, you must also update the qidoRoot and wadoRoot values in your local_static.js configuration file accordingly to ensure the OHIF Viewer can access the data.