From fb5029c7bebdb14052e61603f2998482ae038e6b Mon Sep 17 00:00:00 2001 From: Pantelis Georgiadis Date: Sat, 17 Feb 2024 19:08:59 +0200 Subject: [PATCH] Fixed handling of Explicit VR Big Endian transfer syntax --- datasets/ebe.dcm | Bin 0 -> 143190 bytes examples/index.js | 5 +- examples/index.ts | 5 +- package-lock.json | 156 ++++++++++++++++++++++++---------------------- package.json | 14 ++--- src/Dataset.js | 10 +-- src/version.js | 2 +- 7 files changed, 104 insertions(+), 88 deletions(-) create mode 100644 datasets/ebe.dcm diff --git a/datasets/ebe.dcm b/datasets/ebe.dcm new file mode 100644 index 0000000000000000000000000000000000000000..f4a4727ca6db402241d8d73d81d6a63694b5ca43 GIT binary patch literal 143190 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 literal 0 HcmV?d00001 diff --git a/examples/index.js b/examples/index.js index a536def..d61cf25 100644 --- a/examples/index.js +++ b/examples/index.js @@ -56,12 +56,14 @@ function performCFindMwl(host, port, callingAeTitle, calledAeTitle, opts) { function performCStore(host, port, callingAeTitle, calledAeTitle, opts) { const rootPath = process.cwd(); const elePath = path.join(rootPath, 'datasets', 'ele.dcm'); + const ebePath = path.join(rootPath, 'datasets', 'ebe.dcm'); const j2kPath = path.join(rootPath, 'datasets', 'j2k.dcm'); const srPath = path.join(rootPath, 'datasets', 'sr.dcm'); const pdfPath = path.join(rootPath, 'datasets', 'pdf.dcm'); const client = new Client(); client.addRequest(new CStoreRequest(elePath)); + client.addRequest(new CStoreRequest(ebePath)); client.addRequest(new CStoreRequest(j2kPath)); client.addRequest(new CStoreRequest(srPath)); client.addRequest(new CStoreRequest(pdfPath)); @@ -122,7 +124,8 @@ class ExampleScp extends Scp { transferSyntaxes.forEach((transferSyntax) => { if ( transferSyntax === TransferSyntax.ImplicitVRLittleEndian || - transferSyntax === TransferSyntax.ExplicitVRLittleEndian + transferSyntax === TransferSyntax.ExplicitVRLittleEndian || + transferSyntax === TransferSyntax.ExplicitVRBigEndian ) { context.setResult(PresentationContextResult.Accept, transferSyntax); } else { diff --git a/examples/index.ts b/examples/index.ts index 1efdf3c..e05343f 100644 --- a/examples/index.ts +++ b/examples/index.ts @@ -107,12 +107,14 @@ function performCStore( ) { const rootPath = process.cwd(); const elePath = path.join(rootPath, 'datasets', 'ele.dcm'); + const ebePath = path.join(rootPath, 'datasets', 'ebe.dcm'); const j2kPath = path.join(rootPath, 'datasets', 'j2k.dcm'); const srPath = path.join(rootPath, 'datasets', 'sr.dcm'); const pdfPath = path.join(rootPath, 'datasets', 'pdf.dcm'); const client = new Client(); client.addRequest(new CStoreRequest(elePath)); + client.addRequest(new CStoreRequest(ebePath)); client.addRequest(new CStoreRequest(j2kPath)); client.addRequest(new CStoreRequest(srPath)); client.addRequest(new CStoreRequest(pdfPath)); @@ -175,7 +177,8 @@ class ExampleScp extends Scp { transferSyntaxes.forEach((transferSyntax) => { if ( transferSyntax === TransferSyntax.ImplicitVRLittleEndian || - transferSyntax === TransferSyntax.ExplicitVRLittleEndian + transferSyntax === TransferSyntax.ExplicitVRLittleEndian || + transferSyntax === TransferSyntax.ExplicitVRBigEndian ) { context.setResult(PresentationContextResult.Accept, transferSyntax); } else { diff --git a/package-lock.json b/package-lock.json index 005cbe9..c1d4bff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,24 +17,24 @@ }, "devDependencies": { "@types/async-eventemitter": "^0.2.4", - "@types/node": "^20.11.0", + "@types/node": "^20.11.19", "c8": "^9.1.0", "chai": "^4.3.10", "docdash": "^2.0.2", "eslint": "^8.56.0", "jsdoc": "^4.0.2", - "mocha": "^10.2.0", + "mocha": "^10.3.0", "mock-fs": "^5.2.0", - "nodemon": "^3.0.2", + "nodemon": "^3.0.3", "open-cli": "^8.0.0", - "prettier": "^3.2.2", + "prettier": "^3.2.5", "selfsigned": "^2.4.1", "shx": "^0.3.3", "terser-webpack-plugin": "^5.3.10", "ts-node": "^10.9.2", - "tsd": "^0.30.3", + "tsd": "^0.30.4", "typescript": "^5.3.3", - "webpack": "^5.89.0", + "webpack": "^5.90.2", "webpack-cli": "^5.1.4" }, "funding": { @@ -649,9 +649,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "version": "20.11.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", + "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -3245,9 +3245,9 @@ } }, "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", + "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", "dev": true, "dependencies": { "ansi-colors": "4.1.1", @@ -3257,13 +3257,12 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -3278,10 +3277,6 @@ }, "engines": { "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" } }, "node_modules/mocha/node_modules/brace-expansion": { @@ -3304,6 +3299,25 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/mocha/node_modules/minimatch": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", @@ -3378,18 +3392,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -3427,9 +3429,9 @@ "dev": true }, "node_modules/nodemon": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.2.tgz", - "integrity": "sha512-9qIN2LNTrEzpOPBaWHTm4Asy1LxXLSickZStAQ4IZe7zsoIpD/A7LWxhZV3t4Zu352uBcqVnRsDXSMR2Sc3lTA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.3.tgz", + "integrity": "sha512-7jH/NXbFPxVaMwmBCC2B9F/V6X1VkEdNgx3iu9jji8WxWcvhMWkmhNWhI5077zknOnZnBzba9hZP6bCPJLSReQ==", "dev": true, "dependencies": { "chokidar": "^3.5.2", @@ -3839,9 +3841,9 @@ } }, "node_modules/prettier": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", - "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -4860,9 +4862,9 @@ } }, "node_modules/tsd": { - "version": "0.30.3", - "resolved": "https://registry.npmjs.org/tsd/-/tsd-0.30.3.tgz", - "integrity": "sha512-xoEp6JPqpT9Ti9wGX5qgy7URp0lrmxN7YkbsyphBzdc1SYiXvJYgRXSIVvSZz42+/Wd/R1kBOMbgGC6rtiKxqQ==", + "version": "0.30.4", + "resolved": "https://registry.npmjs.org/tsd/-/tsd-0.30.4.tgz", + "integrity": "sha512-ncC4SwAeUk0OTcXt5h8l0/gOLHJSp9ogosvOADT6QYzrl0ITm398B3wkz8YESqefIsEEwvYAU8bvo7/rcN/M0Q==", "dev": true, "dependencies": { "@tsd/typescript": "~5.3.3", @@ -5136,19 +5138,19 @@ } }, "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.90.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.2.tgz", + "integrity": "sha512-ziXu8ABGr0InCMEYFnHrYweinHK2PWrMqnwdHk2oK3rRhv/1B+2FnfwYv5oD+RrknK/Pp/Hmyvu+eAsaMYhzCw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", + "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.11.5", "@webassemblyjs/wasm-edit": "^1.11.5", "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", @@ -5162,7 +5164,7 @@ "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", + "terser-webpack-plugin": "^5.3.10", "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, @@ -5984,9 +5986,9 @@ "dev": true }, "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "version": "20.11.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", + "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", "dev": true, "requires": { "undici-types": "~5.26.4" @@ -7927,9 +7929,9 @@ "dev": true }, "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", + "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", "dev": true, "requires": { "ansi-colors": "4.1.1", @@ -7939,13 +7941,12 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -7975,6 +7976,19 @@ "wrap-ansi": "^7.0.0" } }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, "minimatch": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", @@ -8033,12 +8047,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -8073,9 +8081,9 @@ "dev": true }, "nodemon": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.2.tgz", - "integrity": "sha512-9qIN2LNTrEzpOPBaWHTm4Asy1LxXLSickZStAQ4IZe7zsoIpD/A7LWxhZV3t4Zu352uBcqVnRsDXSMR2Sc3lTA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.3.tgz", + "integrity": "sha512-7jH/NXbFPxVaMwmBCC2B9F/V6X1VkEdNgx3iu9jji8WxWcvhMWkmhNWhI5077zknOnZnBzba9hZP6bCPJLSReQ==", "dev": true, "requires": { "chokidar": "^3.5.2", @@ -8366,9 +8374,9 @@ "dev": true }, "prettier": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", - "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true }, "pretty-format": { @@ -9066,9 +9074,9 @@ } }, "tsd": { - "version": "0.30.3", - "resolved": "https://registry.npmjs.org/tsd/-/tsd-0.30.3.tgz", - "integrity": "sha512-xoEp6JPqpT9Ti9wGX5qgy7URp0lrmxN7YkbsyphBzdc1SYiXvJYgRXSIVvSZz42+/Wd/R1kBOMbgGC6rtiKxqQ==", + "version": "0.30.4", + "resolved": "https://registry.npmjs.org/tsd/-/tsd-0.30.4.tgz", + "integrity": "sha512-ncC4SwAeUk0OTcXt5h8l0/gOLHJSp9ogosvOADT6QYzrl0ITm398B3wkz8YESqefIsEEwvYAU8bvo7/rcN/M0Q==", "dev": true, "requires": { "@tsd/typescript": "~5.3.3", @@ -9263,19 +9271,19 @@ } }, "webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.90.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.2.tgz", + "integrity": "sha512-ziXu8ABGr0InCMEYFnHrYweinHK2PWrMqnwdHk2oK3rRhv/1B+2FnfwYv5oD+RrknK/Pp/Hmyvu+eAsaMYhzCw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", + "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.11.5", "@webassemblyjs/wasm-edit": "^1.11.5", "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", @@ -9289,7 +9297,7 @@ "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", + "terser-webpack-plugin": "^5.3.10", "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, diff --git a/package.json b/package.json index 783fbfc..9b8219e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dcmjs-dimse", - "version": "0.1.24", + "version": "0.1.25", "description": "DICOM DIMSE implementation for Node.js using dcmjs", "main": "build/dcmjs-dimse.min.js", "module": "build/dcmjs-dimse.min.js", @@ -51,24 +51,24 @@ }, "devDependencies": { "@types/async-eventemitter": "^0.2.4", - "@types/node": "^20.11.0", + "@types/node": "^20.11.19", "c8": "^9.1.0", "chai": "^4.3.10", "docdash": "^2.0.2", "eslint": "^8.56.0", "jsdoc": "^4.0.2", - "mocha": "^10.2.0", + "mocha": "^10.3.0", "mock-fs": "^5.2.0", - "nodemon": "^3.0.2", + "nodemon": "^3.0.3", "open-cli": "^8.0.0", - "prettier": "^3.2.2", + "prettier": "^3.2.5", "selfsigned": "^2.4.1", "shx": "^0.3.3", "terser-webpack-plugin": "^5.3.10", "ts-node": "^10.9.2", - "tsd": "^0.30.3", + "tsd": "^0.30.4", "typescript": "^5.3.3", - "webpack": "^5.89.0", + "webpack": "^5.90.2", "webpack-cli": "^5.1.4" } } diff --git a/src/Dataset.js b/src/Dataset.js index a163d03..a5637b5 100644 --- a/src/Dataset.js +++ b/src/Dataset.js @@ -271,13 +271,15 @@ class Dataset { const stream = new ReadBufferStream( buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength) ); - // Use the proper syntax length (based on transfer syntax UID) + // Use the proper encoding and endianness (based on transfer syntax UID) // since dcmjs doesn't do that internally. - let syntaxLengthTypeToDecode = + const syntaxTypeToDecode = transferSyntaxUid === TransferSyntax.ImplicitVRLittleEndian ? TransferSyntax.ImplicitVRLittleEndian - : TransferSyntax.ExplicitVRLittleEndian; - const denaturalizedDataset = DicomMessage._read(stream, syntaxLengthTypeToDecode, readOptions); + : transferSyntaxUid === TransferSyntax.ExplicitVRBigEndian + ? TransferSyntax.ExplicitVRBigEndian + : TransferSyntax.ExplicitVRLittleEndian; + const denaturalizedDataset = DicomMessage._read(stream, syntaxTypeToDecode, readOptions); return DicomMetaDictionary.naturalizeDataset(denaturalizedDataset); } diff --git a/src/version.js b/src/version.js index ff90669..74727ce 100644 --- a/src/version.js +++ b/src/version.js @@ -1 +1 @@ -module.exports = '0.1.24'; +module.exports = '0.1.25';