JavaScript DICOM Parser

80 views
Skip to first unread message

Chris Hafey

unread,
Feb 26, 2015, 1:42:44 PM2/26/15
to cornerston...@googlegroups.com
Hello All, 

Thanks to the help of the cornerstone platform community, the cornerstone JavaScript DICOM parser has continued to grow in functionality and correctness.  At this point, we believe it can parse all standards compliant data sets (and some that are not!).  Here is the feature set: 

Parses DICOM Part 10 byte arrays in all encodings 
 Explicit and implicit 
 Little endian and big endian 
Supports all VR's including sequences 
Supports elements with undefined length 
Supports sequence items with undefined length 
Provides functions to convert from all VR types to native Javascript types 
Does not require a data dictionary 
Works in modern browsers and Node.js 
Each element exposes the offset and length of its data in the underlying byte stream 
Packaged using the module pattern, as an AMD module, as a CommonJS module for Node.js and as a meteor package. 
No external dependencies 
Supports extraction of encapsulated pixel data frames 
Convenient utility functions to parse strings formatted in DA, TM and PN VRs and return JavaScript objects 
Convenient utility function to create a string version of an explicit element 
Convenient utility function to convert a parsed explicit dataSet into a javascript object 
Supports reading incomplete/partial byte streams   
  By specifying a tag to stop reading at 
  By returning the elements parsed so far in the exception thrown during a parse error 

Here is a link to the libraries github repository: 

https://github.com/chafey/dicomParser 

Of specific note are the examples which not only show how to use the library, but are also quite useful for anyone who works with DICOM (developers, QA, PACS administrators, IT, etc).  I use the data dump with data dictionary several times a day: 

https://rawgit.com/chafey/dicomParser/master/examples/dumpWithDataDictionary/index.html 

I am looking to make an official 1.0 release in the coming weeks and would appreciate it if you all could try loading any data sets you have using the above dump with data dictionary link and let me know if you find anything that doesn't look right.  Thank you! 

Chris Hafey
Reply all
Reply to author
Forward
0 new messages