Difference between revisions of "2015 Summer Project Week:Dicom parsing with DCMJS"
From NAMIC Wiki
(2 intermediate revisions by the same user not shown) | |||
Line 40: | Line 40: | ||
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]). | 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 ( | + | 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" | {| class="wikitable" | ||
|- bgcolor="#eee" | |- bgcolor="#eee" | ||
− | ! !! | + | ! !! dcmjs !! !! dicomParser !! !! dwv !! |
|- bgcolor="#eee" | |- bgcolor="#eee" | ||
! !! ff !! chrome !! ff !! chrome !! ff !! chrome | ! !! ff !! chrome !! ff !! chrome !! ff !! chrome |
Latest revision as of 10:21, 10 July 2015
Home < 2015 Summer Project Week:Dicom parsing with DCMJSKey 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
- 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
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 |