Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a42c62a
* merged in performance enhancement from jkrot
chafey May 4, 2016
12a338e
* added back support for detecting malformed sequences.
chafey May 4, 2016
321c61c
* fixed bug on node.js where dicomParser.from() returned the wrong re…
chafey May 8, 2016
aa7aafc
added missing rusha file
chafey May 8, 2016
13dbf51
updated example links to use rawgit's CDN to avoid issues related to …
chafey May 8, 2016
223e634
* Fixed bug with sharedCopy() where it didn't take into account the b…
chafey May 8, 2016
09a9d07
* added support for using node.js zlib library to inflate when runnin…
chafey May 8, 2016
4e848e9
re
chafey May 9, 2016
eaf974c
* added support for multi-frame with multiple image frames and no bas…
chafey May 20, 2016
4508fe1
reverted change that broke image frame extraction for single frame en…
chafey May 23, 2016
b9b430a
* deprecated readEncapsulatedPixelData() since it it did not support …
chafey May 23, 2016
73811ac
* oops - forgot to implement calculateNumberOfFragments()
chafey May 24, 2016
938209e
enhanced dumpWithDataDictionary to properly display multi-valued bina…
chafey May 24, 2016
033c111
added utility function createJPEGBasicOffsetTable()
chafey Jun 6, 2016
5b50dd9
* fixed bug in readEncapsulatedImageFrame() where optional fragments …
chafey Jun 9, 2016
8b0282f
Updated the test images directory
chafey Jun 12, 2016
db3d74c
removed start of JPEG image frame check as it was failing on some ima…
chafey Jun 29, 2016
b659fd7
fixed bug with parsing UN elements with unknown lengths
chafey Aug 18, 2016
0b64619
Updated version number
chafey Aug 18, 2016
d5c9300
Oops, bad checkin in 1.7.3
chafey Aug 18, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
examples
meteor
test
testImages
26 changes: 19 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
dicomParser
===========

dicomParser is a lightweight library for parsing DICOM P10 byte streams in modern web browsers (IE10+), Node.js
and Meteor. dicomParser is fast, easy to use and has no required external dependencies
([pako](https://github.com/nodeca/pako) is required if you support for the Deflated Explicit VR Little Endian
transfer syntax)
dicomParser is a lightweight library for parsing DICOM P10 byte streams in modern HTML5 based web browsers (IE10+),
Node.js and Meteor. dicomParser is fast, easy to use and has no required external dependencies.

Live Examples
---------------
Expand Down Expand Up @@ -100,13 +98,21 @@ Useful for partial reading of byte streams.
A callback that, given a tag, will return the two-character Value Representation associated with that tag (see PS 3.5
of the DICOM standard for more information). It may return undefined to indicate that the VR was not provided.

#### inflater

A callback that given the underlying byteArray and position of the deflated buffer returns a byteArray containing the
DICOM P10 header and inflated data set concatenated together.

Key Features
------------

* Parses DICOM Part 10 byte arrays in all encodings
* Parses all known valid DICOM Part 10 byte arrays
* Explicit and implicit
* Little endian and big endian
* Deflated Explicit VR Little Endian transfer syntax
* Uses zlib when running node.js
* requires [pako](https://github.com/nodeca/pako) in web browsers
* has callback to support use of other inflate libraries
* Supports all VR's including sequences
* Supports elements with undefined length
* Supports sequence items with undefined length
Expand All @@ -117,9 +123,14 @@ Key Features
* Packaged using the module pattern, as an AMD module and as a CommonJS module for Node.js
* No external dependencies
* Supports extraction of encapsulated pixel data frames
* Basic Offset Table decoded
* Fragments decoded
* Function to extract image frame when basic offset table is present
* Function to extract image frame from fragments when no basic offset table is present
* 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
* Convenient utility function to generate a basic offset table for JPEG images
* Supports reading incomplete/partial byte streams
* By specifying a tag to stop reading at (e.g. parseDicom(byteArray, {untilTag: "x7fe00010"}); )
* By returning the elements parsed so far in the exception thrown during a parse error (the elements parsed will be
Expand Down Expand Up @@ -189,7 +200,8 @@ Contributors
* @bbunderson, @jpambrun - bug fix for reading encapsulated frames
* @henryqdineen, [email protected] - bug report for sequences with undefined lengths and zero items
* @swederik - bug fixes on sequences with undefined lengths and zero items

* @jkrot - performance enhancement in byteArrayParser
* @cancan101 - issue related to multi-frame with multiple fragments and no basic offset table

Why another Javascript DICOM parsing library?
============================================
Expand Down Expand Up @@ -346,4 +358,4 @@ You can find out more about this by googling for "self documenting code"

Copyright
============
Copyright 2015 Chris Hafey [[email protected]](mailto:[email protected])
Copyright 2016 Chris Hafey [[email protected]](mailto:[email protected])
64 changes: 35 additions & 29 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,31 +1,37 @@
{
"name": "dicomParser",
"version": "1.3.0",
"description": "Javascript parser for DICOM Part 10 data",
"main" : "dist/dicomParser.js",
"ignore": [
"examples",
"src",
"test",
"gruntfile.js",
"package.json",
"README.md",
".gitignore"
],
"dependencies": {

},
"devDependencies": {
"bootstrap": "~3.3.4",
"qunit": "~1.14.0",
"jquery" : "~2.1.1"
},
"license": "MIT",
"authors" : ["Chris Hafey"],
"homepage": "https://github.com/chafey/dicomParser",
"keywords": ["DICOM", "medical", "imaging"],
"repository": {
"type": "git",
"url": "https://github.com/chafey/dicomParser.git"
}
"name": "dicomParser",
"version": "1.7.3",
"description": "Javascript parser for DICOM Part 10 data",
"main": "dist/dicomParser.js",
"ignore": [
"examples",
"src",
"test",
"gruntfile.js",
"package.json",
"README.md",
".gitignore"
],
"dependencies": {
},
"devDependencies": {
"rusha": "~0.8.3",
"bootstrap": "~3.3.4",
"qunit": "~1.14.0",
"jquery": "~2.1.1"
},
"license": "MIT",
"authors": [
"Chris Hafey"
],
"homepage": "https://github.com/chafey/dicomParser",
"keywords": [
"DICOM",
"medical",
"imaging"
],
"repository": {
"type": "git",
"url": "https://github.com/chafey/dicomParser.git"
}
}
Loading