cornerstone-wado-image-loader
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -5,3 +5,2 @@ module.exports = { | ||
'es6': true, | ||
'jquery': true, | ||
'node': true, | ||
@@ -8,0 +7,0 @@ 'mocha': true |
@@ -7,2 +7,19 @@ # Changelog | ||
## [2.1.0] - 2018-04-11 | ||
### Changed | ||
- Updated Webpack to version 4 | ||
- DIST folder is now removed from the repository | ||
- Set W/L by default for color images | ||
### Added | ||
- Added useWebWorkers flag to decodeConfig | ||
- Added JSDoc to the transfer-syntax extraction | ||
- Handle signed data (thanks @jdnarvaez) | ||
- Added a decache function in image load object (thanks @adreyfus) | ||
### Fixed | ||
- Bugfix: remove the promise regardless of success or failure | ||
## [2.0.0] - 2017-12-08 | ||
@@ -9,0 +26,0 @@ ### Changed |
=============================== Coverage summary =============================== | ||
[31;1mStatements : 35.83% ( 430/1200 )[0m | ||
[31;1mBranches : 33.89% ( 203/599 )[0m | ||
[31;1mFunctions : 43.05% ( 65/151 )[0m | ||
[31;1mLines : 35.89% ( 430/1198 )[0m | ||
[32;1mStatements : 100% ( 0/0 )[0m | ||
[32;1mBranches : 100% ( 0/0 )[0m | ||
[32;1mFunctions : 100% ( 0/0 )[0m | ||
[32;1mLines : 100% ( 0/0 )[0m | ||
================================================================================ |
@@ -1,81 +0,6 @@ | ||
---------------------------------------------|----------|----------|----------|----------|----------------| | ||
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines | | ||
---------------------------------------------|----------|----------|----------|----------|----------------| | ||
[32;1msrc/ [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[32;1mexternalModules.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[32;1mversion.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1msrc/imageLoader/ [0m |[31;1m 40.74[0m |[31;1m 48.77[0m |[31;1m 43.24[0m |[31;1m 41.04[0m |[31;1m [0m | | ||
[31;1mconfigure.js [0m |[31;1m 0[0m |[32;1m 100[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 4[0m | | ||
[31;1mconvertColorSpace.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 34,35,36,38[0m | | ||
[31;1mcreateImage.js [0m |[31;1m 34.88[0m |[31;1m 49.06[0m |[31;1m 44.44[0m |[31;1m 35.71[0m |[31;1m... 185,187,188[0m | | ||
[33;1mdecodeImageFrame.js [0m |[33;1m 65.63[0m |[33;1m 66.67[0m |[32;1m 100[0m |[33;1m 65.63[0m |[31;1m... 63,64,66,82[0m | | ||
[31;1mdecodeJPEGBaseline8BitColor.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 71,73,77,78[0m | | ||
[32;1mgetImageFrame.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[32;1mindex.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[32;1misColorImage.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[33;1misJPEGBaseline8BitColor.js [0m |[33;1m 66.67[0m |[33;1m 75[0m |[32;1m 100[0m |[33;1m 66.67[0m |[31;1m 7[0m | | ||
[32;1mregisterLoaders.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[33;1mwebWorkerManager.js [0m |[33;1m 61.9[0m |[31;1m 42.86[0m |[33;1m 60[0m |[33;1m 61.9[0m |[31;1m... 304,305,307[0m | | ||
[31;1msrc/imageLoader/colorSpaceConverters/ [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m [0m | | ||
[31;1mconvertPALETTECOLOR.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 49,50,51,52[0m | | ||
[31;1mconvertRGBColorByPixel.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 14,15,16,17[0m | | ||
[31;1mconvertRGBColorByPlane.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 16,17,18,19[0m | | ||
[31;1mconvertYBRFullByPixel.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 18,19,20,21[0m | | ||
[31;1mconvertYBRFullByPlane.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 20,21,22,23[0m | | ||
[32;1mindex.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[33;1msrc/imageLoader/internal/ [0m |[33;1m 77.27[0m |[33;1m 62.5[0m |[33;1m 77.78[0m |[33;1m 77.27[0m |[31;1m [0m | | ||
[32;1mindex.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[33;1moptions.js [0m |[33;1m 66.67[0m |[32;1m 100[0m |[33;1m 50[0m |[33;1m 66.67[0m |[31;1m 12[0m | | ||
[33;1mxhrRequest.js [0m |[33;1m 77.5[0m |[33;1m 62.5[0m |[32;1m 85.71[0m |[33;1m 77.5[0m |[31;1m... 74,87,88,93[0m | | ||
[31;1msrc/imageLoader/wadors/ [0m |[31;1m 6.67[0m |[31;1m 0[0m |[31;1m 10.53[0m |[31;1m 6.67[0m |[31;1m [0m | | ||
[31;1mfindIndexOfString.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 35,37,38,43[0m | | ||
[31;1mgetPixelData.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 64,65,69,72[0m | | ||
[32;1mindex.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1mloadImage.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 34,36,37,42[0m | | ||
[31;1mmetaDataManager.js [0m |[31;1m 40[0m |[32;1m 100[0m |[31;1m 25[0m |[31;1m 40[0m |[31;1m 6,14,18[0m | | ||
[32;1mregister.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1msrc/imageLoader/wadors/metaData/ [0m |[31;1m 4.92[0m |[31;1m 2.27[0m |[31;1m 20[0m |[31;1m 4.92[0m |[31;1m [0m | | ||
[31;1mgetNumberString.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 12,14,15,18[0m | | ||
[31;1mgetNumberValue.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 4,6,7,10[0m | | ||
[31;1mgetNumberValues.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 23,25,26,29[0m | | ||
[31;1mgetValue.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 18,21,22,25[0m | | ||
[32;1mindex.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1mmetaDataProvider.js [0m |[31;1m 8.57[0m |[31;1m 4.17[0m |[32;1m 100[0m |[31;1m 8.57[0m |[31;1m... 119,120,123[0m | | ||
[31;1msrc/imageLoader/wadouri/ [0m |[31;1m 48.37[0m |[31;1m 37.04[0m |[33;1m 54.29[0m |[31;1m 48.37[0m |[31;1m [0m | | ||
[33;1mdataSetCacheManager.js [0m |[33;1m 70[0m |[31;1m 36.36[0m |[33;1m 77.78[0m |[33;1m 70[0m |[31;1m... 81,82,83,85[0m | | ||
[31;1mfileManager.js [0m |[31;1m 16.67[0m |[32;1m 100[0m |[31;1m 0[0m |[31;1m 16.67[0m |[31;1m 4,6,10,14,18[0m | | ||
[31;1mgetEncapsulatedImageFrame.js [0m |[31;1m 22.22[0m |[33;1m 50[0m |[33;1m 50[0m |[31;1m 22.22[0m |[31;1m... 23,24,26,29[0m | | ||
[32;1mgetPixelData.js [0m |[32;1m 100[0m |[32;1m 80[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1mgetUncompressedImageFrame.js [0m |[31;1m 42.86[0m |[31;1m 22.22[0m |[32;1m 100[0m |[31;1m 42.86[0m |[31;1m... 42,43,46,49[0m | | ||
[32;1mindex.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1mloadFileRequest.js [0m |[31;1m 0[0m |[32;1m 100[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 13,15,18,20[0m | | ||
[33;1mloadImage.js [0m |[33;1m 53.33[0m |[31;1m 40[0m |[33;1m 63.64[0m |[33;1m 53.33[0m |[31;1m... 77,78,88,90[0m | | ||
[33;1mparseImageId.js [0m |[33;1m 62.5[0m |[33;1m 50[0m |[32;1m 100[0m |[33;1m 62.5[0m |[31;1m 9,11,12[0m | | ||
[32;1mregister.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1munpackBinaryFrame.js [0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m... 19,22,25,28[0m | | ||
[31;1msrc/imageLoader/wadouri/metaData/ [0m |[31;1m 41.41[0m |[31;1m 33.75[0m |[33;1m 54.55[0m |[31;1m 41.41[0m |[31;1m [0m | | ||
[31;1mgetImagePixelModule.js [0m |[31;1m 26.32[0m |[31;1m 22.22[0m |[31;1m 40[0m |[31;1m 26.32[0m |[31;1m... 58,59,60,92[0m | | ||
[31;1mgetLUTs.js [0m |[31;1m 8.7[0m |[31;1m 16.67[0m |[33;1m 50[0m |[31;1m 8.7[0m |[31;1m... 44,46,47,51[0m | | ||
[31;1mgetModalityLUTOutputPixelRepresentation.js[0m |[31;1m 15.79[0m |[31;1m 12.5[0m |[33;1m 50[0m |[31;1m 15.79[0m |[31;1m... 38,43,44,48[0m | | ||
[32;1mgetNumberValues.js [0m |[32;1m 80[0m |[33;1m 66.67[0m |[32;1m 100[0m |[32;1m 80[0m |[31;1m 6,11[0m | | ||
[32;1mindex.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[33;1mmetaDataProvider.js [0m |[33;1m 78.95[0m |[33;1m 53.57[0m |[32;1m 100[0m |[33;1m 78.95[0m |[31;1m... 110,113,116[0m | | ||
[32;1msrc/shared/ [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[32;1mgetMinMax.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1msrc/webWorker/ [0m |[31;1m 20[0m |[31;1m 14.29[0m |[31;1m 16.67[0m |[31;1m 20[0m |[31;1m [0m | | ||
[32;1mindex.js [0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
[31;1mwebWorker.js [0m |[31;1m 17.65[0m |[31;1m 14.29[0m |[31;1m 16.67[0m |[31;1m 17.65[0m |[31;1m... 109,110,111[0m | | ||
[31;1msrc/webWorker/decodeTask/ [0m |[31;1m 37.29[0m |[31;1m 40[0m |[31;1m 20[0m |[31;1m 37.29[0m |[31;1m [0m | | ||
[33;1mdecodeImageFrame.js [0m |[33;1m 67.74[0m |[33;1m 61.54[0m |[32;1m 100[0m |[33;1m 67.74[0m |[31;1m... 47,48,50,52[0m | | ||
[31;1mdecodeTask.js [0m |[31;1m 3.57[0m |[31;1m 0[0m |[31;1m 0[0m |[31;1m 3.57[0m |[31;1m... 85,88,92,96[0m | | ||
[31;1msrc/webWorker/decodeTask/decoders/ [0m |[31;1m 39.86[0m |[31;1m 34.29[0m |[33;1m 64.71[0m |[31;1m 39.86[0m |[31;1m [0m | | ||
[33;1mdecodeBigEndian.js [0m |[33;1m 68.75[0m |[31;1m 37.5[0m |[32;1m 100[0m |[33;1m 68.75[0m |[31;1m 17,18,22,31,32[0m | | ||
[31;1mdecodeJPEG2000.js [0m |[31;1m 6.41[0m |[31;1m 18.18[0m |[31;1m 20[0m |[31;1m 6.41[0m |[31;1m... 143,146,151[0m | | ||
[33;1mdecodeJPEGBaseline.js [0m |[33;1m 63.64[0m |[31;1m 33.33[0m |[32;1m 100[0m |[33;1m 63.64[0m |[31;1m 6,20,21,23[0m | | ||
[32;1mdecodeJPEGLS.js [0m |[32;1m 85.11[0m |[33;1m 62.5[0m |[32;1m 100[0m |[32;1m 85.11[0m |[31;1m... 52,73,81,94[0m | | ||
[33;1mdecodeJPEGLossless.js [0m |[33;1m 57.14[0m |[33;1m 54.55[0m |[32;1m 100[0m |[33;1m 57.14[0m |[31;1m... 20,22,25,27[0m | | ||
[31;1mdecodeLittleEndian.js [0m |[31;1m 44.44[0m |[31;1m 21.43[0m |[32;1m 100[0m |[31;1m 44.44[0m |[31;1m... 23,24,25,28[0m | | ||
[31;1mdecodeRLE.js [0m |[31;1m 33.7[0m |[31;1m 34.62[0m |[33;1m 50[0m |[31;1m 33.7[0m |[31;1m... 110,112,158[0m | | ||
---------------------------------------------|----------|----------|----------|----------|----------------| | ||
[31;1mAll files [0m |[31;1m 35.83[0m |[31;1m 33.89[0m |[31;1m 43.05[0m |[31;1m 35.89[0m |[31;1m [0m | | ||
---------------------------------------------|----------|----------|----------|----------|----------------| | ||
----------|----------|----------|----------|----------|----------------| | ||
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines | | ||
----------|----------|----------|----------|----------|----------------| | ||
----------|----------|----------|----------|----------|----------------| | ||
[32;1mAll files[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[32;1m 100[0m |[31;1m [0m | | ||
----------|----------|----------|----------|----------|----------------| |
@@ -1,3 +0,3 @@ | ||
/*! cornerstone-wado-image-loader - 2.0.0 - 2017-12-08 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("dicom-parser")):"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoader",["dicom-parser"],t):"object"==typeof exports?exports.cornerstoneWADOImageLoader=t(require("dicom-parser")):e.cornerstoneWADOImageLoader=t(e.dicomParser)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=39)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.external=t.dicomParser=void 0;var n=r(46),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(n),o=r(47),i=function(e){return e&&e.__esModule?e:{default:e}}(o),u=void 0,l={set cornerstone(e){u=e,(0,i.default)(u)},get cornerstone(){return u}};t.dicomParser=a,t.external=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.internal=t.xhrRequest=t.getOptions=t.setOptions=void 0;var n=r(50),a=function(e){return e&&e.__esModule?e:{default:e}}(n),o=r(6),i={xhrRequest:a.default,setOptions:o.setOptions,getOptions:o.getOptions};t.setOptions=o.setOptions,t.getOptions=o.getOptions,t.xhrRequest=a.default,t.internal=i},function(e,t,r){"use strict";function n(e){for(var t=e[0],r=e[0],n=void 0,a=e.length,o=1;o<a;o++)n=e[o],t=Math.min(t,n),r=Math.max(r,n);return{min:t,max:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";function n(e,t,r){return t=t||0,e&&e.Value?e.Value.length<=t?r:e.Value[t]:r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";function n(e){var t=e.indexOf(":"),r=e.substring(t+1),n=r.indexOf("frame="),a=void 0;if(-1!==n){var o=r.substr(n+6);a=parseInt(o,10),r=r.substr(0,n-1)}return{scheme:e.substr(0,t),url:r,frame:a}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";function n(e,t){u[e]=t}function a(e){return u[e]}function o(e){u[e]=void 0}function i(){u=[]}Object.defineProperty(t,"__esModule",{value:!0});var u=[];t.default={add:n,get:a,remove:o,purge:i}},function(e,t,r){"use strict";function n(e){o=e}function a(){return o}Object.defineProperty(t,"__esModule",{value:!0}),t.setOptions=n,t.getOptions=a;var o={beforeSend:function(){},imageCreated:function(){},strict:!1}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){return"1.2.840.10008.5.1.4.1.1.12.1"!==e&&"1.2.840.10008.5.1.4.1.1.12.2.1"!==e}function o(e){for(var t=(0,P.default)(e),r=Math.abs(t.max-t.min),n=r/65535,a=t.min,o=e.length,i=new Uint16Array(o),u=65535,l=0,d=0;d<o;d++){var s=Math.floor((e[d]-a)/n);i[d]=s,u=Math.min(u,s),l=Math.max(l,s)}return{min:u,max:l,intPixelData:i,slope:n,intercept:a}}function i(e){32===e.bitsAllocated?e.pixelData=new Float32Array(e.pixelData):16===e.bitsAllocated?0===e.pixelRepresentation?e.pixelData=new Uint16Array(e.pixelData):e.pixelData=new Int16Array(e.pixelData):e.pixelData=new Uint8Array(e.pixelData)}function u(e,t,r,n){var u=l.external.cornerstone,d=document.createElement("canvas"),f=(0,s.default)(e),p=(0,c.default)(f,r,t,d,n);return new Promise(function(t,n){p.then(function(n){var l=u.metaData.get("imagePlaneModule",e)||{},s=u.metaData.get("voiLutModule",e)||{},f=u.metaData.get("modalityLutModule",e)||{},c=u.metaData.get("sopCommonModule",e)||{},p=(0,m.default)(n.photometricInterpretation);if(!(0,y.default)(n,r)&&(i(n),p)){d.height=n.rows,d.width=n.columns;var g=d.getContext("2d"),b=g.createImageData(n.columns,n.rows);(0,v.default)(n,b),n.imageData=b,n.pixelData=b.data;var x=(0,P.default)(n.pixelData);n.smallestPixelValue=x.min,n.largestPixelValue=x.max}var w={imageId:e,color:p,columnPixelSpacing:l.pixelSpacing?l.pixelSpacing[1]:void 0,columns:n.columns,height:n.rows,intercept:f.rescaleIntercept?f.rescaleIntercept:0,invert:"MONOCHROME1"===n.photometricInterpretation,minPixelValue:n.smallestPixelValue,maxPixelValue:n.largestPixelValue,render:void 0,rowPixelSpacing:l.pixelSpacing?l.pixelSpacing[0]:void 0,rows:n.rows,sizeInBytes:n.pixelData.length,slope:f.rescaleSlope?f.rescaleSlope:1,width:n.columns,windowCenter:s.windowCenter?s.windowCenter[0]:void 0,windowWidth:s.windowWidth?s.windowWidth[0]:void 0,decodeTimeInMS:n.decodeTimeInMS,floatPixelData:void 0};if(n.pixelData instanceof Float32Array){var _=n.pixelData,D=o(_);w.minPixelValue=D.min,w.maxPixelValue=D.max,w.slope=D.slope,w.intercept=D.intercept,w.floatPixelData=_,w.getPixelData=function(){return D.intPixelData}}else w.getPixelData=function(){return n.pixelData};if(w.color?(w.render=u.renderColorImage,w.getCanvas=function(){return h===e?d:(d.height=w.rows,d.width=w.columns,d.getContext("2d").putImageData(n.imageData,0,0),h=e,d)}):w.render=u.renderGrayscaleImage,f.modalityLUTSequence&&f.modalityLUTSequence.length>0&&a(c.sopClassUID)&&(w.modalityLUT=f.modalityLUTSequence[0]),s.voiLUTSequence&&s.voiLUTSequence.length>0&&(w.voiLUT=s.voiLUTSequence[0]),w.color&&(w.windowWidth=255,w.windowCenter=127),void 0===w.windowCenter||void 0===w.windowWidth){var T=w.maxPixelValue*w.slope+w.intercept,O=w.minPixelValue*w.slope+w.intercept;w.windowWidth=T-O,w.windowCenter=(T+O)/2}t(w)},n)})}Object.defineProperty(t,"__esModule",{value:!0});var l=r(0),d=r(24),s=n(d),f=r(25),c=n(f),p=r(28),m=n(p),g=r(29),v=n(g),b=r(2),P=n(b),x=r(30),y=n(x),h="";t.default=u},function(e,t,r){"use strict";function n(e){return void 0!==s[e]}function a(e){if(s[e])return s[e].dataSet}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d.xhrRequest,r=arguments[2];if(s[e])return new Promise(function(t){s[e].cacheCount++,t(s[e].dataSet)});if(f[e])return f[e];var n=t(e,r),a=new Promise(function(t,r){n.then(function(n){var a=new Uint8Array(n),o=void 0;try{o=l.dicomParser.parseDicom(a)}catch(e){return r(e)}s[e]={dataSet:o,cacheCount:1},t(o)},r).then(function(){delete f[e]})});return f[e]=a,a}function i(e){s[e]&&0===--s[e].cacheCount&&delete s[e]}function u(){s={},f={}}Object.defineProperty(t,"__esModule",{value:!0});var l=r(0),d=r(1),s={},f={};t.default={isLoaded:n,load:o,unload:i,purge:u,get:a}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.0.0"},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(40);Object.defineProperty(t,"convertRGBColorByPixel",{enumerable:!0,get:function(){return n(a).default}});var o=r(41);Object.defineProperty(t,"convertRGBColorByPlane",{enumerable:!0,get:function(){return n(o).default}});var i=r(42);Object.defineProperty(t,"convertYBRFullByPixel",{enumerable:!0,get:function(){return n(i).default}});var u=r(43);Object.defineProperty(t,"convertYBRFullByPlane",{enumerable:!0,get:function(){return n(u).default}});var l=r(44);Object.defineProperty(t,"convertPALETTECOLOR",{enumerable:!0,get:function(){return n(l).default}})},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(12),o=r(8),i=n(o),u=r(31),l=n(u),d=r(32),s=n(d),f=r(33),c=n(f),p=r(35),m=n(p),g=r(36),v=r(4),b=n(v),P=r(34),x=n(P),y=r(53),h=n(y),w={getImagePixelModule:a.getImagePixelModule,getLUTs:a.getLUTs,getModalityLUTOutputPixelRepresentation:a.getModalityLUTOutputPixelRepresentation,getNumberValues:a.getNumberValues,metaDataProvider:a.metaDataProvider};t.default={metaData:w,dataSetCacheManager:i.default,fileManager:l.default,getEncapsulatedImageFrame:s.default,getUncompressedImageFrame:c.default,loadFileRequest:m.default,loadImageFromPromise:g.loadImageFromPromise,getLoaderForScheme:g.getLoaderForScheme,loadImage:g.loadImage,parseImageId:b.default,unpackBinaryFrame:x.default,register:h.default}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(13);Object.defineProperty(t,"getImagePixelModule",{enumerable:!0,get:function(){return n(a).default}});var o=r(14);Object.defineProperty(t,"getLUTs",{enumerable:!0,get:function(){return n(o).default}});var i=r(15);Object.defineProperty(t,"getModalityLUTOutputPixelRepresentation",{enumerable:!0,get:function(){return n(i).default}});var u=r(16);Object.defineProperty(t,"getNumberValues",{enumerable:!0,get:function(){return n(u).default}});var l=r(45);Object.defineProperty(t,"metaDataProvider",{enumerable:!0,get:function(){return n(l).default}})},function(e,t,r){"use strict";function n(e,t){if(e.elements[t]&&6===e.elements[t].length)return[e.uint16(t,0),e.uint16(t,1),e.uint16(t,2)]}function a(e,t,r){for(var n=[],a=e.elements[t],o=0;o<r[0];o++)16===r[2]?n[o]=e.uint16(t,o):n[o]=e.byteArray[o+a.dataOffset];return n}function o(e,t){t.redPaletteColorLookupTableDescriptor=n(e,"x00281101"),t.greenPaletteColorLookupTableDescriptor=n(e,"x00281102"),t.bluePaletteColorLookupTableDescriptor=n(e,"x00281103"),0===t.redPaletteColorLookupTableDescriptor[0]&&(t.redPaletteColorLookupTableDescriptor[0]=65536,t.greenPaletteColorLookupTableDescriptor[0]=65536,t.bluePaletteColorLookupTableDescriptor[0]=65536);var r=t.redPaletteColorLookupTableDescriptor[0],o=e.elements.x00281201,i=o.length===r?8:16;t.redPaletteColorLookupTableDescriptor[2]!==i&&(t.redPaletteColorLookupTableDescriptor[2]=i,t.greenPaletteColorLookupTableDescriptor[2]=i,t.bluePaletteColorLookupTableDescriptor[2]=i),t.redPaletteColorLookupTableData=a(e,"x00281201",t.redPaletteColorLookupTableDescriptor),t.greenPaletteColorLookupTableData=a(e,"x00281202",t.greenPaletteColorLookupTableDescriptor),t.bluePaletteColorLookupTableData=a(e,"x00281203",t.bluePaletteColorLookupTableDescriptor)}function i(e,t){0===e.uint16("x00280103")?(t.smallestPixelValue=e.uint16("x00280106"),t.largestPixelValue=e.uint16("x00280107")):(t.smallestPixelValue=e.int16("x00280106"),t.largestPixelValue=e.int16("x00280107"))}function u(e){var t={samplesPerPixel:e.uint16("x00280002"),photometricInterpretation:e.string("x00280004"),rows:e.uint16("x00280010"),columns:e.uint16("x00280011"),bitsAllocated:e.uint16("x00280100"),bitsStored:e.uint16("x00280101"),highBit:e.uint16("x00280102"),pixelRepresentation:e.uint16("x00280103"),planarConfiguration:e.uint16("x00280006"),pixelAspectRatio:e.string("x00280034")};return i(e,t),"PALETTE COLOR"===t.photometricInterpretation&&e.elements.x00281101&&o(e,t),t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=u},function(e,t,r){"use strict";function n(e,t){var r=t.uint16("x00283002",0);0===r&&(r=65535);var n=0;n=0===e?t.uint16("x00283002",1):t.int16("x00283002",1);for(var a=t.uint16("x00283002",2),o={id:"1",firstValueMapped:n,numBitsPerEntry:a,lut:[]},i=0;i<r;i++)o.lut[i]=0===e?t.uint16("x00283006",i):t.int16("x00283006",i);return o}function a(e,t){if(t&&t.items.length){for(var r=[],a=0;a<t.items.length;a++){var o=t.items[a].dataSet,i=n(e,o);i&&r.push(i)}return r}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a},function(e,t,r){"use strict";function n(e){var t=e.uint16("x00280103"),r=e.uint16("x00280101");return 0===t?0:-1<<r-1}function a(e){var t=e.string("x00080016");if("1.2.840.10008.5.1.4.1.1.2"===t||"1.2.840.10008.5.1.4.1.1.2.1"===t)return 1;var r=e.floatString("x00281052"),a=e.floatString("x00281053");if(void 0!==r&&void 0!==a){return n(e)*a+r<0?1:0}return e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a},function(e,t,r){"use strict";function n(e,t,r){var n=[],a=e.string(t);if(a){var o=a.split("\\");if(!(r&&o.length<r)){for(var i=0;i<o.length;i++)n.push(parseFloat(o[i]));return n}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(18),o=r(21),i=n(o),u=r(22),l=n(u),d=r(5),s=n(d),f=r(23),c=n(f),p=r(51),m=n(p),g={getNumberString:a.getNumberString,getNumberValue:a.getNumberValue,getNumberValues:a.getNumberValues,getValue:a.getValue,metaDataProvider:a.metaDataProvider};t.default={metaData:g,findIndexOfString:i.default,getPixelData:l.default,loadImage:c.default,metaDataManager:s.default,register:m.default}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(48);Object.defineProperty(t,"getNumberString",{enumerable:!0,get:function(){return n(a).default}});var o=r(19);Object.defineProperty(t,"getNumberValue",{enumerable:!0,get:function(){return n(o).default}});var i=r(20);Object.defineProperty(t,"getNumberValues",{enumerable:!0,get:function(){return n(i).default}});var u=r(3);Object.defineProperty(t,"getValue",{enumerable:!0,get:function(){return n(u).default}});var l=r(49);Object.defineProperty(t,"metaDataProvider",{enumerable:!0,get:function(){return n(l).default}})},function(e,t,r){"use strict";function n(e,t){var r=(0,o.default)(e,t);if(void 0!==r)return parseFloat(r)}Object.defineProperty(t,"__esModule",{value:!0});var a=r(3),o=function(e){return e&&e.__esModule?e:{default:e}}(a);t.default=n},function(e,t,r){"use strict";function n(e,t){if(e&&e.Value&&!(t&&e.Value.length<t)){for(var r=[],n=0;n<e.Value.length;n++)r.push(parseFloat(e.Value[n]));return r}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";function n(e,t,r){if(r+e.length>t.length)return!1;for(var n=r,a=0;a<e.length;a++)if(e[a]!==t[n++])return!1;return!0}function a(e){for(var t=new Uint8Array(e.length),r=0,n=e.length;r<n;r++)t[r]=e.charCodeAt(r);return t}function o(e,t,r){r=r||0;for(var o=a(t),i=r;i<e.length;i++)if(o[0]===e[i]&&n(o,e,i))return i;return-1}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o},function(e,t,r){"use strict";function n(e){for(var t=0;t<e.length;t++)if("--"===e[t].substr(0,2))return e[t]}function a(e){for(var t=0;t<e.length;t++)if("Content-Type:"===e[t].substr(0,13))return e[t].substr(13).trim()}function o(e,t,r){t=t||0,r=r||e.length-t;for(var n="",a=t;a<t+r;a++)n+=String.fromCharCode(e[a]);return n}function i(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/octet-stream",i={accept:r};return new Promise(function(r,l){(0,u.xhrRequest)(e,t,i).then(function(e){var t=new Uint8Array(e),i=(0,d.default)(t,"\r\n\r\n");-1===i&&l(new Error("invalid response - no multipart mime header"));var u=o(t,0,i),s=u.split("\r\n"),f=n(s);f||l(new Error("invalid response - no boundary marker"));var c=i+4,p=(0,d.default)(t,f,c);-1===p&&l(new Error("invalid response - terminating boundary not found"));var m=p-c-2;r({contentType:a(s),imageFrame:{pixelData:new Uint8Array(e,c,m)}})})})}Object.defineProperty(t,"__esModule",{value:!0});var u=r(1),l=r(21),d=function(e){return e&&e.__esModule?e:{default:e}}(l);t.default=i},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(){return"1.2.840.10008.1.2"}function o(e,t){var r=(new Date).getTime(),n=e.substring(7);return{promise:new Promise(function(o,i){if(void 0===u.default.get(e)){var l=new Error("no metadata for imageId "+e);return i(l)}(0,d.default)(n,e,'multipart/related; type="application/octet-stream"').then(function(n){var u=a(n.contentType),l=n.imageFrame.pixelData;(0,f.default)(e,l,u,t).then(function(e){var t=(new Date).getTime();e.loadTimeInMS=t-r,o(e)},i)},i)}),cancelFn:void 0}}Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),u=n(i),l=r(22),d=n(l),s=r(7),f=n(s);t.default=o},function(e,t,r){"use strict";function n(e){var t=a.external.cornerstone.metaData.get("imagePixelModule",e);return{samplesPerPixel:t.samplesPerPixel,photometricInterpretation:t.photometricInterpretation,planarConfiguration:t.planarConfiguration,rows:t.rows,columns:t.columns,bitsAllocated:t.bitsAllocated,pixelRepresentation:t.pixelRepresentation,smallestPixelValue:t.smallestPixelValue,largestPixelValue:t.largestPixelValue,redPaletteColorLookupTableDescriptor:t.redPaletteColorLookupTableDescriptor,greenPaletteColorLookupTableDescriptor:t.greenPaletteColorLookupTableDescriptor,bluePaletteColorLookupTableDescriptor:t.bluePaletteColorLookupTableDescriptor,redPaletteColorLookupTableData:t.redPaletteColorLookupTableData,greenPaletteColorLookupTableData:t.greenPaletteColorLookupTableData,bluePaletteColorLookupTableData:t.bluePaletteColorLookupTableData,pixelData:void 0}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(0);t.default=n},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e,t,r,n){var a=n.priority||void 0,o=n.transferPixelData?[r.buffer]:void 0;return u.default.addTask("decodeTask",{imageFrame:e,transferSyntax:t,pixelData:r,options:n},a,o).promise}function o(e,t,r,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if("1.2.840.10008.1.2"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.1"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.2"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.1.99"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.5"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.4.50"===t)return 8!==e.bitsAllocated||3!==e.samplesPerPixel&&4!==e.samplesPerPixel?a(e,t,r,o):(0,d.default)(e,r,n);if("1.2.840.10008.1.2.4.51"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.4.57"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.4.70"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.4.80"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.4.81"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.4.90"===t)return a(e,t,r,o);if("1.2.840.10008.1.2.4.91"===t)return a(e,t,r,o);throw new Error("No decoder for transfer syntax "+t)}Object.defineProperty(t,"__esModule",{value:!0});var i=r(26),u=n(i),l=r(27),d=n(l);t.default=o},function(e,t,r){"use strict";function n(){if(m.length){for(var e=0;e<g.length;e++)if("ready"===g[e].status){g[e].status="busy";var t=m.shift();t.start=(new Date).getTime();var r=(new Date).getTime();return x.totalTimeDelayedInMS+=r-t.added,g[e].task=t,g[e].worker.postMessage({taskType:t.taskType,workerIndex:e,data:t.data},t.transferList),void x.numTasksExecuting++}g.length<P.maxWebWorkers&&o()}}function a(e){if("initialize"===e.data.taskType)g[e.data.workerIndex].status="ready",n();else{var t=g[e.data.workerIndex].task.start;g[e.data.workerIndex].task.deferred.resolve(e.data.result),g[e.data.workerIndex].task=void 0,x.numTasksExecuting--,g[e.data.workerIndex].status="ready",x.numTasksCompleted++;var r=(new Date).getTime();x.totalTaskTimeInMS+=r-t,n()}}function o(){if(!(g.length>=P.maxWebWorkers)){var e=new Worker(P.webWorkerPath);g.push({worker:e,status:"initializing"}),e.addEventListener("message",a),e.postMessage({taskType:"initialize",workerIndex:g.length-1,config:P})}}function i(e){if(e=e||b,P)throw new Error("WebWorkerManager already initialized");if(P=e,P.maxWebWorkers=P.maxWebWorkers||navigator.hardwareConcurrency||1,!P.startWebWorkersOnDemand)for(var t=0;t<P.maxWebWorkers;t++)o()}function u(e,t){P.webWorkerTaskPaths.push(e),t&&(P.taskConfiguration=Object.assign(P.taskConfiguration,t));for(var r=0;r<g.length;r++)g[r].worker.postMessage({taskType:"loadWebWorkerTask",workerIndex:g.length-1,sourcePath:e,config:P})}function l(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments[3];P||i();var o={},u=new Promise(function(e,t){o={resolve:e,reject:t}}),l=void 0;for(l=0;l<m.length&&!(m[l].priority<r);l++);var d=p++;return m.splice(l,0,{taskId:d,taskType:e,status:"ready",added:(new Date).getTime(),data:t,deferred:o,priority:r,transferList:a}),n(),{taskId:d,promise:u}}function d(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=0;r<m.length;r++)if(m[r].taskId===e){var n=m.splice(r,1)[0];for(n.priority=t,r=0;r<m.length&&!(m[r].priority<t);r++);return m.splice(r,0,n),!0}return!1}function s(e,t){for(var r=0;r<m.length;r++)if(m[r].taskId===e){var n=m.splice(r,1);return n.deferred.reject(t),!0}return!1}function f(){return x.maxWebWorkers=P.maxWebWorkers,x.numWebWorkers=g.length,x.numTasksQueued=m.length,x}Object.defineProperty(t,"__esModule",{value:!0});var c=r(6),p=0,m=[],g=[],v=(0,c.getOptions)(),b={maxWebWorkers:navigator.hardwareConcurrency||1,startWebWorkersOnDemand:!0,webWorkerPath:"../../dist/cornerstoneWADOImageLoaderWebWorker.js",webWorkerTaskPaths:[],taskConfiguration:{decodeTask:{loadCodecsOnStartup:!0,initializeCodecsOnStartup:!1,codecsPath:"../dist/cornerstoneWADOImageLoaderCodecs.js",usePDFJS:!1,strict:v.strict}}},P=void 0,x={maxWebWorkers:0,numWebWorkers:0,numTasksQueued:0,numTasksExecuting:0,numTasksCompleted:0,totalTaskTimeInMS:0,totalTimeDelayedInMS:0};t.default={initialize:i,loadWebWorkerTask:u,addTask:l,getStatistics:f,setTaskPriority:d,cancelTask:s}},function(e,t,r){"use strict";function n(e){return a(String.fromCharCode.apply(null,Array.prototype.slice.apply(new Uint8Array(e))))}function a(e){var t=void 0;try{return decodeURIComponent(escape(e))}catch(r){if((t=r)instanceof URIError)return e;throw t}}function o(e,t,r){var a=(new Date).getTime(),o=new Blob([t],{type:"image/jpeg"});return new Promise(function(t,i){var l=new FileReader;void 0===l.readAsBinaryString?l.readAsArrayBuffer(o):l.readAsBinaryString(o),l.onload=function(){var o=new Image;o.onload=function(){r.height=o.height,r.width=o.width,e.rows=o.height,e.columns=o.width;var n=r.getContext("2d");n.drawImage(this,0,0);var i=n.getImageData(0,0,o.width,o.height),l=(new Date).getTime();e.pixelData=i.data,e.imageData=i,e.decodeTimeInMS=l-a;var d=(0,u.default)(e.pixelData);e.smallestPixelValue=d.min,e.largestPixelValue=d.max,t(e)},o.onerror=function(e){i(e)},void 0===l.readAsBinaryString?o.src="data:image/jpeg;base64,"+window.btoa(n(l.result)):o.src="data:image/jpeg;base64,"+window.btoa(l.result)},l.onerror=function(e){i(e)}})}Object.defineProperty(t,"__esModule",{value:!0});var i=r(2),u=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"RGB"===e||"PALETTE COLOR"===e||"YBR_FULL"===e||"YBR_FULL_422"===e||"YBR_PARTIAL_422"===e||"YBR_PARTIAL_420"===e||"YBR_RCT"===e||"YBR_ICT"===e}},function(e,t,r){"use strict";function n(e,t){0===e.planarConfiguration?(0,i.convertRGBColorByPixel)(e.pixelData,t):(0,i.convertRGBColorByPlane)(e.pixelData,t)}function a(e,t){0===e.planarConfiguration?(0,i.convertYBRFullByPixel)(e.pixelData,t):(0,i.convertYBRFullByPlane)(e.pixelData,t)}function o(e,t){var r=t.data;if("RGB"===e.photometricInterpretation)n(e,r);else if("YBR_RCT"===e.photometricInterpretation)n(e,r);else if("YBR_ICT"===e.photometricInterpretation)n(e,r);else if("PALETTE COLOR"===e.photometricInterpretation)(0,i.convertPALETTECOLOR)(e,r);else if("YBR_FULL_422"===e.photometricInterpretation)n(e,r);else{if("YBR_FULL"!==e.photometricInterpretation)throw new Error("No color space conversion for photometric interpretation "+e.photometricInterpretation);a(e,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var i=r(10)},function(e,t,r){"use strict";function n(e,t){if(t=t||e.transferSyntax,8===e.bitsAllocated&&"1.2.840.10008.1.2.4.50"===t&&(3===e.samplesPerPixel||4===e.samplesPerPixel))return!0}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";function n(e){return"dicomfile:"+(u.push(e)-1)}function a(e){return u[e]}function o(e){u[e]=void 0}function i(){u=[]}Object.defineProperty(t,"__esModule",{value:!0});var u=[];t.default={add:n,get:a,remove:o,purge:i}},function(e,t,r){"use strict";function n(e){return e.intString("x00280008")!==e.elements.x7fe00010.fragments.length}function a(e,t){if(e.elements.x7fe00010&&e.elements.x7fe00010.basicOffsetTable.length)return o.dicomParser.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t);if(n(e)){var r=o.dicomParser.createJPEGBasicOffsetTable(e,e.elements.x7fe00010);return o.dicomParser.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t,r)}return o.dicomParser.readEncapsulatedPixelDataFromFragments(e,e.elements.x7fe00010,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a;var o=r(0)},function(e,t,r){"use strict";function n(e,t){var r=e.elements.x7fe00010||e.elements.x7fe00008,n=e.uint16("x00280100"),a=e.uint16("x00280010"),i=e.uint16("x00280011"),u=e.uint16("x00280002"),l=r.dataOffset,d=a*i*u,s=void 0;if(8===n){if((s=l+t*d)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,s,d)}if(16===n){if((s=l+t*d*2)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,s,2*d)}if(1===n){if((s=l+t*d*.125)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return(0,o.default)(e.byteArray,s,d)}if(32===n){if((s=l+t*d*4)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,s,4*d)}throw new Error("unsupported pixel format")}Object.defineProperty(t,"__esModule",{value:!0});var a=r(34),o=function(e){return e&&e.__esModule?e:{default:e}}(a);t.default=n},function(e,t,r){"use strict";function n(e,t){return e&1<<t}function a(e,t,r){for(var a=new Uint8Array(r),o=0;o<r;o++){var i=Math.floor(o/8),u=e[i+t],l=o%8;a[o]=n(u,l)?1:0}return a}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=(0,i.default)(e),r=parseInt(t.url,10),n=l.default.get(r);return new Promise(function(e,t){var r=new FileReader;r.onload=function(t){var r=t.target.result;e(r)},r.onerror=t,r.readAsArrayBuffer(n)})}Object.defineProperty(t,"__esModule",{value:!0});var o=r(4),i=n(o),u=r(31),l=n(u);t.default=a},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){e.decache=function(){var t=(0,c.default)(e.imageId);m.default.unload(t.url)}}function o(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments[3],o=arguments[4],i=(new Date).getTime();return{promise:new Promise(function(u,l){e.then(function(e){var d=(0,P.default)(e,r),f=e.string("x00020010"),c=(new Date).getTime();(0,s.default)(t,d,f,o).then(function(t){t.data=e,t.sharedCacheKey=n;var r=(new Date).getTime();t.loadTimeInMS=c-i,t.totalTimeInMS=r-i,a(t),u(t)},l)},l)}),cancelFn:void 0}}function i(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments[3],o=arguments[4],i=(new Date).getTime();return{promise:new Promise(function(u,l){var d=(0,P.default)(e,r),f=e.string("x00020010"),c=(new Date).getTime();(0,s.default)(t,d,f,o).then(function(t){t.data=e,t.sharedCacheKey=n;var r=(new Date).getTime();t.loadTimeInMS=c-i,t.totalTimeInMS=r-i,a(t),u(t)},l)}),cancelFn:void 0}}function u(e){return"dicomweb"===e||"wadouri"===e?x.xhrRequest:"dicomfile"===e?v.default:void 0}function l(e,t){var r=(0,c.default)(e),n=u(r.scheme);if(m.default.isLoaded(r.url)){return i(m.default.get(r.url,n,e),e,r.frame,r.url,t)}return o(m.default.load(r.url,n,e),e,r.frame,r.url,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.loadImage=t.getLoaderForScheme=t.loadImageFromPromise=void 0;var d=r(7),s=n(d),f=r(4),c=n(f),p=r(8),m=n(p),g=r(35),v=n(g),b=r(52),P=n(b),x=r(1);t.loadImageFromPromise=o,t.getLoaderForScheme=u,t.loadImage=l},,,function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(10);Object.keys(a).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}})});var o=r(11);Object.defineProperty(t,"wadouri",{enumerable:!0,get:function(){return n(o).default}});var i=r(17);Object.defineProperty(t,"wadors",{enumerable:!0,get:function(){return n(i).default}});var u=r(54);Object.defineProperty(t,"configure",{enumerable:!0,get:function(){return n(u).default}});var l=r(29);Object.defineProperty(t,"convertColorSpace",{enumerable:!0,get:function(){return n(l).default}});var d=r(7);Object.defineProperty(t,"createImage",{enumerable:!0,get:function(){return n(d).default}});var s=r(25);Object.defineProperty(t,"decodeImageFrame",{enumerable:!0,get:function(){return n(s).default}});var f=r(27);Object.defineProperty(t,"decodeJPEGBaseline8BitColor",{enumerable:!0,get:function(){return n(f).default}});var c=r(24);Object.defineProperty(t,"getImageFrame",{enumerable:!0,get:function(){return n(c).default}});var p=r(2);Object.defineProperty(t,"getMinMax",{enumerable:!0,get:function(){return n(p).default}});var m=r(28);Object.defineProperty(t,"isColorImage",{enumerable:!0,get:function(){return n(m).default}});var g=r(30);Object.defineProperty(t,"isJPEGBaseline8BitColor",{enumerable:!0,get:function(){return n(g).default}});var v=r(26);Object.defineProperty(t,"webWorkerManager",{enumerable:!0,get:function(){return n(v).default}});var b=r(9);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return n(b).default}});var P=r(1);Object.defineProperty(t,"internal",{enumerable:!0,get:function(){return P.internal}});var x=r(0);Object.defineProperty(t,"external",{enumerable:!0,get:function(){return x.external}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");for(var r=e.length/3,n=0,a=0,o=0;o<r;o++)t[a++]=e[n++],t[a++]=e[n++],t[a++]=e[n++],t[a++]=255}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");for(var r=e.length/3,n=0,a=0,o=r,i=2*r,u=0;u<r;u++)t[n++]=e[a++],t[n++]=e[o++],t[n++]=e[i++],t[n++]=255}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");for(var r=e.length/3,n=0,a=0,o=0;o<r;o++){var i=e[n++],u=e[n++],l=e[n++];t[a++]=i+1.402*(l-128),t[a++]=i-.34414*(u-128)-.71414*(l-128),t[a++]=i+1.772*(u-128),t[a++]=255}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");for(var r=e.length/3,n=0,a=0,o=r,i=2*r,u=0;u<r;u++){var l=e[a++],d=e[o++],s=e[i++];t[n++]=l+1.402*(s-128),t[n++]=l-.34414*(d-128)-.71414*(s-128),t[n++]=l+1.772*(d-128),t[n++]=255}}},function(e,t,r){"use strict";function n(e,t){for(var r=e.length,n=new Uint8ClampedArray(r),a=0;a<r;++a)n[a]=e[a]>>t;return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){for(var r=e.columns*e.rows,a=e.pixelData,o=e.redPaletteColorLookupTableData,i=e.greenPaletteColorLookupTableData,u=e.bluePaletteColorLookupTableData,l=e.redPaletteColorLookupTableData.length,d=0,s=0,f=e.redPaletteColorLookupTableDescriptor[1],c=8===e.redPaletteColorLookupTableDescriptor[2]?0:8,p=n(o,c),m=n(i,c),g=n(u,c),v=0;v<r;++v){var b=a[d++];b<f?b=0:b>f+l-1?b=l-1:b-=f,t[s++]=p[b],t[s++]=m[b],t[s++]=g[b],t[s++]=255}}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var r=(0,d.default)(t),n=f.default.get(r.url);if(n){if("generalSeriesModule"===e)return{modality:n.string("x00080060"),seriesInstanceUID:n.string("x0020000e"),seriesNumber:n.intString("x00200011"),studyInstanceUID:n.string("x0020000d"),seriesDate:o.dicomParser.parseDA(n.string("x00080021")),seriesTime:o.dicomParser.parseTM(n.string("x00080031")||"")};if("patientStudyModule"===e)return{patientAge:n.intString("x00101010"),patientSize:n.floatString("x00101020"),patientWeight:n.floatString("x00101030")};if("imagePlaneModule"===e){var a=(0,u.default)(n,"x00200037",6),i=(0,u.default)(n,"x00200032",3),l=(0,u.default)(n,"x00280030",2),s=1,c=1;l&&(c=l[0],s=l[1]);var m=null,v=null;return a&&(m=[parseFloat(a[0]),parseFloat(a[1]),parseFloat(a[2])],v=[parseFloat(a[3]),parseFloat(a[4]),parseFloat(a[5])]),{frameOfReferenceUID:n.string("x00200052"),rows:n.uint16("x00280010"),columns:n.uint16("x00280011"),imageOrientationPatient:a,rowCosines:m,columnCosines:v,imagePositionPatient:i,sliceThickness:n.floatString("x00180050"),sliceLocation:n.floatString("x00201041"),pixelSpacing:l,rowPixelSpacing:c,columnPixelSpacing:s}}if("imagePixelModule"===e)return(0,p.default)(n);if("modalityLutModule"===e)return{rescaleIntercept:n.floatString("x00281052"),rescaleSlope:n.floatString("x00281053"),rescaleType:n.string("x00281054"),modalityLUTSequence:(0,g.default)(n.uint16("x00280103"),n.elements.x00283000)};if("voiLutModule"===e){var P=(0,b.default)(n);return{windowCenter:(0,u.default)(n,"x00281050",1),windowWidth:(0,u.default)(n,"x00281051",1),voiLUTSequence:(0,g.default)(P,n.elements.x00283010)}}if("sopCommonModule"===e)return{sopClassUID:n.string("x00080016"),sopInstanceUID:n.string("x00080018")};if("petIsotopeModule"===e){var x=n.elements.x00540016;if(void 0===x)return;var y=x.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:o.dicomParser.parseTM(y.string("x00181072")||""),radionuclideTotalDose:y.floatString("x00181074"),radionuclideHalfLife:y.floatString("x00181075")}}}}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(0),i=r(16),u=n(i),l=r(4),d=n(l),s=r(8),f=n(s),c=r(13),p=n(c),m=r(14),g=n(m),v=r(15),b=n(v);t.default=a},function(t,r){t.exports=e},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){i.default.register(e),l.default.register(e)}Object.defineProperty(t,"__esModule",{value:!0});var o=r(17),i=n(o),u=r(11),l=n(u);t.default=a},function(e,t,r){"use strict";function n(e,t,r){var n=(0,o.default)(e,t,r);if(void 0!==n)return parseFloat(n)}Object.defineProperty(t,"__esModule",{value:!0});var a=r(3),o=function(e){return e&&e.__esModule?e:{default:e}}(a);t.default=n},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var r=p.default.get(t);if(r){if("generalSeriesModule"===e)return{modality:(0,d.default)(r["00080060"]),seriesInstanceUID:(0,d.default)(r["0020000e"]),seriesNumber:(0,f.default)(r["00200011"]),studyInstanceUID:(0,d.default)(r["0020000d"]),seriesDate:o.dicomParser.parseDA((0,d.default)(r["00080021"])),seriesTime:o.dicomParser.parseTM((0,d.default)(r["00080031"],0,""))};if("patientStudyModule"===e)return{patientAge:(0,f.default)(r["00101010"]),patientSize:(0,f.default)(r["00101020"]),patientWeight:(0,f.default)(r["00101030"])};if("imagePlaneModule"===e){var n=(0,u.default)(r["00200037"],6),a=(0,u.default)(r["00200032"],3),i=(0,u.default)(r["00280030"],2),l=1,s=1;i&&(s=i[0],l=i[1]);var c=null,m=null;return n&&(c=[parseFloat(n[0]),parseFloat(n[1]),parseFloat(n[2])],m=[parseFloat(n[3]),parseFloat(n[4]),parseFloat(n[5])]),{frameOfReferenceUID:(0,d.default)(r["00200052"]),rows:(0,f.default)(r["00280010"]),columns:(0,f.default)(r["00280011"]),imageOrientationPatient:n,rowCosines:c,columnCosines:m,imagePositionPatient:a,sliceThickness:(0,f.default)(r["00180050"]),sliceLocation:(0,f.default)(r["00201041"]),pixelSpacing:i,rowPixelSpacing:s,columnPixelSpacing:l}}if("imagePixelModule"===e)return{samplesPerPixel:(0,f.default)(r["00280002"]),photometricInterpretation:(0,d.default)(r["00280004"]),rows:(0,f.default)(r["00280010"]),columns:(0,f.default)(r["00280011"]),bitsAllocated:(0,f.default)(r["00280100"]),bitsStored:(0,f.default)(r["00280101"]),highBit:(0,d.default)(r["00280102"]),pixelRepresentation:(0,f.default)(r["00280103"]),planarConfiguration:(0,f.default)(r["00280006"]),pixelAspectRatio:(0,d.default)(r["00280034"]),smallestPixelValue:(0,f.default)(r["00280106"]),largestPixelValue:(0,f.default)(r["00280107"]),redPaletteColorLookupTableDescriptor:(0,u.default)(r["00281101"]),greenPaletteColorLookupTableDescriptor:(0,u.default)(r["00281102"]),bluePaletteColorLookupTableDescriptor:(0,u.default)(r["00281103"]),redPaletteColorLookupTableData:(0,u.default)(r["00281201"]),greenPaletteColorLookupTableData:(0,u.default)(r["00281202"]),bluePaletteColorLookupTableData:(0,u.default)(r["00281203"])};if("voiLutModule"===e)return{windowCenter:(0,u.default)(r["00281050"],1),windowWidth:(0,u.default)(r["00281051"],1)};if("modalityLutModule"===e)return{rescaleIntercept:(0,f.default)(r["00281052"]),rescaleSlope:(0,f.default)(r["00281053"]),rescaleType:(0,d.default)(r["00281054"])};if("sopCommonModule"===e)return{sopClassUID:(0,d.default)(r["00080016"]),sopInstanceUID:(0,d.default)(r["00080018"])};if("petIsotopeModule"===e){var g=(0,d.default)(r["00540016"]);if(void 0===g)return;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:o.dicomParser.parseTM((0,d.default)(g["00181072"],0,"")),radionuclideTotalDose:(0,f.default)(g["00181074"]),radionuclideHalfLife:(0,f.default)(g["00181075"])}}}}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(0),i=r(20),u=n(i),l=r(3),d=n(l),s=r(19),f=n(s),c=r(5),p=n(c);t.default=a},function(e,t,r){"use strict";function n(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a.external.cornerstone,u=(0,o.getOptions)();return new Promise(function(a,o){var l=new XMLHttpRequest;l.open("get",e,!0),l.responseType="arraybuffer",u.beforeSend(l,t),Object.keys(r).forEach(function(e){l.setRequestHeader(e,r[e])}),n.deferred={resolve:a,reject:o},n.url=e,n.imageId=t,l.onloadstart=function(r){u.onloadstart&&u.onloadstart(r,n);var a={url:e,imageId:t};i.triggerEvent(i.events,"cornerstoneimageloadstart",a)},l.onloadend=function(r){u.onloadend&&u.onloadend(r,n);var a={url:e,imageId:t};i.triggerEvent(i.events,"cornerstoneimageloadend",a)},l.onreadystatechange=function(e){if(u.onreadystatechange)return void u.onreadystatechange(e,n);4===l.readyState&&(200===l.status?a(l.response,l):o(l))},l.onprogress=function(r){var a=r.loaded,o=void 0,l=void 0;r.lengthComputable&&(o=r.total,l=Math.round(a/o*100)),u.onprogress&&u.onprogress(r,n);var d={url:e,imageId:t,loaded:a,total:o,percentComplete:l};i.triggerEvent(i.events,"cornerstoneimageloadprogress",d)},l.send()})}Object.defineProperty(t,"__esModule",{value:!0});var a=r(0),o=r(6);t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.registerImageLoader("wadors",a.default),e.metaData.addProvider(o.metaDataProvider)};var n=r(23),a=function(e){return e&&e.__esModule?e:{default:e}}(n),o=r(18)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e.elements.x7fe00010||e.elements.x7fe00008).encapsulatedPixelData?(0,i.default)(e,t):(0,l.default)(e,t)}Object.defineProperty(t,"__esModule",{value:!0});var o=r(32),i=n(o),u=r(33),l=n(u);t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.registerImageLoader("dicomweb",n.loadImage),e.registerImageLoader("wadouri",n.loadImage),e.registerImageLoader("dicomfile",n.loadImage),e.metaData.addProvider(a.metaDataProvider)};var n=r(36),a=r(12)},function(e,t,r){"use strict";function n(e){(0,a.setOptions)(e)}Object.defineProperty(t,"__esModule",{value:!0});var a=r(1);t.default=n}])}); | ||
/*! cornerstone-wado-image-loader - 2.1.0 - 2018-04-11 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("dicom-parser")):"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoader",["dicom-parser"],t):"object"==typeof exports?exports.cornerstoneWADOImageLoader=t(require("dicom-parser")):e.cornerstoneWADOImageLoader=t(e.dicomParser)}(window,function(e){return function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:a})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=64)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.external=t.dicomParser=void 0;var a,n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(57)),o=r(56),i=(a=o)&&a.__esModule?a:{default:a};var l=void 0,u={set cornerstone(e){l=e,(0,i.default)(l)},get cornerstone(){return l}};t.dicomParser=n,t.external=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=e[0],r=e[0],a=void 0,n=e.length,o=1;o<n;o++)a=e[o],t=Math.min(t,a),r=Math.max(r,a);return{min:t,max:r}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=void 0;function n(e,t){var r=function(e,t,r){var n=a._malloc(e.length);a.writeArrayToMemory(e,n);var o=a._malloc(4),i=a._malloc(4),l=a._malloc(4),u=a._malloc(4),s=a._malloc(4),d=(new Date).getTime();if(0!==a.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[n,e.length,o,i,l,u,s]))return console.log("[opj_decode] decoding failed!"),a._free(n),a._free(a.getValue(o,"*")),a._free(l),a._free(u),a._free(i),void a._free(s);var f=a.getValue(o,"*"),c={length:a.getValue(i,"i32"),sx:a.getValue(l,"i32"),sy:a.getValue(u,"i32"),nbChannels:a.getValue(s,"i32"),perf_timetodecode:void 0,pixelData:void 0},p=c.sx*c.sy*c.nbChannels,m=new Int32Array(a.HEAP32.buffer,f,p);if(1===t)if(Uint8Array.from)c.pixelData=Uint8Array.from(m);else{c.pixelData=new Uint8Array(p);for(var g=0;g<p;g++)c.pixelData[g]=m[g]}else if(r)if(Int16Array.from)c.pixelData=Int16Array.from(m);else{c.pixelData=new Int16Array(p);for(var v=0;v<p;v++)c.pixelData[v]=m[v]}else if(Uint16Array.from)c.pixelData=Uint16Array.from(m);else{c.pixelData=new Uint16Array(p);for(var b=0;b<p;b++)c.pixelData[b]=m[b]}var x=(new Date).getTime();return c.perf_timetodecode=x-d,a._free(n),a._free(o),a._free(f),a._free(i),a._free(l),a._free(u),a._free(s),c}(t,e.bitsAllocated<=8?1:2,1===e.pixelRepresentation);return e.columns=r.sx,e.rows=r.sy,e.pixelData=r.pixelData,r.nbChannels>1&&(e.photometricInterpretation="RGB"),e}function o(e){if(!e.usePDFJS&&"undefined"==typeof OpenJPEG)throw new Error("OpenJPEG decoder not loaded");if(!(a||(a=OpenJPEG())&&a._jp2_decode))throw new Error("OpenJPEG failed to initialize")}t.default=function(e,t,r){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return o(r),a.usePDFJS||r.usePDFJS?function(e,t){var r=new JpxImage;r.parse(t);var a=r.tiles.length;if(1!==a)throw new Error("JPEG2000 decoder returned a tileCount of "+a+", when 1 is expected");return e.columns=r.width,e.rows=r.height,e.pixelData=r.tiles[0].items,e}(e,t):n(e,t)},t.initializeJPEG2000=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=void 0;function n(){if("undefined"==typeof CharLS)throw new Error("No JPEG-LS decoder loaded");if(!(a||(a=CharLS())&&a._jpegls_decode))throw new Error("JPEG-LS failed to initialize")}t.default=function(e,t){n();var r=function(e,t){var r=a._malloc(e.length);a.writeArrayToMemory(e,r);var n=a._malloc(4),o=a._malloc(4),i=a._malloc(4),l=a._malloc(4),u=a._malloc(4),s=a._malloc(4),d=a._malloc(4),f=a._malloc(4),c=a._malloc(4),p={result:a.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,n,o,i,l,u,s,f,d,c]),width:a.getValue(i,"i32"),height:a.getValue(l,"i32"),bitsPerSample:a.getValue(u,"i32"),stride:a.getValue(s,"i32"),components:a.getValue(f,"i32"),allowedLossyError:a.getValue(d,"i32"),interleaveMode:a.getValue(c,"i32"),pixelData:void 0},m=a.getValue(n,"*");return p.bitsPerSample<=8?(p.pixelData=new Uint8Array(p.width*p.height*p.components),p.pixelData.set(new Uint8Array(a.HEAP8.buffer,m,p.pixelData.length))):t?(p.pixelData=new Int16Array(p.width*p.height*p.components),p.pixelData.set(new Int16Array(a.HEAP16.buffer,m,p.pixelData.length))):(p.pixelData=new Uint16Array(p.width*p.height*p.components),p.pixelData.set(new Uint16Array(a.HEAP16.buffer,m,p.pixelData.length))),a._free(r),a._free(m),a._free(n),a._free(o),a._free(i),a._free(l),a._free(u),a._free(s),a._free(f),a._free(c),p}(t,1===e.pixelRepresentation);if(0!==r.result&&6!==r.result)throw new Error("JPEG-LS decoder failed to decode frame (error code "+r.result+")");return e.columns=r.width,e.rows=r.height,e.pixelData=r.pixelData,e},t.initializeJPEGLS=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.internal=t.xhrRequest=t.getOptions=t.setOptions=void 0;var a,n=r(53),o=(a=n)&&a.__esModule?a:{default:a},i=r(6);var l={xhrRequest:o.default,setOptions:i.setOptions,getOptions:i.getOptions};t.setOptions=i.setOptions,t.getOptions=i.getOptions,t.xhrRequest=o.default,t.internal=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.indexOf(":"),r=e.substring(t+1),a=r.indexOf("frame="),n=void 0;if(-1!==a){var o=r.substr(a+6);n=parseInt(o,10),r=r.substr(0,a-1)}return{scheme:e.substr(0,t),url:r,frame:n}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setOptions=function(e){a=Object.assign(a,e)},t.getOptions=function(){return a};var a={beforeSend:function(){},imageCreated:function(){},strict:!1,useWebWorkers:!0,decodeConfig:{usePDFJS:!1}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){return t=t||0,e&&e.Value?e.Value.length<=t?r:e.Value[t]:r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.1.0"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getInfo=u;var a=r(0),n=r(4),o=0,i={},l={};function u(){return{cacheSizeInBytes:o,numberOfDataSetsCached:Object.keys(i).length}}t.default={isLoaded:function(e){return void 0!==i[e]},load:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.xhrRequest,r=arguments[2],s=a.external.cornerstone;if(i[e])return new Promise(function(t){i[e].cacheCount++,t(i[e].dataSet)});if(l[e])return l[e].cacheCount++,l[e];var d=t(e,r),f=new Promise(function(t,r){d.then(function(n){var l=new Uint8Array(n),d=void 0;try{d=a.dicomParser.parseDicom(l)}catch(e){return r(e)}i[e]={dataSet:d,cacheCount:f.cacheCount},o+=d.byteArray.length,t(d),s.triggerEvent(s.events,"datasetscachechanged",{uri:e,action:"loaded",cacheInfo:u()})},r).then(function(){delete l[e]},function(){delete l[e]})});return f.cacheCount=1,l[e]=f,f},unload:function(e){var t=a.external.cornerstone;i[e]&&(i[e].cacheCount--,0===i[e].cacheCount&&(o-=i[e].dataSet.byteArray.length,delete i[e],t.triggerEvent(t.events,"datasetscachechanged",{uri:e,action:"unloaded",cacheInfo:u()})))},getInfo:u,purge:function(){i={},l={}},get:function(e){if(i[e])return i[e].dataSet}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=(0,o.default)(e.pixelData);!0===t?(e.smallestPixelValue!==r.min&&console.warn("Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably."),e.largestPixelValue!==r.max&&console.warn("Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.")):(e.smallestPixelValue=r.min,e.largestPixelValue=r.max)};var a,n=r(1),o=(a=n)&&a.__esModule?a:{default:a}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("undefined"==typeof jpeg||void 0===jpeg.lossless||void 0===jpeg.lossless.Decoder)throw new Error("No JPEG Lossless decoder loaded");var r=e.bitsAllocated<=8?1:2,a=t.buffer,n=(new jpeg.lossless.Decoder).decode(a,t.byteOffset,t.length,r);return 0===e.pixelRepresentation?16===e.bitsAllocated?(e.pixelData=new Uint16Array(n.buffer),e):(e.pixelData=new Uint8Array(n.buffer),e):(e.pixelData=new Int16Array(n.buffer),e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("undefined"==typeof JpegImage)throw new Error("No JPEG Baseline decoder loaded");var r=new JpegImage;return r.parse(t),r.colorTransform=!1,8===e.bitsAllocated?(e.pixelData=r.getData(e.columns,e.rows),e):16===e.bitsAllocated?(e.pixelData=r.getData16(e.columns,e.rows),e):void 0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(8===e.bitsAllocated)return e.planarConfiguration?function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),o=new DataView(r.buffer,r.byteOffset),i=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),u=0,s=o.getInt32(0,!0),d=0;d<s;++d){u=d*a;var f=o.getInt32(4*(d+1),!0),c=o.getInt32(4*(d+2),!0);0===c&&(c=r.length);for(var p=a*s;f<c;){var m=i[f++];if(m>=0&&m<=127)for(var g=0;g<m+1&&u<p;++g)l[u]=i[f++],u++;else if(m<=-1&&m>=-127)for(var v=i[f++],b=0;b<1-m&&u<p;++b)l[u]=v,u++}}return e.pixelData=new Uint8Array(n),e}(e,t):function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),o=new DataView(r.buffer,r.byteOffset),i=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),u=0,s=o.getInt32(0,!0),d=0;d<s;++d){u=d;var f=o.getInt32(4*(d+1),!0),c=o.getInt32(4*(d+2),!0);0===c&&(c=r.length);for(var p=a*s;f<c;){var m=i[f++];if(m>=0&&m<=127)for(var g=0;g<m+1&&u<p;++g)l[u]=i[f++],u+=e.samplesPerPixel;else if(m<=-1&&m>=-127)for(var v=i[f++],b=0;b<1-m&&u<p;++b)l[u]=v,u+=e.samplesPerPixel}}return e.pixelData=new Uint8Array(n),e}(e,t);if(16===e.bitsAllocated)return function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel*2),o=new DataView(r.buffer,r.byteOffset),i=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),u=o.getInt32(0,!0),s=0;s<u;++s){var d=0,f=0===s?1:0,c=o.getInt32(4*(s+1),!0),p=o.getInt32(4*(s+2),!0);for(0===p&&(p=r.length);c<p;){var m=i[c++];if(m>=0&&m<=127)for(var g=0;g<m+1&&d<a;++g)l[2*d+f]=i[c++],d++;else if(m<=-1&&m>=-127)for(var v=i[c++],b=0;b<1-m&&d<a;++b)l[2*d+f]=v,d++}}return 0===e.pixelRepresentation?e.pixelData=new Uint16Array(n):e.pixelData=new Int16Array(n),e}(e,t);throw new Error("unsupported pixel format for RLE")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(16===e.bitsAllocated){var r=t.buffer,a=t.byteOffset,n=t.length;a%2&&(r=r.slice(a),a=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,a,n/2):e.pixelData=new Int16Array(r,a,n/2);for(var o=0;o<e.pixelData.length;o++)e.pixelData[o]=(255&(i=e.pixelData[o]))<<8|i>>8&255}else 8===e.bitsAllocated&&(e.pixelData=t);var i;return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=t.buffer,a=t.byteOffset,n=t.length;return 16===e.bitsAllocated?(a%2&&(r=r.slice(a),a=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,a,n/2):e.pixelData=new Int16Array(r,a,n/2)):8===e.bitsAllocated||1===e.bitsAllocated?e.pixelData=t:32===e.bitsAllocated&&(a%2&&(r=r.slice(a),a=0),e.pixelData=new Float32Array(r,a,n/4)),e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=d(r(15)),n=d(r(14)),o=d(r(13)),i=d(r(12)),l=d(r(11)),u=d(r(3)),s=d(r(2));function d(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r,d,f){var c=(new Date).getTime();if("1.2.840.10008.1.2"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.1"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.2"===t)e=(0,n.default)(e,r);else if("1.2.840.10008.1.2.1.99"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.5"===t)e=(0,o.default)(e,r);else if("1.2.840.10008.1.2.4.50"===t)e=(0,i.default)(e,r);else if("1.2.840.10008.1.2.4.51"===t)e=(0,i.default)(e,r);else if("1.2.840.10008.1.2.4.57"===t)e=(0,l.default)(e,r);else if("1.2.840.10008.1.2.4.70"===t)e=(0,l.default)(e,r);else if("1.2.840.10008.1.2.4.80"===t)e=(0,u.default)(e,r);else if("1.2.840.10008.1.2.4.81"===t)e=(0,u.default)(e,r);else if("1.2.840.10008.1.2.4.90"===t)e=(0,s.default)(e,r,d,f);else{if("1.2.840.10008.1.2.4.91"!==t)throw new Error("no decoder for transfer syntax "+t);e=(0,s.default)(e,r,d,f)}var p=void 0!==e.pixelRepresentation&&1===e.pixelRepresentation,m=p&&void 0!==e.bitsStored?32-e.bitsStored:void 0;if(p&&void 0!==m)for(var g=0;g<e.pixelData.length;g++)e.pixelData[g]=e.pixelData[g]<<m>>m;var v=(new Date).getTime();return e.decodeTimeInMS=v-c,e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(0),n=d(r(31)),o=d(r(30)),i=d(r(27)),l=d(r(26)),u=d(r(1)),s=d(r(25));function d(e){return e&&e.__esModule?e:{default:e}}var f="";t.default=function(e,t,r,d){if(!t||!t.length)return Promise.reject(new Error("The file does not contain image data."));var c=a.external.cornerstone,p=document.createElement("canvas"),m=(0,n.default)(e),g=(0,o.default)(m,r,t,p,d);return new Promise(function(t,a){g.then(function(a){var n=c.metaData.get("imagePlaneModule",e)||{},o=c.metaData.get("voiLutModule",e)||{},d=c.metaData.get("modalityLutModule",e)||{},m=c.metaData.get("sopCommonModule",e)||{},g=(0,i.default)(a.photometricInterpretation);if(!(0,s.default)(a,r)&&(function(e){32===e.bitsAllocated?e.pixelData=new Float32Array(e.pixelData):16===e.bitsAllocated?0===e.pixelRepresentation?e.pixelData=new Uint16Array(e.pixelData):e.pixelData=new Int16Array(e.pixelData):e.pixelData=new Uint8Array(e.pixelData)}(a),g)){p.height=a.rows,p.width=a.columns;var v=p.getContext("2d").createImageData(a.columns,a.rows);(0,l.default)(a,v),a.imageData=v,a.pixelData=v.data;var b=(0,u.default)(a.pixelData);a.smallestPixelValue=b.min,a.largestPixelValue=b.max}var x,P={imageId:e,color:g,columnPixelSpacing:n.pixelSpacing?n.pixelSpacing[1]:void 0,columns:a.columns,height:a.rows,intercept:d.rescaleIntercept?d.rescaleIntercept:0,invert:"MONOCHROME1"===a.photometricInterpretation,minPixelValue:a.smallestPixelValue,maxPixelValue:a.largestPixelValue,render:void 0,rowPixelSpacing:n.pixelSpacing?n.pixelSpacing[0]:void 0,rows:a.rows,sizeInBytes:a.pixelData.length,slope:d.rescaleSlope?d.rescaleSlope:1,width:a.columns,windowCenter:o.windowCenter?o.windowCenter[0]:void 0,windowWidth:o.windowWidth?o.windowWidth[0]:void 0,decodeTimeInMS:a.decodeTimeInMS,floatPixelData:void 0};if(a.pixelData instanceof Float32Array){var y=a.pixelData,h=function(e){for(var t=(0,u.default)(e),r=Math.abs(t.max-t.min)/65535,a=t.min,n=e.length,o=new Uint16Array(n),i=65535,l=0,s=0;s<n;s++){var d=Math.floor((e[s]-a)/r);o[s]=d,i=Math.min(i,d),l=Math.max(l,d)}return{min:i,max:l,intPixelData:o,slope:r,intercept:a}}(y);P.minPixelValue=h.min,P.maxPixelValue=h.max,P.slope=h.slope,P.intercept=h.intercept,P.floatPixelData=y,P.getPixelData=function(){return h.intPixelData}}else P.getPixelData=function(){return a.pixelData};if(P.color?(P.render=c.renderColorImage,P.getCanvas=function(){return f===e?p:(p.height=P.rows,p.width=P.columns,p.getContext("2d").putImageData(a.imageData,0,0),f=e,p)}):P.render=c.renderGrayscaleImage,d.modalityLUTSequence&&d.modalityLUTSequence.length>0&&"1.2.840.10008.5.1.4.1.1.12.1"!==(x=m.sopClassUID)&&"1.2.840.10008.5.1.4.1.1.12.2.1"!==x&&(P.modalityLUT=d.modalityLUTSequence[0]),o.voiLUTSequence&&o.voiLUTSequence.length>0&&(P.voiLUT=o.voiLUTSequence[0]),P.color&&(P.windowWidth=255,P.windowCenter=127),void 0===P.windowCenter||void 0===P.windowWidth){var w=P.maxPixelValue*P.slope+P.intercept,_=P.minPixelValue*P.slope+P.intercept;P.windowWidth=w-_,P.windowCenter=(w+_)/2}t(P)},a)})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=[];t.default={add:function(e,t){a[e]=t},get:function(e){return a[e]},remove:function(e){a[e]=void 0},purge:function(){a=[]}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadImage=t.getLoaderForScheme=t.loadImageFromPromise=void 0;var a=s(r(17)),n=s(r(5)),o=s(r(9)),i=s(r(20)),l=s(r(51)),u=r(4);function s(e){return e&&e.__esModule?e:{default:e}}function d(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments[3],u=arguments[4],s=arguments[5],d=(new Date).getTime(),f={cancelFn:void 0};return f.promise=new Promise(function(c,p){e.then(function(e){var m=(0,l.default)(e,r),g=e.string("x00020010"),v=(new Date).getTime(),b=(0,a.default)(t,m,g,u);!function(e,t){e.decache=function(){var e=(0,n.default)(t);o.default.unload(e.url)}}(f,t),b.then(function(t){t.data=e,t.sharedCacheKey=i;var r=(new Date).getTime();t.loadTimeInMS=v-d,t.totalTimeInMS=r-d,void 0!==s&&void 0!==s.imageDoneCallback&&s.imageDoneCallback(t),c(t)},function(t){p({error:t,dataSet:e})})},function(e){p({error:e})})}),f}function f(e){return"dicomweb"===e||"wadouri"===e?u.xhrRequest:"dicomfile"===e?i.default:void 0}t.loadImageFromPromise=d,t.getLoaderForScheme=f,t.loadImage=function(e,t){var r=(0,n.default)(e),i=f(r.scheme);return o.default.isLoaded(r.url)?function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments[3],o=arguments[4],i=(new Date).getTime();return{promise:new Promise(function(u,s){var d=(new Date).getTime(),f=void 0;try{var c=(0,l.default)(e,r),p=e.string("x00020010");f=(0,a.default)(t,c,p,o)}catch(t){return void s({error:t,dataSet:e})}f.then(function(t){t.data=e,t.sharedCacheKey=n;var r=(new Date).getTime();t.loadTimeInMS=d-i,t.totalTimeInMS=r-i,u(t)},s)}),cancelFn:void 0}}(o.default.get(r.url,i,e),e,r.frame,r.url,t):d(o.default.load(r.url,i,e),e,r.frame,r.url,t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=o(r(5)),n=o(r(24));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){var t=(0,a.default)(e),r=parseInt(t.url,10),o=n.default.get(r);return new Promise(function(e,t){var r=new FileReader;r.onload=function(t){var r=t.target.result;e(r)},r.onerror=t,r.readAsArrayBuffer(o)})}},function(e,t,r){"use strict";function a(e,t){return e&1<<t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){for(var n=new Uint8Array(r),o=0;o<r;o++){var i=e[Math.floor(o/8)+t],l=o%8;n[o]=a(i,l)?1:0}return n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,n=r(21),o=(a=n)&&a.__esModule?a:{default:a};t.default=function(e,t){var r=e.elements.x7fe00010||e.elements.x7fe00008,a=e.uint16("x00280100"),n=e.uint16("x00280010"),i=e.uint16("x00280011"),l=e.uint16("x00280002"),u=r.dataOffset,s=n*i*l,d=void 0;if(8===a){if((d=u+t*s)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,d,s)}if(16===a){if((d=u+t*s*2)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,d,2*s)}if(1===a){if((d=u+t*s*.125)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return(0,o.default)(e.byteArray,d,s)}if(32===a){if((d=u+t*s*4)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,d,4*s)}throw new Error("unsupported pixel format")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e.elements.x7fe00010&&e.elements.x7fe00010.basicOffsetTable.length)return a.dicomParser.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t);if(function(e){var t=e.intString("x00280008"),r=e.elements.x7fe00010;return t!==r.fragments.length}(e)){var r=a.dicomParser.createJPEGBasicOffsetTable(e,e.elements.x7fe00010);return a.dicomParser.readEncapsulatedImageFrame(e,e.elements.x7fe00010,t,r)}return a.dicomParser.readEncapsulatedPixelDataFromFragments(e,e.elements.x7fe00010,t)};var a=r(0)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=[];t.default={add:function(e){return"dicomfile:"+(a.push(e)-1)},get:function(e){return a[e]},remove:function(e){a[e]=void 0},purge:function(){a=[]}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(t=t||e.transferSyntax,8===e.bitsAllocated&&"1.2.840.10008.1.2.4.50"===t&&(3===e.samplesPerPixel||4===e.samplesPerPixel))return!0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=t.data;if("RGB"===e.photometricInterpretation)n(e,r);else if("YBR_RCT"===e.photometricInterpretation)n(e,r);else if("YBR_ICT"===e.photometricInterpretation)n(e,r);else if("PALETTE COLOR"===e.photometricInterpretation)(0,a.convertPALETTECOLOR)(e,r);else if("YBR_FULL_422"===e.photometricInterpretation)n(e,r);else{if("YBR_FULL"!==e.photometricInterpretation)throw new Error("No color space conversion for photometric interpretation "+e.photometricInterpretation);!function(e,t){0===e.planarConfiguration?(0,a.convertYBRFullByPixel)(e.pixelData,t):(0,a.convertYBRFullByPlane)(e.pixelData,t)}(e,r)}};var a=r(45);function n(e,t){0===e.planarConfiguration?(0,a.convertRGBColorByPixel)(e.pixelData,t):(0,a.convertRGBColorByPlane)(e.pixelData,t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"RGB"===e||"PALETTE COLOR"===e||"YBR_FULL"===e||"YBR_FULL_422"===e||"YBR_PARTIAL_422"===e||"YBR_PARTIAL_420"===e||"YBR_RCT"===e||"YBR_ICT"===e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,n=r(1),o=(a=n)&&a.__esModule?a:{default:a};function i(e){return function(e){var t=void 0;try{return decodeURIComponent(escape(e))}catch(r){if((t=r)instanceof URIError)return e;throw t}}(String.fromCharCode.apply(null,Array.prototype.slice.apply(new Uint8Array(e))))}t.default=function(e,t,r){var a=(new Date).getTime(),n=new Blob([t],{type:"image/jpeg"});return new Promise(function(t,l){var u=new FileReader;void 0===u.readAsBinaryString?u.readAsArrayBuffer(n):u.readAsBinaryString(n),u.onload=function(){var n=new Image;n.onload=function(){r.height=n.height,r.width=n.width,e.rows=n.height,e.columns=n.width;var i=r.getContext("2d");i.drawImage(this,0,0);var l=i.getImageData(0,0,n.width,n.height),u=(new Date).getTime();e.pixelData=l.data,e.imageData=l,e.decodeTimeInMS=u-a;var s=(0,o.default)(e.pixelData);e.smallestPixelValue=s.min,e.largestPixelValue=s.max,t(e)},n.onerror=function(e){l(e)},void 0===u.readAsBinaryString?n.src="data:image/jpeg;base64,"+window.btoa(i(u.result)):n.src="data:image/jpeg;base64,"+window.btoa(u.result)},u.onerror=function(e){l(e)}})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=0,n=[],o=[],i=(0,r(6).getOptions)(),l={maxWebWorkers:navigator.hardwareConcurrency||1,startWebWorkersOnDemand:!0,webWorkerPath:"../../dist/cornerstoneWADOImageLoaderWebWorker.js",webWorkerTaskPaths:[],taskConfiguration:{decodeTask:{loadCodecsOnStartup:!0,initializeCodecsOnStartup:!1,codecsPath:"../dist/cornerstoneWADOImageLoaderCodecs.js",usePDFJS:!1,strict:i.strict}}},u=void 0,s={maxWebWorkers:0,numWebWorkers:0,numTasksQueued:0,numTasksExecuting:0,numTasksCompleted:0,totalTaskTimeInMS:0,totalTimeDelayedInMS:0};function d(){if(n.length){for(var e=0;e<o.length;e++)if("ready"===o[e].status){o[e].status="busy";var t=n.shift();t.start=(new Date).getTime();var r=(new Date).getTime();return s.totalTimeDelayedInMS+=r-t.added,o[e].task=t,o[e].worker.postMessage({taskType:t.taskType,workerIndex:e,data:t.data},t.transferList),void s.numTasksExecuting++}o.length<u.maxWebWorkers&&c()}}function f(e){if("initialize"===e.data.taskType)o[e.data.workerIndex].status="ready",d();else{var t=o[e.data.workerIndex].task.start;o[e.data.workerIndex].task.deferred.resolve(e.data.result),o[e.data.workerIndex].task=void 0,s.numTasksExecuting--,o[e.data.workerIndex].status="ready",s.numTasksCompleted++;var r=(new Date).getTime();s.totalTaskTimeInMS+=r-t,d()}}function c(){if(!(o.length>=u.maxWebWorkers)){var e=new Worker(u.webWorkerPath);o.push({worker:e,status:"initializing"}),e.addEventListener("message",f),e.postMessage({taskType:"initialize",workerIndex:o.length-1,config:u})}}function p(e){if(e=e||l,u)throw new Error("WebWorkerManager already initialized");if((u=e).maxWebWorkers=u.maxWebWorkers||navigator.hardwareConcurrency||1,!u.startWebWorkersOnDemand)for(var t=0;t<u.maxWebWorkers;t++)c()}t.default={initialize:p,loadWebWorkerTask:function(e,t){u.webWorkerTaskPaths.push(e),t&&(u.taskConfiguration=Object.assign(u.taskConfiguration,t));for(var r=0;r<o.length;r++)o[r].worker.postMessage({taskType:"loadWebWorkerTask",workerIndex:o.length-1,sourcePath:e,config:u})},addTask:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments[3];u||p();var i={},l=new Promise(function(e,t){i={resolve:e,reject:t}}),s=void 0;for(s=0;s<n.length&&!(n[s].priority<r);s++);var f=a++;return n.splice(s,0,{taskId:f,taskType:e,status:"ready",added:(new Date).getTime(),data:t,deferred:i,priority:r,transferList:o}),d(),{taskId:f,promise:l}},getStatistics:function(){return s.maxWebWorkers=u.maxWebWorkers,s.numWebWorkers=o.length,s.numTasksQueued=n.length,s},setTaskPriority:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=0;r<n.length;r++)if(n[r].taskId===e){var a=n.splice(r,1)[0];for(a.priority=t,r=0;r<n.length&&!(n[r].priority<t);r++);return n.splice(r,0,a),!0}return!1},cancelTask:function(e,t){for(var r=0;r<n.length;r++)if(n[r].taskId===e)return n.splice(r,1).deferred.reject(t),!0;return!1}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(6),n=d(r(29)),o=d(r(28)),i=d(r(16)),l=d(r(10)),u=r(2),s=r(3);function d(e){return e&&e.__esModule?e:{default:e}}var f=!1;function c(e,t,r,o){var d=o.priority||void 0,c=o.transferPixelData?[r.buffer]:void 0,p=(0,a.getOptions)(),m=p.strict,g=p.decodeConfig;return!1===p.useWebWorkers?(!1===f&&((0,u.initializeJPEG2000)(g),(0,s.initializeJPEGLS)(g),f=!0),new Promise(function(a,n){try{var u=[e,t,r,g,o],s=i.default.apply(void 0,u);(0,l.default)(s,m),a(s)}catch(e){n(e)}})):n.default.addTask("decodeTask",{imageFrame:e,transferSyntax:t,pixelData:r,options:o},d,c).promise}t.default=function(e,t,r,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return"1.2.840.10008.1.2"===t?c(e,t,r,n):"1.2.840.10008.1.2.1"===t?c(e,t,r,n):"1.2.840.10008.1.2.2"===t?c(e,t,r,n):"1.2.840.10008.1.2.1.99"===t?c(e,t,r,n):"1.2.840.10008.1.2.5"===t?c(e,t,r,n):"1.2.840.10008.1.2.4.50"===t?8!==e.bitsAllocated||3!==e.samplesPerPixel&&4!==e.samplesPerPixel?c(e,t,r,n):(0,o.default)(e,r,a):"1.2.840.10008.1.2.4.51"===t?c(e,t,r,n):"1.2.840.10008.1.2.4.57"===t?c(e,t,r,n):"1.2.840.10008.1.2.4.70"===t?c(e,t,r,n):"1.2.840.10008.1.2.4.80"===t?c(e,t,r,n):"1.2.840.10008.1.2.4.81"===t?c(e,t,r,n):"1.2.840.10008.1.2.4.90"===t?c(e,t,r,n):"1.2.840.10008.1.2.4.91"===t?c(e,t,r,n):new Promise(function(e,r){r(new Error("No decoder for transfer syntax "+t))})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(0);t.default=function(e){var t=a.external.cornerstone.metaData.get("imagePixelModule",e);return{samplesPerPixel:t.samplesPerPixel,photometricInterpretation:t.photometricInterpretation,planarConfiguration:t.planarConfiguration,rows:t.rows,columns:t.columns,bitsAllocated:t.bitsAllocated,bitsStored:t.bitsStored,pixelRepresentation:t.pixelRepresentation,smallestPixelValue:t.smallestPixelValue,largestPixelValue:t.largestPixelValue,redPaletteColorLookupTableDescriptor:t.redPaletteColorLookupTableDescriptor,greenPaletteColorLookupTableDescriptor:t.greenPaletteColorLookupTableDescriptor,bluePaletteColorLookupTableDescriptor:t.bluePaletteColorLookupTableDescriptor,redPaletteColorLookupTableData:t.redPaletteColorLookupTableData,greenPaletteColorLookupTableData:t.greenPaletteColorLookupTableData,bluePaletteColorLookupTableData:t.bluePaletteColorLookupTableData,pixelData:void 0}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTransferSyntaxForContentType=l;var a=i(r(18)),n=i(r(33)),o=i(r(17));function i(e){return e&&e.__esModule?e:{default:e}}function l(e){var t="1.2.840.10008.1.2";if(e){var r=e.split(";");for(var a in r){var n=r[a].split("=");2===n.length&&("transfer-syntax"===n[0].trim()&&(t=n[1].trim()||t))}}return t}t.default=function(e,t){var r=(new Date).getTime(),i=e.substring(7);return{promise:new Promise(function(u,s){if(void 0===a.default.get(e)){var d=new Error("no metadata for imageId "+e);return s(d)}(0,n.default)(i,e,'multipart/related; type="application/octet-stream"').then(function(a){var n=l(a.contentType),i=a.imageFrame.pixelData;(0,o.default)(e,i,n,t).then(function(e){var t=(new Date).getTime();e.loadTimeInMS=t-r,u(e)},s)},s)}),cancelFn:void 0}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,n=r(4),o=r(34),i=(a=o)&&a.__esModule?a:{default:a};t.default=function(e,t){var r={accept:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/octet-stream"};return new Promise(function(a,o){(0,n.xhrRequest)(e,t,r).then(function(e){var t=new Uint8Array(e),r=(0,i.default)(t,"\r\n\r\n");-1===r&&o(new Error("invalid response - no multipart mime header"));var n=function(e,t,r){t=t||0,r=r||e.length-t;for(var a="",n=t;n<t+r;n++)a+=String.fromCharCode(e[n]);return a}(t,0,r).split("\r\n"),l=function(e){for(var t=0;t<e.length;t++)if("--"===e[t].substr(0,2))return e[t]}(n);l||o(new Error("invalid response - no boundary marker"));var u=r+4,s=(0,i.default)(t,l,u);-1===s&&o(new Error("invalid response - terminating boundary not found"));var d=s-u-2;a({contentType:function(e){for(var t=0;t<e.length;t++)if("Content-Type:"===e[t].substr(0,13))return e[t].substr(13).trim()}(n),imageFrame:{pixelData:new Uint8Array(e,u,d)}})})})}},function(e,t,r){"use strict";function a(e,t,r){if(r+e.length>t.length)return!1;for(var a=r,n=0;n<e.length;n++)if(e[n]!==t[a++])return!1;return!0}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){r=r||0;for(var n=function(e){for(var t=new Uint8Array(e.length),r=0,a=e.length;r<a;r++)t[r]=e.charCodeAt(r);return t}(t),o=r;o<e.length;o++)if(n[0]===e[o]&&a(n,e,o))return o;return-1}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e&&e.Value&&!(t&&e.Value.length<t)){for(var r=[],a=0;a<e.Value.length;a++)r.push(parseFloat(e.Value[a]));return r}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,n=r(7),o=(a=n)&&a.__esModule?a:{default:a};t.default=function(e,t){var r=(0,o.default)(e,t);if(void 0!==r)return parseFloat(r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(55);Object.defineProperty(t,"getNumberString",{enumerable:!0,get:function(){return u(a).default}});var n=r(36);Object.defineProperty(t,"getNumberValue",{enumerable:!0,get:function(){return u(n).default}});var o=r(35);Object.defineProperty(t,"getNumberValues",{enumerable:!0,get:function(){return u(o).default}});var i=r(7);Object.defineProperty(t,"getValue",{enumerable:!0,get:function(){return u(i).default}});var l=r(54);function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"metaDataProvider",{enumerable:!0,get:function(){return u(l).default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(37),n=s(r(34)),o=s(r(33)),i=s(r(18)),l=s(r(32)),u=s(r(52));function s(e){return e&&e.__esModule?e:{default:e}}var d={getNumberString:a.getNumberString,getNumberValue:a.getNumberValue,getNumberValues:a.getNumberValues,getValue:a.getValue,metaDataProvider:a.metaDataProvider};t.default={metaData:d,findIndexOfString:n.default,getPixelData:o.default,loadImage:l.default,metaDataManager:i.default,register:u.default}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var a=[],n=e.string(t);if(n){var o=n.split("\\");if(!(r&&o.length<r)){for(var i=0;i<o.length;i++)a.push(parseFloat(o[i]));return a}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.string("x00080016");if("1.2.840.10008.5.1.4.1.1.2"===t||"1.2.840.10008.5.1.4.1.1.2.1"===t)return 1;var r=e.floatString("x00281052"),a=e.floatString("x00281053");return void 0!==r&&void 0!==a?function(e){var t=e.uint16("x00280103"),r=e.uint16("x00280101");return 0===t?0:-1<<r-1}(e)*a+r<0?1:0:e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")}},function(e,t,r){"use strict";function a(e,t){var r=t.uint16("x00283002",0);0===r&&(r=65535);for(var a={id:"1",firstValueMapped:0===e?t.uint16("x00283002",1):t.int16("x00283002",1),numBitsPerEntry:t.uint16("x00283002",2),lut:[]},n=0;n<r;n++)a.lut[n]=0===e?t.uint16("x00283006",n):t.int16("x00283006",n);return a}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(t&&t.items.length){for(var r=[],n=0;n<t.items.length;n++){var o=a(e,t.items[n].dataSet);o&&r.push(o)}return r}}},function(e,t,r){"use strict";function a(e,t){if(e.elements[t]&&6===e.elements[t].length)return[e.uint16(t,0),e.uint16(t,1),e.uint16(t,2)]}function n(e,t,r){for(var a=[],n=e.elements[t],o=0;o<r[0];o++)16===r[2]?a[o]=e.uint16(t,o):a[o]=e.byteArray[o+n.dataOffset];return a}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t={samplesPerPixel:e.uint16("x00280002"),photometricInterpretation:e.string("x00280004"),rows:e.uint16("x00280010"),columns:e.uint16("x00280011"),bitsAllocated:e.uint16("x00280100"),bitsStored:e.uint16("x00280101"),highBit:e.uint16("x00280102"),pixelRepresentation:e.uint16("x00280103"),planarConfiguration:e.uint16("x00280006"),pixelAspectRatio:e.string("x00280034")};return function(e,t){0===e.uint16("x00280103")?(t.smallestPixelValue=e.uint16("x00280106"),t.largestPixelValue=e.uint16("x00280107")):(t.smallestPixelValue=e.int16("x00280106"),t.largestPixelValue=e.int16("x00280107"))}(e,t),"PALETTE COLOR"===t.photometricInterpretation&&e.elements.x00281101&&function(e,t){t.redPaletteColorLookupTableDescriptor=a(e,"x00281101"),t.greenPaletteColorLookupTableDescriptor=a(e,"x00281102"),t.bluePaletteColorLookupTableDescriptor=a(e,"x00281103"),0===t.redPaletteColorLookupTableDescriptor[0]&&(t.redPaletteColorLookupTableDescriptor[0]=65536,t.greenPaletteColorLookupTableDescriptor[0]=65536,t.bluePaletteColorLookupTableDescriptor[0]=65536);var r=t.redPaletteColorLookupTableDescriptor[0],o=e.elements.x00281201.length===r?8:16;t.redPaletteColorLookupTableDescriptor[2]!==o&&(t.redPaletteColorLookupTableDescriptor[2]=o,t.greenPaletteColorLookupTableDescriptor[2]=o,t.bluePaletteColorLookupTableDescriptor[2]=o),t.redPaletteColorLookupTableData=n(e,"x00281201",t.redPaletteColorLookupTableDescriptor),t.greenPaletteColorLookupTableData=n(e,"x00281202",t.greenPaletteColorLookupTableDescriptor),t.bluePaletteColorLookupTableData=n(e,"x00281203",t.bluePaletteColorLookupTableDescriptor)}(e,t),t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(42);Object.defineProperty(t,"getImagePixelModule",{enumerable:!0,get:function(){return u(a).default}});var n=r(41);Object.defineProperty(t,"getLUTs",{enumerable:!0,get:function(){return u(n).default}});var o=r(40);Object.defineProperty(t,"getModalityLUTOutputPixelRepresentation",{enumerable:!0,get:function(){return u(o).default}});var i=r(39);Object.defineProperty(t,"getNumberValues",{enumerable:!0,get:function(){return u(i).default}});var l=r(58);function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"metaDataProvider",{enumerable:!0,get:function(){return u(l).default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(43),n=p(r(9)),o=p(r(24)),i=p(r(23)),l=p(r(22)),u=p(r(20)),s=r(19),d=p(r(5)),f=p(r(21)),c=p(r(50));function p(e){return e&&e.__esModule?e:{default:e}}var m={getImagePixelModule:a.getImagePixelModule,getLUTs:a.getLUTs,getModalityLUTOutputPixelRepresentation:a.getModalityLUTOutputPixelRepresentation,getNumberValues:a.getNumberValues,metaDataProvider:a.metaDataProvider};t.default={metaData:m,dataSetCacheManager:n.default,fileManager:o.default,getEncapsulatedImageFrame:i.default,getUncompressedImageFrame:l.default,loadFileRequest:u.default,loadImageFromPromise:s.loadImageFromPromise,getLoaderForScheme:s.getLoaderForScheme,loadImage:s.loadImage,parseImageId:d.default,unpackBinaryFrame:f.default,register:c.default}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(63);Object.defineProperty(t,"convertRGBColorByPixel",{enumerable:!0,get:function(){return u(a).default}});var n=r(62);Object.defineProperty(t,"convertRGBColorByPlane",{enumerable:!0,get:function(){return u(n).default}});var o=r(61);Object.defineProperty(t,"convertYBRFullByPixel",{enumerable:!0,get:function(){return u(o).default}});var i=r(60);Object.defineProperty(t,"convertYBRFullByPlane",{enumerable:!0,get:function(){return u(i).default}});var l=r(59);function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"convertPALETTECOLOR",{enumerable:!0,get:function(){return u(l).default}})},,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(4);t.default=function(e){(0,a.setOptions)(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.registerImageLoader("dicomweb",a.loadImage),e.registerImageLoader("wadouri",a.loadImage),e.registerImageLoader("dicomfile",a.loadImage),e.metaData.addProvider(n.metaDataProvider)};var a=r(19),n=r(43)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=o(r(23)),n=o(r(22));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.elements.x7fe00010||e.elements.x7fe00008;return r?r.encapsulatedPixelData?(0,a.default)(e,t):(0,n.default)(e,t):null}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.registerImageLoader("wadors",o.default),e.metaData.addProvider(i.metaDataProvider)};var a,n=r(32),o=(a=n)&&a.__esModule?a:{default:a},i=r(37)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(0),n=r(6);t.default=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a.external.cornerstone,l=(0,n.getOptions)();return new Promise(function(a,n){var u=new XMLHttpRequest;u.open("get",e,!0),u.responseType="arraybuffer",l.beforeSend(u,t),Object.keys(r).forEach(function(e){u.setRequestHeader(e,r[e])}),o.deferred={resolve:a,reject:n},o.url=e,o.imageId=t,u.onloadstart=function(r){l.onloadstart&&l.onloadstart(r,o);var a={url:e,imageId:t};i.triggerEvent(i.events,"cornerstoneimageloadstart",a)},u.onloadend=function(r){l.onloadend&&l.onloadend(r,o);var a={url:e,imageId:t};i.triggerEvent(i.events,"cornerstoneimageloadend",a)},u.onreadystatechange=function(e){l.onreadystatechange?l.onreadystatechange(e,o):4===u.readyState&&(200===u.status?a(u.response,u):n(u))},u.onprogress=function(r){var a=r.loaded,n=void 0,u=void 0;r.lengthComputable&&(n=r.total,u=Math.round(a/n*100)),l.onprogress&&l.onprogress(r,o);var s={url:e,imageId:t,loaded:a,total:n,percentComplete:u};i.triggerEvent(i.events,"cornerstoneimageloadprogress",s)},u.send()})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(0),n=u(r(35)),o=u(r(7)),i=u(r(36)),l=u(r(18));function u(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){var r=l.default.get(t);if(r){if("generalSeriesModule"===e)return{modality:(0,o.default)(r["00080060"]),seriesInstanceUID:(0,o.default)(r["0020000e"]),seriesNumber:(0,i.default)(r["00200011"]),studyInstanceUID:(0,o.default)(r["0020000d"]),seriesDate:a.dicomParser.parseDA((0,o.default)(r["00080021"])),seriesTime:a.dicomParser.parseTM((0,o.default)(r["00080031"],0,""))};if("patientStudyModule"===e)return{patientAge:(0,i.default)(r["00101010"]),patientSize:(0,i.default)(r["00101020"]),patientWeight:(0,i.default)(r["00101030"])};if("imagePlaneModule"===e){var u=(0,n.default)(r["00200037"],6),s=(0,n.default)(r["00200032"],3),d=(0,n.default)(r["00280030"],2),f=1,c=1;d&&(c=d[0],f=d[1]);var p=null,m=null;return u&&(p=[parseFloat(u[0]),parseFloat(u[1]),parseFloat(u[2])],m=[parseFloat(u[3]),parseFloat(u[4]),parseFloat(u[5])]),{frameOfReferenceUID:(0,o.default)(r["00200052"]),rows:(0,i.default)(r["00280010"]),columns:(0,i.default)(r["00280011"]),imageOrientationPatient:u,rowCosines:p,columnCosines:m,imagePositionPatient:s,sliceThickness:(0,i.default)(r["00180050"]),sliceLocation:(0,i.default)(r["00201041"]),pixelSpacing:d,rowPixelSpacing:c,columnPixelSpacing:f}}if("imagePixelModule"===e)return{samplesPerPixel:(0,i.default)(r["00280002"]),photometricInterpretation:(0,o.default)(r["00280004"]),rows:(0,i.default)(r["00280010"]),columns:(0,i.default)(r["00280011"]),bitsAllocated:(0,i.default)(r["00280100"]),bitsStored:(0,i.default)(r["00280101"]),highBit:(0,o.default)(r["00280102"]),pixelRepresentation:(0,i.default)(r["00280103"]),planarConfiguration:(0,i.default)(r["00280006"]),pixelAspectRatio:(0,o.default)(r["00280034"]),smallestPixelValue:(0,i.default)(r["00280106"]),largestPixelValue:(0,i.default)(r["00280107"]),redPaletteColorLookupTableDescriptor:(0,n.default)(r["00281101"]),greenPaletteColorLookupTableDescriptor:(0,n.default)(r["00281102"]),bluePaletteColorLookupTableDescriptor:(0,n.default)(r["00281103"]),redPaletteColorLookupTableData:(0,n.default)(r["00281201"]),greenPaletteColorLookupTableData:(0,n.default)(r["00281202"]),bluePaletteColorLookupTableData:(0,n.default)(r["00281203"])};if("voiLutModule"===e)return{windowCenter:(0,n.default)(r["00281050"],1),windowWidth:(0,n.default)(r["00281051"],1)};if("modalityLutModule"===e)return{rescaleIntercept:(0,i.default)(r["00281052"]),rescaleSlope:(0,i.default)(r["00281053"]),rescaleType:(0,o.default)(r["00281054"])};if("sopCommonModule"===e)return{sopClassUID:(0,o.default)(r["00080016"]),sopInstanceUID:(0,o.default)(r["00080018"])};if("petIsotopeModule"===e){var g=(0,o.default)(r["00540016"]);if(void 0===g)return;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:a.dicomParser.parseTM((0,o.default)(g["00181072"],0,"")),radionuclideTotalDose:(0,i.default)(g["00181074"]),radionuclideHalfLife:(0,i.default)(g["00181075"])}}}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,n=r(7),o=(a=n)&&a.__esModule?a:{default:a};t.default=function(e,t,r){var a=(0,o.default)(e,t,r);if(void 0!==a)return parseFloat(a)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=o(r(38)),n=o(r(44));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){a.default.register(e),n.default.register(e)}},function(t,r){t.exports=e},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(0),n=d(r(39)),o=d(r(5)),i=d(r(9)),l=d(r(42)),u=d(r(41)),s=d(r(40));function d(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){var r=(0,o.default)(t),d=i.default.get(r.url);if(d){if("generalSeriesModule"===e)return{modality:d.string("x00080060"),seriesInstanceUID:d.string("x0020000e"),seriesNumber:d.intString("x00200011"),studyInstanceUID:d.string("x0020000d"),seriesDate:a.dicomParser.parseDA(d.string("x00080021")),seriesTime:a.dicomParser.parseTM(d.string("x00080031")||"")};if("patientStudyModule"===e)return{patientAge:d.intString("x00101010"),patientSize:d.floatString("x00101020"),patientWeight:d.floatString("x00101030")};if("imagePlaneModule"===e){var f=(0,n.default)(d,"x00200037",6),c=(0,n.default)(d,"x00200032",3),p=(0,n.default)(d,"x00280030",2),m=1,g=1;p&&(g=p[0],m=p[1]);var v=null,b=null;return f&&(v=[parseFloat(f[0]),parseFloat(f[1]),parseFloat(f[2])],b=[parseFloat(f[3]),parseFloat(f[4]),parseFloat(f[5])]),{frameOfReferenceUID:d.string("x00200052"),rows:d.uint16("x00280010"),columns:d.uint16("x00280011"),imageOrientationPatient:f,rowCosines:v,columnCosines:b,imagePositionPatient:c,sliceThickness:d.floatString("x00180050"),sliceLocation:d.floatString("x00201041"),pixelSpacing:p,rowPixelSpacing:g,columnPixelSpacing:m}}if("imagePixelModule"===e)return(0,l.default)(d);if("modalityLutModule"===e)return{rescaleIntercept:d.floatString("x00281052"),rescaleSlope:d.floatString("x00281053"),rescaleType:d.string("x00281054"),modalityLUTSequence:(0,u.default)(d.uint16("x00280103"),d.elements.x00283000)};if("voiLutModule"===e){var x=(0,s.default)(d);return{windowCenter:(0,n.default)(d,"x00281050",1),windowWidth:(0,n.default)(d,"x00281051",1),voiLUTSequence:(0,u.default)(x,d.elements.x00283010)}}if("sopCommonModule"===e)return{sopClassUID:d.string("x00080016"),sopInstanceUID:d.string("x00080018")};if("petIsotopeModule"===e){var P=d.elements.x00540016;if(void 0===P)return;var y=P.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:a.dicomParser.parseTM(y.string("x00181072")||""),radionuclideTotalDose:y.floatString("x00181074"),radionuclideHalfLife:y.floatString("x00181075")}}}}}},function(e,t,r){"use strict";function a(e,t){for(var r=e.length,a=new Uint8ClampedArray(r),n=0;n<r;++n)a[n]=e[n]>>t;return a}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){for(var r=e.columns*e.rows,n=e.pixelData,o=e.redPaletteColorLookupTableData,i=e.greenPaletteColorLookupTableData,l=e.bluePaletteColorLookupTableData,u=e.redPaletteColorLookupTableData.length,s=0,d=0,f=e.redPaletteColorLookupTableDescriptor[1],c=8===e.redPaletteColorLookupTableDescriptor[2]?0:8,p=a(o,c),m=a(i,c),g=a(l,c),v=0;v<r;++v){var b=n[s++];b<f?b=0:b>f+u-1?b=u-1:b-=f,t[d++]=p[b],t[d++]=m[b],t[d++]=g[b],t[d++]=255}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");for(var r=e.length/3,a=0,n=0,o=r,i=2*r,l=0;l<r;l++){var u=e[n++],s=e[o++],d=e[i++];t[a++]=u+1.402*(d-128),t[a++]=u-.34414*(s-128)-.71414*(d-128),t[a++]=u+1.772*(s-128),t[a++]=255}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");for(var r=e.length/3,a=0,n=0,o=0;o<r;o++){var i=e[a++],l=e[a++],u=e[a++];t[n++]=i+1.402*(u-128),t[n++]=i-.34414*(l-128)-.71414*(u-128),t[n++]=i+1.772*(l-128),t[n++]=255}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");for(var r=e.length/3,a=0,n=0,o=r,i=2*r,l=0;l<r;l++)t[a++]=e[n++],t[a++]=e[o++],t[a++]=e[i++],t[a++]=255}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");for(var r=e.length/3,a=0,n=0,o=0;o<r;o++)t[n++]=e[a++],t[n++]=e[a++],t[n++]=e[a++],t[n++]=255}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(45);Object.keys(a).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}})});var n=r(44);Object.defineProperty(t,"wadouri",{enumerable:!0,get:function(){return P(n).default}});var o=r(38);Object.defineProperty(t,"wadors",{enumerable:!0,get:function(){return P(o).default}});var i=r(49);Object.defineProperty(t,"configure",{enumerable:!0,get:function(){return P(i).default}});var l=r(26);Object.defineProperty(t,"convertColorSpace",{enumerable:!0,get:function(){return P(l).default}});var u=r(17);Object.defineProperty(t,"createImage",{enumerable:!0,get:function(){return P(u).default}});var s=r(30);Object.defineProperty(t,"decodeImageFrame",{enumerable:!0,get:function(){return P(s).default}});var d=r(28);Object.defineProperty(t,"decodeJPEGBaseline8BitColor",{enumerable:!0,get:function(){return P(d).default}});var f=r(31);Object.defineProperty(t,"getImageFrame",{enumerable:!0,get:function(){return P(f).default}});var c=r(1);Object.defineProperty(t,"getMinMax",{enumerable:!0,get:function(){return P(c).default}});var p=r(27);Object.defineProperty(t,"isColorImage",{enumerable:!0,get:function(){return P(p).default}});var m=r(25);Object.defineProperty(t,"isJPEGBaseline8BitColor",{enumerable:!0,get:function(){return P(m).default}});var g=r(29);Object.defineProperty(t,"webWorkerManager",{enumerable:!0,get:function(){return P(g).default}});var v=r(8);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return P(v).default}});var b=r(4);Object.defineProperty(t,"internal",{enumerable:!0,get:function(){return b.internal}});var x=r(0);function P(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"external",{enumerable:!0,get:function(){return x.external}})}])}); | ||
//# sourceMappingURL=cornerstoneWADOImageLoader.min.js.map |
@@ -1,2 +0,2 @@ | ||
/*! cornerstone-wado-image-loader - 2.0.0 - 2017-12-08 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ | ||
/*! cornerstone-wado-image-loader - 2.1.0 - 2018-04-11 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
@@ -11,3 +11,3 @@ if(typeof exports === 'object' && typeof module === 'object') | ||
root["cornerstoneWADOImageLoaderWebWorker"] = factory(); | ||
})(this, function() { | ||
})(window, function() { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
@@ -59,2 +59,7 @@ /******/ // The module cache | ||
/******/ | ||
/******/ // define __esModule on exports | ||
/******/ __webpack_require__.r = function(exports) { | ||
/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
/******/ }; | ||
/******/ | ||
/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
@@ -75,4 +80,5 @@ /******/ __webpack_require__.n = function(module) { | ||
/******/ | ||
/******/ | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 55); | ||
/******/ return __webpack_require__(__webpack_require__.s = "./webWorker/index.js"); | ||
/******/ }) | ||
@@ -82,3 +88,7 @@ /************************************************************************/ | ||
/***/ 2: | ||
/***/ "./shared/calculateMinMax.js": | ||
/*!***********************************!*\ | ||
!*** ./shared/calculateMinMax.js ***! | ||
\***********************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -92,28 +102,170 @@ | ||
}); | ||
function getMinMax(storedPixelData) { | ||
// we always calculate the min max values since they are not always | ||
// present in DICOM and we don't want to trust them anyway as cornerstone | ||
// depends on us providing reliable values for these | ||
var min = storedPixelData[0]; | ||
var max = storedPixelData[0]; | ||
var storedPixel = void 0; | ||
var numPixels = storedPixelData.length; | ||
exports.default = calculateMinMax; | ||
for (var index = 1; index < numPixels; index++) { | ||
storedPixel = storedPixelData[index]; | ||
min = Math.min(min, storedPixel); | ||
max = Math.max(max, storedPixel); | ||
var _getMinMax = __webpack_require__(/*! ./getMinMax.js */ "./shared/getMinMax.js"); | ||
var _getMinMax2 = _interopRequireDefault(_getMinMax); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/** | ||
* Check the minimum and maximum values in the imageFrame pixel data | ||
* match with the provided smallestPixelValue and largestPixelValue metaData. | ||
* | ||
* If 'strict' is true, log to the console a warning if these values do not match. | ||
* Otherwise, correct them automatically. | ||
* | ||
* @param {Object} imageFrame | ||
* @param {Boolean} strict | ||
*/ | ||
function calculateMinMax(imageFrame) { | ||
var strict = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; | ||
var minMax = (0, _getMinMax2.default)(imageFrame.pixelData); | ||
if (strict === true) { | ||
if (imageFrame.smallestPixelValue !== minMax.min) { | ||
console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.'); | ||
} | ||
if (imageFrame.largestPixelValue !== minMax.max) { | ||
console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.'); | ||
} | ||
} else { | ||
imageFrame.smallestPixelValue = minMax.min; | ||
imageFrame.largestPixelValue = minMax.max; | ||
} | ||
} | ||
return { | ||
min: min, | ||
max: max | ||
}; | ||
/***/ }), | ||
/***/ "./shared/decodeImageFrame.js": | ||
/*!************************************!*\ | ||
!*** ./shared/decodeImageFrame.js ***! | ||
\************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _decodeLittleEndian = __webpack_require__(/*! ./decoders/decodeLittleEndian.js */ "./shared/decoders/decodeLittleEndian.js"); | ||
var _decodeLittleEndian2 = _interopRequireDefault(_decodeLittleEndian); | ||
var _decodeBigEndian = __webpack_require__(/*! ./decoders/decodeBigEndian.js */ "./shared/decoders/decodeBigEndian.js"); | ||
var _decodeBigEndian2 = _interopRequireDefault(_decodeBigEndian); | ||
var _decodeRLE = __webpack_require__(/*! ./decoders/decodeRLE.js */ "./shared/decoders/decodeRLE.js"); | ||
var _decodeRLE2 = _interopRequireDefault(_decodeRLE); | ||
var _decodeJPEGBaseline = __webpack_require__(/*! ./decoders/decodeJPEGBaseline.js */ "./shared/decoders/decodeJPEGBaseline.js"); | ||
var _decodeJPEGBaseline2 = _interopRequireDefault(_decodeJPEGBaseline); | ||
var _decodeJPEGLossless = __webpack_require__(/*! ./decoders/decodeJPEGLossless.js */ "./shared/decoders/decodeJPEGLossless.js"); | ||
var _decodeJPEGLossless2 = _interopRequireDefault(_decodeJPEGLossless); | ||
var _decodeJPEGLS = __webpack_require__(/*! ./decoders/decodeJPEGLS.js */ "./shared/decoders/decodeJPEGLS.js"); | ||
var _decodeJPEGLS2 = _interopRequireDefault(_decodeJPEGLS); | ||
var _decodeJPEG = __webpack_require__(/*! ./decoders/decodeJPEG2000.js */ "./shared/decoders/decodeJPEG2000.js"); | ||
var _decodeJPEG2 = _interopRequireDefault(_decodeJPEG); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function decodeImageFrame(imageFrame, transferSyntax, pixelData, decodeConfig, options) { | ||
var start = new Date().getTime(); | ||
if (transferSyntax === '1.2.840.10008.1.2') { | ||
// Implicit VR Little Endian | ||
imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.1') { | ||
// Explicit VR Little Endian | ||
imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.2') { | ||
// Explicit VR Big Endian (retired) | ||
imageFrame = (0, _decodeBigEndian2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.1.99') { | ||
// Deflate transfer syntax (deflated by dicomParser) | ||
imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.5') { | ||
// RLE Lossless | ||
imageFrame = (0, _decodeRLE2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.50') { | ||
// JPEG Baseline lossy process 1 (8 bit) | ||
imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.51') { | ||
// JPEG Baseline lossy process 2 & 4 (12 bit) | ||
imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.57') { | ||
// JPEG Lossless, Nonhierarchical (Processes 14) | ||
imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.70') { | ||
// JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1]) | ||
imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.80') { | ||
// JPEG-LS Lossless Image Compression | ||
imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.81') { | ||
// JPEG-LS Lossy (Near-Lossless) Image Compression | ||
imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.90') { | ||
// JPEG 2000 Lossless | ||
imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.91') { | ||
// JPEG 2000 Lossy | ||
imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options); | ||
} else { | ||
throw new Error('no decoder for transfer syntax ' + transferSyntax); | ||
} | ||
/* Don't know if these work... | ||
// JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only) | ||
else if(transferSyntax === "1.2.840.10008.1.2.4.92") | ||
{ | ||
return decodeJPEG2000(dataSet, frame); | ||
} | ||
// JPEG 2000 Part 2 Multicomponent Image Compression | ||
else if(transferSyntax === "1.2.840.10008.1.2.4.93") | ||
{ | ||
return decodeJPEG2000(dataSet, frame); | ||
} | ||
*/ | ||
var shouldShift = imageFrame.pixelRepresentation !== undefined && imageFrame.pixelRepresentation === 1; | ||
var shift = shouldShift && imageFrame.bitsStored !== undefined ? 32 - imageFrame.bitsStored : undefined; | ||
if (shouldShift && shift !== undefined) { | ||
for (var i = 0; i < imageFrame.pixelData.length; i++) { | ||
// eslint-disable-next-line no-bitwise | ||
imageFrame.pixelData[i] = imageFrame.pixelData[i] << shift >> shift; | ||
} | ||
} | ||
var end = new Date().getTime(); | ||
imageFrame.decodeTimeInMS = end - start; | ||
return imageFrame; | ||
} | ||
exports.default = getMinMax; | ||
exports.default = decodeImageFrame; | ||
/***/ }), | ||
/***/ 37: | ||
/***/ "./shared/decoders/decodeBigEndian.js": | ||
/*!********************************************!*\ | ||
!*** ./shared/decoders/decodeBigEndian.js ***! | ||
\********************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -127,2 +279,53 @@ | ||
}); | ||
/* eslint no-bitwise: 0 */ | ||
function swap16(val) { | ||
return (val & 0xFF) << 8 | val >> 8 & 0xFF; | ||
} | ||
function decodeBigEndian(imageFrame, pixelData) { | ||
if (imageFrame.bitsAllocated === 16) { | ||
var arrayBuffer = pixelData.buffer; | ||
var offset = pixelData.byteOffset; | ||
var length = pixelData.length; | ||
// if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array | ||
// buffers on it | ||
if (offset % 2) { | ||
arrayBuffer = arrayBuffer.slice(offset); | ||
offset = 0; | ||
} | ||
if (imageFrame.pixelRepresentation === 0) { | ||
imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2); | ||
} else { | ||
imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2); | ||
} | ||
// Do the byte swap | ||
for (var i = 0; i < imageFrame.pixelData.length; i++) { | ||
imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]); | ||
} | ||
} else if (imageFrame.bitsAllocated === 8) { | ||
imageFrame.pixelData = pixelData; | ||
} | ||
return imageFrame; | ||
} | ||
exports.default = decodeBigEndian; | ||
/***/ }), | ||
/***/ "./shared/decoders/decodeJPEG2000.js": | ||
/*!*******************************************!*\ | ||
!*** ./shared/decoders/decodeJPEG2000.js ***! | ||
\*******************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
function decodeJpx(imageFrame, pixelData) { | ||
@@ -287,3 +490,7 @@ var jpxImage = new JpxImage(); | ||
/***/ 38: | ||
/***/ "./shared/decoders/decodeJPEGBaseline.js": | ||
/*!***********************************************!*\ | ||
!*** ./shared/decoders/decodeJPEGBaseline.js ***! | ||
\***********************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -297,2 +504,45 @@ | ||
}); | ||
function decodeJPEGBaseline(imageFrame, pixelData) { | ||
// check to make sure codec is loaded | ||
if (typeof JpegImage === 'undefined') { | ||
throw new Error('No JPEG Baseline decoder loaded'); | ||
} | ||
var jpeg = new JpegImage(); | ||
jpeg.parse(pixelData); | ||
// Do not use the internal jpeg.js color transformation, | ||
// since we will handle this afterwards | ||
jpeg.colorTransform = false; | ||
if (imageFrame.bitsAllocated === 8) { | ||
imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows); | ||
return imageFrame; | ||
} else if (imageFrame.bitsAllocated === 16) { | ||
imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows); | ||
return imageFrame; | ||
} | ||
} | ||
exports.default = decodeJPEGBaseline; | ||
/***/ }), | ||
/***/ "./shared/decoders/decodeJPEGLS.js": | ||
/*!*****************************************!*\ | ||
!*** ./shared/decoders/decodeJPEGLS.js ***! | ||
\*****************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var charLS = void 0; | ||
@@ -400,3 +650,7 @@ | ||
/***/ 55: | ||
/***/ "./shared/decoders/decodeJPEGLossless.js": | ||
/*!***********************************************!*\ | ||
!*** ./shared/decoders/decodeJPEGLossless.js ***! | ||
\***********************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -410,387 +664,42 @@ | ||
}); | ||
exports.version = exports.registerTaskHandler = undefined; | ||
var _version = __webpack_require__(9); | ||
Object.defineProperty(exports, 'version', { | ||
enumerable: true, | ||
get: function get() { | ||
return _interopRequireDefault(_version).default; | ||
function decodeJPEGLossless(imageFrame, pixelData) { | ||
// check to make sure codec is loaded | ||
if (typeof jpeg === 'undefined' || typeof jpeg.lossless === 'undefined' || typeof jpeg.lossless.Decoder === 'undefined') { | ||
throw new Error('No JPEG Lossless decoder loaded'); | ||
} | ||
}); | ||
var _webWorker = __webpack_require__(56); | ||
var byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2; | ||
// console.time('jpeglossless'); | ||
var buffer = pixelData.buffer; | ||
var decoder = new jpeg.lossless.Decoder(); | ||
var decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput); | ||
// console.timeEnd('jpeglossless'); | ||
var _decodeTask = __webpack_require__(57); | ||
if (imageFrame.pixelRepresentation === 0) { | ||
if (imageFrame.bitsAllocated === 16) { | ||
imageFrame.pixelData = new Uint16Array(decompressedData.buffer); | ||
var _decodeTask2 = _interopRequireDefault(_decodeTask); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
// register our task | ||
(0, _webWorker.registerTaskHandler)(_decodeTask2.default); | ||
exports.registerTaskHandler = _webWorker.registerTaskHandler; | ||
/***/ }), | ||
/***/ 56: | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.registerTaskHandler = registerTaskHandler; | ||
// an object of task handlers | ||
var taskHandlers = {}; | ||
// Flag to ensure web worker is only initialized once | ||
var initialized = false; | ||
// the configuration object passed in when the web worker manager is initialized | ||
var config = void 0; | ||
/** | ||
* Initialization function that loads additional web workers and initializes them | ||
* @param data | ||
*/ | ||
function initialize(data) { | ||
// console.log('web worker initialize ', data.workerIndex); | ||
// prevent initialization from happening more than once | ||
if (initialized) { | ||
return; | ||
} | ||
// save the config data | ||
config = data.config; | ||
// load any additional web worker tasks | ||
if (data.config.webWorkerTaskPaths) { | ||
for (var i = 0; i < data.config.webWorkerTaskPaths.length; i++) { | ||
self.importScripts(data.config.webWorkerTaskPaths[i]); | ||
return imageFrame; | ||
} | ||
} | ||
// untested! | ||
imageFrame.pixelData = new Uint8Array(decompressedData.buffer); | ||
// initialize each task handler | ||
Object.keys(taskHandlers).forEach(function (key) { | ||
taskHandlers[key].initialize(config.taskConfiguration); | ||
}); | ||
// tell main ui thread that we have completed initialization | ||
self.postMessage({ | ||
taskType: 'initialize', | ||
status: 'success', | ||
result: {}, | ||
workerIndex: data.workerIndex | ||
}); | ||
initialized = true; | ||
} | ||
/** | ||
* Function exposed to web worker tasks to register themselves | ||
* @param taskHandler | ||
*/ | ||
function registerTaskHandler(taskHandler) { | ||
if (taskHandlers[taskHandler.taskType]) { | ||
console.log('attempt to register duplicate task handler "', taskHandler.taskType, '"'); | ||
return false; | ||
return imageFrame; | ||
} | ||
taskHandlers[taskHandler.taskType] = taskHandler; | ||
if (initialized) { | ||
taskHandler.initialize(config.taskConfiguration); | ||
} | ||
} | ||
imageFrame.pixelData = new Int16Array(decompressedData.buffer); | ||
/** | ||
* Function to load a new web worker task with updated configuration | ||
* @param data | ||
*/ | ||
function loadWebWorkerTask(data) { | ||
config = data.config; | ||
self.importScripts(data.sourcePath); | ||
} | ||
/** | ||
* Web worker message handler - dispatches messages to the registered task handlers | ||
* @param msg | ||
*/ | ||
self.onmessage = function (msg) { | ||
// console.log('web worker onmessage', msg.data); | ||
// handle initialize message | ||
if (msg.data.taskType === 'initialize') { | ||
initialize(msg.data); | ||
return; | ||
} | ||
// handle loadWebWorkerTask message | ||
if (msg.data.taskType === 'loadWebWorkerTask') { | ||
loadWebWorkerTask(msg.data); | ||
return; | ||
} | ||
// dispatch the message if there is a handler registered for it | ||
if (taskHandlers[msg.data.taskType]) { | ||
taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) { | ||
self.postMessage({ | ||
taskType: msg.data.taskType, | ||
status: 'success', | ||
result: result, | ||
workerIndex: msg.data.workerIndex | ||
}, transferList); | ||
}); | ||
return; | ||
} | ||
// not task handler registered - send a failure message back to ui thread | ||
console.log('no task handler for ', msg.data.taskType); | ||
console.log(taskHandlers); | ||
self.postMessage({ | ||
taskType: msg.data.taskType, | ||
status: 'failed - no task handler registered', | ||
workerIndex: msg.data.workerIndex | ||
}); | ||
}; | ||
/***/ }), | ||
/***/ 57: | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _decodeJPEG = __webpack_require__(37); | ||
var _decodeJPEGLS = __webpack_require__(38); | ||
var _getMinMax = __webpack_require__(2); | ||
var _getMinMax2 = _interopRequireDefault(_getMinMax); | ||
var _decodeImageFrame = __webpack_require__(58); | ||
var _decodeImageFrame2 = _interopRequireDefault(_decodeImageFrame); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
// flag to ensure codecs are loaded only once | ||
var codecsLoaded = false; | ||
// the configuration object for the decodeTask | ||
var decodeConfig = void 0; | ||
/** | ||
* Function to control loading and initializing the codecs | ||
* @param config | ||
*/ | ||
function loadCodecs(config) { | ||
// prevent loading codecs more than once | ||
if (codecsLoaded) { | ||
return; | ||
} | ||
// Load the codecs | ||
// console.time('loadCodecs'); | ||
self.importScripts(config.decodeTask.codecsPath); | ||
codecsLoaded = true; | ||
// console.timeEnd('loadCodecs'); | ||
// Initialize the codecs | ||
if (config.decodeTask.initializeCodecsOnStartup) { | ||
// console.time('initializeCodecs'); | ||
(0, _decodeJPEG.initializeJPEG2000)(config.decodeTask); | ||
(0, _decodeJPEGLS.initializeJPEGLS)(config.decodeTask); | ||
// console.timeEnd('initializeCodecs'); | ||
} | ||
} | ||
/** | ||
* Task initialization function | ||
*/ | ||
function initialize(config) { | ||
decodeConfig = config; | ||
if (config.decodeTask.loadCodecsOnStartup) { | ||
loadCodecs(config); | ||
} | ||
} | ||
function calculateMinMax(imageFrame) { | ||
var minMax = (0, _getMinMax2.default)(imageFrame.pixelData); | ||
if (decodeConfig.decodeTask.strict === true) { | ||
if (imageFrame.smallestPixelValue !== minMax.min) { | ||
console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.'); | ||
} | ||
if (imageFrame.largestPixelValue !== minMax.max) { | ||
console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.'); | ||
} | ||
} else { | ||
imageFrame.smallestPixelValue = minMax.min; | ||
imageFrame.largestPixelValue = minMax.max; | ||
} | ||
} | ||
/** | ||
* Task handler function | ||
*/ | ||
function handler(data, doneCallback) { | ||
// Load the codecs if they aren't already loaded | ||
loadCodecs(decodeConfig); | ||
var imageFrame = data.data.imageFrame; | ||
// convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but | ||
// not typed arrays | ||
var pixelData = new Uint8Array(data.data.pixelData); | ||
(0, _decodeImageFrame2.default)(imageFrame, data.data.transferSyntax, pixelData, decodeConfig.decodeTask, data.data.options); | ||
if (!imageFrame.pixelData) { | ||
throw new Error('decodeTask: imageFrame.pixelData is undefined after decoding'); | ||
} | ||
calculateMinMax(imageFrame); | ||
// convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not | ||
// typed arrays | ||
imageFrame.pixelData = imageFrame.pixelData.buffer; | ||
// invoke the callback with our result and pass the pixelData in the transferList to move it to | ||
// UI thread without making a copy | ||
doneCallback(imageFrame, [imageFrame.pixelData]); | ||
} | ||
exports.default = { | ||
taskType: 'decodeTask', | ||
handler: handler, | ||
initialize: initialize | ||
}; | ||
/***/ }), | ||
/***/ 58: | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _decodeLittleEndian = __webpack_require__(59); | ||
var _decodeLittleEndian2 = _interopRequireDefault(_decodeLittleEndian); | ||
var _decodeBigEndian = __webpack_require__(60); | ||
var _decodeBigEndian2 = _interopRequireDefault(_decodeBigEndian); | ||
var _decodeRLE = __webpack_require__(61); | ||
var _decodeRLE2 = _interopRequireDefault(_decodeRLE); | ||
var _decodeJPEGBaseline = __webpack_require__(62); | ||
var _decodeJPEGBaseline2 = _interopRequireDefault(_decodeJPEGBaseline); | ||
var _decodeJPEGLossless = __webpack_require__(63); | ||
var _decodeJPEGLossless2 = _interopRequireDefault(_decodeJPEGLossless); | ||
var _decodeJPEGLS = __webpack_require__(38); | ||
var _decodeJPEGLS2 = _interopRequireDefault(_decodeJPEGLS); | ||
var _decodeJPEG = __webpack_require__(37); | ||
var _decodeJPEG2 = _interopRequireDefault(_decodeJPEG); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function decodeImageFrame(imageFrame, transferSyntax, pixelData, decodeConfig, options) { | ||
var start = new Date().getTime(); | ||
if (transferSyntax === '1.2.840.10008.1.2') { | ||
// Implicit VR Little Endian | ||
imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.1') { | ||
// Explicit VR Little Endian | ||
imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.2') { | ||
// Explicit VR Big Endian (retired) | ||
imageFrame = (0, _decodeBigEndian2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.1.99') { | ||
// Deflate transfer syntax (deflated by dicomParser) | ||
imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.5') { | ||
// RLE Lossless | ||
imageFrame = (0, _decodeRLE2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.50') { | ||
// JPEG Baseline lossy process 1 (8 bit) | ||
imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.51') { | ||
// JPEG Baseline lossy process 2 & 4 (12 bit) | ||
imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.57') { | ||
// JPEG Lossless, Nonhierarchical (Processes 14) | ||
imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.70') { | ||
// JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1]) | ||
imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.80') { | ||
// JPEG-LS Lossless Image Compression | ||
imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.81') { | ||
// JPEG-LS Lossy (Near-Lossless) Image Compression | ||
imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.90') { | ||
// JPEG 2000 Lossless | ||
imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options); | ||
} else if (transferSyntax === '1.2.840.10008.1.2.4.91') { | ||
// JPEG 2000 Lossy | ||
imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options); | ||
} else { | ||
throw new Error('no decoder for transfer syntax ' + transferSyntax); | ||
} | ||
/* Don't know if these work... | ||
// JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only) | ||
else if(transferSyntax === "1.2.840.10008.1.2.4.92") | ||
{ | ||
return decodeJPEG2000(dataSet, frame); | ||
} | ||
// JPEG 2000 Part 2 Multicomponent Image Compression | ||
else if(transferSyntax === "1.2.840.10008.1.2.4.93") | ||
{ | ||
return decodeJPEG2000(dataSet, frame); | ||
} | ||
*/ | ||
var end = new Date().getTime(); | ||
imageFrame.decodeTimeInMS = end - start; | ||
return imageFrame; | ||
} | ||
exports.default = decodeImageFrame; | ||
exports.default = decodeJPEGLossless; | ||
/***/ }), | ||
/***/ 59: | ||
/***/ "./shared/decoders/decodeLittleEndian.js": | ||
/*!***********************************************!*\ | ||
!*** ./shared/decoders/decodeLittleEndian.js ***! | ||
\***********************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -841,3 +750,7 @@ | ||
/***/ 60: | ||
/***/ "./shared/decoders/decodeRLE.js": | ||
/*!**************************************!*\ | ||
!*** ./shared/decoders/decodeRLE.js ***! | ||
\**************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -851,49 +764,2 @@ | ||
}); | ||
/* eslint no-bitwise: 0 */ | ||
function swap16(val) { | ||
return (val & 0xFF) << 8 | val >> 8 & 0xFF; | ||
} | ||
function decodeBigEndian(imageFrame, pixelData) { | ||
if (imageFrame.bitsAllocated === 16) { | ||
var arrayBuffer = pixelData.buffer; | ||
var offset = pixelData.byteOffset; | ||
var length = pixelData.length; | ||
// if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array | ||
// buffers on it | ||
if (offset % 2) { | ||
arrayBuffer = arrayBuffer.slice(offset); | ||
offset = 0; | ||
} | ||
if (imageFrame.pixelRepresentation === 0) { | ||
imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2); | ||
} else { | ||
imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2); | ||
} | ||
// Do the byte swap | ||
for (var i = 0; i < imageFrame.pixelData.length; i++) { | ||
imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]); | ||
} | ||
} else if (imageFrame.bitsAllocated === 8) { | ||
imageFrame.pixelData = pixelData; | ||
} | ||
return imageFrame; | ||
} | ||
exports.default = decodeBigEndian; | ||
/***/ }), | ||
/***/ 61: | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
function decodeRLE(imageFrame, pixelData) { | ||
@@ -1065,3 +931,7 @@ if (imageFrame.bitsAllocated === 8) { | ||
/***/ 62: | ||
/***/ "./shared/getMinMax.js": | ||
/*!*****************************!*\ | ||
!*** ./shared/getMinMax.js ***! | ||
\*****************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -1075,33 +945,163 @@ | ||
}); | ||
/** | ||
* Calculate the minimum and maximum values in an Array | ||
* | ||
* @param {Number[]} storedPixelData | ||
* @return {{min: Number, max: Number}} | ||
*/ | ||
function getMinMax(storedPixelData) { | ||
// we always calculate the min max values since they are not always | ||
// present in DICOM and we don't want to trust them anyway as cornerstone | ||
// depends on us providing reliable values for these | ||
var min = storedPixelData[0]; | ||
var max = storedPixelData[0]; | ||
var storedPixel = void 0; | ||
var numPixels = storedPixelData.length; | ||
for (var index = 1; index < numPixels; index++) { | ||
storedPixel = storedPixelData[index]; | ||
min = Math.min(min, storedPixel); | ||
max = Math.max(max, storedPixel); | ||
} | ||
function decodeJPEGBaseline(imageFrame, pixelData) { | ||
// check to make sure codec is loaded | ||
if (typeof JpegImage === 'undefined') { | ||
throw new Error('No JPEG Baseline decoder loaded'); | ||
return { | ||
min: min, | ||
max: max | ||
}; | ||
} | ||
exports.default = getMinMax; | ||
/***/ }), | ||
/***/ "./version.js": | ||
/*!********************!*\ | ||
!*** ./version.js ***! | ||
\********************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = '2.1.0'; | ||
/***/ }), | ||
/***/ "./webWorker/decodeTask/decodeTask.js": | ||
/*!********************************************!*\ | ||
!*** ./webWorker/decodeTask/decodeTask.js ***! | ||
\********************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _decodeJPEG = __webpack_require__(/*! ../../shared/decoders/decodeJPEG2000.js */ "./shared/decoders/decodeJPEG2000.js"); | ||
var _decodeJPEGLS = __webpack_require__(/*! ../../shared/decoders/decodeJPEGLS.js */ "./shared/decoders/decodeJPEGLS.js"); | ||
var _calculateMinMax = __webpack_require__(/*! ../../shared/calculateMinMax.js */ "./shared/calculateMinMax.js"); | ||
var _calculateMinMax2 = _interopRequireDefault(_calculateMinMax); | ||
var _decodeImageFrame = __webpack_require__(/*! ../../shared/decodeImageFrame.js */ "./shared/decodeImageFrame.js"); | ||
var _decodeImageFrame2 = _interopRequireDefault(_decodeImageFrame); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
// flag to ensure codecs are loaded only once | ||
var codecsLoaded = false; | ||
// the configuration object for the decodeTask | ||
var decodeConfig = void 0; | ||
/** | ||
* Function to control loading and initializing the codecs | ||
* @param config | ||
*/ | ||
function loadCodecs(config) { | ||
// prevent loading codecs more than once | ||
if (codecsLoaded) { | ||
return; | ||
} | ||
var jpeg = new JpegImage(); | ||
jpeg.parse(pixelData); | ||
// Load the codecs | ||
// console.time('loadCodecs'); | ||
self.importScripts(config.decodeTask.codecsPath); | ||
codecsLoaded = true; | ||
// console.timeEnd('loadCodecs'); | ||
// Do not use the internal jpeg.js color transformation, | ||
// since we will handle this afterwards | ||
jpeg.colorTransform = false; | ||
// Initialize the codecs | ||
if (config.decodeTask.initializeCodecsOnStartup) { | ||
// console.time('initializeCodecs'); | ||
(0, _decodeJPEG.initializeJPEG2000)(config.decodeTask); | ||
(0, _decodeJPEGLS.initializeJPEGLS)(config.decodeTask); | ||
// console.timeEnd('initializeCodecs'); | ||
} | ||
} | ||
if (imageFrame.bitsAllocated === 8) { | ||
imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows); | ||
/** | ||
* Task initialization function | ||
*/ | ||
function initialize(config) { | ||
decodeConfig = config; | ||
if (config.decodeTask.loadCodecsOnStartup) { | ||
loadCodecs(config); | ||
} | ||
} | ||
return imageFrame; | ||
} else if (imageFrame.bitsAllocated === 16) { | ||
imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows); | ||
/** | ||
* Task handler function | ||
*/ | ||
function handler(data, doneCallback) { | ||
// Load the codecs if they aren't already loaded | ||
loadCodecs(decodeConfig); | ||
return imageFrame; | ||
var strict = decodeConfig && decodeConfig.decodeTask && decodeConfig.decodeTask.strict; | ||
var imageFrame = data.data.imageFrame; | ||
// convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but | ||
// not typed arrays | ||
var pixelData = new Uint8Array(data.data.pixelData); | ||
(0, _decodeImageFrame2.default)(imageFrame, data.data.transferSyntax, pixelData, decodeConfig.decodeTask, data.data.options); | ||
if (!imageFrame.pixelData) { | ||
throw new Error('decodeTask: imageFrame.pixelData is undefined after decoding'); | ||
} | ||
(0, _calculateMinMax2.default)(imageFrame, strict); | ||
// convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not | ||
// typed arrays | ||
imageFrame.pixelData = imageFrame.pixelData.buffer; | ||
// invoke the callback with our result and pass the pixelData in the transferList to move it to | ||
// UI thread without making a copy | ||
doneCallback(imageFrame, [imageFrame.pixelData]); | ||
} | ||
exports.default = decodeJPEGBaseline; | ||
exports.default = { | ||
taskType: 'decodeTask', | ||
handler: handler, | ||
initialize: initialize | ||
}; | ||
/***/ }), | ||
/***/ 63: | ||
/***/ "./webWorker/index.js": | ||
/*!****************************!*\ | ||
!*** ./webWorker/index.js ***! | ||
\****************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -1115,38 +1115,33 @@ | ||
}); | ||
exports.version = exports.registerTaskHandler = undefined; | ||
var _version = __webpack_require__(/*! ../version.js */ "./version.js"); | ||
function decodeJPEGLossless(imageFrame, pixelData) { | ||
// check to make sure codec is loaded | ||
if (typeof jpeg === 'undefined' || typeof jpeg.lossless === 'undefined' || typeof jpeg.lossless.Decoder === 'undefined') { | ||
throw new Error('No JPEG Lossless decoder loaded'); | ||
Object.defineProperty(exports, 'version', { | ||
enumerable: true, | ||
get: function get() { | ||
return _interopRequireDefault(_version).default; | ||
} | ||
}); | ||
var byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2; | ||
// console.time('jpeglossless'); | ||
var buffer = pixelData.buffer; | ||
var decoder = new jpeg.lossless.Decoder(); | ||
var decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput); | ||
// console.timeEnd('jpeglossless'); | ||
var _webWorker = __webpack_require__(/*! ./webWorker.js */ "./webWorker/webWorker.js"); | ||
if (imageFrame.pixelRepresentation === 0) { | ||
if (imageFrame.bitsAllocated === 16) { | ||
imageFrame.pixelData = new Uint16Array(decompressedData.buffer); | ||
var _decodeTask = __webpack_require__(/*! ./decodeTask/decodeTask.js */ "./webWorker/decodeTask/decodeTask.js"); | ||
return imageFrame; | ||
} | ||
// untested! | ||
imageFrame.pixelData = new Uint8Array(decompressedData.buffer); | ||
var _decodeTask2 = _interopRequireDefault(_decodeTask); | ||
return imageFrame; | ||
} | ||
imageFrame.pixelData = new Int16Array(decompressedData.buffer); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
return imageFrame; | ||
} | ||
// register our task | ||
(0, _webWorker.registerTaskHandler)(_decodeTask2.default); | ||
exports.default = decodeJPEGLossless; | ||
exports.registerTaskHandler = _webWorker.registerTaskHandler; | ||
/***/ }), | ||
/***/ 9: | ||
/***/ "./webWorker/webWorker.js": | ||
/*!********************************!*\ | ||
!*** ./webWorker/webWorker.js ***! | ||
\********************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -1160,4 +1155,119 @@ | ||
}); | ||
exports.default = '2.0.0'; | ||
exports.registerTaskHandler = registerTaskHandler; | ||
// an object of task handlers | ||
var taskHandlers = {}; | ||
// Flag to ensure web worker is only initialized once | ||
var initialized = false; | ||
// the configuration object passed in when the web worker manager is initialized | ||
var config = void 0; | ||
/** | ||
* Initialization function that loads additional web workers and initializes them | ||
* @param data | ||
*/ | ||
function initialize(data) { | ||
// console.log('web worker initialize ', data.workerIndex); | ||
// prevent initialization from happening more than once | ||
if (initialized) { | ||
return; | ||
} | ||
// save the config data | ||
config = data.config; | ||
// load any additional web worker tasks | ||
if (data.config.webWorkerTaskPaths) { | ||
for (var i = 0; i < data.config.webWorkerTaskPaths.length; i++) { | ||
self.importScripts(data.config.webWorkerTaskPaths[i]); | ||
} | ||
} | ||
// initialize each task handler | ||
Object.keys(taskHandlers).forEach(function (key) { | ||
taskHandlers[key].initialize(config.taskConfiguration); | ||
}); | ||
// tell main ui thread that we have completed initialization | ||
self.postMessage({ | ||
taskType: 'initialize', | ||
status: 'success', | ||
result: {}, | ||
workerIndex: data.workerIndex | ||
}); | ||
initialized = true; | ||
} | ||
/** | ||
* Function exposed to web worker tasks to register themselves | ||
* @param taskHandler | ||
*/ | ||
function registerTaskHandler(taskHandler) { | ||
if (taskHandlers[taskHandler.taskType]) { | ||
console.log('attempt to register duplicate task handler "', taskHandler.taskType, '"'); | ||
return false; | ||
} | ||
taskHandlers[taskHandler.taskType] = taskHandler; | ||
if (initialized) { | ||
taskHandler.initialize(config.taskConfiguration); | ||
} | ||
} | ||
/** | ||
* Function to load a new web worker task with updated configuration | ||
* @param data | ||
*/ | ||
function loadWebWorkerTask(data) { | ||
config = data.config; | ||
self.importScripts(data.sourcePath); | ||
} | ||
/** | ||
* Web worker message handler - dispatches messages to the registered task handlers | ||
* @param msg | ||
*/ | ||
self.onmessage = function (msg) { | ||
// console.log('web worker onmessage', msg.data); | ||
// handle initialize message | ||
if (msg.data.taskType === 'initialize') { | ||
initialize(msg.data); | ||
return; | ||
} | ||
// handle loadWebWorkerTask message | ||
if (msg.data.taskType === 'loadWebWorkerTask') { | ||
loadWebWorkerTask(msg.data); | ||
return; | ||
} | ||
// dispatch the message if there is a handler registered for it | ||
if (taskHandlers[msg.data.taskType]) { | ||
taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) { | ||
self.postMessage({ | ||
taskType: msg.data.taskType, | ||
status: 'success', | ||
result: result, | ||
workerIndex: msg.data.workerIndex | ||
}, transferList); | ||
}); | ||
return; | ||
} | ||
// not task handler registered - send a failure message back to ui thread | ||
console.log('no task handler for ', msg.data.taskType); | ||
console.log(taskHandlers); | ||
self.postMessage({ | ||
taskType: msg.data.taskType, | ||
status: 'failed - no task handler registered', | ||
workerIndex: msg.data.workerIndex | ||
}); | ||
}; | ||
/***/ }) | ||
@@ -1164,0 +1274,0 @@ |
@@ -1,3 +0,3 @@ | ||
/*! cornerstone-wado-image-loader - 2.0.0 - 2017-12-08 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoaderWebWorker",[],t):"object"==typeof exports?exports.cornerstoneWADOImageLoaderWebWorker=t():e.cornerstoneWADOImageLoaderWebWorker=t()}(this,function(){return function(e){function t(a){if(r[a])return r[a].exports;var n=r[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=55)}({2:function(e,t,r){"use strict";function a(e){for(var t=e[0],r=e[0],a=void 0,n=e.length,i=1;i<n;i++)a=e[i],t=Math.min(t,a),r=Math.max(r,a);return{min:t,max:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a},37:function(e,t,r){"use strict";function a(e,t){var r=new JpxImage;r.parse(t);var a=r.tiles.length;if(1!==a)throw new Error("JPEG2000 decoder returned a tileCount of "+a+", when 1 is expected");return e.columns=r.width,e.rows=r.height,e.pixelData=r.tiles[0].items,e}function n(e,t,r){var a=s._malloc(e.length);s.writeArrayToMemory(e,a);var n=s._malloc(4),i=s._malloc(4),o=s._malloc(4),l=s._malloc(4),f=s._malloc(4),u=(new Date).getTime();if(0!==s.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[a,e.length,n,i,o,l,f]))return console.log("[opj_decode] decoding failed!"),s._free(a),s._free(s.getValue(n,"*")),s._free(o),s._free(l),s._free(i),void s._free(f);var d=s.getValue(n,"*"),c={length:s.getValue(i,"i32"),sx:s.getValue(o,"i32"),sy:s.getValue(l,"i32"),nbChannels:s.getValue(f,"i32"),perf_timetodecode:void 0,pixelData:void 0},p=c.sx*c.sy*c.nbChannels,m=new Int32Array(s.HEAP32.buffer,d,p);if(1===t)if(Uint8Array.from)c.pixelData=Uint8Array.from(m);else{c.pixelData=new Uint8Array(p);for(var g=0;g<p;g++)c.pixelData[g]=m[g]}else if(r)if(Int16Array.from)c.pixelData=Int16Array.from(m);else{c.pixelData=new Int16Array(p);for(var w=0;w<p;w++)c.pixelData[w]=m[w]}else if(Uint16Array.from)c.pixelData=Uint16Array.from(m);else{c.pixelData=new Uint16Array(p);for(var y=0;y<p;y++)c.pixelData[y]=m[y]}var b=(new Date).getTime();return c.perf_timetodecode=b-u,s._free(a),s._free(n),s._free(d),s._free(i),s._free(o),s._free(l),s._free(f),c}function i(e,t){var r=e.bitsAllocated<=8?1:2,a=1===e.pixelRepresentation,i=n(t,r,a);return e.columns=i.sx,e.rows=i.sy,e.pixelData=i.pixelData,i.nbChannels>1&&(e.photometricInterpretation="RGB"),e}function o(e){if(!e.usePDFJS&&"undefined"==typeof OpenJPEG)throw new Error("OpenJPEG decoder not loaded");if(!(s||(s=OpenJPEG())&&s._jp2_decode))throw new Error("OpenJPEG failed to initialize")}function l(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return o(r),n.usePDFJS||r.usePDFJS?a(e,t):i(e,t)}Object.defineProperty(t,"__esModule",{value:!0});var s=void 0;t.default=l,t.initializeJPEG2000=o},38:function(e,t,r){"use strict";function a(e,t){var r=o._malloc(e.length);o.writeArrayToMemory(e,r);var a=o._malloc(4),n=o._malloc(4),i=o._malloc(4),l=o._malloc(4),s=o._malloc(4),f=o._malloc(4),u=o._malloc(4),d=o._malloc(4),c=o._malloc(4),p=o.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,a,n,i,l,s,f,d,u,c]),m={result:p,width:o.getValue(i,"i32"),height:o.getValue(l,"i32"),bitsPerSample:o.getValue(s,"i32"),stride:o.getValue(f,"i32"),components:o.getValue(d,"i32"),allowedLossyError:o.getValue(u,"i32"),interleaveMode:o.getValue(c,"i32"),pixelData:void 0},g=o.getValue(a,"*");return m.bitsPerSample<=8?(m.pixelData=new Uint8Array(m.width*m.height*m.components),m.pixelData.set(new Uint8Array(o.HEAP8.buffer,g,m.pixelData.length))):t?(m.pixelData=new Int16Array(m.width*m.height*m.components),m.pixelData.set(new Int16Array(o.HEAP16.buffer,g,m.pixelData.length))):(m.pixelData=new Uint16Array(m.width*m.height*m.components),m.pixelData.set(new Uint16Array(o.HEAP16.buffer,g,m.pixelData.length))),o._free(r),o._free(g),o._free(a),o._free(n),o._free(i),o._free(l),o._free(s),o._free(f),o._free(d),o._free(c),m}function n(){if("undefined"==typeof CharLS)throw new Error("No JPEG-LS decoder loaded");if(!(o||(o=CharLS())&&o._jpegls_decode))throw new Error("JPEG-LS failed to initialize")}function i(e,t){n();var r=a(t,1===e.pixelRepresentation);if(0!==r.result&&6!==r.result)throw new Error("JPEG-LS decoder failed to decode frame (error code "+r.result+")");return e.columns=r.width,e.rows=r.height,e.pixelData=r.pixelData,e}Object.defineProperty(t,"__esModule",{value:!0});var o=void 0;t.default=i,t.initializeJPEGLS=n},55:function(e,t,r){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.registerTaskHandler=void 0;var n=r(9);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return a(n).default}});var i=r(56),o=r(57),l=a(o);(0,i.registerTaskHandler)(l.default),t.registerTaskHandler=i.registerTaskHandler},56:function(e,t,r){"use strict";function a(e){if(!l){if(s=e.config,e.config.webWorkerTaskPaths)for(var t=0;t<e.config.webWorkerTaskPaths.length;t++)self.importScripts(e.config.webWorkerTaskPaths[t]);Object.keys(o).forEach(function(e){o[e].initialize(s.taskConfiguration)}),self.postMessage({taskType:"initialize",status:"success",result:{},workerIndex:e.workerIndex}),l=!0}}function n(e){if(o[e.taskType])return console.log('attempt to register duplicate task handler "',e.taskType,'"'),!1;o[e.taskType]=e,l&&e.initialize(s.taskConfiguration)}function i(e){s=e.config,self.importScripts(e.sourcePath)}Object.defineProperty(t,"__esModule",{value:!0}),t.registerTaskHandler=n;var o={},l=!1,s=void 0;self.onmessage=function(e){return"initialize"===e.data.taskType?void a(e.data):"loadWebWorkerTask"===e.data.taskType?void i(e.data):o[e.data.taskType]?void o[e.data.taskType].handler(e.data,function(t,r){self.postMessage({taskType:e.data.taskType,status:"success",result:t,workerIndex:e.data.workerIndex},r)}):(console.log("no task handler for ",e.data.taskType),console.log(o),void self.postMessage({taskType:e.data.taskType,status:"failed - no task handler registered",workerIndex:e.data.workerIndex}))}},57:function(e,t,r){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}function n(e){m||(self.importScripts(e.decodeTask.codecsPath),m=!0,e.decodeTask.initializeCodecsOnStartup&&((0,s.initializeJPEG2000)(e.decodeTask),(0,f.initializeJPEGLS)(e.decodeTask)))}function i(e){g=e,e.decodeTask.loadCodecsOnStartup&&n(e)}function o(e){var t=(0,d.default)(e.pixelData);!0===g.decodeTask.strict?(e.smallestPixelValue!==t.min&&console.warn("Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably."),e.largestPixelValue!==t.max&&console.warn("Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.")):(e.smallestPixelValue=t.min,e.largestPixelValue=t.max)}function l(e,t){n(g);var r=e.data.imageFrame,a=new Uint8Array(e.data.pixelData);if((0,p.default)(r,e.data.transferSyntax,a,g.decodeTask,e.data.options),!r.pixelData)throw new Error("decodeTask: imageFrame.pixelData is undefined after decoding");o(r),r.pixelData=r.pixelData.buffer,t(r,[r.pixelData])}Object.defineProperty(t,"__esModule",{value:!0});var s=r(37),f=r(38),u=r(2),d=a(u),c=r(58),p=a(c),m=!1,g=void 0;t.default={taskType:"decodeTask",handler:l,initialize:i}},58:function(e,t,r){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}function n(e,t,r,a,n){var i=(new Date).getTime();if("1.2.840.10008.1.2"===t)e=(0,o.default)(e,r);else if("1.2.840.10008.1.2.1"===t)e=(0,o.default)(e,r);else if("1.2.840.10008.1.2.2"===t)e=(0,s.default)(e,r);else if("1.2.840.10008.1.2.1.99"===t)e=(0,o.default)(e,r);else if("1.2.840.10008.1.2.5"===t)e=(0,u.default)(e,r);else if("1.2.840.10008.1.2.4.50"===t)e=(0,c.default)(e,r);else if("1.2.840.10008.1.2.4.51"===t)e=(0,c.default)(e,r);else if("1.2.840.10008.1.2.4.57"===t)e=(0,m.default)(e,r);else if("1.2.840.10008.1.2.4.70"===t)e=(0,m.default)(e,r);else if("1.2.840.10008.1.2.4.80"===t)e=(0,w.default)(e,r);else if("1.2.840.10008.1.2.4.81"===t)e=(0,w.default)(e,r);else if("1.2.840.10008.1.2.4.90"===t)e=(0,b.default)(e,r,a,n);else{if("1.2.840.10008.1.2.4.91"!==t)throw new Error("no decoder for transfer syntax "+t);e=(0,b.default)(e,r,a,n)}var l=(new Date).getTime();return e.decodeTimeInMS=l-i,e}Object.defineProperty(t,"__esModule",{value:!0});var i=r(59),o=a(i),l=r(60),s=a(l),f=r(61),u=a(f),d=r(62),c=a(d),p=r(63),m=a(p),g=r(38),w=a(g),y=r(37),b=a(y);t.default=n},59:function(e,t,r){"use strict";function a(e,t){var r=t.buffer,a=t.byteOffset,n=t.length;return 16===e.bitsAllocated?(a%2&&(r=r.slice(a),a=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,a,n/2):e.pixelData=new Int16Array(r,a,n/2)):8===e.bitsAllocated||1===e.bitsAllocated?e.pixelData=t:32===e.bitsAllocated&&(a%2&&(r=r.slice(a),a=0),e.pixelData=new Float32Array(r,a,n/4)),e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a},60:function(e,t,r){"use strict";function a(e){return(255&e)<<8|e>>8&255}function n(e,t){if(16===e.bitsAllocated){var r=t.buffer,n=t.byteOffset,i=t.length;n%2&&(r=r.slice(n),n=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,n,i/2):e.pixelData=new Int16Array(r,n,i/2);for(var o=0;o<e.pixelData.length;o++)e.pixelData[o]=a(e.pixelData[o])}else 8===e.bitsAllocated&&(e.pixelData=t);return e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},61:function(e,t,r){"use strict";function a(e,t){if(8===e.bitsAllocated)return e.planarConfiguration?i(e,t):n(e,t);if(16===e.bitsAllocated)return o(e,t);throw new Error("unsupported pixel format for RLE")}function n(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),i=new DataView(r.buffer,r.byteOffset),o=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),s=0,f=i.getInt32(0,!0),u=0;u<f;++u){s=u;var d=i.getInt32(4*(u+1),!0),c=i.getInt32(4*(u+2),!0);0===c&&(c=r.length);for(var p=a*f;d<c;){var m=o[d++];if(m>=0&&m<=127)for(var g=0;g<m+1&&s<p;++g)l[s]=o[d++],s+=e.samplesPerPixel;else if(m<=-1&&m>=-127)for(var w=o[d++],y=0;y<1-m&&s<p;++y)l[s]=w,s+=e.samplesPerPixel}}return e.pixelData=new Uint8Array(n),e}function i(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),i=new DataView(r.buffer,r.byteOffset),o=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),s=0,f=i.getInt32(0,!0),u=0;u<f;++u){s=u*a;var d=i.getInt32(4*(u+1),!0),c=i.getInt32(4*(u+2),!0);0===c&&(c=r.length);for(var p=a*f;d<c;){var m=o[d++];if(m>=0&&m<=127)for(var g=0;g<m+1&&s<p;++g)l[s]=o[d++],s++;else if(m<=-1&&m>=-127)for(var w=o[d++],y=0;y<1-m&&s<p;++y)l[s]=w,s++}}return e.pixelData=new Uint8Array(n),e}function o(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel*2),i=new DataView(r.buffer,r.byteOffset),o=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),s=i.getInt32(0,!0),f=0;f<s;++f){var u=0,d=0===f?1:0,c=i.getInt32(4*(f+1),!0),p=i.getInt32(4*(f+2),!0);for(0===p&&(p=r.length);c<p;){var m=o[c++];if(m>=0&&m<=127)for(var g=0;g<m+1&&u<a;++g)l[2*u+d]=o[c++],u++;else if(m<=-1&&m>=-127)for(var w=o[c++],y=0;y<1-m&&u<a;++y)l[2*u+d]=w,u++}}return 0===e.pixelRepresentation?e.pixelData=new Uint16Array(n):e.pixelData=new Int16Array(n),e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a},62:function(e,t,r){"use strict";function a(e,t){if("undefined"==typeof JpegImage)throw new Error("No JPEG Baseline decoder loaded");var r=new JpegImage;return r.parse(t),r.colorTransform=!1,8===e.bitsAllocated?(e.pixelData=r.getData(e.columns,e.rows),e):16===e.bitsAllocated?(e.pixelData=r.getData16(e.columns,e.rows),e):void 0}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a},63:function(e,t,r){"use strict";function a(e,t){if("undefined"==typeof jpeg||void 0===jpeg.lossless||void 0===jpeg.lossless.Decoder)throw new Error("No JPEG Lossless decoder loaded");var r=e.bitsAllocated<=8?1:2,a=t.buffer,n=new jpeg.lossless.Decoder,i=n.decode(a,t.byteOffset,t.length,r);return 0===e.pixelRepresentation?16===e.bitsAllocated?(e.pixelData=new Uint16Array(i.buffer),e):(e.pixelData=new Uint8Array(i.buffer),e):(e.pixelData=new Int16Array(i.buffer),e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=a},9:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.0.0"}})}); | ||
/*! cornerstone-wado-image-loader - 2.1.0 - 2018-04-11 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoaderWebWorker",[],t):"object"==typeof exports?exports.cornerstoneWADOImageLoaderWebWorker=t():e.cornerstoneWADOImageLoaderWebWorker=t()}(window,function(){return function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:a})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=48)}([,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=e[0],r=e[0],a=void 0,n=e.length,i=1;i<n;i++)a=e[i],t=Math.min(t,a),r=Math.max(r,a);return{min:t,max:r}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=void 0;function n(e,t){var r=function(e,t,r){var n=a._malloc(e.length);a.writeArrayToMemory(e,n);var i=a._malloc(4),o=a._malloc(4),l=a._malloc(4),s=a._malloc(4),f=a._malloc(4),u=(new Date).getTime();if(0!==a.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[n,e.length,i,o,l,s,f]))return console.log("[opj_decode] decoding failed!"),a._free(n),a._free(a.getValue(i,"*")),a._free(l),a._free(s),a._free(o),void a._free(f);var d=a.getValue(i,"*"),c={length:a.getValue(o,"i32"),sx:a.getValue(l,"i32"),sy:a.getValue(s,"i32"),nbChannels:a.getValue(f,"i32"),perf_timetodecode:void 0,pixelData:void 0},p=c.sx*c.sy*c.nbChannels,m=new Int32Array(a.HEAP32.buffer,d,p);if(1===t)if(Uint8Array.from)c.pixelData=Uint8Array.from(m);else{c.pixelData=new Uint8Array(p);for(var g=0;g<p;g++)c.pixelData[g]=m[g]}else if(r)if(Int16Array.from)c.pixelData=Int16Array.from(m);else{c.pixelData=new Int16Array(p);for(var w=0;w<p;w++)c.pixelData[w]=m[w]}else if(Uint16Array.from)c.pixelData=Uint16Array.from(m);else{c.pixelData=new Uint16Array(p);for(var y=0;y<p;y++)c.pixelData[y]=m[y]}var b=(new Date).getTime();return c.perf_timetodecode=b-u,a._free(n),a._free(i),a._free(d),a._free(o),a._free(l),a._free(s),a._free(f),c}(t,e.bitsAllocated<=8?1:2,1===e.pixelRepresentation);return e.columns=r.sx,e.rows=r.sy,e.pixelData=r.pixelData,r.nbChannels>1&&(e.photometricInterpretation="RGB"),e}function i(e){if(!e.usePDFJS&&"undefined"==typeof OpenJPEG)throw new Error("OpenJPEG decoder not loaded");if(!(a||(a=OpenJPEG())&&a._jp2_decode))throw new Error("OpenJPEG failed to initialize")}t.default=function(e,t,r){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return i(r),a.usePDFJS||r.usePDFJS?function(e,t){var r=new JpxImage;r.parse(t);var a=r.tiles.length;if(1!==a)throw new Error("JPEG2000 decoder returned a tileCount of "+a+", when 1 is expected");return e.columns=r.width,e.rows=r.height,e.pixelData=r.tiles[0].items,e}(e,t):n(e,t)},t.initializeJPEG2000=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=void 0;function n(){if("undefined"==typeof CharLS)throw new Error("No JPEG-LS decoder loaded");if(!(a||(a=CharLS())&&a._jpegls_decode))throw new Error("JPEG-LS failed to initialize")}t.default=function(e,t){n();var r=function(e,t){var r=a._malloc(e.length);a.writeArrayToMemory(e,r);var n=a._malloc(4),i=a._malloc(4),o=a._malloc(4),l=a._malloc(4),s=a._malloc(4),f=a._malloc(4),u=a._malloc(4),d=a._malloc(4),c=a._malloc(4),p={result:a.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,n,i,o,l,s,f,d,u,c]),width:a.getValue(o,"i32"),height:a.getValue(l,"i32"),bitsPerSample:a.getValue(s,"i32"),stride:a.getValue(f,"i32"),components:a.getValue(d,"i32"),allowedLossyError:a.getValue(u,"i32"),interleaveMode:a.getValue(c,"i32"),pixelData:void 0},m=a.getValue(n,"*");return p.bitsPerSample<=8?(p.pixelData=new Uint8Array(p.width*p.height*p.components),p.pixelData.set(new Uint8Array(a.HEAP8.buffer,m,p.pixelData.length))):t?(p.pixelData=new Int16Array(p.width*p.height*p.components),p.pixelData.set(new Int16Array(a.HEAP16.buffer,m,p.pixelData.length))):(p.pixelData=new Uint16Array(p.width*p.height*p.components),p.pixelData.set(new Uint16Array(a.HEAP16.buffer,m,p.pixelData.length))),a._free(r),a._free(m),a._free(n),a._free(i),a._free(o),a._free(l),a._free(s),a._free(f),a._free(d),a._free(c),p}(t,1===e.pixelRepresentation);if(0!==r.result&&6!==r.result)throw new Error("JPEG-LS decoder failed to decode frame (error code "+r.result+")");return e.columns=r.width,e.rows=r.height,e.pixelData=r.pixelData,e},t.initializeJPEGLS=n},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.1.0"},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=(0,i.default)(e.pixelData);!0===t?(e.smallestPixelValue!==r.min&&console.warn("Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably."),e.largestPixelValue!==r.max&&console.warn("Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.")):(e.smallestPixelValue=r.min,e.largestPixelValue=r.max)};var a,n=r(1),i=(a=n)&&a.__esModule?a:{default:a}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("undefined"==typeof jpeg||void 0===jpeg.lossless||void 0===jpeg.lossless.Decoder)throw new Error("No JPEG Lossless decoder loaded");var r=e.bitsAllocated<=8?1:2,a=t.buffer,n=(new jpeg.lossless.Decoder).decode(a,t.byteOffset,t.length,r);return 0===e.pixelRepresentation?16===e.bitsAllocated?(e.pixelData=new Uint16Array(n.buffer),e):(e.pixelData=new Uint8Array(n.buffer),e):(e.pixelData=new Int16Array(n.buffer),e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("undefined"==typeof JpegImage)throw new Error("No JPEG Baseline decoder loaded");var r=new JpegImage;return r.parse(t),r.colorTransform=!1,8===e.bitsAllocated?(e.pixelData=r.getData(e.columns,e.rows),e):16===e.bitsAllocated?(e.pixelData=r.getData16(e.columns,e.rows),e):void 0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(8===e.bitsAllocated)return e.planarConfiguration?function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),i=new DataView(r.buffer,r.byteOffset),o=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),s=0,f=i.getInt32(0,!0),u=0;u<f;++u){s=u*a;var d=i.getInt32(4*(u+1),!0),c=i.getInt32(4*(u+2),!0);0===c&&(c=r.length);for(var p=a*f;d<c;){var m=o[d++];if(m>=0&&m<=127)for(var g=0;g<m+1&&s<p;++g)l[s]=o[d++],s++;else if(m<=-1&&m>=-127)for(var w=o[d++],y=0;y<1-m&&s<p;++y)l[s]=w,s++}}return e.pixelData=new Uint8Array(n),e}(e,t):function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),i=new DataView(r.buffer,r.byteOffset),o=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),s=0,f=i.getInt32(0,!0),u=0;u<f;++u){s=u;var d=i.getInt32(4*(u+1),!0),c=i.getInt32(4*(u+2),!0);0===c&&(c=r.length);for(var p=a*f;d<c;){var m=o[d++];if(m>=0&&m<=127)for(var g=0;g<m+1&&s<p;++g)l[s]=o[d++],s+=e.samplesPerPixel;else if(m<=-1&&m>=-127)for(var w=o[d++],y=0;y<1-m&&s<p;++y)l[s]=w,s+=e.samplesPerPixel}}return e.pixelData=new Uint8Array(n),e}(e,t);if(16===e.bitsAllocated)return function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel*2),i=new DataView(r.buffer,r.byteOffset),o=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),s=i.getInt32(0,!0),f=0;f<s;++f){var u=0,d=0===f?1:0,c=i.getInt32(4*(f+1),!0),p=i.getInt32(4*(f+2),!0);for(0===p&&(p=r.length);c<p;){var m=o[c++];if(m>=0&&m<=127)for(var g=0;g<m+1&&u<a;++g)l[2*u+d]=o[c++],u++;else if(m<=-1&&m>=-127)for(var w=o[c++],y=0;y<1-m&&u<a;++y)l[2*u+d]=w,u++}}return 0===e.pixelRepresentation?e.pixelData=new Uint16Array(n):e.pixelData=new Int16Array(n),e}(e,t);throw new Error("unsupported pixel format for RLE")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(16===e.bitsAllocated){var r=t.buffer,a=t.byteOffset,n=t.length;a%2&&(r=r.slice(a),a=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,a,n/2):e.pixelData=new Int16Array(r,a,n/2);for(var i=0;i<e.pixelData.length;i++)e.pixelData[i]=(255&(o=e.pixelData[i]))<<8|o>>8&255}else 8===e.bitsAllocated&&(e.pixelData=t);var o;return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=t.buffer,a=t.byteOffset,n=t.length;return 16===e.bitsAllocated?(a%2&&(r=r.slice(a),a=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,a,n/2):e.pixelData=new Int16Array(r,a,n/2)):8===e.bitsAllocated||1===e.bitsAllocated?e.pixelData=t:32===e.bitsAllocated&&(a%2&&(r=r.slice(a),a=0),e.pixelData=new Float32Array(r,a,n/4)),e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=u(r(15)),n=u(r(14)),i=u(r(13)),o=u(r(12)),l=u(r(11)),s=u(r(3)),f=u(r(2));function u(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r,u,d){var c=(new Date).getTime();if("1.2.840.10008.1.2"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.1"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.2"===t)e=(0,n.default)(e,r);else if("1.2.840.10008.1.2.1.99"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.5"===t)e=(0,i.default)(e,r);else if("1.2.840.10008.1.2.4.50"===t)e=(0,o.default)(e,r);else if("1.2.840.10008.1.2.4.51"===t)e=(0,o.default)(e,r);else if("1.2.840.10008.1.2.4.57"===t)e=(0,l.default)(e,r);else if("1.2.840.10008.1.2.4.70"===t)e=(0,l.default)(e,r);else if("1.2.840.10008.1.2.4.80"===t)e=(0,s.default)(e,r);else if("1.2.840.10008.1.2.4.81"===t)e=(0,s.default)(e,r);else if("1.2.840.10008.1.2.4.90"===t)e=(0,f.default)(e,r,u,d);else{if("1.2.840.10008.1.2.4.91"!==t)throw new Error("no decoder for transfer syntax "+t);e=(0,f.default)(e,r,u,d)}var p=void 0!==e.pixelRepresentation&&1===e.pixelRepresentation,m=p&&void 0!==e.bitsStored?32-e.bitsStored:void 0;if(p&&void 0!==m)for(var g=0;g<e.pixelData.length;g++)e.pixelData[g]=e.pixelData[g]<<m>>m;var w=(new Date).getTime();return e.decodeTimeInMS=w-c,e}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(2),n=r(3),i=l(r(10)),o=l(r(16));function l(e){return e&&e.__esModule?e:{default:e}}var s=!1,f=void 0;function u(e){s||(self.importScripts(e.decodeTask.codecsPath),s=!0,e.decodeTask.initializeCodecsOnStartup&&((0,a.initializeJPEG2000)(e.decodeTask),(0,n.initializeJPEGLS)(e.decodeTask)))}t.default={taskType:"decodeTask",handler:function(e,t){u(f);var r=f&&f.decodeTask&&f.decodeTask.strict,a=e.data.imageFrame,n=new Uint8Array(e.data.pixelData);if((0,o.default)(a,e.data.transferSyntax,n,f.decodeTask,e.data.options),!a.pixelData)throw new Error("decodeTask: imageFrame.pixelData is undefined after decoding");(0,i.default)(a,r),a.pixelData=a.pixelData.buffer,t(a,[a.pixelData])},initialize:function(e){f=e,e.decodeTask.loadCodecsOnStartup&&u(e)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registerTaskHandler=function(e){if(a[e.taskType])return console.log('attempt to register duplicate task handler "',e.taskType,'"'),!1;a[e.taskType]=e,n&&e.initialize(i.taskConfiguration)};var a={},n=!1,i=void 0;self.onmessage=function(e){var t;{if("initialize"!==e.data.taskType)return"loadWebWorkerTask"===e.data.taskType?(t=e.data,i=t.config,void self.importScripts(t.sourcePath)):void(a[e.data.taskType]?a[e.data.taskType].handler(e.data,function(t,r){self.postMessage({taskType:e.data.taskType,status:"success",result:t,workerIndex:e.data.workerIndex},r)}):(console.log("no task handler for ",e.data.taskType),console.log(a),self.postMessage({taskType:e.data.taskType,status:"failed - no task handler registered",workerIndex:e.data.workerIndex})));!function(e){if(!n){if(i=e.config,e.config.webWorkerTaskPaths)for(var t=0;t<e.config.webWorkerTaskPaths.length;t++)self.importScripts(e.config.webWorkerTaskPaths[t]);Object.keys(a).forEach(function(e){a[e].initialize(i.taskConfiguration)}),self.postMessage({taskType:"initialize",status:"success",result:{},workerIndex:e.workerIndex}),n=!0}}(e.data)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.registerTaskHandler=void 0;var a=r(8);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return o(a).default}});var n=r(47),i=o(r(46));function o(e){return e&&e.__esModule?e:{default:e}}(0,n.registerTaskHandler)(i.default),t.registerTaskHandler=n.registerTaskHandler}])}); | ||
//# sourceMappingURL=cornerstoneWADOImageLoaderWebWorker.min.js.map |
{ | ||
"name": "cornerstone-wado-image-loader", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "Cornerstone ImageLoader for DICOM WADO-URI", | ||
@@ -22,5 +22,5 @@ "keywords": [ | ||
"scripts": { | ||
"eslint": "eslint -c .eslintrc.js src", | ||
"eslint-quiet": "eslint -c .eslintrc.js --quiet src", | ||
"eslint-fix": "eslint -c .eslintrc.js --fix src", | ||
"build": "npm run prebuild && npm run build:es6", | ||
"build:es6": "npm run test && npm run version && npm run webpack && npm run doc:generate", | ||
"build:codecs": "npm run concat:codecs && npm run uglify:codecs", | ||
"clean": "npm run clean:dist && npm run clean:coverage", | ||
@@ -30,26 +30,26 @@ "clean:dist": "shx rm -rf dist", | ||
"clean:coverage": "shx rm -rf coverage", | ||
"concat:codecs": "node scripts/concatCodecs.js", | ||
"doc": "npm run doc:generate && opn documentation/index.html", | ||
"doc:generate": "npm run clean:docs && jsdoc -c .jsdocrc", | ||
"eslint": "eslint -c .eslintrc.js src", | ||
"eslint-quiet": "eslint -c .eslintrc.js --quiet src", | ||
"eslint-fix": "eslint -c .eslintrc.js --fix src", | ||
"prebuild": "npm run clean:dist && npm run webpack && npm run build:codecs", | ||
"start": "npm run webpack && npm run build:codecs", | ||
"test": "npm run prebuild && npm run test:chrome", | ||
"test:all": "npm run test && npm run test:chrome && npm run test:firefox", | ||
"test:chrome": "karma start config/karma/karma-chrome.js", | ||
"test:firefox": "karma start config/karma/karma-firefox.js", | ||
"test:watch": "karma start config/karma/karma-watch.js", | ||
"uglify:codecs": "uglifyjs --comments /^/\\*!/ --stats -o ./dist/cornerstoneWADOImageLoaderCodecs.min.js -- ./dist/cornerstoneWADOImageLoaderCodecs.js", | ||
"version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > src/version.js", | ||
"build": "npm run clean:dist && npm run build:es6 && npm run build:codecs", | ||
"build:es6": "npm run test && npm run version && npm run webpack && npm run doc:generate", | ||
"build:codecs": "npm run concat:codecs && npm run uglify:codecs", | ||
"watch": "npm run clean && shx mkdir dist && npm run concat:codecs && npm run webpack:watch", | ||
"webpack": "npm run webpack:prod && npm run webpack:dev", | ||
"webpack:dev": "webpack --progress --config ./config/webpack/webpack-dev", | ||
"webpack:prod": "webpack --progress --config ./config/webpack/webpack-prod", | ||
"webpack:watch": "webpack --progress --debug --watch --config ./config/webpack", | ||
"watch": "npm run clean && shx mkdir dist && npm run concat:codecs && npm run webpack:watch", | ||
"start": "npm run webpack", | ||
"test": "npm run test:phantom", | ||
"test:watch": "karma start config/karma/karma-watch.js", | ||
"test:phantom": "karma start config/karma/karma-phantom.js", | ||
"test:chrome": "karma start config/karma/karma-chrome.js", | ||
"test:firefox": "karma start config/karma/karma-firefox.js", | ||
"test:all": "npm run test:phantom && npm run test:chrome && npm run test:firefox", | ||
"concat:codecs": "concat -o ./dist/cornerstoneWADOImageLoaderCodecs.js ./codecs/charLS-FixedMemory-browser.js ./codecs/jpeg.js ./codecs/jpegLossless.js ./codecs/jpx.min.js ./codecs/openJPEG-FixedMemory.js ./codecs/pako.min.js", | ||
"uglify:codecs": "uglifyjs --comments /^/\\*!/ --stats -o ./dist/cornerstoneWADOImageLoaderCodecs.min.js -- ./dist/cornerstoneWADOImageLoaderCodecs.js" | ||
"webpack:watch": "webpack --progress --debug --watch --config ./config/webpack" | ||
}, | ||
"devDependencies": { | ||
"babel-core": "^6.26.0", | ||
"babel-eslint": "^8.0.2", | ||
"babel-eslint": "^8.2.1", | ||
"babel-loader": "^7.1.2", | ||
@@ -63,22 +63,24 @@ "babel-plugin-transform-object-rest-spread": "^6.26.0", | ||
"docdash": "^0.4.0", | ||
"eslint": "^4.12.0", | ||
"eslint-loader": "^1.9.0", | ||
"eslint": "^4.16.0", | ||
"eslint-loader": "^2.0.0", | ||
"eslint-plugin-import": "^2.8.0", | ||
"fs-extra": "^5.0.0", | ||
"istanbul-instrumenter-loader": "^3.0.0", | ||
"jsdoc": "^3.5.5", | ||
"karma": "^1.7.1", | ||
"karma": "^2.0.0", | ||
"karma-chrome-launcher": "^2.2.0", | ||
"karma-coverage": "^1.1.1", | ||
"karma-firefox-launcher": "^1.0.1", | ||
"karma-firefox-launcher": "^1.1.0", | ||
"karma-mocha": "^1.3.0", | ||
"karma-phantomjs-launcher": "^1.0.4", | ||
"karma-webpack": "^2.0.6", | ||
"karma-spec-reporter": "0.0.32", | ||
"karma-webpack": "^3.0.0", | ||
"lodash": "^4.17.4", | ||
"mocha": "^4.0.1", | ||
"mocha": "^5.0.0", | ||
"opn-cli": "^3.1.0", | ||
"phantomjs": "^2.1.7", | ||
"promise-polyfill": "^6.1.0", | ||
"puppeteer": "^1.2.0", | ||
"shx": "^0.2.2", | ||
"uglify-js": "^3.2.0", | ||
"webpack": "^3.8.1" | ||
"uglify-js": "^3.3.9", | ||
"uglifyjs-webpack-plugin": "^1.2.4", | ||
"webpack": "^4.5.0", | ||
"webpack-cli": "^2.0.13" | ||
}, | ||
@@ -85,0 +87,0 @@ "dependencies": { |
@@ -24,3 +24,3 @@ [![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![MIT License][license-image]][license-url] [![Build Status][travis-image]][travis-url] | ||
You can also see it in action with the | ||
[cornerstoneDemo application](https://github.com/cornerstonejs/cornerstoneDemo). | ||
[cornerstoneDemo application](https://github.com/chafey/cornerstoneDemo). | ||
@@ -32,11 +32,11 @@ Install | ||
* [cornerstoneWADOImageLoader.js](https://raw.githubusercontent.com/cornerstonejs/cornerstoneWADOImageLoader/master/dist/cornerstoneWADOImageLoader.js) | ||
* [cornerstoneWADOImageLoaderCodecs.js](https://raw.githubusercontent.com/cornerstonejs/cornerstoneWADOImageLoader/master/dist/cornerstoneWADOImageLoaderCodecs.js) | ||
* [cornerstoneWADOImageLoaderWebWorker.js](https://raw.githubusercontent.com/cornerstonejs/cornerstoneWADOImageLoader/master/dist/cornerstoneWADOImageLoaderWebWorker.js) | ||
* [cornerstoneWADOImageLoader.js](https://unpkg.com/cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoader.js) | ||
* [cornerstoneWADOImageLoaderCodecs.js](https://unpkg.com/cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoaderCodecs.js) | ||
* [cornerstoneWADOImageLoaderWebWorker.js](https://unpkg.com/cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoaderWebWorker.js) | ||
or the distributed minimized files: | ||
* [cornerstoneWADOImageLoader.min.js](https://raw.githubusercontent.com/cornerstonejs/cornerstoneWADOImageLoader/master/dist/cornerstoneWADOImageLoader.min.js) | ||
* [cornerstoneWADOImageLoaderCodecs.min.js](https://raw.githubusercontent.com/cornerstonejs/cornerstoneWADOImageLoader/master/dist/cornerstoneWADOImageLoaderCodecs.min.js) | ||
* [cornerstoneWADOImageLoaderWebWorker.min.js](https://raw.githubusercontent.com/cornerstonejs/cornerstoneWADOImageLoader/master/dist/cornerstoneWADOImageLoaderWebWorker.min.js) | ||
* [cornerstoneWADOImageLoader.min.js](https://unpkg.com/cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoader.min.js) | ||
* [cornerstoneWADOImageLoaderCodecs.min.js](https://unpkg.com/cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoaderCodecs.min.js) | ||
* [cornerstoneWADOImageLoaderWebWorker.min.js](https://unpkg.com/cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoaderWebWorker.min.js) | ||
@@ -138,2 +138,2 @@ Usage | ||
[coverage-url]: https://coveralls.io/github/cornerstonejs/cornerstoneWADOImageLoader?branch=master | ||
[coverage-image]: https://coveralls.io/repos/github/cornerstonejs/cornerstoneWADOImageLoader/badge.svg?branch=master | ||
[coverage-image]: https://coveralls.io/repos/github/cornerstonejs/cornerstoneWADOImageLoader/badge.svg?branch=master |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
1
137
0
1
5241566
32
206
18578