2015 Summer Project Week:Dicom parsing with DCMJS

From NAMIC Wiki
Revision as of 14:59, 24 June 2015 by Ivmartel (talk | contribs)
Jump to: navigation, search
Home < 2015 Summer Project Week:Dicom parsing with DCMJS

Key Investigators

  • Nicolas Rannou
  • Michael Onken
  • Steve Pieper
  • Yves Martelli

Project Description

Objective

  • Define target DICOM types
  • Define a good workflow to parse targets with DCMJS.
  • Define required JS models to support the workflow.
  • Evaluate DicomParser from cornerstone team.

Approach, Plan

  • Talk with DICOM/DCMTK experts to get some feedback on best strategy.
  • Write a demo to showcase js models and dicom parsing workflows.

Progress

  • Evaluation of current solutions
    • yves:
      • pros: fast
      • cons: single frame and need to parse dicom header by hand in JS later on
    • dicomparser: same
    • dcmjs:
      • pro: relies on dcmtk, (almost) no need to manually parse dicom header by hand
      • cons: slower (150ms for dcmdump vs 30ms for other solutions)
    • note: compilation of dcmjs with -o3 or -of drasticly improves performance of dcmjs
  • Proposed workflow
  • Take dicom segmentations/models into account
  • Testing database

Benchmark

Benchmark of DICOM parser libraries using benchmark.js. Units are in operations/seconds.

  dcmjs-nico   dicomParser   dwv  
  ff chrome ff chrome ff chrome
gdcm-CT-MONO2-8-abdo 320 112 16115 9974 4551 3640
gdcm-CR-MONO1-10-chest 249 83.13 8412 9004 3603 2804
osirix-toutatix-100 170 48.65 3245 3843 1411 995
osirix-goudurix 189 53.97 6346 3995 1885 1363
dicompyler-ct.0 187 60.86 8414 5156 2612 1930
gdcm-US-RGB-8-epicard 148 54.04 10418 10217 31.42 256
gdcm-US-RGB-8-esopecho 501 110 10309 10198 4642 3340
Average 252 75 9037 7484 2676 2047
        3.4    
          3.7  
    0.03        
      0.01