Skip to content

Latest commit

 

History

History
68 lines (41 loc) · 3.02 KB

File metadata and controls

68 lines (41 loc) · 3.02 KB

Back to Projects List

Lightweight DICOMweb Server with CouchDB

Key Investigators

  • Emel Alkim (Stanford)
  • Steve Pieper (Isomics)
  • Hans Meine
  • Erik Ziegler

Project Description

This project aims to build on prototype lightweight DICOM server that was developed last year

Objective

  • Develop easy to install and test recipes / scripts
  • Compare functionality and performance with other DICOMweb implementations
  • Brainstorm about non-standard extensions of utility to the community
    • search by reference (e.g. find all segmentations of this image)
    • extract cohorts by tag (e.g. find all CTs with .5mm pixel spacing)
    • represent workflow state (e.g. give list of all studies that do not have manual segmentations)
  • Work on improving performance

Approach and Plan

Progress and Next Steps

Hans tested the server successfully, in order to try out DICOMWeb and get a feel for what's possible and how to integrate with other tools. Here's one quick guide on how to possibly reproduce:

  • Hans used CouchDB via Docker (Steve & Emel recommended running PouchDB via NodeJS):

    docker run --rm -d --name couchdb -p 5984:5984 apache/couchdb
    

    (This is for one-off experiments; one should really mount a DB directory.)

  • The dicomweb-server-js README contains instructions on how to start the server and index DICOM files via the Python dicomweb_client.

  • Subsequently, one may test the Rest API directly (e.g. via httpie on the default port 5985), look at the underlying CouchDB (UI at http://localhost:5984/_utils), or try the OHIFViewer.

    • test_ohifviewer.html is a standalone file with the necessary JS snippet to configure an OHIFViewer. Adapt the URLs to your server if necessary.

    • Use a HTTP server to serve that file and show it in a browser:

      python -m http.server 9000
      xdg-open http://localhost:9000/test_ohifviewer.html
      

Performance Improvements:

  • Extended the dicomweb codebase with parallel execution for database processes which lets us limit the number of concurrent database calls and manage workload

Illustrations