@cleerlycode/cornerstone-wado-image-loader
Version:
Cornerstone ImageLoader for DICOM WADO-URI
3 lines • 12.9 kB
JavaScript
/*! cornerstone-wado-image-loader - 2.0.0 - 2018-04-01 | (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()}("undefined"!=typeof self?self: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=f._malloc(e.length);f.writeArrayToMemory(e,a);var n=f._malloc(4),i=f._malloc(4),o=f._malloc(4),l=f._malloc(4),s=f._malloc(4),u=(new Date).getTime();if(0!==f.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[a,e.length,n,i,o,l,s]))return console.log("[opj_decode] decoding failed!"),f._free(a),f._free(f.getValue(n,"*")),f._free(o),f._free(l),f._free(i),void f._free(s);var d=f.getValue(n,"*"),c={length:f.getValue(i,"i32"),sx:f.getValue(o,"i32"),sy:f.getValue(l,"i32"),nbChannels:f.getValue(s,"i32"),perf_timetodecode:void 0,pixelData:void 0},p=c.sx*c.sy*c.nbChannels,m=new Int32Array(f.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 x=0;x<p;x++)c.pixelData[x]=m[x]}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 w=(new Date).getTime();return c.perf_timetodecode=w-u,f._free(a),f._free(n),f._free(d),f._free(i),f._free(o),f._free(l),f._free(s),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(!(f||(f=OpenJPEG())&&f._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 f=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),f=o._malloc(4),s=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,f,s,d,u,c]),m={result:p,width:o.getValue(i,"i32"),height:o.getValue(l,"i32"),bitsPerSample:o.getValue(f,"i32"),stride:o.getValue(s,"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(f),o._free(s),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(f=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(f.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(f.taskConfiguration)}function i(e){f=e.config,self.importScripts(e.sourcePath)}Object.defineProperty(t,"__esModule",{value:!0}),t.registerTaskHandler=n;var o={},l=!1,f=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(){g||(self.importScripts(x.codecsPath),g=!0,x.initializeCodecsOnStartup&&((0,f.initializeJPEG2000)(x),(0,s.initializeJPEGLS)(x)))}function i(e){x=e[m]||{},x.loadCodecsOnStartup&&n()}function o(e){var t=(0,d.default)(e.pixelData);!0===x.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){var r=e.data;n();var a=r.imageFrame,i=new Uint8Array(r.pixelData);if((0,p.default)(a,r.transferSyntax,i,x,r.options),!a.pixelData)throw new Error("decodeTask: imageFrame.pixelData is undefined after decoding");o(a),a.pixelData=a.pixelData.buffer,t(a,[a.pixelData])}Object.defineProperty(t,"__esModule",{value:!0});var f=r(37),s=r(38),u=r(2),d=a(u),c=r(58),p=a(c),m="decodeTask",g=!1,x=void 0;t.default={taskType:m,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,f.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,x.default)(e,r);else if("1.2.840.10008.1.2.4.81"===t)e=(0,x.default)(e,r);else if("1.2.840.10008.1.2.4.90"===t)e=(0,w.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,w.default)(e,r,a,n)}var l=void 0!==e.pixelRepresentation&&1===e.pixelRepresentation,s=l&&void 0!==e.bitsStored?32-e.bitsStored:void 0;if(l&&void 0!==s)for(var d=0;d<e.pixelData.length;d++)e.pixelData[d]=e.pixelData[d]<<s>>s;var p=(new Date).getTime();return e.decodeTimeInMS=p-i,e}Object.defineProperty(t,"__esModule",{value:!0});var i=r(59),o=a(i),l=r(60),f=a(l),s=r(61),u=a(s),d=r(62),c=a(d),p=r(63),m=a(p),g=r(38),x=a(g),y=r(37),w=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),f=0,s=i.getInt32(0,!0),u=0;u<s;++u){f=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*s;d<c;){var m=o[d++];if(m>=0&&m<=127)for(var g=0;g<m+1&&f<p;++g)l[f]=o[d++],f+=e.samplesPerPixel;else if(m<=-1&&m>=-127)for(var x=o[d++],y=0;y<1-m&&f<p;++y)l[f]=x,f+=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),f=0,s=i.getInt32(0,!0),u=0;u<s;++u){f=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*s;d<c;){var m=o[d++];if(m>=0&&m<=127)for(var g=0;g<m+1&&f<p;++g)l[f]=o[d++],f++;else if(m<=-1&&m>=-127)for(var x=o[d++],y=0;y<1-m&&f<p;++y)l[f]=x,f++}}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),f=i.getInt32(0,!0),s=0;s<f;++s){var u=0,d=0===s?1:0,c=i.getInt32(4*(s+1),!0),p=i.getInt32(4*(s+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 x=o[c++],y=0;y<1-m&&u<a;++y)l[2*u+d]=x,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"}})});
//# sourceMappingURL=cornerstoneWADOImageLoaderWebWorker.min.js.map