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