Difference between revisions of "2015 Summer Project Week:Dicom parsing with DCMJS"

From NAMIC Wiki
Jump to: navigation, search
(Created page with '__NOTOC__ <gallery> Image:PW-Summer2015.png|Projects List </gallery> ==Key Investigators== * Nicolas Rannou * Steve Pieper ==Project Descr…')
 
 
(18 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
==Key Investigators==
 
==Key Investigators==
 
* Nicolas Rannou
 
* Nicolas Rannou
 +
* Michael Onken
 
* Steve Pieper
 
* Steve Pieper
 +
* Yves Martelli
  
 
==Project Description==
 
==Project Description==
Line 12: Line 14:
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<h3>Objective</h3>
 
<h3>Objective</h3>
*Define a good workflow to parse a MR dicom with DCMJS.
+
*Define target DICOM types
*Identify and formalize the needs to design a web-based slicer clone:
+
*Define a good workflow to parse targets with DCMJS.
** models organization (how are the different models related (image, label maps, mesh, fibers, etc.))
+
*Define required JS models to support the workflow.
** widgets
+
* Evaluate DicomParser from cornerstone team.
** visualization (Frame of reference, Transforms, World vs Image space, etc.)
 
** performance
 
** etc.
 
* Implement a basic volume rendering of the dicom data with THREEJS.
 
 
</div>
 
</div>
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<h3>Approach, Plan</h3>
 
<h3>Approach, Plan</h3>
* Talk with DICOM/DCMTK experts to get some feedback.
+
* Talk with DICOM/DCMTK experts to get some feedback on best strategy.
* Write a demo to test dicom parsing workflow.
+
* Write a demo to showcase js models and dicom parsing workflows.
* Write a demo to test volume rendering.
 
 
</div>
 
</div>
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<h3>Progress</h3>
 
<h3>Progress</h3>
*
+
* Evaluation of current solutions
 +
** note: compilation of  dcmjs with -o3 or -of drasticly improves performance of dcmjs
 +
* Proposed workflow
 +
** https://docs.google.com/drawings/d/1BX0NBIDPrrM-JGk9b1awL_w57f9rMvdTJSeVjT9bM5U
 +
** note: workflow relies on new dcmtk functionnalities. It will have to be evaluated in term of performance.
 +
** https://github.com/andywer/threadpool-js
 +
* Take dicom segmentations/models into account
 +
* DICOM testing database discussion with web-torrents
 
</div>
 
</div>
 
</div>
 
</div>
 +
 +
== Benchmark ==
 +
Benchmark of DICOM parser libraries using [http://benchmarkjs.com/ benchmark.js] ([http://stackoverflow.com/questions/28524653/what-do-the-results-from-benchmark-js-mean what-do-the-results-from-benchmark-js-mean]).
 +
 +
These results were obtained on a Lenovo Flex2 laptop (Intel Core i3-4030U) under Microsoft Windows 8.1 using Mozilla Firefox (ff) 38.0.5 and Google Chrome v43.0.
 +
 +
Parsers: [http://github.com/commontk/dcmjs dcmjs] ([http://github.com/commontk/dcmjs/tree/3fe78ddc82a4ff7938037f60f82999f129f66e82 3fe78dd]), [http://github.com/chafey/dicomParser dicomParser] ([http://github.com/chafey/dicomParser/releases/tag/1.0.2 v1.0.2]) and [http://github.com/ivmartel/dwv dwv] ([http://github.com/ivmartel/dwv/releases/tag/v0.10.0 v0.10.0]). The test just calls the parse method of each library, no values are checked. Note that the 'dicomParser' does not interpret the data until asked for when the others do at parsing time.
 +
 +
Units are in operations/seconds.
 +
{| class="wikitable"
 +
|- bgcolor="#eee"
 +
! &nbsp; !! dcmjs !! &nbsp; !! dicomParser !! &nbsp; !! dwv !! &nbsp;
 +
|- bgcolor="#eee"
 +
! &nbsp; !! 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
 +
|- bgcolor="#eee"
 +
! Average !! 252!! 75!! 9037!! 7484!! 2676!! 2047
 +
|-
 +
| &nbsp; || &nbsp; || &nbsp; || bgcolor="#eee" | &nbsp; || bgcolor="#eee" | 3.4 || bgcolor="#eee" | &nbsp; || &nbsp;
 +
|-
 +
| &nbsp; || &nbsp; || &nbsp; || &nbsp; || bgcolor="#eee" | &nbsp; || bgcolor="#eee" | 3.7 || bgcolor="#eee" | &nbsp;
 +
|-
 +
| &nbsp; || bgcolor="#eee" | &nbsp; || bgcolor="#eee" | 0.03 || bgcolor="#eee" | &nbsp; || &nbsp; || &nbsp; || &nbsp;
 +
|-
 +
|&nbsp; || &nbsp; || bgcolor="#eee" | &nbsp; || bgcolor="#eee" | 0.01 || bgcolor="#eee" | &nbsp; || &nbsp; || &nbsp;
 +
|}

Latest revision as of 10:21, 10 July 2015

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

Benchmark

Benchmark of DICOM parser libraries using benchmark.js (what-do-the-results-from-benchmark-js-mean).

These results were obtained on a Lenovo Flex2 laptop (Intel Core i3-4030U) under Microsoft Windows 8.1 using Mozilla Firefox (ff) 38.0.5 and Google Chrome v43.0.

Parsers: dcmjs (3fe78dd), dicomParser (v1.0.2) and dwv (v0.10.0). The test just calls the parse method of each library, no values are checked. Note that the 'dicomParser' does not interpret the data until asked for when the others do at parsing time.

Units are in operations/seconds.

  dcmjs   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