@cornerstonejs/core 0.21.4 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.d.ts +1 -2
  2. package/dist/cjs/RenderingEngine/StackViewport.js +15 -22
  3. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/Viewport.d.ts +2 -2
  5. package/dist/cjs/RenderingEngine/Viewport.js +17 -28
  6. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  7. package/dist/cjs/utilities/getClosestStackImageIndexForPoint.d.ts +6 -0
  8. package/dist/cjs/utilities/getClosestStackImageIndexForPoint.js +76 -0
  9. package/dist/cjs/utilities/getClosestStackImageIndexForPoint.js.map +1 -0
  10. package/dist/cjs/utilities/index.d.ts +2 -1
  11. package/dist/cjs/utilities/index.js +3 -1
  12. package/dist/cjs/utilities/index.js.map +1 -1
  13. package/dist/cjs/utilities/planar.d.ts +2 -1
  14. package/dist/cjs/utilities/planar.js +10 -1
  15. package/dist/cjs/utilities/planar.js.map +1 -1
  16. package/dist/esm/RenderingEngine/StackViewport.d.ts +1 -2
  17. package/dist/esm/RenderingEngine/StackViewport.js +15 -22
  18. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  19. package/dist/esm/RenderingEngine/Viewport.d.ts +2 -2
  20. package/dist/esm/RenderingEngine/Viewport.js +17 -28
  21. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  22. package/dist/esm/utilities/getClosestStackImageIndexForPoint.d.ts +6 -0
  23. package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +70 -0
  24. package/dist/esm/utilities/getClosestStackImageIndexForPoint.js.map +1 -0
  25. package/dist/esm/utilities/index.d.ts +2 -1
  26. package/dist/esm/utilities/index.js +2 -1
  27. package/dist/esm/utilities/index.js.map +1 -1
  28. package/dist/esm/utilities/planar.d.ts +2 -1
  29. package/dist/esm/utilities/planar.js +9 -1
  30. package/dist/esm/utilities/planar.js.map +1 -1
  31. package/dist/umd/index.js +1 -1
  32. package/dist/umd/index.js.map +1 -1
  33. package/package.json +2 -2
package/dist/umd/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"),require("gl-matrix"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/macros"),require("@kitware/vtk.js/Rendering/Core/Camera"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Rendering/Core/Volume"),require("@kitware/vtk.js/Rendering/Profiles/Volume"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Rendering/OpenGL/Texture"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper"),require("@kitware/vtk.js/Rendering/Core/ImageMapper"),require("@kitware/vtk.js/Rendering/Core/ImageSlice"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Rendering/Core/Renderer"),require("@kitware/vtk.js/Rendering/Core/RenderWindow"),require("@kitware/vtk.js/Rendering/Core/RenderWindowInteractor"),require("@kitware/vtk.js/Common/Core/Points"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("@kitware/vtk.js/Rendering/OpenGL/RenderWindow"),require("@kitware/vtk.js/Rendering/OpenGL/Actor"),require("@kitware/vtk.js/Rendering/OpenGL/Actor2D"),require("@kitware/vtk.js/Rendering/OpenGL/Camera"),require("@kitware/vtk.js/Rendering/OpenGL/Glyph3DMapper"),require("@kitware/vtk.js/Rendering/OpenGL/ImageMapper"),require("@kitware/vtk.js/Rendering/OpenGL/ImageSlice"),require("@kitware/vtk.js/Rendering/OpenGL/PixelSpaceCallbackMapper"),require("@kitware/vtk.js/Rendering/OpenGL/PolyDataMapper"),require("@kitware/vtk.js/Rendering/OpenGL/Renderer"),require("@kitware/vtk.js/Rendering/OpenGL/Skybox"),require("@kitware/vtk.js/Rendering/OpenGL/SphereMapper"),require("@kitware/vtk.js/Rendering/OpenGL/StickMapper"),require("@kitware/vtk.js/Rendering/OpenGL/Volume"),require("@kitware/vtk.js/Rendering/OpenGL/VolumeMapper"),require("@kitware/vtk.js/Rendering/SceneGraph/ViewNodeFactory"),require("@kitware/vtk.js/Rendering/OpenGL/Texture/Constants"),require("@kitware/vtk.js/Common/Core/DataArray/Constants"),require("@kitware/vtk.js/Rendering/Core/Property/Constants")):"function"==typeof define&&define.amd?define(["@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants","gl-matrix","@kitware/vtk.js/Common/DataModel/Plane","@kitware/vtk.js/macros","@kitware/vtk.js/Rendering/Core/Camera","@kitware/vtk.js/Common/Core/Math","@kitware/vtk.js/Common/Core/MatrixBuilder","@kitware/vtk.js/Rendering/Core/Volume","@kitware/vtk.js/Rendering/Profiles/Volume","@kitware/vtk.js/Common/DataModel/ImageData","@kitware/vtk.js/Common/Core/DataArray","@kitware/vtk.js/Rendering/OpenGL/Texture","@kitware/vtk.js/Rendering/Core/VolumeMapper","@kitware/vtk.js/Rendering/Core/ImageMapper","@kitware/vtk.js/Rendering/Core/ImageSlice","@kitware/vtk.js/Rendering/Core/ColorTransferFunction","@kitware/vtk.js/Rendering/Core/Renderer","@kitware/vtk.js/Rendering/Core/RenderWindow","@kitware/vtk.js/Rendering/Core/RenderWindowInteractor","@kitware/vtk.js/Common/Core/Points","@kitware/vtk.js/Common/DataModel/PolyData","@kitware/vtk.js/Rendering/Core/Actor","@kitware/vtk.js/Rendering/Core/Mapper","@kitware/vtk.js/Rendering/OpenGL/RenderWindow","@kitware/vtk.js/Rendering/OpenGL/Actor","@kitware/vtk.js/Rendering/OpenGL/Actor2D","@kitware/vtk.js/Rendering/OpenGL/Camera","@kitware/vtk.js/Rendering/OpenGL/Glyph3DMapper","@kitware/vtk.js/Rendering/OpenGL/ImageMapper","@kitware/vtk.js/Rendering/OpenGL/ImageSlice","@kitware/vtk.js/Rendering/OpenGL/PixelSpaceCallbackMapper","@kitware/vtk.js/Rendering/OpenGL/PolyDataMapper","@kitware/vtk.js/Rendering/OpenGL/Renderer","@kitware/vtk.js/Rendering/OpenGL/Skybox","@kitware/vtk.js/Rendering/OpenGL/SphereMapper","@kitware/vtk.js/Rendering/OpenGL/StickMapper","@kitware/vtk.js/Rendering/OpenGL/Volume","@kitware/vtk.js/Rendering/OpenGL/VolumeMapper","@kitware/vtk.js/Rendering/SceneGraph/ViewNodeFactory","@kitware/vtk.js/Rendering/OpenGL/Texture/Constants","@kitware/vtk.js/Common/Core/DataArray/Constants","@kitware/vtk.js/Rendering/Core/Property/Constants"],t):"object"==typeof exports?exports.cornerstone3D=t(require("@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"),require("gl-matrix"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/macros"),require("@kitware/vtk.js/Rendering/Core/Camera"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Rendering/Core/Volume"),require("@kitware/vtk.js/Rendering/Profiles/Volume"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Rendering/OpenGL/Texture"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper"),require("@kitware/vtk.js/Rendering/Core/ImageMapper"),require("@kitware/vtk.js/Rendering/Core/ImageSlice"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Rendering/Core/Renderer"),require("@kitware/vtk.js/Rendering/Core/RenderWindow"),require("@kitware/vtk.js/Rendering/Core/RenderWindowInteractor"),require("@kitware/vtk.js/Common/Core/Points"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("@kitware/vtk.js/Rendering/OpenGL/RenderWindow"),require("@kitware/vtk.js/Rendering/OpenGL/Actor"),require("@kitware/vtk.js/Rendering/OpenGL/Actor2D"),require("@kitware/vtk.js/Rendering/OpenGL/Camera"),require("@kitware/vtk.js/Rendering/OpenGL/Glyph3DMapper"),require("@kitware/vtk.js/Rendering/OpenGL/ImageMapper"),require("@kitware/vtk.js/Rendering/OpenGL/ImageSlice"),require("@kitware/vtk.js/Rendering/OpenGL/PixelSpaceCallbackMapper"),require("@kitware/vtk.js/Rendering/OpenGL/PolyDataMapper"),require("@kitware/vtk.js/Rendering/OpenGL/Renderer"),require("@kitware/vtk.js/Rendering/OpenGL/Skybox"),require("@kitware/vtk.js/Rendering/OpenGL/SphereMapper"),require("@kitware/vtk.js/Rendering/OpenGL/StickMapper"),require("@kitware/vtk.js/Rendering/OpenGL/Volume"),require("@kitware/vtk.js/Rendering/OpenGL/VolumeMapper"),require("@kitware/vtk.js/Rendering/SceneGraph/ViewNodeFactory"),require("@kitware/vtk.js/Rendering/OpenGL/Texture/Constants"),require("@kitware/vtk.js/Common/Core/DataArray/Constants"),require("@kitware/vtk.js/Rendering/Core/Property/Constants")):e.cornerstone3D=t(e["@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"],e.window,e["@kitware/vtk.js/Common/DataModel/Plane"],e["@kitware/vtk.js/macros"],e["@kitware/vtk.js/Rendering/Core/Camera"],e["@kitware/vtk.js/Common/Core/Math"],e["@kitware/vtk.js/Common/Core/MatrixBuilder"],e["@kitware/vtk.js/Rendering/Core/Volume"],e["@kitware/vtk.js/Rendering/Profiles/Volume"],e["@kitware/vtk.js/Common/DataModel/ImageData"],e["@kitware/vtk.js/Common/Core/DataArray"],e["@kitware/vtk.js/Rendering/OpenGL/Texture"],e["@kitware/vtk.js/Rendering/Core/VolumeMapper"],e["@kitware/vtk.js/Rendering/Core/ImageMapper"],e["@kitware/vtk.js/Rendering/Core/ImageSlice"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction"],e["@kitware/vtk.js/Rendering/Core/Renderer"],e["@kitware/vtk.js/Rendering/Core/RenderWindow"],e["@kitware/vtk.js/Rendering/Core/RenderWindowInteractor"],e["@kitware/vtk.js/Common/Core/Points"],e["@kitware/vtk.js/Common/DataModel/PolyData"],e["@kitware/vtk.js/Rendering/Core/Actor"],e["@kitware/vtk.js/Rendering/Core/Mapper"],e["@kitware/vtk.js/Rendering/OpenGL/RenderWindow"],e["@kitware/vtk.js/Rendering/OpenGL/Actor"],e["@kitware/vtk.js/Rendering/OpenGL/Actor2D"],e["@kitware/vtk.js/Rendering/OpenGL/Camera"],e["@kitware/vtk.js/Rendering/OpenGL/Glyph3DMapper"],e["@kitware/vtk.js/Rendering/OpenGL/ImageMapper"],e["@kitware/vtk.js/Rendering/OpenGL/ImageSlice"],e["@kitware/vtk.js/Rendering/OpenGL/PixelSpaceCallbackMapper"],e["@kitware/vtk.js/Rendering/OpenGL/PolyDataMapper"],e["@kitware/vtk.js/Rendering/OpenGL/Renderer"],e["@kitware/vtk.js/Rendering/OpenGL/Skybox"],e["@kitware/vtk.js/Rendering/OpenGL/SphereMapper"],e["@kitware/vtk.js/Rendering/OpenGL/StickMapper"],e["@kitware/vtk.js/Rendering/OpenGL/Volume"],e["@kitware/vtk.js/Rendering/OpenGL/VolumeMapper"],e["@kitware/vtk.js/Rendering/SceneGraph/ViewNodeFactory"],e["@kitware/vtk.js/Rendering/OpenGL/Texture/Constants"],e["@kitware/vtk.js/Common/Core/DataArray/Constants"],e["@kitware/vtk.js/Rendering/Core/Property/Constants"])}(self,(function(e,t,r,n,i,a,o,s,c,l,u,d,f,v,h,g,m,p,w,y,I,C,b,k,E,R,P,A,x,_,O,S,T,D,M,V,j,L,U,N,F,G){return function(){var W={132:function(e,t,r){var n=r(921).default;function i(){"use strict";e.exports=i=function(){return t},e.exports.__esModule=!0,e.exports.default=e.exports;var t={},r=Object.prototype,a=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function d(e,t,r,n){var i=t&&t.prototype instanceof h?t:h,a=Object.create(i.prototype),o=new P(n||[]);return a._invoke=function(e,t,r){var n="suspendedStart";return function(i,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw a;return{value:void 0,done:!0}}for(r.method=i,r.arg=a;;){var o=r.delegate;if(o){var s=k(o,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=f(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}(e,r,o),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var v={};function h(){}function g(){}function m(){}var p={};u(p,s,(function(){return this}));var w=Object.getPrototypeOf,y=w&&w(w(A([])));y&&y!==r&&a.call(y,s)&&(p=y);var I=m.prototype=h.prototype=Object.create(p);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function r(i,o,s,c){var l=f(e[i],e,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==n(d)&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){r("next",e,s,c)}),(function(e){r("throw",e,s,c)})):t.resolve(d).then((function(e){u.value=e,s(u)}),(function(e){return r("throw",e,s,c)}))}c(l.arg)}var i;this._invoke=function(e,n){function a(){return new t((function(t,i){r(e,n,t,i)}))}return i=i?i.then(a,a):a()}}function k(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method))return v;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var n=f(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,v;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,v):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,v)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function A(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r<e.length;)if(a.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:x}}function x(){return{value:void 0,done:!0}}return g.prototype=m,u(I,"constructor",m),u(m,"constructor",g),g.displayName=u(m,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,l,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},C(b.prototype),u(b.prototype,c,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,i,a){void 0===a&&(a=Promise);var o=new b(d(e,r,n,i),a);return t.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},C(I),u(I,l,"Generator"),u(I,s,(function(){return this})),u(I,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=A,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(R),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],o=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=a.call(i,"catchLoc"),c=a.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),R(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;R(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),v}},t}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},921:function(e){function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},162:function(e,t,r){var n=r(132)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},907:function(e,t,r){e=r.nmd(e);var n="__lodash_hash_undefined__",i=9007199254740991,a="[object Arguments]",o="[object Boolean]",s="[object Date]",c="[object Function]",l="[object GeneratorFunction]",u="[object Map]",d="[object Number]",f="[object Object]",v="[object Promise]",h="[object RegExp]",g="[object Set]",m="[object String]",p="[object Symbol]",w="[object WeakMap]",y="[object ArrayBuffer]",I="[object DataView]",C="[object Float32Array]",b="[object Float64Array]",k="[object Int8Array]",E="[object Int16Array]",R="[object Int32Array]",P="[object Uint8Array]",A="[object Uint8ClampedArray]",x="[object Uint16Array]",_="[object Uint32Array]",O=/\w*$/,S=/^\[object .+?Constructor\]$/,T=/^(?:0|[1-9]\d*)$/,D={};D[a]=D["[object Array]"]=D[y]=D[I]=D[o]=D[s]=D[C]=D[b]=D[k]=D[E]=D[R]=D[u]=D[d]=D[f]=D[h]=D[g]=D[m]=D[p]=D[P]=D[A]=D[x]=D[_]=!0,D["[object Error]"]=D[c]=D[w]=!1;var M="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,V="object"==typeof self&&self&&self.Object===Object&&self,j=M||V||Function("return this")(),L=t&&!t.nodeType&&t,U=L&&e&&!e.nodeType&&e,N=U&&U.exports===L;function F(e,t){return e.set(t[0],t[1]),e}function G(e,t){return e.add(t),e}function W(e,t,r,n){var i=-1,a=e?e.length:0;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function B(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function q(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function z(e,t){return function(r){return e(t(r))}}function H(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var K,$=Array.prototype,X=Function.prototype,Y=Object.prototype,Z=j["__core-js_shared__"],J=(K=/[^.]+$/.exec(Z&&Z.keys&&Z.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Q=X.toString,ee=Y.hasOwnProperty,te=Y.toString,re=RegExp("^"+Q.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ne=N?j.Buffer:void 0,ie=j.Symbol,ae=j.Uint8Array,oe=z(Object.getPrototypeOf,Object),se=Object.create,ce=Y.propertyIsEnumerable,le=$.splice,ue=Object.getOwnPropertySymbols,de=ne?ne.isBuffer:void 0,fe=z(Object.keys,Object),ve=je(j,"DataView"),he=je(j,"Map"),ge=je(j,"Promise"),me=je(j,"Set"),pe=je(j,"WeakMap"),we=je(Object,"create"),ye=Ge(ve),Ie=Ge(he),Ce=Ge(ge),be=Ge(me),ke=Ge(pe),Ee=ie?ie.prototype:void 0,Re=Ee?Ee.valueOf:void 0;function Pe(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Ae(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function xe(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function _e(e){this.__data__=new Ae(e)}function Oe(e,t,r){var n=e[t];ee.call(e,t)&&We(n,r)&&(void 0!==r||t in e)||(e[t]=r)}function Se(e,t){for(var r=e.length;r--;)if(We(e[r][0],t))return r;return-1}function Te(e,t,r,n,i,v,w){var S;if(n&&(S=v?n(e,i,v,w):n(e)),void 0!==S)return S;if(!Ke(e))return e;var T=Be(e);if(T){if(S=function(e){var t=e.length,r=e.constructor(t);return t&&"string"==typeof e[0]&&ee.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(e),!t)return function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(e,S)}else{var M=Ue(e),V=M==c||M==l;if(ze(e))return function(e,t){if(t)return e.slice();var r=new e.constructor(e.length);return e.copy(r),r}(e,t);if(M==f||M==a||V&&!v){if(B(e))return v?e:{};if(S=function(e){return"function"!=typeof e.constructor||Fe(e)?{}:Ke(t=oe(e))?se(t):{};var t}(V?{}:e),!t)return function(e,t){return Me(e,Le(e),t)}(e,function(e,t){return e&&Me(t,$e(t),e)}(S,e))}else{if(!D[M])return v?e:{};S=function(e,t,r,n){var i,a=e.constructor;switch(t){case y:return De(e);case o:case s:return new a(+e);case I:return function(e,t){var r=t?De(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,n);case C:case b:case k:case E:case R:case P:case A:case x:case _:return function(e,t){var r=t?De(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}(e,n);case u:return function(e,t,r){return W(t?r(q(e),!0):q(e),F,new e.constructor)}(e,n,r);case d:case m:return new a(e);case h:return function(e){var t=new e.constructor(e.source,O.exec(e));return t.lastIndex=e.lastIndex,t}(e);case g:return function(e,t,r){return W(t?r(H(e),!0):H(e),G,new e.constructor)}(e,n,r);case p:return i=e,Re?Object(Re.call(i)):{}}}(e,M,Te,t)}}w||(w=new _e);var j=w.get(e);if(j)return j;if(w.set(e,S),!T)var L=r?function(e){return function(e,t,r){var n=t(e);return Be(e)?n:function(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}(n,r(e))}(e,$e,Le)}(e):$e(e);return function(e,t){for(var r=-1,n=e?e.length:0;++r<n&&!1!==t(e[r],r););}(L||e,(function(i,a){L&&(i=e[a=i]),Oe(S,a,Te(i,t,r,n,a,e,w))})),S}function De(e){var t=new e.constructor(e.byteLength);return new ae(t).set(new ae(e)),t}function Me(e,t,r,n){r||(r={});for(var i=-1,a=t.length;++i<a;){var o=t[i],s=n?n(r[o],e[o],o,r,e):void 0;Oe(r,o,void 0===s?e[o]:s)}return r}function Ve(e,t){var r,n,i=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof t?"string":"hash"]:i.map}function je(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Ke(e)||(t=e,J&&J in t))&&(He(e)||B(e)?re:S).test(Ge(e));var t}(r)?r:void 0}Pe.prototype.clear=function(){this.__data__=we?we(null):{}},Pe.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Pe.prototype.get=function(e){var t=this.__data__;if(we){var r=t[e];return r===n?void 0:r}return ee.call(t,e)?t[e]:void 0},Pe.prototype.has=function(e){var t=this.__data__;return we?void 0!==t[e]:ee.call(t,e)},Pe.prototype.set=function(e,t){return this.__data__[e]=we&&void 0===t?n:t,this},Ae.prototype.clear=function(){this.__data__=[]},Ae.prototype.delete=function(e){var t=this.__data__,r=Se(t,e);return!(r<0||(r==t.length-1?t.pop():le.call(t,r,1),0))},Ae.prototype.get=function(e){var t=this.__data__,r=Se(t,e);return r<0?void 0:t[r][1]},Ae.prototype.has=function(e){return Se(this.__data__,e)>-1},Ae.prototype.set=function(e,t){var r=this.__data__,n=Se(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},xe.prototype.clear=function(){this.__data__={hash:new Pe,map:new(he||Ae),string:new Pe}},xe.prototype.delete=function(e){return Ve(this,e).delete(e)},xe.prototype.get=function(e){return Ve(this,e).get(e)},xe.prototype.has=function(e){return Ve(this,e).has(e)},xe.prototype.set=function(e,t){return Ve(this,e).set(e,t),this},_e.prototype.clear=function(){this.__data__=new Ae},_e.prototype.delete=function(e){return this.__data__.delete(e)},_e.prototype.get=function(e){return this.__data__.get(e)},_e.prototype.has=function(e){return this.__data__.has(e)},_e.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Ae){var n=r.__data__;if(!he||n.length<199)return n.push([e,t]),this;r=this.__data__=new xe(n)}return r.set(e,t),this};var Le=ue?z(ue,Object):function(){return[]},Ue=function(e){return te.call(e)};function Ne(e,t){return!!(t=null==t?i:t)&&("number"==typeof e||T.test(e))&&e>-1&&e%1==0&&e<t}function Fe(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Y)}function Ge(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){return e===t||e!=e&&t!=t}(ve&&Ue(new ve(new ArrayBuffer(1)))!=I||he&&Ue(new he)!=u||ge&&Ue(ge.resolve())!=v||me&&Ue(new me)!=g||pe&&Ue(new pe)!=w)&&(Ue=function(e){var t=te.call(e),r=t==f?e.constructor:void 0,n=r?Ge(r):void 0;if(n)switch(n){case ye:return I;case Ie:return u;case Ce:return v;case be:return g;case ke:return w}return t});var Be=Array.isArray;function qe(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i}(e.length)&&!He(e)}var ze=de||function(){return!1};function He(e){var t=Ke(e)?te.call(e):"";return t==c||t==l}function Ke(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function $e(e){return qe(e)?function(e,t){var r=Be(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&qe(e)}(e)&&ee.call(e,"callee")&&(!ce.call(e,"callee")||te.call(e)==a)}(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,i=!!n;for(var o in e)!t&&!ee.call(e,o)||i&&("length"==o||Ne(o,n))||r.push(o);return r}(e):function(e){if(!Fe(e))return fe(e);var t=[];for(var r in Object(e))ee.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}e.exports=function(e){return Te(e,!0,!0)}},785:function(e){"use strict";e.exports=u},948:function(e){"use strict";e.exports=F},807:function(e){"use strict";e.exports=a},847:function(e){"use strict";e.exports=o},348:function(e){"use strict";e.exports=y},283:function(e){"use strict";e.exports=l},864:function(e){"use strict";e.exports=r},70:function(e){"use strict";e.exports=I},474:function(e){"use strict";e.exports=C},821:function(e){"use strict";e.exports=i},795:function(e){"use strict";e.exports=g},896:function(e){"use strict";e.exports=v},861:function(e){"use strict";e.exports=h},610:function(e){"use strict";e.exports=b},478:function(e){"use strict";e.exports=G},329:function(e){"use strict";e.exports=p},673:function(e){"use strict";e.exports=w},281:function(e){"use strict";e.exports=m},739:function(e){"use strict";e.exports=s},9:function(e){"use strict";e.exports=f},468:function(t){"use strict";t.exports=e},643:function(e){"use strict";e.exports=E},128:function(e){"use strict";e.exports=R},664:function(e){"use strict";e.exports=P},973:function(e){"use strict";e.exports=A},394:function(e){"use strict";e.exports=x},582:function(e){"use strict";e.exports=_},482:function(e){"use strict";e.exports=O},343:function(e){"use strict";e.exports=S},21:function(e){"use strict";e.exports=k},363:function(e){"use strict";e.exports=T},982:function(e){"use strict";e.exports=D},130:function(e){"use strict";e.exports=M},298:function(e){"use strict";e.exports=V},953:function(e){"use strict";e.exports=d},395:function(e){"use strict";e.exports=N},398:function(e){"use strict";e.exports=j},388:function(e){"use strict";e.exports=L},215:function(e){"use strict";e.exports=c},120:function(e){"use strict";e.exports=U},197:function(e){"use strict";e.exports=n},976:function(e){"use strict";e.exports=t}},B={};function q(e){var t=B[e];if(void 0!==t)return t.exports;var r=B[e]={id:e,loaded:!1,exports:{}};return W[e](r,r.exports,q),r.loaded=!0,r.exports}q.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return q.d(t,{a:t}),t},q.d=function(e,t){for(var r in t)q.o(t,r)&&!q.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},q.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),q.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},q.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},q.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var z={};return function(){"use strict";q.r(z),q.d(z,{CONSTANTS:function(){return t},EVENTS:function(){return u},Enums:function(){return e},ImageVolume:function(){return re},RenderingEngine:function(){return Wi},Settings:function(){return Ji},StackViewport:function(){return ji},Viewport:function(){return Qr},VolumeViewport:function(){return Un},addVolumesToViewports:function(){return Ma},cache:function(){return Ur},createVolumeActor:function(){return ft},createVolumeMapper:function(){return _e},eventTarget:function(){return ie},getEnabledElement:function(){return zi},getEnabledElementByIds:function(){return Hi},getEnabledElements:function(){return Ki},getOrCreateCanvas:function(){return gt},getRenderingEngine:function(){return on},getRenderingEngines:function(){return sn},getShouldUseCPURendering:function(){return Mn},imageLoadPoolManager:function(){return Me},imageLoader:function(){return n},imageRetrievalPoolManager:function(){return qi},init:function(){return On},isCornerstoneInitialized:function(){return Vn},metaData:function(){return i},registerImageLoader:function(){return Be},requestPoolManager:function(){return Me},resetUseCPURendering:function(){return Dn},setUseCPURendering:function(){return Tn},setVolumesForViewports:function(){return Oa},triggerEvent:function(){return ae},utilities:function(){return c},volumeLoader:function(){return r}});var e={};q.r(e),q.d(e,{BlendModes:function(){return I},Events:function(){return u},InterpolationType:function(){return m},OrientationAxis:function(){return C},RequestType:function(){return f},ViewportType:function(){return h}});var t={};q.r(t),q.d(t,{CPU_COLORMAPS:function(){return b},EPSILON:function(){return R},MPR_CAMERA_VALUES:function(){return x},RENDERING_DEFAULTS:function(){return E}});var r={};q.r(r),q.d(r,{createAndCacheDerivedVolume:function(){return we},createAndCacheVolume:function(){return me},createLocalVolume:function(){return Ie},loadVolume:function(){return ge},registerUnknownVolumeLoader:function(){return be},registerVolumeLoader:function(){return Ce}});var n={};q.r(n),q.d(n,{cancelLoadAll:function(){return We},cancelLoadImage:function(){return Fe},cancelLoadImages:function(){return Ge},loadAndCacheImage:function(){return Ue},loadAndCacheImages:function(){return Ne},loadImage:function(){return Le},registerImageLoader:function(){return Be},registerUnknownImageLoader:function(){return qe},unregisterAllImageLoaders:function(){return ze}});var i={};q.r(i),q.d(i,{addProvider:function(){return Ke},get:function(){return Ye},removeAllProviders:function(){return Xe},removeProvider:function(){return $e}});var a={};q.r(a),q.d(a,{toLowHighRange:function(){return Je},toWindowLevel:function(){return Ze}});var o={};q.r(o),q.d(o,{linePlaneIntersection:function(){return zr},planeEquation:function(){return Hr},threePlaneIntersection:function(){return Kr}});var s,c={};q.r(c),q.d(c,{calculateViewportsSpatialRegistration:function(){return Pa},calibratedPixelSpacingMetadataProvider:function(){return ca},createFloat32SharedArray:function(){return da},createUint8SharedArray:function(){return ua},getClosestImageId:function(){return fa},getImageSliceDataForVolumeViewport:function(){return an},getMinMax:function(){return Qe},getRuntimeId:function(){return oa},getSliceRange:function(){return tn},getSpacingInNormalDirection:function(){return rn},getTargetVolumeAndSpacingInNormalDir:function(){return nn},getViewportImageCornersInWorld:function(){return Aa},getViewportsWithImageURI:function(){return ba},getViewportsWithVolumeId:function(){return ma},getVolumeActorCorners:function(){return en},getVolumeViewportsContainingSameVolumes:function(){return ga},imageIdToURI:function(){return oe},imageToWorldCoords:function(){return Ia},indexWithinDimensions:function(){return va},invertRgbTransferFunction:function(){return zn},isEqual:function(){return Hn},isImageActor:function(){return qr},isOpposite:function(){return la},loadImageToCanvas:function(){return wa},planar:function(){return o},renderToCanvas:function(){return pa},scaleRgbTransferFunction:function(){return na},snapFocalPointToSlice:function(){return Ca},spatialRegistrationMetadataProvider:function(){return Ra},transformWorldToIndex:function(){return jn},triggerEvent:function(){return ae},uuidv4:function(){return ue},windowLevel:function(){return a},worldToImageCoords:function(){return ya}}),function(e){e.CACHE_SIZE_EXCEEDED="CACHE_SIZE_EXCEEDED",e.IMAGE_LOAD_ERROR="IMAGE_LOAD_ERROR",e.CAMERA_MODIFIED="CORNERSTONE_CAMERA_MODIFIED",e.CAMERA_RESET="CORNERSTONE_CAMERA_RESET",e.VOI_MODIFIED="CORNERSTONE_VOI_MODIFIED",e.ELEMENT_DISABLED="CORNERSTONE_ELEMENT_DISABLED",e.ELEMENT_ENABLED="CORNERSTONE_ELEMENT_ENABLED",e.IMAGE_RENDERED="CORNERSTONE_IMAGE_RENDERED",e.IMAGE_VOLUME_MODIFIED="CORNERSTONE_IMAGE_VOLUME_MODIFIED",e.IMAGE_LOADED="CORNERSTONE_IMAGE_LOADED",e.IMAGE_LOAD_FAILED="CORNERSTONE_IMAGE_LOAD_FAILED",e.VOLUME_VIEWPORT_NEW_VOLUME="CORNERSTONE_VOLUME_VIEWPORT_NEW_VOLUME",e.VOLUME_LOADED="CORNERSTONE_VOLUME_LOADED",e.VOLUME_LOADED_FAILED="CORNERSTONE_VOLUME_LOADED_FAILED",e.IMAGE_CACHE_IMAGE_ADDED="CORNERSTONE_IMAGE_CACHE_IMAGE_ADDED",e.IMAGE_CACHE_IMAGE_REMOVED="CORNERSTONE_IMAGE_CACHE_IMAGE_REMOVED",e.VOLUME_CACHE_VOLUME_ADDED="CORNERSTONE_VOLUME_CACHE_VOLUME_ADDED",e.VOLUME_CACHE_VOLUME_REMOVED="CORNERSTONE_VOLUME_CACHE_VOLUME_REMOVED",e.STACK_NEW_IMAGE="CORNERSTONE_STACK_NEW_IMAGE",e.VOLUME_NEW_IMAGE="CORNERSTONE_VOLUME_NEW_IMAGE",e.PRE_STACK_NEW_IMAGE="CORNERSTONE_PRE_STACK_NEW_IMAGE",e.IMAGE_SPACING_CALIBRATED="CORNERSTONE_IMAGE_SPACING_CALIBRATED",e.IMAGE_LOAD_PROGRESS="CORNERSTONE_IMAGE_LOAD_PROGRESS",e.STACK_VIEWPORT_NEW_STACK="CORNERSTONE_STACK_VIEWPORT_NEW_STACK",e.STACK_VIEWPORT_SCROLL="CORNERSTONE_STACK_VIEWPORT_SCROLL"}(s||(s={}));var l,u=s;!function(e){e.Interaction="interaction",e.Thumbnail="thumbnail",e.Prefetch="prefetch"}(l||(l={}));var d,f=l;!function(e){e.STACK="stack",e.ORTHOGRAPHIC="orthographic",e.PERSPECTIVE="perspective"}(d||(d={}));var v,h=d;!function(e){e[e.NEAREST=0]="NEAREST",e[e.LINEAR=1]="LINEAR",e[e.FAST_LINEAR=2]="FAST_LINEAR"}(v||(v={}));var g,m=v,p=q(468),w=q.n(p)().BlendMode;!function(e){e[e.COMPOSITE=w.COMPOSITE_BLEND]="COMPOSITE",e[e.MAXIMUM_INTENSITY_BLEND=w.MAXIMUM_INTENSITY_BLEND]="MAXIMUM_INTENSITY_BLEND",e[e.MINIMUM_INTENSITY_BLEND=w.MINIMUM_INTENSITY_BLEND]="MINIMUM_INTENSITY_BLEND",e[e.AVERAGE_INTENSITY_BLEND=w.AVERAGE_INTENSITY_BLEND]="AVERAGE_INTENSITY_BLEND"}(g||(g={}));var y,I=g;!function(e){e.AXIAL="axial",e.CORONAL="coronal",e.SAGITTAL="sagittal",e.ACQUISITION="acquisition"}(y||(y={}));var C=y,b={hotIron:{name:"Hot Iron",numOfColors:256,colors:[[0,0,0,255],[2,0,0,255],[4,0,0,255],[6,0,0,255],[8,0,0,255],[10,0,0,255],[12,0,0,255],[14,0,0,255],[16,0,0,255],[18,0,0,255],[20,0,0,255],[22,0,0,255],[24,0,0,255],[26,0,0,255],[28,0,0,255],[30,0,0,255],[32,0,0,255],[34,0,0,255],[36,0,0,255],[38,0,0,255],[40,0,0,255],[42,0,0,255],[44,0,0,255],[46,0,0,255],[48,0,0,255],[50,0,0,255],[52,0,0,255],[54,0,0,255],[56,0,0,255],[58,0,0,255],[60,0,0,255],[62,0,0,255],[64,0,0,255],[66,0,0,255],[68,0,0,255],[70,0,0,255],[72,0,0,255],[74,0,0,255],[76,0,0,255],[78,0,0,255],[80,0,0,255],[82,0,0,255],[84,0,0,255],[86,0,0,255],[88,0,0,255],[90,0,0,255],[92,0,0,255],[94,0,0,255],[96,0,0,255],[98,0,0,255],[100,0,0,255],[102,0,0,255],[104,0,0,255],[106,0,0,255],[108,0,0,255],[110,0,0,255],[112,0,0,255],[114,0,0,255],[116,0,0,255],[118,0,0,255],[120,0,0,255],[122,0,0,255],[124,0,0,255],[126,0,0,255],[128,0,0,255],[130,0,0,255],[132,0,0,255],[134,0,0,255],[136,0,0,255],[138,0,0,255],[140,0,0,255],[142,0,0,255],[144,0,0,255],[146,0,0,255],[148,0,0,255],[150,0,0,255],[152,0,0,255],[154,0,0,255],[156,0,0,255],[158,0,0,255],[160,0,0,255],[162,0,0,255],[164,0,0,255],[166,0,0,255],[168,0,0,255],[170,0,0,255],[172,0,0,255],[174,0,0,255],[176,0,0,255],[178,0,0,255],[180,0,0,255],[182,0,0,255],[184,0,0,255],[186,0,0,255],[188,0,0,255],[190,0,0,255],[192,0,0,255],[194,0,0,255],[196,0,0,255],[198,0,0,255],[200,0,0,255],[202,0,0,255],[204,0,0,255],[206,0,0,255],[208,0,0,255],[210,0,0,255],[212,0,0,255],[214,0,0,255],[216,0,0,255],[218,0,0,255],[220,0,0,255],[222,0,0,255],[224,0,0,255],[226,0,0,255],[228,0,0,255],[230,0,0,255],[232,0,0,255],[234,0,0,255],[236,0,0,255],[238,0,0,255],[240,0,0,255],[242,0,0,255],[244,0,0,255],[246,0,0,255],[248,0,0,255],[250,0,0,255],[252,0,0,255],[254,0,0,255],[255,0,0,255],[255,2,0,255],[255,4,0,255],[255,6,0,255],[255,8,0,255],[255,10,0,255],[255,12,0,255],[255,14,0,255],[255,16,0,255],[255,18,0,255],[255,20,0,255],[255,22,0,255],[255,24,0,255],[255,26,0,255],[255,28,0,255],[255,30,0,255],[255,32,0,255],[255,34,0,255],[255,36,0,255],[255,38,0,255],[255,40,0,255],[255,42,0,255],[255,44,0,255],[255,46,0,255],[255,48,0,255],[255,50,0,255],[255,52,0,255],[255,54,0,255],[255,56,0,255],[255,58,0,255],[255,60,0,255],[255,62,0,255],[255,64,0,255],[255,66,0,255],[255,68,0,255],[255,70,0,255],[255,72,0,255],[255,74,0,255],[255,76,0,255],[255,78,0,255],[255,80,0,255],[255,82,0,255],[255,84,0,255],[255,86,0,255],[255,88,0,255],[255,90,0,255],[255,92,0,255],[255,94,0,255],[255,96,0,255],[255,98,0,255],[255,100,0,255],[255,102,0,255],[255,104,0,255],[255,106,0,255],[255,108,0,255],[255,110,0,255],[255,112,0,255],[255,114,0,255],[255,116,0,255],[255,118,0,255],[255,120,0,255],[255,122,0,255],[255,124,0,255],[255,126,0,255],[255,128,4,255],[255,130,8,255],[255,132,12,255],[255,134,16,255],[255,136,20,255],[255,138,24,255],[255,140,28,255],[255,142,32,255],[255,144,36,255],[255,146,40,255],[255,148,44,255],[255,150,48,255],[255,152,52,255],[255,154,56,255],[255,156,60,255],[255,158,64,255],[255,160,68,255],[255,162,72,255],[255,164,76,255],[255,166,80,255],[255,168,84,255],[255,170,88,255],[255,172,92,255],[255,174,96,255],[255,176,100,255],[255,178,104,255],[255,180,108,255],[255,182,112,255],[255,184,116,255],[255,186,120,255],[255,188,124,255],[255,190,128,255],[255,192,132,255],[255,194,136,255],[255,196,140,255],[255,198,144,255],[255,200,148,255],[255,202,152,255],[255,204,156,255],[255,206,160,255],[255,208,164,255],[255,210,168,255],[255,212,172,255],[255,214,176,255],[255,216,180,255],[255,218,184,255],[255,220,188,255],[255,222,192,255],[255,224,196,255],[255,226,200,255],[255,228,204,255],[255,230,208,255],[255,232,212,255],[255,234,216,255],[255,236,220,255],[255,238,224,255],[255,240,228,255],[255,242,232,255],[255,244,236,255],[255,246,240,255],[255,248,244,255],[255,250,248,255],[255,252,252,255],[255,255,255,255]]},pet:{name:"PET",numColors:256,colors:[[0,0,0,255],[0,2,1,255],[0,4,3,255],[0,6,5,255],[0,8,7,255],[0,10,9,255],[0,12,11,255],[0,14,13,255],[0,16,15,255],[0,18,17,255],[0,20,19,255],[0,22,21,255],[0,24,23,255],[0,26,25,255],[0,28,27,255],[0,30,29,255],[0,32,31,255],[0,34,33,255],[0,36,35,255],[0,38,37,255],[0,40,39,255],[0,42,41,255],[0,44,43,255],[0,46,45,255],[0,48,47,255],[0,50,49,255],[0,52,51,255],[0,54,53,255],[0,56,55,255],[0,58,57,255],[0,60,59,255],[0,62,61,255],[0,65,63,255],[0,67,65,255],[0,69,67,255],[0,71,69,255],[0,73,71,255],[0,75,73,255],[0,77,75,255],[0,79,77,255],[0,81,79,255],[0,83,81,255],[0,85,83,255],[0,87,85,255],[0,89,87,255],[0,91,89,255],[0,93,91,255],[0,95,93,255],[0,97,95,255],[0,99,97,255],[0,101,99,255],[0,103,101,255],[0,105,103,255],[0,107,105,255],[0,109,107,255],[0,111,109,255],[0,113,111,255],[0,115,113,255],[0,117,115,255],[0,119,117,255],[0,121,119,255],[0,123,121,255],[0,125,123,255],[0,128,125,255],[1,126,127,255],[3,124,129,255],[5,122,131,255],[7,120,133,255],[9,118,135,255],[11,116,137,255],[13,114,139,255],[15,112,141,255],[17,110,143,255],[19,108,145,255],[21,106,147,255],[23,104,149,255],[25,102,151,255],[27,100,153,255],[29,98,155,255],[31,96,157,255],[33,94,159,255],[35,92,161,255],[37,90,163,255],[39,88,165,255],[41,86,167,255],[43,84,169,255],[45,82,171,255],[47,80,173,255],[49,78,175,255],[51,76,177,255],[53,74,179,255],[55,72,181,255],[57,70,183,255],[59,68,185,255],[61,66,187,255],[63,64,189,255],[65,63,191,255],[67,61,193,255],[69,59,195,255],[71,57,197,255],[73,55,199,255],[75,53,201,255],[77,51,203,255],[79,49,205,255],[81,47,207,255],[83,45,209,255],[85,43,211,255],[86,41,213,255],[88,39,215,255],[90,37,217,255],[92,35,219,255],[94,33,221,255],[96,31,223,255],[98,29,225,255],[100,27,227,255],[102,25,229,255],[104,23,231,255],[106,21,233,255],[108,19,235,255],[110,17,237,255],[112,15,239,255],[114,13,241,255],[116,11,243,255],[118,9,245,255],[120,7,247,255],[122,5,249,255],[124,3,251,255],[126,1,253,255],[128,0,255,255],[130,2,252,255],[132,4,248,255],[134,6,244,255],[136,8,240,255],[138,10,236,255],[140,12,232,255],[142,14,228,255],[144,16,224,255],[146,18,220,255],[148,20,216,255],[150,22,212,255],[152,24,208,255],[154,26,204,255],[156,28,200,255],[158,30,196,255],[160,32,192,255],[162,34,188,255],[164,36,184,255],[166,38,180,255],[168,40,176,255],[170,42,172,255],[171,44,168,255],[173,46,164,255],[175,48,160,255],[177,50,156,255],[179,52,152,255],[181,54,148,255],[183,56,144,255],[185,58,140,255],[187,60,136,255],[189,62,132,255],[191,64,128,255],[193,66,124,255],[195,68,120,255],[197,70,116,255],[199,72,112,255],[201,74,108,255],[203,76,104,255],[205,78,100,255],[207,80,96,255],[209,82,92,255],[211,84,88,255],[213,86,84,255],[215,88,80,255],[217,90,76,255],[219,92,72,255],[221,94,68,255],[223,96,64,255],[225,98,60,255],[227,100,56,255],[229,102,52,255],[231,104,48,255],[233,106,44,255],[235,108,40,255],[237,110,36,255],[239,112,32,255],[241,114,28,255],[243,116,24,255],[245,118,20,255],[247,120,16,255],[249,122,12,255],[251,124,8,255],[253,126,4,255],[255,128,0,255],[255,130,4,255],[255,132,8,255],[255,134,12,255],[255,136,16,255],[255,138,20,255],[255,140,24,255],[255,142,28,255],[255,144,32,255],[255,146,36,255],[255,148,40,255],[255,150,44,255],[255,152,48,255],[255,154,52,255],[255,156,56,255],[255,158,60,255],[255,160,64,255],[255,162,68,255],[255,164,72,255],[255,166,76,255],[255,168,80,255],[255,170,85,255],[255,172,89,255],[255,174,93,255],[255,176,97,255],[255,178,101,255],[255,180,105,255],[255,182,109,255],[255,184,113,255],[255,186,117,255],[255,188,121,255],[255,190,125,255],[255,192,129,255],[255,194,133,255],[255,196,137,255],[255,198,141,255],[255,200,145,255],[255,202,149,255],[255,204,153,255],[255,206,157,255],[255,208,161,255],[255,210,165,255],[255,212,170,255],[255,214,174,255],[255,216,178,255],[255,218,182,255],[255,220,186,255],[255,222,190,255],[255,224,194,255],[255,226,198,255],[255,228,202,255],[255,230,206,255],[255,232,210,255],[255,234,214,255],[255,236,218,255],[255,238,222,255],[255,240,226,255],[255,242,230,255],[255,244,234,255],[255,246,238,255],[255,248,242,255],[255,250,246,255],[255,252,250,255],[255,255,255,255]]},hotMetalBlue:{name:"Hot Metal Blue",numColors:256,colors:[[0,0,0,255],[0,0,2,255],[0,0,4,255],[0,0,6,255],[0,0,8,255],[0,0,10,255],[0,0,12,255],[0,0,14,255],[0,0,16,255],[0,0,17,255],[0,0,19,255],[0,0,21,255],[0,0,23,255],[0,0,25,255],[0,0,27,255],[0,0,29,255],[0,0,31,255],[0,0,33,255],[0,0,35,255],[0,0,37,255],[0,0,39,255],[0,0,41,255],[0,0,43,255],[0,0,45,255],[0,0,47,255],[0,0,49,255],[0,0,51,255],[0,0,53,255],[0,0,55,255],[0,0,57,255],[0,0,59,255],[0,0,61,255],[0,0,63,255],[0,0,65,255],[0,0,67,255],[0,0,69,255],[0,0,71,255],[0,0,73,255],[0,0,75,255],[0,0,77,255],[0,0,79,255],[0,0,81,255],[0,0,83,255],[0,0,84,255],[0,0,86,255],[0,0,88,255],[0,0,90,255],[0,0,92,255],[0,0,94,255],[0,0,96,255],[0,0,98,255],[0,0,100,255],[0,0,102,255],[0,0,104,255],[0,0,106,255],[0,0,108,255],[0,0,110,255],[0,0,112,255],[0,0,114,255],[0,0,116,255],[0,0,117,255],[0,0,119,255],[0,0,121,255],[0,0,123,255],[0,0,125,255],[0,0,127,255],[0,0,129,255],[0,0,131,255],[0,0,133,255],[0,0,135,255],[0,0,137,255],[0,0,139,255],[0,0,141,255],[0,0,143,255],[0,0,145,255],[0,0,147,255],[0,0,149,255],[0,0,151,255],[0,0,153,255],[0,0,155,255],[0,0,157,255],[0,0,159,255],[0,0,161,255],[0,0,163,255],[0,0,165,255],[0,0,167,255],[3,0,169,255],[6,0,171,255],[9,0,173,255],[12,0,175,255],[15,0,177,255],[18,0,179,255],[21,0,181,255],[24,0,183,255],[26,0,184,255],[29,0,186,255],[32,0,188,255],[35,0,190,255],[38,0,192,255],[41,0,194,255],[44,0,196,255],[47,0,198,255],[50,0,200,255],[52,0,197,255],[55,0,194,255],[57,0,191,255],[59,0,188,255],[62,0,185,255],[64,0,182,255],[66,0,179,255],[69,0,176,255],[71,0,174,255],[74,0,171,255],[76,0,168,255],[78,0,165,255],[81,0,162,255],[83,0,159,255],[85,0,156,255],[88,0,153,255],[90,0,150,255],[93,2,144,255],[96,4,138,255],[99,6,132,255],[102,8,126,255],[105,9,121,255],[108,11,115,255],[111,13,109,255],[114,15,103,255],[116,17,97,255],[119,19,91,255],[122,21,85,255],[125,23,79,255],[128,24,74,255],[131,26,68,255],[134,28,62,255],[137,30,56,255],[140,32,50,255],[143,34,47,255],[146,36,44,255],[149,38,41,255],[152,40,38,255],[155,41,35,255],[158,43,32,255],[161,45,29,255],[164,47,26,255],[166,49,24,255],[169,51,21,255],[172,53,18,255],[175,55,15,255],[178,56,12,255],[181,58,9,255],[184,60,6,255],[187,62,3,255],[190,64,0,255],[194,66,0,255],[198,68,0,255],[201,70,0,255],[205,72,0,255],[209,73,0,255],[213,75,0,255],[217,77,0,255],[221,79,0,255],[224,81,0,255],[228,83,0,255],[232,85,0,255],[236,87,0,255],[240,88,0,255],[244,90,0,255],[247,92,0,255],[251,94,0,255],[255,96,0,255],[255,98,3,255],[255,100,6,255],[255,102,9,255],[255,104,12,255],[255,105,15,255],[255,107,18,255],[255,109,21,255],[255,111,24,255],[255,113,26,255],[255,115,29,255],[255,117,32,255],[255,119,35,255],[255,120,38,255],[255,122,41,255],[255,124,44,255],[255,126,47,255],[255,128,50,255],[255,130,53,255],[255,132,56,255],[255,134,59,255],[255,136,62,255],[255,137,65,255],[255,139,68,255],[255,141,71,255],[255,143,74,255],[255,145,76,255],[255,147,79,255],[255,149,82,255],[255,151,85,255],[255,152,88,255],[255,154,91,255],[255,156,94,255],[255,158,97,255],[255,160,100,255],[255,162,103,255],[255,164,106,255],[255,166,109,255],[255,168,112,255],[255,169,115,255],[255,171,118,255],[255,173,121,255],[255,175,124,255],[255,177,126,255],[255,179,129,255],[255,181,132,255],[255,183,135,255],[255,184,138,255],[255,186,141,255],[255,188,144,255],[255,190,147,255],[255,192,150,255],[255,194,153,255],[255,196,156,255],[255,198,159,255],[255,200,162,255],[255,201,165,255],[255,203,168,255],[255,205,171,255],[255,207,174,255],[255,209,176,255],[255,211,179,255],[255,213,182,255],[255,215,185,255],[255,216,188,255],[255,218,191,255],[255,220,194,255],[255,222,197,255],[255,224,200,255],[255,226,203,255],[255,228,206,255],[255,229,210,255],[255,231,213,255],[255,233,216,255],[255,235,219,255],[255,237,223,255],[255,239,226,255],[255,240,229,255],[255,242,232,255],[255,244,236,255],[255,246,239,255],[255,248,242,255],[255,250,245,255],[255,251,249,255],[255,253,252,255],[255,255,255,255]]},pet20Step:{name:"PET 20 Step",numColors:256,colors:[[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255]]},gray:{name:"Gray",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,0,0],[1,1,1]]}},jet:{name:"Jet",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.35,0,0],[.66,1,1],[.89,1,1],[1,.5,.5]],green:[[0,0,0],[.125,0,0],[.375,1,1],[.64,1,1],[.91,0,0],[1,0,0]],blue:[[0,.5,.5],[.11,1,1],[.34,1,1],[.65,0,0],[1,0,0]]}},hsv:{name:"HSV",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[.15873,1,1],[.174603,.96875,.96875],[.333333,.03125,.03125],[.349206,0,0],[.666667,0,0],[.68254,.03125,.03125],[.84127,.96875,.96875],[.857143,1,1],[1,1,1]],green:[[0,0,0],[.15873,.9375,.9375],[.174603,1,1],[.507937,1,1],[.666667,.0625,.0625],[.68254,0,0],[1,0,0]],blue:[[0,0,0],[.333333,0,0],[.349206,.0625,.0625],[.507937,1,1],[.84127,1,1],[.857143,.9375,.9375],[1,.09375,.09375]]}},hot:{name:"Hot",numColors:256,gamma:1,segmentedData:{red:[[0,.0416,.0416],[.365079,1,1],[1,1,1]],green:[[0,0,0],[.365079,0,0],[.746032,1,1],[1,1,1]],blue:[[0,0,0],[.746032,0,0],[1,1,1]]}},cool:{name:"Cool",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,1,1],[1,0,0]],blue:[[0,1,1],[1,1,1]]}},spring:{name:"Spring",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,1,1],[1,0,0]]}},summer:{name:"Summer",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,.5,.5],[1,1,1]],blue:[[0,.4,.4],[1,.4,.4]]}},autumn:{name:"Autumn",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,0,0],[1,0,0]]}},winter:{name:"Winter",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,0,0]],green:[[0,0,0],[1,1,1]],blue:[[0,1,1],[1,.5,.5]]}},bone:{name:"Bone",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.746032,.652778,.652778],[1,1,1]],green:[[0,0,0],[.365079,.319444,.319444],[.746032,.777778,.777778],[1,1,1]],blue:[[0,0,0],[.365079,.444444,.444444],[1,1,1]]}},copper:{name:"Copper",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.809524,1,1],[1,1,1]],green:[[0,0,0],[1,.7812,.7812]],blue:[[0,0,0],[1,.4975,.4975]]}},spectral:{name:"Spectral",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.05,.4667,.4667],[.1,.5333,.5333],[.15,0,0],[.2,0,0],[.25,0,0],[.3,0,0],[.35,0,0],[.4,0,0],[.45,0,0],[.5,0,0],[.55,0,0],[.6,0,0],[.65,.7333,.7333],[.7,.9333,.9333],[.75,1,1],[.8,1,1],[.85,1,1],[.9,.8667,.8667],[.95,.8,.8],[1,.8,.8]],green:[[0,0,0],[.05,0,0],[.1,0,0],[.15,0,0],[.2,0,0],[.25,.4667,.4667],[.3,.6,.6],[.35,.6667,.6667],[.4,.6667,.6667],[.45,.6,.6],[.5,.7333,.7333],[.55,.8667,.8667],[.6,1,1],[.65,1,1],[.7,.9333,.9333],[.75,.8,.8],[.8,.6,.6],[.85,0,0],[.9,0,0],[.95,0,0],[1,.8,.8]],blue:[[0,0,0],[.05,.5333,.5333],[.1,.6,.6],[.15,.6667,.6667],[.2,.8667,.8667],[.25,.8667,.8667],[.3,.8667,.8667],[.35,.6667,.6667],[.4,.5333,.5333],[.45,0,0],[.5,0,0],[.55,0,0],[.6,0,0],[.65,0,0],[.7,0,0],[.75,0,0],[.8,0,0],[.85,0,0],[.9,0,0],[.95,0,0],[1,.8,.8]]}},coolwarm:{name:"CoolWarm",numColors:256,gamma:1,segmentedData:{red:[[0,.2298057,.2298057],[.03125,.26623388,.26623388],[.0625,.30386891,.30386891],[.09375,.342804478,.342804478],[.125,.38301334,.38301334],[.15625,.424369608,.424369608],[.1875,.46666708,.46666708],[.21875,.509635204,.509635204],[.25,.552953156,.552953156],[.28125,.596262162,.596262162],[.3125,.639176211,.639176211],[.34375,.681291281,.681291281],[.375,.722193294,.722193294],[.40625,.761464949,.761464949],[.4375,.798691636,.798691636],[.46875,.833466556,.833466556],[.5,.865395197,.865395197],[.53125,.897787179,.897787179],[.5625,.924127593,.924127593],[.59375,.944468518,.944468518],[.625,.958852946,.958852946],[.65625,.96732803,.96732803],[.6875,.969954137,.969954137],[.71875,.966811177,.966811177],[.75,.958003065,.958003065],[.78125,.943660866,.943660866],[.8125,.923944917,.923944917],[.84375,.89904617,.89904617],[.875,.869186849,.869186849],[.90625,.834620542,.834620542],[.9375,.795631745,.795631745],[.96875,.752534934,.752534934],[1,.705673158,.705673158]],green:[[0,.298717966,.298717966],[.03125,.353094838,.353094838],[.0625,.406535296,.406535296],[.09375,.458757618,.458757618],[.125,.50941904,.50941904],[.15625,.558148092,.558148092],[.1875,.604562568,.604562568],[.21875,.648280772,.648280772],[.25,.688929332,.688929332],[.28125,.726149107,.726149107],[.3125,.759599947,.759599947],[.34375,.788964712,.788964712],[.375,.813952739,.813952739],[.40625,.834302879,.834302879],[.4375,.849786142,.849786142],[.46875,.860207984,.860207984],[.5,.86541021,.86541021],[.53125,.848937047,.848937047],[.5625,.827384882,.827384882],[.59375,.800927443,.800927443],[.625,.769767752,.769767752],[.65625,.734132809,.734132809],[.6875,.694266682,.694266682],[.71875,.650421156,.650421156],[.75,.602842431,.602842431],[.78125,.551750968,.551750968],[.8125,.49730856,.49730856],[.84375,.439559467,.439559467],[.875,.378313092,.378313092],[.90625,.312874446,.312874446],[.9375,.24128379,.24128379],[.96875,.157246067,.157246067],[1,.01555616,.01555616]],blue:[[0,.753683153,.753683153],[.03125,.801466763,.801466763],[.0625,.84495867,.84495867],[.09375,.883725899,.883725899],[.125,.917387822,.917387822],[.15625,.945619588,.945619588],[.1875,.968154911,.968154911],[.21875,.98478814,.98478814],[.25,.995375608,.995375608],[.28125,.999836203,.999836203],[.3125,.998151185,.998151185],[.34375,.990363227,.990363227],[.375,.976574709,.976574709],[.40625,.956945269,.956945269],[.4375,.931688648,.931688648],[.46875,.901068838,.901068838],[.5,.865395561,.865395561],[.53125,.820880546,.820880546],[.5625,.774508472,.774508472],[.59375,.726736146,.726736146],[.625,.678007945,.678007945],[.65625,.628751763,.628751763],[.6875,.579375448,.579375448],[.71875,.530263762,.530263762],[.75,.481775914,.481775914],[.78125,.434243684,.434243684],[.8125,.387970225,.387970225],[.84375,.343229596,.343229596],[.875,.300267182,.300267182],[.90625,.259301199,.259301199],[.9375,.220525627,.220525627],[.96875,.184115123,.184115123],[1,.150232812,.150232812]]}},blues:{name:"Blues",numColors:256,gamma:1,segmentedData:{red:[[0,.9686274528503418,.9686274528503418],[.125,.8705882430076599,.8705882430076599],[.25,.7764706015586853,.7764706015586853],[.375,.6196078658103943,.6196078658103943],[.5,.41960784792900085,.41960784792900085],[.625,.25882354378700256,.25882354378700256],[.75,.12941177189350128,.12941177189350128],[.875,.0313725508749485,.0313725508749485],[1,.0313725508749485,.0313725508749485]],green:[[0,.9843137264251709,.9843137264251709],[.125,.9215686321258545,.9215686321258545],[.25,.8588235378265381,.8588235378265381],[.375,.7921568751335144,.7921568751335144],[.5,.6823529601097107,.6823529601097107],[.625,.572549045085907,.572549045085907],[.75,.4431372582912445,.4431372582912445],[.875,.3176470696926117,.3176470696926117],[1,.1882352977991104,.1882352977991104]],blue:[[0,1,1],[.125,.9686274528503418,.9686274528503418],[.25,.9372549057006836,.9372549057006836],[.375,.8823529481887817,.8823529481887817],[.5,.8392156958580017,.8392156958580017],[.625,.7764706015586853,.7764706015586853],[.75,.7098039388656616,.7098039388656616],[.875,.6117647290229797,.6117647290229797],[1,.41960784792900085,.41960784792900085]]}}},k={MINIMUM_SLAB_THICKNESS:.05,MAXIMUM_RAY_DISTANCE:1e6};Object.freeze(k);var E=k,R=.001;function P(e){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P(e)}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var x=function e(t){var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return A(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?A(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(Object.getOwnPropertyNames(t));try{for(n.s();!(r=n.n()).done;){var i=t[r.value];i&&"object"===P(i)&&e(i)}}catch(e){n.e(e)}finally{n.f()}return Object.freeze(t)}({axial:{viewPlaneNormal:[0,0,-1],viewUp:[0,-1,0]},sagittal:{viewPlaneNormal:[1,0,0],viewUp:[0,0,1]},coronal:{viewPlaneNormal:[0,1,0],viewUp:[0,0,1]}});function _(e,t,r,n,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,i)}function O(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function o(e){_(a,n,i,o,s,"next",e)}function s(e){_(a,n,i,o,s,"throw",e)}o(void 0)}))}}var S=q(162),T=q.n(S),D=q(739),M=q.n(D),V=(q(215),q(283)),j=q.n(V),L=q(785),U=q.n(L),N=q(907),F=q.n(N);function G(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function W(e,t,r){return t&&G(e.prototype,t),r&&G(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function B(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function H(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var K=q(197),$=q.n(K),X=q(953),Y=q.n(X);function Z(e,t){t.classHierarchy.push("vtkStreamingOpenGLTexture");var r=e.create3DFilterableFromRaw;e.create3DFilterableFromRaw=function(e,n,i,a,o,s){t.inputDataType=o,t.inputNumComps=a,r(e,n,i,a,o,s)},e.update3DFromRaw=function(r){var n=t.updatedFrames;if(n.length){var i,a;if(t._openGLRenderWindow.activateTexture(e),e.createTexture(),e.bind(),r instanceof Uint8Array)i=1,a=Uint8Array;else if(r instanceof Int16Array)i=2,a=Int16Array;else{if(!(r instanceof Float32Array))throw new Error("No support for given TypedArray.");i=4,a=Float32Array}for(var o=0;o<n.length;o++)n[o]&&t.fillSubImage3D(r,o,i,a);return t.updatedFrames=[],t.generateMipmap&&t.context.generateMipmap(t.target),e.deactivate(),!0}},t.fillSubImage3D=function(e,r,n,i){for(var a=e.buffer,o=r*(t.width*t.height*t.components*n),s=t.width*t.components,c=t.context,l=c.getParameter(c.MAX_TEXTURE_SIZE),u=Math.floor(n*l/t.width),d=s*(u=Math.min(u,t.height)),f=d*n,v=Math.floor(t.height/u),h=t.height%u,g=s*h,m=0;m<v;m++){var p=m*u,w=new i(a,o+m*f,d);c.texSubImage3D(t.target,0,0,p,r,t.width,u,1,t.format,t.openGLDataType,w)}if(0!==h){var y=v*u,I=new i(a,o+v*f,g);c.texSubImage3D(t.target,0,0,y,r,t.width,h,1,t.format,t.openGLDataType,I)}},e.getTextureParameters=function(){return{width:t.width,height:t.height,depth:t.depth,numComps:t.inputNumComps,dataType:t.inputDataType}},e.setUpdatedFrame=function(e){t.updatedFrames[e]=!0}}var J={updatedFrames:[]};function Q(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,J,r),Y().extend(e,t,r),Z(e,t)}var ee={newInstance:$().newInstance(Q,"vtkStreamingOpenGLTexture"),extend:Q},te=W((function e(t){B(this,e),H(this,"volumeId",void 0),H(this,"dimensions",void 0),H(this,"direction",void 0),H(this,"metadata",void 0),H(this,"origin",void 0),H(this,"scalarData",void 0),H(this,"isPrescaled",!1),H(this,"scaling",void 0),H(this,"sizeInBytes",void 0),H(this,"spacing",void 0),H(this,"numVoxels",void 0),H(this,"imageData",void 0),H(this,"vtkOpenGLTexture",void 0),H(this,"loadStatus",void 0),H(this,"imageIds",void 0),H(this,"referencedVolumeId",void 0),H(this,"hasPixelSpacing",void 0),H(this,"cancelLoading",void 0),this.volumeId=t.volumeId,this.metadata=t.metadata,this.dimensions=t.dimensions,this.spacing=t.spacing,this.origin=t.origin,this.direction=t.direction,this.imageData=t.imageData,this.scalarData=t.scalarData,this.sizeInBytes=t.sizeInBytes,this.vtkOpenGLTexture=ee.newInstance(),this.numVoxels=this.dimensions[0]*this.dimensions[1]*this.dimensions[2],t.scaling&&(this.scaling=t.scaling),t.referencedVolumeId&&(this.referencedVolumeId=t.referencedVolumeId)})),re=te,ne=function(){function e(){B(this,e),H(this,"listeners",void 0),this.listeners={}}return W(e,[{key:"reset",value:function(){this.listeners={}}},{key:"addEventListener",value:function(e,t){this.listeners[e]||(this.listeners[e]=[]),-1===this.listeners[e].indexOf(t)&&this.listeners[e].push(t)}},{key:"removeEventListener",value:function(e,t){if(this.listeners[e])for(var r=this.listeners[e],n=r.length,i=0;i<n;i++)if(r[i]===t)return void r.splice(i,1)}},{key:"dispatchEvent",value:function(e){if(this.listeners[e.type]){for(var t=this.listeners[e.type].slice(),r=t.length,n=0;n<r;n++)t[n].call(this,e);return!e.defaultPrevented}}}]),e}(),ie=new ne;function ae(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ie,t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!t)throw new Error("Event type was not defined");var n=new CustomEvent(t,{detail:r,cancelable:!0});return e.dispatchEvent(n)}function oe(e){var t=e.indexOf(":");return e.substring(t+1)}function se(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return ce(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ce(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var le=new(function(){function e(){var t=this;B(this,e),H(this,"_imageCache",void 0),H(this,"_volumeCache",void 0),H(this,"_imageCacheSize",void 0),H(this,"_volumeCacheSize",void 0),H(this,"_maxCacheSize",void 0),H(this,"setMaxCacheSize",(function(e){if(!e||"number"!=typeof e){var r="New max cacheSize ".concat(t._maxCacheSize," should be defined and should be a number.");throw new Error(r)}t._maxCacheSize=e})),H(this,"isCacheable",(function(e){return t.getBytesAvailable()+t._imageCacheSize>e})),H(this,"getMaxCacheSize",(function(){return t._maxCacheSize})),H(this,"getCacheSize",(function(){return t._imageCacheSize+t._volumeCacheSize})),H(this,"_decacheImage",(function(e){var r=t._imageCache.get(e).imageLoadObject;r.cancelFn&&r.cancelFn(),r.decache&&r.decache(),t._imageCache.delete(e)})),H(this,"_decacheVolume",(function(e){var r=t._volumeCache.get(e),n=r.volumeLoadObject,i=r.volume;i.cancelLoading&&i.cancelLoading(),i.imageData&&(i.imageData=null),n.cancelFn&&n.cancelFn(),n.decache&&n.decache(),t._volumeCache.delete(e)})),H(this,"purgeCache",(function(){for(var e=t._imageCache.keys();;){var r=e.next(),n=r.value;if(r.done)break;t.removeImageLoadObject(n),ae(ie,u.IMAGE_CACHE_IMAGE_REMOVED,{imageId:n})}t.purgeVolumeCache()})),H(this,"purgeVolumeCache",(function(){for(var e=t._volumeCache.keys();;){var r=e.next(),n=r.value;if(r.done)break;t.removeVolumeLoadObject(n),ae(ie,u.VOLUME_CACHE_VOLUME_REMOVED,{volumeId:n})}})),H(this,"getVolumeLoadObject",(function(e){if(void 0===e)throw new Error("getVolumeLoadObject: volumeId must not be undefined");var r=t._volumeCache.get(e);if(void 0!==r)return r.timeStamp=Date.now(),r.volumeLoadObject})),H(this,"getVolume",(function(e){if(void 0===e)throw new Error("getVolume: volumeId must not be undefined");var r=t._volumeCache.get(e);if(void 0!==r)return r.timeStamp=Date.now(),r.volume})),H(this,"removeImageLoadObject",(function(e){if(void 0===e)throw new Error("removeImageLoadObject: imageId must not be undefined");var r=t._imageCache.get(e);if(void 0===r)throw new Error("removeImageLoadObject: imageId was not present in imageCache");t._incrementImageCacheSize(-r.sizeInBytes);var n={imageId:e};ae(ie,u.IMAGE_CACHE_IMAGE_REMOVED,n),t._decacheImage(e)})),H(this,"removeVolumeLoadObject",(function(e){if(void 0===e)throw new Error("removeVolumeLoadObject: volumeId must not be undefined");var r=t._volumeCache.get(e);if(void 0===r)throw new Error("removeVolumeLoadObject: volumeId was not present in volumeCache");t._incrementVolumeCacheSize(-r.sizeInBytes);var n={volume:r,volumeId:e};ae(ie,u.VOLUME_CACHE_VOLUME_REMOVED,n),t._decacheVolume(e)})),H(this,"_incrementImageCacheSize",(function(e){t._imageCacheSize+=e})),H(this,"_incrementVolumeCacheSize",(function(e){t._volumeCacheSize+=e})),this._imageCache=new Map,this._volumeCache=new Map,this._imageCacheSize=0,this._volumeCacheSize=0,this._maxCacheSize=1073741824}return W(e,[{key:"getBytesAvailable",value:function(){return this.getMaxCacheSize()-this.getCacheSize()}},{key:"decacheIfNecessaryUntilBytesAvailable",value:function(e,t){var r=this.getBytesAvailable();if(r>=e)return r;var n=Array.from(this._imageCache.values());n.sort((function(e,t){return e.timeStamp>t.timeStamp?1:e.timeStamp<t.timeStamp?-1:0}));var i=n.map((function(e){return e.imageId})),a=i;t&&(a=i.filter((function(e){return!t.includes(e)})));var o,s=se(a);try{for(s.s();!(o=s.n()).done;){var c=o.value;if(this.removeImageLoadObject(c),ae(ie,u.IMAGE_CACHE_IMAGE_REMOVED,{imageId:c}),(r=this.getBytesAvailable())>=e)return r}}catch(e){s.e(e)}finally{s.f()}var l,d=se(i=(n=Array.from(this._imageCache.values())).map((function(e){return e.imageId})));try{for(d.s();!(l=d.n()).done;){var f=l.value;if(this.removeImageLoadObject(f),ae(ie,u.IMAGE_CACHE_IMAGE_REMOVED,{imageId:f}),(r=this.getBytesAvailable())>=e)return r}}catch(e){d.e(e)}finally{d.f()}}},{key:"putImageLoadObject",value:function(e,t){var r=this;if(void 0===e)throw new Error("putImageLoadObject: imageId must not be undefined");if(void 0===t.promise)throw new Error("putImageLoadObject: imageLoadObject.promise must not be undefined");if(this._imageCache.has(e))throw new Error("putImageLoadObject: imageId already in cache");if(t.cancelFn&&"function"!=typeof t.cancelFn)throw new Error("putImageLoadObject: imageLoadObject.cancel must be a function");var n={loaded:!1,imageId:e,sharedCacheKey:void 0,imageLoadObject:t,timeStamp:Date.now(),sizeInBytes:0};return this._imageCache.set(e,n),t.promise.then((function(t){if(r._imageCache.get(e)){if(void 0===t.sizeInBytes)throw new Error("putImageLoadObject: image.sizeInBytes must not be undefined");if(void 0===t.sizeInBytes.toFixed)throw new Error("putImageLoadObject: image.sizeInBytes is not a number");if(!r.isCacheable(t.sizeInBytes))throw new Error(u.CACHE_SIZE_EXCEEDED);r.decacheIfNecessaryUntilBytesAvailable(t.sizeInBytes),n.loaded=!0,n.image=t,n.sizeInBytes=t.sizeInBytes,r._incrementImageCacheSize(n.sizeInBytes);var i={image:n};ae(ie,u.IMAGE_CACHE_IMAGE_ADDED,i),n.sharedCacheKey=t.sharedCacheKey}else console.warn("The image was purged from the cache before it completed loading.")})).catch((function(t){throw r._imageCache.delete(e),t}))}},{key:"getImageLoadObject",value:function(e){if(void 0===e)throw new Error("getImageLoadObject: imageId must not be undefined");var t=this._imageCache.get(e);if(void 0!==t)return t.timeStamp=Date.now(),t.imageLoadObject}},{key:"isImageIdCached",value:function(e){var t=this._imageCache.get(e);return!!t&&t.loaded}},{key:"getVolumeContainingImageId",value:function(e){for(var t=Array.from(this._volumeCache.keys()),r=oe(e),n=0,i=t;n<i.length;n++){var a=i[n],o=this._volumeCache.get(a);if(!o.volume)return;var s=o.volume.imageIds;if(s&&0!==s.length){var c=(s=s.map((function(e){return oe(e)}))).indexOf(r);if(c>-1)return{volume:o.volume,imageIdIndex:c}}}}},{key:"getCachedImageBasedOnImageURI",value:function(e){var t=oe(e),r=Array.from(this._imageCache.keys()).find((function(e){return oe(e)===t}));if(r)return this._imageCache.get(r)}},{key:"putVolumeLoadObject",value:function(e,t){var r=this;if(void 0===e)throw new Error("putVolumeLoadObject: volumeId must not be undefined");if(void 0===t.promise)throw new Error("putVolumeLoadObject: volumeLoadObject.promise must not be undefined");if(this._volumeCache.has(e))throw new Error("putVolumeLoadObject: volumeId:".concat(e," already in cache"));if(t.cancelFn&&"function"!=typeof t.cancelFn)throw new Error("putVolumeLoadObject: volumeLoadObject.cancel must be a function");var n={loaded:!1,volumeId:e,volumeLoadObject:t,timeStamp:Date.now(),sizeInBytes:0};return this._volumeCache.set(e,n),t.promise.then((function(t){if(r._volumeCache.get(e)){if(void 0===t.sizeInBytes)throw new Error("putVolumeLoadObject: volume.sizeInBytes must not be undefined");if(void 0===t.sizeInBytes.toFixed)throw new Error("putVolumeLoadObject: volume.sizeInBytes is not a number");r.decacheIfNecessaryUntilBytesAvailable(t.sizeInBytes,t.imageIds),n.volume=t,n.sizeInBytes=t.sizeInBytes,r._incrementVolumeCacheSize(n.sizeInBytes);var i={volume:n};ae(ie,u.VOLUME_CACHE_VOLUME_ADDED,i)}else console.warn("The image was purged from the cache before it completed loading.")})).catch((function(t){throw r._volumeCache.delete(e),t}))}}]),e}());function ue(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(e){return(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)}))}function de(e){var t=e.dimensions,r=e.metadata,n=e.spacing,i=e.direction,a=e.origin,o=e.scalarData,s=1;"RGB"===r.PhotometricInterpretation&&(s=3);var c=U().newInstance({name:"Pixels",numberOfComponents:s,values:o}),l=j().newInstance();return l.setDimensions(t),l.setSpacing(n),l.setDirection(i),l.setOrigin(a),l.getPointData().setScalars(c),l}var fe,ve={};function he(e,t){var r=e.indexOf(":"),n=e.substring(0,r),i=ve[n];if(null==i){if(void 0!==fe)return fe(e,t);throw new Error("loadVolumeFromVolumeLoader: no volume loader for volumeId")}var a=i(e,t);return a.promise.then((function(e){ae(ie,u.VOLUME_LOADED,{volume:e})}),(function(t){var r={volumeId:e,error:t};ae(ie,u.VOLUME_LOADED_FAILED,r)})),a}function ge(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{imageIds:[]};if(void 0===e)throw new Error("loadVolume: parameter volumeId must not be undefined");var r=le.getVolumeLoadObject(e);return void 0!==r?r.promise:(r=he(e,t)).promise.then((function(e){return e.imageData=de(e),e}))}function me(e,t){return pe.apply(this,arguments)}function pe(){return(pe=O(T().mark((function e(t,r){var n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==t){e.next=2;break}throw new Error("createAndCacheVolume: parameter volumeId must not be undefined");case 2:if(void 0===(n=le.getVolumeLoadObject(t))){e.next=5;break}return e.abrupt("return",n.promise);case 5:return(n=he(t,r)).promise.then((function(e){e.imageData=de(e)})),le.putVolumeLoadObject(t,n).catch((function(e){throw e})),e.abrupt("return",n.promise);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function we(e,t){return ye.apply(this,arguments)}function ye(){return(ye=O(T().mark((function e(t,r){var n,i,a,o,s,c,l,d,f,v,h,g,m,p,w,y,I,C;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=le.getVolume(t)){e.next=3;break}throw new Error("Cannot created derived volume: Referenced volume with id ".concat(t," does not exist."));case 3:if(i=r.volumeId,a=r.targetBuffer,void 0===i&&(i=ue()),o=n.metadata,s=n.dimensions,c=n.spacing,l=n.origin,d=n.direction,f=n.scalarData,v=f.length,!a){e.next=22;break}if("Float32Array"!==a.type){e.next=14;break}h=4*v,g=Float32Array,e.next=20;break;case 14:if("Uint8Array"!==a.type){e.next=19;break}h=v,g=Uint8Array,e.next=20;break;case 19:throw new Error("TargetBuffer should be Float32Array or Uint8Array");case 20:e.next=24;break;case 22:h=4*v,g=Float32Array;case 24:if(le.isCacheable(h)){e.next=27;break}throw new Error(u.CACHE_SIZE_EXCEEDED);case 27:return null!=a&&a.sharedArrayBuffer?(p=new SharedArrayBuffer(h),m=new g(p)):m=new g(v),w=U().newInstance({name:"Pixels",numberOfComponents:1,values:m}),(y=j().newInstance()).setDimensions(s),y.setSpacing(c),y.setDirection(d),y.setOrigin(l),y.getPointData().setScalars(w),I=new te({volumeId:i,metadata:F()(o),dimensions:[s[0],s[1],s[2]],spacing:c,origin:l,direction:d,imageData:y,scalarData:m,sizeInBytes:h,referencedVolumeId:t}),C={promise:Promise.resolve(I)},e.next=39,le.putVolumeLoadObject(i,C);case 39:return e.abrupt("return",I);case 40:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ie(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.scalarData,i=e.metadata,a=e.dimensions,o=e.spacing,s=e.origin,c=e.direction;if(!n||!(n instanceof Uint8Array||n instanceof Float32Array))throw new Error("To use createLocalVolume you should pass scalarData of type Uint8Array or Float32Array");void 0===t&&(t=ue());var l=le.getVolume(t);if(l)return l;var d=a[0]*a[1]*a[2],f=n?n.buffer.byteLength:4*d,v=le.isCacheable(f);if(!v)throw new Error(u.CACHE_SIZE_EXCEEDED);var h=U().newInstance({name:"Pixels",numberOfComponents:1,values:n}),g=j().newInstance();g.setDimensions(a),g.setSpacing(o),g.setDirection(c),g.setOrigin(s),g.getPointData().setScalars(h);var m=new te({volumeId:t,metadata:F()(i),dimensions:[a[0],a[1],a[2]],spacing:o,origin:s,direction:c,imageData:g,scalarData:n,sizeInBytes:f});if(r)return m;var p={promise:Promise.resolve(m)};return le.putVolumeLoadObject(t,p),m}function Ce(e,t){ve[e]=t}function be(e){var t=fe;return fe=e,t}var ke=q(9),Ee=q.n(ke);function Re(e,t){t.classHierarchy.push("vtkSharedVolumeMapper");var r=e.delete;e.delete=function(){t.scalarTexture=null,r()}}var Pe={scalarTexture:null};function Ae(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Pe,r),Ee().extend(e,t,r),$().setGet(e,t,["scalarTexture"]),Re(e,t)}var xe={newInstance:$().newInstance(Ae,"vtkSharedVolumeMapper"),extend:Ae};function _e(e,t){var r=xe.newInstance();r.setInputData(e);var n=e.getSpacing(),i=(n[0]+n[1]+n[2])/6;return r.setMaximumSamplesPerRay(4e3),r.setSampleDistance(i),r.setScalarTexture(t),r}function Oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Se=function(){function e(t){B(this,e),H(this,"id",void 0),H(this,"awake",void 0),H(this,"requestPool",void 0),H(this,"numRequests",{interaction:0,thumbnail:0,prefetch:0}),H(this,"maxNumRequests",void 0),H(this,"grabDelay",void 0),H(this,"timeoutHandle",void 0),this.id=t||ue(),this.requestPool={interaction:{0:[]},thumbnail:{0:[]},prefetch:{0:[]}},this.grabDelay=5,this.awake=!1,this.numRequests={interaction:0,thumbnail:0,prefetch:0},this.maxNumRequests={interaction:6,thumbnail:6,prefetch:5}}return W(e,[{key:"setMaxSimultaneousRequests",value:function(e,t){this.maxNumRequests[e]=t}},{key:"getMaxSimultaneousRequests",value:function(e){return this.maxNumRequests[e]}},{key:"destroy",value:function(){this.timeoutHandle&&window.clearTimeout(this.timeoutHandle)}},{key:"addRequest",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i={requestFn:e,type:t,additionalDetails:r};void 0===this.requestPool[t][n]&&(this.requestPool[t][n]=[]),this.requestPool[t][n].push(i),this.awake?t===f.Interaction&&this.startGrabbing():(this.awake=!0,this.startGrabbing())}},{key:"filterRequests",value:function(e){var t=this;Object.keys(this.requestPool).forEach((function(r){var n=t.requestPool[r];Object.keys(n).forEach((function(t){n[t]=n[t].filter((function(t){return e(t)}))}))}))}},{key:"clearRequestStack",value:function(e){if(!this.requestPool[e])throw new Error("No category for the type ".concat(e," found"));this.requestPool[e]={0:[]}}},{key:"sendRequests",value:function(e){for(var t=this,r=this.maxNumRequests[e]-this.numRequests[e],n=0;n<r;n++){var i=this.getNextRequest(e);if(null===i)return!1;i&&(this.numRequests[e]++,this.awake=!0,i.requestFn().finally((function(){t.numRequests[e]--,t.startAgain()})))}return!0}},{key:"getNextRequest",value:function(e){var t,r=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Oe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Oe(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(this.getSortedPriorityGroups(e));try{for(r.s();!(t=r.n()).done;){var n=t.value;if(this.requestPool[e][n].length)return this.requestPool[e][n].shift()}}catch(e){r.e(e)}finally{r.f()}return null}},{key:"startGrabbing",value:function(){var e=this.sendRequests(f.Interaction),t=this.sendRequests(f.Thumbnail),r=this.sendRequests(f.Prefetch);e||t||r||(this.awake=!1)}},{key:"startAgain",value:function(){var e=this;this.awake&&(void 0!==this.grabDelay?this.timeoutHandle=window.setTimeout((function(){e.startGrabbing()}),this.grabDelay):this.startGrabbing())}},{key:"getSortedPriorityGroups",value:function(e){var t=this;return Object.keys(this.requestPool[e]).map(Number).filter((function(r){return t.requestPool[e][r].length})).sort()}},{key:"getRequestPool",value:function(){return this.requestPool}}]),e}(),Te=(new Se,new Se("imageLoadPool"));Te.grabDelay=0,Te.setMaxSimultaneousRequests(f.Interaction,1e3),Te.setMaxSimultaneousRequests(f.Thumbnail,1e3),Te.setMaxSimultaneousRequests(f.Prefetch,1e3);var De,Me=Te,Ve={};function je(e,t){var r=le.getImageLoadObject(e);if(void 0!==r)return r;var n=le.getVolumeContainingImageId(e);if(n&&n.volume.loadStatus.loaded){var i=n.volume,a=n.imageIdIndex;return i.convertToCornerstoneImage(e,a)}var o=le.getCachedImageBasedOnImageURI(e);return o?r=o.imageLoadObject:(r=function(e,t){var r=e.indexOf(":"),n=e.substring(0,r),i=Ve[n];if(null==i){if(void 0!==De)return De(e);throw new Error("loadImageFromImageLoader: no image loader for imageId")}var a=i(e,t);return a.promise.then((function(e){ae(ie,u.IMAGE_LOADED,{image:e})}),(function(t){var r={imageId:e,error:t};ae(ie,u.IMAGE_LOAD_FAILED,r)})),a}(e,t),r)}function Le(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{priority:0,requestType:"prefetch"};if(void 0===e)throw new Error("loadImage: parameter imageId must not be undefined");return je(e,t).promise}function Ue(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{priority:0,requestType:"prefetch"};if(void 0===e)throw new Error("loadAndCacheImage: parameter imageId must not be undefined");var r=je(e,t);return le.getImageLoadObject(e)||le.putImageLoadObject(e,r).catch((function(e){console.warn(e)})),r.promise}function Ne(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{priority:0,requestType:"prefetch"};if(!e||0===e.length)throw new Error("loadAndCacheImages: parameter imageIds must be list of image Ids");var r=e.map((function(e){return Ue(e,t)}));return r}function Fe(e){Me.filterRequests((function(t){var r=t.additionalDetails;return!r.imageId||r.imageId!==e}));var t=le.getImageLoadObject(e);t&&t.cancelFn()}function Ge(e){e.forEach((function(e){return Fe(e)}))}function We(){var e=Me.getRequestPool();Object.keys(e).forEach((function(t){var r=e[t];Object.keys(r).forEach((function(e){var t,n=r[e].pop().additionalDetails,i=n.imageId,a=n.volumeId;i?t=le.getImageLoadObject(i):a&&(t=le.getVolumeLoadObject(a)),t&&t.cancel()})),Me.clearRequestStack(t)}))}function Be(e,t){Ve[e]=t}function qe(e){var t=De;return De=e,t}function ze(){Object.keys(Ve).forEach((function(e){return delete Ve[e]})),De=void 0}var He=[];function Ke(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(t=0;t<He.length&&!(He[t].priority<=r);t++);He.splice(t,0,{priority:r,provider:e})}function $e(e){for(var t=0;t<He.length;t++)if(He[t].provider===e){He.splice(t,1);break}}function Xe(){for(;He.length>0;)He.pop()}function Ye(e,t){for(var r=0;r<He.length;r++){var n=He[r].provider(e,t);if(void 0!==n)return n}}function Ze(e,t){var r=Math.abs(e-t);return{windowWidth:r,windowCenter:e+r/2}}function Je(e,t){return{lower:t-e/2,upper:t+e/2}}function Qe(e){for(var t,r=e[0],n=e[0],i=e.length,a=1;a<i;a++)t=e[a],r=Math.min(r,t),n=Math.max(n,t);return{min:r,max:n}}function et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach((function(t){H(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var rt=f.Prefetch;function nt(){return(nt=O(T().mark((function e(t,r){var n,i,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=at(r)){e.next=5;break}return e.next=4,ot(r);case 4:n=e.sent;case 5:if(n&&void 0!==n.lower&&void 0!==n.upper){e.next=7;break}throw new Error("Could not get VOI from metadata, nor from the min max of the image middle slice");case 7:n=it(r,n),a=(i=n).lower,o=i.upper,t.getProperty().getRGBTransferFunction(0).setMappingRange(a,o);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function it(e,t){var r=e.imageIds;return"PT"===(Ye("generalSeriesModule",r[Math.floor(r.length/2)])||{}).modality&&e.isPrescaled?{lower:0,upper:5}:t}function at(e){var t=e.imageIds,r=Ye("voiLutModule",t[Math.floor(t.length/2)]);if(r&&r.windowWidth&&r.windowCenter){var n=r.windowWidth,i=r.windowCenter,a={windowWidth:Array.isArray(n)?n[0]:n,windowCenter:Array.isArray(i)?i[0]:i},o=Je(Number(a.windowWidth),Number(a.windowCenter));return{lower:o.lower,upper:o.upper}}}function ot(e){return st.apply(this,arguments)}function st(){return(st=O(T().mark((function e(t){var r,n,i,a,o,s,c,l,u,d,f,v,h,g,m,p,w,y,I,C,b,k;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.scalarData,n=t.imageIds,i=Math.floor(n.length/2),a=t.imageIds[i],o=Ye("generalSeriesModule",a)||{},s=o.modality,c=Ye("modalityLutModule",a)||{},l=n.length,u=r.byteLength/l,d=r.length/l,f=r.BYTES_PER_ELEMENT,!(r instanceof Uint8Array)){e.next=14;break}v="Uint8Array",e.next=19;break;case 14:if(!(r instanceof Float32Array)){e.next=18;break}v="Float32Array",e.next=19;break;case 18:throw new Error("Unsupported array type");case 19:return h={rescaleSlope:c.rescaleSlope,rescaleIntercept:c.rescaleIntercept,modality:s},"PT"===s&&(m=Ye("scalingModule",a))&&(g=tt(tt({},h),{},{suvbw:m.suvbw})),p=i*u,w={targetBuffer:{arrayBuffer:r.buffer,offset:p,length:d,type:v},priority:0,requestType:rt,preScale:{enabled:!0,scalingParameters:g}},e.next=25,Ue(a,w);case 25:return y=e.sent,I=y?y.getPixelData():ct(t,p,f,d),C=Qe(I),b=C.min,k=C.max,e.abrupt("return",{lower:b,upper:k});case 29:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ct(e,t,r,n){var i=e.scalarData,a=i.volumeBuffer;i.BYTES_PER_ELEMENT!==r&&(t*=i.BYTES_PER_ELEMENT/r);var o=i.constructor,s=new o(n),c=new o(a,t,n);return s.set(c),s}var lt=function(e,t){return nt.apply(this,arguments)};function ut(){return ut=O(T().mark((function e(t,r,n){var i,a,o,s,c,l,u,d,f,v=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=v.length>3&&void 0!==v[3]&&v[3],a=t.volumeId,o=t.callback,s=t.blendMode,e.next=4,ge(a);case 4:if(c=e.sent){e.next=7;break}throw new Error("imageVolume with id: ".concat(c.volumeId," does not exist"));case 7:if(l=c.imageData,u=c.vtkOpenGLTexture,d=_e(l,u),s&&d.setBlendMode(s),(f=M().newInstance()).setMapper(d),!c.imageIds){e.next=15;break}return e.next=15,lt(f,c);case 15:return o&&o({volumeActor:f,volumeId:a}),i||dt(r,n,f,a),e.abrupt("return",f);case 18:case"end":return e.stop()}}),e)}))),ut.apply(this,arguments)}function dt(e,t,r,n){var i=r.getProperty().getRGBTransferFunction(0).getRange(),a={viewportId:t,range:{lower:i[0],upper:i[1]},volumeId:n};ae(e,u.VOI_MODIFIED,a)}var ft=function(e,t,r){return ut.apply(this,arguments)},vt="viewport-element",ht="cornerstone-canvas";function gt(e){var t="canvas.".concat(ht),r="div.".concat(vt),n=e.querySelector(r)||function(e){var t=document.createElement("div");return t.style.position="relative",t.style.width="100%",t.style.height="100%",t.classList.add(vt),e.appendChild(t),t}(e);return n.querySelector(t)||function(e){var t=document.createElement("canvas");return t.style.position="absolute",t.style.width="100%",t.style.height="100%",t.classList.add(ht),e.appendChild(t),t}(n)}function mt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function pt(e,t){if(e){if("string"==typeof e)return mt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?mt(e,t):void 0}}function wt(e){return function(e){if(Array.isArray(e))return mt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||pt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var yt={},It=function(e){return yt[e]},Ct=function(e){var t=e.id;yt[t]=e},bt=function(e){return delete yt[e]},kt=function(){return Object.keys(yt).map((function(e){return yt[e]}))},Et=q(21),Rt=q.n(Et),Pt=q(643),At=q.n(Pt),xt=q(128),_t=q.n(xt),Ot=q(664),St=q.n(Ot),Tt=q(973),Dt=q.n(Tt),Mt=q(394),Vt=q.n(Mt),jt=q(582),Lt=q.n(jt),Ut=q(482),Nt=q.n(Ut),Ft=q(343),Gt=q.n(Ft),Wt=q(363),Bt=q.n(Wt),qt=q(982),zt=q.n(qt),Ht=q(130),Kt=q.n(Ht),$t=q(298),Xt=q.n($t),Yt=q(398),Zt=q.n(Yt),Jt=q(388),Qt=q.n(Jt),er=q(120),tr=q.n(er),rr=q(976),nr=q(395),ir=q(948),ar=q(478),or=$().vtkWarningMacro;function sr(e,t){t.classHierarchy.push("vtkStreamingOpenGLVolumeMapper"),e.buildBufferObjects=function(e,r){var n=t.currentInput;if(n){var i=n.getPointData()&&n.getPointData().getScalars();if(i){var a=r.getProperty();if(!t.jitterTexture.getHandle()){for(var o=new Uint8Array(1024),s=0;s<1024;++s)o[s]=255*Math.random();t.jitterTexture.setMinificationFilter(nr.Filter.LINEAR),t.jitterTexture.setMagnificationFilter(nr.Filter.LINEAR),t.jitterTexture.create2DFromRaw(32,32,1,ir.VtkDataTypes.UNSIGNED_CHAR,o)}var c=i.getNumberOfComponents(),l=a.getIndependentComponents()?c:1,u="".concat(a.getMTime());if(t.opacityTextureString!==u){for(var d=1024,f=2048*l,v=new Float32Array(f),h=new Float32Array(d),g=0;g<l;++g){var m=a.getScalarOpacity(g),p=t.renderable.getSampleDistance()/a.getScalarOpacityUnitDistance(g),w=m.getRange();m.getTable(w[0],w[1],d,h,1);for(var y=0;y<d;++y)v[g*d*2+y]=1-Math.pow(1-h[y],p),v[g*d*2+y+d]=v[g*d*2+y]}if(t.opacityTexture.releaseGraphicsResources(t._openGLRenderWindow),t.opacityTexture.setMinificationFilter(nr.Filter.LINEAR),t.opacityTexture.setMagnificationFilter(nr.Filter.LINEAR),t._openGLRenderWindow.getWebgl2()||t.context.getExtension("OES_texture_float")&&t.context.getExtension("OES_texture_float_linear"))t.opacityTexture.create2DFromRaw(d,2*l,1,ir.VtkDataTypes.FLOAT,v);else{for(var I=new Uint8Array(f),C=0;C<f;++C)I[C]=255*v[C];t.opacityTexture.create2DFromRaw(d,2*l,1,ir.VtkDataTypes.UNSIGNED_CHAR,I)}t.opacityTextureString=u}if(u="".concat(a.getMTime()),t.colorTextureString!==u){for(var b=1024,k=new Uint8Array(2048*l*3),E=new Float32Array(3072),R=0;R<l;++R){var P=a.getRGBTransferFunction(R),A=P.getRange();P.getTable(A[0],A[1],b,E,1);for(var x=0;x<3072;++x)k[R*b*6+x]=255*E[x],k[R*b*6+x+3072]=255*E[x]}t.colorTexture.releaseGraphicsResources(t._openGLRenderWindow),t.colorTexture.setMinificationFilter(nr.Filter.LINEAR),t.colorTexture.setMagnificationFilter(nr.Filter.LINEAR),t.colorTexture.create2DFromRaw(b,2*l,3,ir.VtkDataTypes.UNSIGNED_CHAR,k),t.colorTextureString=u}if(u="".concat(n.getMTime()),t.scalarTextureString!==u){var _=n.getDimensions(),O=t.scalarTexture.getTextureParameters(),S=n.getPointData().getScalars().getDataType(),T=n.getPointData().getScalars().getData(),D=!0;if(O.dataType&&O.dataType===S){var M=O.width*O.height*O.depth*O.numComps;T.length===M&&(D=!1)}D?(t.scalarTexture.releaseGraphicsResources(t._openGLRenderWindow),t.scalarTexture.resetFormatAndType(),t.scalarTexture.create3DFilterableFromRaw(_[0],_[1],_[2],c,i.getDataType(),i.getData(),t.renderable.getPreferSizeOverAccuracy())):(t.scalarTexture.deactivate(),t.scalarTexture.update3DFromRaw(T)),t.scalarTextureString=u}if(!t.tris.getCABO().getElementCount()){for(var V=new Float32Array(12),j=0;j<4;j++)V[3*j]=j%2*2-1,V[3*j+1]=j>1?1:-1,V[3*j+2]=-1;var L=new Uint16Array(8);L[0]=3,L[1]=0,L[2]=1,L[3]=3,L[4]=3,L[5]=0,L[6]=3,L[7]=2;var N=U().newInstance({numberOfComponents:3,values:V});N.setName("points");var F=U().newInstance({numberOfComponents:1,values:L});t.tris.getCABO().createVBO(F,"polys",ar.Representation.SURFACE,{points:N,cellOffset:0})}t.VBOBuildTime.modified()}}},e.setCameraShaderParameters=function(r,n,i){var a=r.getProgram(),o=t.openGLCamera.getRenderable(),s=o.getClippingRange();a.setUniformf("camThick",s[1]-s[0]),a.setUniformf("camNear",s[0]),a.setUniformf("camFar",s[1]),o.setIsPerformingCoordinateTransformation(!0);var c=t.openGLCamera.getKeyMatrices(n);o.setIsPerformingCoordinateTransformation(!1);var l=t.openGLVolume.getKeyMatrices();rr.mat4.multiply(t.modelToView,c.wcvc,l.mcwc);for(var u=t.currentInput.getBounds(),d=t.currentInput.getSpacing(),f=t.currentInput.getDimensions(),v=new Float64Array(3),h=new Float64Array(3),g=1,m=-1,p=1,w=-1,y=0;y<8;++y){if(rr.vec3.set(v,u[y%2],u[2+Math.floor(y/2)%2],u[4+Math.floor(y/4)]),rr.vec3.transformMat4(v,v,t.modelToView),!o.getParallelProjection()){rr.vec3.normalize(h,v);var I=-s[0]/v[2];rr.vec3.scale(v,h,I)}rr.vec3.transformMat4(v,v,c.vcpc),g=Math.min(v[0],g),m=Math.max(v[0],m),p=Math.min(v[1],p),w=Math.max(v[1],w)}a.setUniformf("dcxmin",g),a.setUniformf("dcxmax",m),a.setUniformf("dcymin",p),a.setUniformf("dcymax",w),a.isUniformUsed("cameraParallel")&&a.setUniformi("cameraParallel",o.getParallelProjection());var C=t.currentInput.getSpatialExtent(),b=new Float64Array(3);rr.vec3.set(b,(C[1]-C[0])*d[0],(C[3]-C[2])*d[1],(C[5]-C[4])*d[2]),a.setUniform3f("vSpacing",d[0],d[1],d[2]),rr.vec3.set(v,C[0],C[2],C[4]),t.currentInput.indexToWorldVec3(v,v),rr.vec3.transformMat4(v,v,t.modelToView),a.setUniform3f("vOriginVC",v[0],v[1],v[2]);var k=t.currentInput.getIndexToWorld();rr.mat4.multiply(t.idxToView,t.modelToView,k),rr.mat3.multiply(t.idxNormalMatrix,c.normalMatrix,l.normalMatrix),rr.mat3.multiply(t.idxNormalMatrix,t.idxNormalMatrix,t.currentInput.getDirection());var E=rr.vec3.length(b)/t.renderable.getSampleDistance();E>t.renderable.getMaximumSamplesPerRay()&&or("The number of steps required ".concat(Math.ceil(E)," is larger than the\n specified maximum number of steps ").concat(t.renderable.getMaximumSamplesPerRay(),".\n Please either change the\n volumeMapper sampleDistance or its maximum number of samples."));var R=new Float64Array(3);if(rr.vec3.set(R,1,1,1),rr.vec3.divide(R,R,b),a.setUniform3f("vVCToIJK",R[0],R[1],R[2]),a.setUniform3i("volumeDimensions",f[0],f[1],f[2]),!t._openGLRenderWindow.getWebgl2()){var P=t.scalarTexture.getVolumeInfo();a.setUniformf("texWidth",t.scalarTexture.getWidth()),a.setUniformf("texHeight",t.scalarTexture.getHeight()),a.setUniformi("xreps",P.xreps),a.setUniformi("xstride",P.xstride),a.setUniformi("ystride",P.ystride)}for(var A=new Float64Array(3),x=new Float64Array(3),_=0;_<6;++_){switch(_){case 1:rr.vec3.set(A,-1,0,0),rr.vec3.set(x,C[0],C[2],C[4]);break;case 2:rr.vec3.set(A,0,1,0),rr.vec3.set(x,C[1],C[3],C[5]);break;case 3:rr.vec3.set(A,0,-1,0),rr.vec3.set(x,C[0],C[2],C[4]);break;case 4:rr.vec3.set(A,0,0,1),rr.vec3.set(x,C[1],C[3],C[5]);break;case 5:rr.vec3.set(A,0,0,-1),rr.vec3.set(x,C[0],C[2],C[4]);break;default:rr.vec3.set(A,1,0,0),rr.vec3.set(x,C[1],C[3],C[5])}rr.vec3.transformMat3(A,A,t.idxNormalMatrix),rr.vec3.transformMat4(x,x,t.idxToView);var O=-1*rr.vec3.dot(x,A);if(a.setUniform3f("vPlaneNormal".concat(_),A[0],A[1],A[2]),a.setUniformf("vPlaneDistance".concat(_),O),i.getProperty().getUseLabelOutline()){var S=t.currentInput.getWorldToIndex();a.setUniformMatrix("vWCtoIDX",S),rr.mat4.invert(t.projectionToWorld,c.wcpc),a.setUniformMatrix("PCWCMatrix",t.projectionToWorld);var T=e.getRenderTargetSize(),D=e.getRenderTargetOffset();a.setUniformf("vpWidth",T[0]),a.setUniformf("vpHeight",T[1]),a.setUniformf("vpOffsetX",D[0]/T[0]),a.setUniformf("vpOffsetY",D[1]/T[1])}}switch(rr.mat4.invert(t.projectionToView,c.vcpc),t.projectionToView[10]=t.projectionToView[14],a.setUniformMatrix("PCVCMatrix",t.projectionToView),t.lastLightComplexity){default:case 0:break;case 1:case 2:case 3:var M=0,V=[];n.getLights().forEach((function(e){if(e.getSwitch()>0){var t=e.getColor(),r=e.getIntensity();V[0]=t[0]*r,V[1]=t[1]*r,V[2]=t[2]*r,a.setUniform3fArray("lightColor".concat(M),V);var n=e.getDirection();rr.vec3.set(A,n[0],n[1],n[2]),rr.vec3.transformMat3(A,A,c.normalMatrix),a.setUniform3f("lightDirectionVC".concat(M),A[0],A[1],A[2]);var i=[-.5*A[0],-.5*A[1],-.5*(A[2]-1)];a.setUniform3fArray("lightHalfAngleVC".concat(M),i),M++}}))}},e.getRenderTargetSize=function(){if(t._useSmallViewport)return[t._smallViewportWidth,t._smallViewportHeight];var e=t.openGLRenderer.getTiledSizeAndOrigin();return[e.usize,e.vsize]},e.getRenderTargetOffset=function(){var e=t.openGLRenderer.getTiledSizeAndOrigin();return[e.lowerLeftU,e.lowerLeftV]}}var cr={};function lr(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,cr,r),Qt().extend(e,t,r),t.scalarTexture=r.scalarTexture,t.previousState={},sr(e,t)}var ur={newInstance:$().newInstance(lr,"vtkStreamingOpenGLVolumeMapper"),extend:lr};function dr(e,t){t.classHierarchy.push("vtkStreamingOpenGLViewNodeFactory"),e.createNode=function(r){if(r.isDeleted())return null;for(var n=0,i=r.getClassName(n++),a=!1,o=Object.keys(t.overrides);i&&!a;)-1!==o.indexOf(i)?a=!0:i=r.getClassName(n++);if(!a)return null;var s=t.getModelInitialValues(r),c=t.overrides[i](s);return c.setMyFactory(e),c},t.getModelInitialValues=function(e){var t={};return"vtkSharedVolumeMapper"===e.getClassName()&&(t.scalarTexture=e.getScalarTexture()),t}}var fr={};function vr(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,fr,r),tr().extend(e,t,r),dr(e,t),e.registerOverride("vtkActor",At().newInstance),e.registerOverride("vtkActor2D",_t().newInstance),e.registerOverride("vtkCamera",St().newInstance),e.registerOverride("vtkGlyph3DMapper",Dt().newInstance),e.registerOverride("vtkImageMapper",Vt().newInstance),e.registerOverride("vtkImageSlice",Lt().newInstance),e.registerOverride("vtkMapper",Gt().newInstance),e.registerOverride("vtkPixelSpaceCallbackMapper",Nt().newInstance),e.registerOverride("vtkRenderer",Bt().newInstance),e.registerOverride("vtkSkybox",zt().newInstance),e.registerOverride("vtkSphereMapper",Kt().newInstance),e.registerOverride("vtkStickMapper",Xt().newInstance),e.registerOverride("vtkTexture",Y().newInstance),e.registerOverride("vtkVolume",Zt().newInstance),e.registerOverride("vtkVolumeMapper",Qt().newInstance),e.registerOverride("vtkSharedVolumeMapper",ur.newInstance)}var hr={newInstance:$().newInstance(vr,"vtkStreamingOpenGLViewNodeFactory"),extend:vr};function gr(e,t){t.classHierarchy.push("vtkStreamingOpenGLRenderWindow")}function mr(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,r),Rt().extend(e,t,r),t.myFactory=hr.newInstance(),t.myFactory.registerOverride("vtkRenderWindow",pr),gr(0,t)}var pr=$().newInstance(mr,"vtkStreamingOpenGLRenderWindow"),wr={newInstance:pr,extend:mr},yr=q(281),Ir=q.n(yr),Cr=q(329),br=q.n(Cr),kr=q(673),Er=q.n(kr);function Rr(e,t){var r=e.invokeResize;delete e.invokeResize,t.renderWindow=br().newInstance(),t.rendererMap={},t.openGLRenderWindow=wr.newInstance(),t.renderWindow.addView(t.openGLRenderWindow),t.interactor=Er().newInstance(),t.interactor.setView(t.openGLRenderWindow),t.interactor.initialize(),e.addRenderer=function(e){var r=e.viewport,n=e.id,i=e.background,a=Ir().newInstance({viewport:r,background:i||t.background});t.renderWindow.addRenderer(a),t.rendererMap[n]=a},e.destroy=function(){t.renderWindow.getInteractor().delete()},e.removeRenderer=function(r){var n=e.getRenderer(r);t.renderWindow.removeRenderer(n),n.delete(),delete t.rendererMap[r]},e.getRenderer=function(e){return t.rendererMap[e]},e.getRenderers=function(){var e=t.rendererMap;return Object.keys(e).map((function(t){return{id:t,renderer:e[t]}}))},e.resize=function(){if(t.container){var e=t.container,n=e.width,i=e.height;t.openGLRenderWindow.setSize(Math.floor(n),Math.floor(i)),r(),t.renderWindow.render()}},e.setContainer=function(e){t.container=e,t.openGLRenderWindow.setContainer(t.container)},e.delete=$().chain(e.setContainer,e.destroy,t.openGLRenderWindow.delete,e.delete),e.resize()}q(348),q(70),q(474),q(610);var Pr={background:[0,0,0],container:null};function Ar(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Pr,r),$().obj(e,t),$().get(e,t,["renderWindow","openGLRenderWindow","interactor","container"]),$().event(e,t,"resize"),Rr(e,t)}var xr={newInstance:$().newInstance(Ar),extend:Ar};function _r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Or(e){return Or=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Or(e)}function Sr(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Or(e)););return e}function Tr(){return Tr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=Sr(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}},Tr.apply(this,arguments)}function Dr(e,t){return Dr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Dr(e,t)}function Mr(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Dr(e,t)}function Vr(e,t){if(t&&("object"===P(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _r(e)}var jr=q(864),Lr=q.n(jr),Ur=le;function Nr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,a=[],o=!0,s=!1;try{for(r=r.call(e);!(o=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){s=!0,i=e}finally{try{o||null==r.return||r.return()}finally{if(s)throw i}}return a}}(e,t)||pt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Fr=q(847),Gr=q.n(Fr),Wr=q(807),Br=q.n(Wr);function qr(e){return!!e.isA("vtkVolume")||!!e.isA("vtkImageSlice")}function zr(e,t,r){var n=Nr(e,3),i=n[0],a=n[1],o=n[2],s=Nr(t,3),c=s[0],l=s[1],u=s[2],d=Nr(r,4),f=d[0],v=d[1],h=d[2],g=c-i,m=l-a,p=u-o,w=-1*(f*i+v*a+h*o-d[3])/(f*g+v*m+h*p);return[g*w+i,m*w+a,p*w+o]}function Hr(e,t){var r=Nr(e,3),n=r[0],i=r[1],a=r[2];return[n,i,a,n*t[0]+i*t[1]+a*t[2]]}function Kr(e,t,r){var n=Nr(e,4),i=n[0],a=n[1],o=n[2],s=n[3],c=Nr(t,4),l=c[0],u=c[1],d=c[2],f=c[3],v=Nr(r,4),h=v[0],g=v[1],m=v[2],p=v[3],w=rr.mat3.fromValues(i,l,h,a,u,g,o,d,m),y=rr.mat3.fromValues(s,f,p,a,u,g,o,d,m),I=rr.mat3.fromValues(i,l,h,s,f,p,o,d,m),C=rr.mat3.fromValues(i,l,h,a,u,g,s,f,p);return[rr.mat3.determinant(y)/rr.mat3.determinant(w),rr.mat3.determinant(I)/rr.mat3.determinant(w),rr.mat3.determinant(C)/rr.mat3.determinant(w)]}function $r(e){return Array.isArray(e)?e.some((function(e){return Number.isNaN(e)})):Number.isNaN(e)}function Xr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Yr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Xr(Object(r),!0).forEach((function(t){H(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xr(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Zr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Jr=function(){function e(t){B(this,e),H(this,"id",void 0),H(this,"element",void 0),H(this,"canvas",void 0),H(this,"renderingEngineId",void 0),H(this,"type",void 0),H(this,"flipHorizontal",!1),H(this,"flipVertical",!1),H(this,"rotation",0),H(this,"isDisabled",void 0),H(this,"sx",void 0),H(this,"sy",void 0),H(this,"sWidth",void 0),H(this,"sHeight",void 0),H(this,"_actors",void 0),H(this,"defaultOptions",void 0),H(this,"options",void 0),H(this,"_suppressCameraModifiedEvents",!1),H(this,"suppressEvents",void 0),H(this,"hasPixelSpacing",!0),H(this,"initialCamera",void 0),H(this,"getFrameOfReferenceUID",void 0),H(this,"canvasToWorld",void 0),H(this,"worldToCanvas",void 0),H(this,"customRenderViewportToCanvas",void 0),H(this,"resize",void 0),H(this,"getProperties",void 0),this.id=t.id,this.renderingEngineId=t.renderingEngineId,this.type=t.type,this.element=t.element,this.canvas=t.canvas,this.sx=t.sx,this.sy=t.sy,this.sWidth=t.sWidth,this.sHeight=t.sHeight,this._actors=new Map,this.element.setAttribute("data-viewport-uid",this.id),this.element.setAttribute("data-rendering-engine-uid",this.renderingEngineId),this.defaultOptions=F()(t.defaultOptions),this.suppressEvents=!!t.defaultOptions.suppressEvents&&t.defaultOptions.suppressEvents,this.options=F()(t.defaultOptions),this.isDisabled=!1}return W(e,[{key:"getRenderingEngine",value:function(){return It(this.renderingEngineId)}},{key:"getRenderer",value:function(){var e=this.getRenderingEngine();if(!e||e.hasBeenDestroyed)throw new Error("Rendering engine has been destroyed");return e.offscreenMultiRenderWindow.getRenderer(this.id)}},{key:"render",value:function(){this.getRenderingEngine().renderViewport(this.id)}},{key:"setOptions",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.options=F()(e),t&&this.render()}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.options=F()(this.defaultOptions),e&&this.render()}},{key:"flip",value:function(e){var t=e.flipHorizontal,r=e.flipVertical,n=this.getDefaultImageData();if(n){var i=this.getCamera(),a=i.viewPlaneNormal,o=i.viewUp,s=i.focalPoint,c=i.position,l=rr.vec3.create();rr.vec3.cross(l,a,o);var u=rr.vec3.create();rr.vec3.copy(u,o);var d=rr.vec3.create();d=rr.vec3.negate(d,a);var f=rr.vec3.distance(c,s),v=rr.vec3.create(),h=n.getDimensions().map((function(e){return Math.floor(e/2)})),g=[h[0],h[1],h[2]];n.indexToWorld(g,v);var m=rr.vec3.create();rr.vec3.subtract(m,s,v);var p=rr.vec3.length(m),w=function(e){var t=rr.vec3.create();return rr.vec3.scale(t,e,2*rr.vec3.dot(m,e)),rr.vec3.subtract(t,t,m),rr.vec3.normalize(t,t),t};if(t){var y=rr.vec3.create(),I=w(u);rr.vec3.scaleAndAdd(y,v,I,p);var C=rr.vec3.create();rr.vec3.scaleAndAdd(C,y,d,f),this.setCamera({viewPlaneNormal:d,position:C,focalPoint:y}),this.flipHorizontal=!this.flipHorizontal}if(r){u=rr.vec3.negate(u,o);var b=w(l),k=rr.vec3.create();rr.vec3.scaleAndAdd(k,v,b,p);var E=rr.vec3.create();rr.vec3.scaleAndAdd(E,k,d,f),this.setCamera({focalPoint:k,viewPlaneNormal:d,viewUp:u,position:E}),this.flipVertical=!this.flipVertical}this.render()}}},{key:"getDefaultImageData",value:function(){var e=this.getDefaultActor();if(e&&qr(e.actor))return e.actor.getMapper().getInputData()}},{key:"getDefaultActor",value:function(){return this.getActors()[0]}},{key:"getActors",value:function(){return Array.from(this._actors.values())}},{key:"getActor",value:function(e){return this._actors.get(e)}},{key:"getActorUIDByIndex",value:function(e){var t=this.getActors()[e];if(t)return t.uid}},{key:"getActorByIndex",value:function(e){return this.getActors()[e]}},{key:"setActors",value:function(e){this.removeAllActors(),this.addActors(e,!0)}},{key:"removeActor",value:function(e){var t=this.getActor(e);t?(this.getRenderer().removeViewProp(t.actor),this._actors.delete(e)):console.warn("Actor ".concat(e," does not exist for this viewport"))}},{key:"removeActors",value:function(e){var t=this;e.forEach((function(e){t.removeActor(e)}))}},{key:"addActors",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.getRenderingEngine();n&&!n.hasBeenDestroyed?(e.forEach((function(e){return t.addActor(e)})),this.resetCamera(r,r)):console.warn("Viewport::addActors::Rendering engine has not been initialized or has been destroyed")}},{key:"addActor",value:function(e){var t=e.uid,r=e.actor,n=this.getRenderingEngine();if(n&&!n.hasBeenDestroyed){if(!t||!r)throw new Error("Actors should have uid and vtk Actor properties");this.getActor(t)?console.warn("Actor ".concat(t," already exists for this viewport")):(this.getRenderer().addActor(r),this._actors.set(t,Object.assign({},e)))}else console.warn("Cannot add actor UID of ".concat(t," Rendering Engine has been destroyed"))}},{key:"removeAllActors",value:function(){this.getRenderer().removeAllViewProps(),this._actors=new Map}},{key:"resetCameraNoEvent",value:function(){this._suppressCameraModifiedEvents=!0,this.resetCamera(),this._suppressCameraModifiedEvents=!1}},{key:"setCameraNoEvent",value:function(e){this._suppressCameraModifiedEvents=!0,this.setCamera(e),this._suppressCameraModifiedEvents=!1}},{key:"_getViewImageDataIntersections",value:function(e,t,r){var n,i=r[0],a=r[1],o=r[2],s=i*t[0]+a*t[1]+o*t[2],c=e.getBounds(),l=[],u=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Zr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Zr(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(this._getEdges(c));try{for(u.s();!(n=u.n()).done;){var d=Nr(n.value,2),f=Nr(d[0],3),v=f[0],h=f[1],g=f[2],m=Nr(d[1],3),p=m[0],w=m[1],y=m[2];if(i*(p-v)+a*(w-h)+o*(y-g)!=0){var I=zr([v,h,g],[p,w,y],[i,a,o,s]);this._isInBounds(I,c)&&l.push(I)}}}catch(e){u.e(e)}finally{u.f()}return l}},{key:"resetCamera",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=this.getRenderer();this.setCamera({flipHorizontal:!1,flipVertical:!1});var a=F()(this.getCamera()),o=i.computeVisiblePropBounds(),s=[0,0,0],c=this.getDefaultImageData();if(c){var l=c.getSpacing();o[0]=o[0]+l[0]/2,o[1]=o[1]-l[0]/2,o[2]=o[2]+l[1]/2,o[3]=o[3]-l[1]/2,o[4]=o[4]+l[2]/2,o[5]=o[5]-l[2]/2}var u=this.getVtkActiveCamera(),d=u.getViewPlaneNormal(),f=u.getViewUp();if(s[0]=(o[0]+o[1])/2,s[1]=(o[2]+o[3])/2,s[2]=(o[4]+o[5])/2,c){var v=c.getDimensions(),h=v.map((function(e){return Math.floor(e/2)})),g=[h[0],h[1],h[2]];c.indexToWorld(g,s)}var m,p=this._getWorldDistanceViewUpAndViewRight(o,f,d),w=p.widthWorld,y=p.heightWorld,I=[this.sWidth,this.sHeight],C=w/y,b=I[0]/I[1];if(C<b)m=y/2;else{var k=C/b;m=y*k/2}var R=1.1*m,P=o[1]-o[0],A=o[3]-o[2],x=o[5]-o[4];m=0==(m=(P*=P)+(A*=A)+(x*=x))?1:m;var _=1.1*(m=.5*Math.sqrt(m)),O=Math.abs(Br().dot(f,d))>.999?[-f[2],f[0],f[1]]:f,S=this._getFocalPointForResetCamera(s,a,{resetPan:e,resetToCenter:r}),T=[S[0]+_*d[0],S[1]+_*d[1],S[2]+_*d[2]];i.resetCameraClippingRange(o);var D=[-E.MAXIMUM_RAY_DISTANCE,E.MAXIMUM_RAY_DISTANCE];u.setPhysicalScale(m),u.setPhysicalTranslation(-S[0],-S[1],-S[2]),this.setCamera({parallelScale:t?R:a.parallelScale,focalPoint:S,position:T,viewAngle:90,viewUp:O,clippingRange:D});var M=F()(this.getCamera());n&&this.setInitialCamera(M);var V={type:"ResetCameraEvent",renderer:i};return i.invokeEvent(V),this.triggerCameraModifiedEventIfNecessary(a,M),!0}},{key:"setInitialCamera",value:function(e){this.initialCamera=e}},{key:"getPan",value:function(){var e=this.getVtkActiveCamera().getFocalPoint(),t=this.canvasToWorld([0,0]),r=this.worldToCanvas(rr.vec3.subtract(rr.vec3.create(),this.initialCamera.focalPoint,t)),n=this.worldToCanvas(rr.vec3.subtract(rr.vec3.create(),e,t));return rr.vec2.subtract(rr.vec2.create(),r,n)}},{key:"setPan",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.getCamera(),n=r.focalPoint,i=r.position,a=this.canvasToWorld([0,0]),o=rr.vec2.subtract(rr.vec2.create(),e,this.getPan());if(!(Math.abs(o[0])<1&&Math.abs(o[1])<1)||t){var s=rr.vec3.subtract(rr.vec3.create(),this.canvasToWorld(o),a),c=rr.vec3.subtract(rr.vec3.create(),n,s),l=rr.vec3.subtract(rr.vec3.create(),i,s);this.setCamera(Yr(Yr({},r),{},{focalPoint:c,position:l}),t)}}},{key:"getZoom",value:function(){var e=this.getVtkActiveCamera();return this.initialCamera.parallelScale/e.getParallelScale()}},{key:"setZoom",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.getCamera(),n=this.initialCamera.parallelScale,i=n/e;(r.parallelScale!==i||t)&&this.setCamera(Yr(Yr({},r),{},{parallelScale:i}),t)}},{key:"_getFocalPointForViewPlaneReset",value:function(e){var t=this.getCamera(),r=t.focalPoint,n=t.viewPlaneNormal,i=this._getViewImageDataIntersections(e,r,n),a=0,o=0,s=0;return i.forEach((function(e){var t=Nr(e,3),r=t[0],n=t[1],i=t[2];a+=r,o+=n,s+=i})),[a/i.length,o/i.length,s/i.length]}},{key:"getCanvas",value:function(){return this.canvas}},{key:"getVtkActiveCamera",value:function(){return this.getRenderer().getActiveCamera()}},{key:"getCamera",value:function(){var e=this.getVtkActiveCamera();return{viewUp:e.getViewUp(),viewPlaneNormal:e.getViewPlaneNormal(),position:e.getPosition(),focalPoint:e.getFocalPoint(),parallelProjection:e.getParallelProjection(),parallelScale:e.getParallelScale(),viewAngle:e.getViewAngle(),flipHorizontal:this.flipHorizontal,flipVertical:this.flipVertical}}},{key:"setCamera",value:function(e){var t,r,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.getVtkActiveCamera(),a=F()(this.getCamera()),o=Object.assign({},a,e),s=e.viewUp,c=e.viewPlaneNormal,l=e.position,u=e.focalPoint,d=e.parallelScale,f=e.viewAngle,v=e.flipHorizontal,h=e.flipVertical,g=e.clippingRange;if(void 0!==v){var m=v&&!this.flipHorizontal||!v&&this.flipHorizontal;m&&this.flip({flipHorizontal:m})}if(void 0!==h){var p=h&&!this.flipVertical||!h&&this.flipVertical;p&&this.flip({flipVertical:p})}void 0!==s&&i.setViewUp(s),void 0!==c&&i.setDirectionOfProjection(-c[0],-c[1],-c[2]),void 0!==l&&i.setPosition.apply(i,wt(l)),void 0!==u&&i.setFocalPoint.apply(i,wt(u)),void 0!==d&&i.setParallelScale(d),void 0!==f&&i.setViewAngle(f),void 0!==g&&i.setClippingRange(g);var w=this.getDefaultActor();if(null!=w&&null!==(t=w.actor)&&void 0!==t&&t.isA("vtkVolume")&&this.updateClippingPlanesForActors(o),null!=w&&null!==(r=w.actor)&&void 0!==r&&r.isA("vtkImageSlice")){var y=this.getRenderer();y.resetCameraClippingRange()}n&&this.setInitialCamera(o),this.triggerCameraModifiedEventIfNecessary(a,this.getCamera())}},{key:"triggerCameraModifiedEventIfNecessary",value:function(e,t){if(!this._suppressCameraModifiedEvents&&!this.suppressEvents){var r={previousCamera:e,camera:t,element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:this.rotation};ae(this.element,u.CAMERA_MODIFIED,r)}}},{key:"updateClippingPlanesForActors",value:function(e){var t=this;this.getActors().forEach((function(r){if(r.actor&&qr(r.actor)){var n=r.actor.getMapper().getClippingPlanes(),i=E.MINIMUM_SLAB_THICKNESS;r.slabThickness&&(i=r.slabThickness);var a=e.viewPlaneNormal,o=e.focalPoint;t.setOrientationOfClippingPlanes(n,i,a,o)}}))}},{key:"setOrientationOfClippingPlanes",value:function(e,t,r,n){if(!(e.length<2)){var i=[r[0],r[1],r[2]];Br().multiplyScalar(i,t),e[0].setNormal(r);var a=[0,0,0];Br().subtract(n,i,a),e[0].setOrigin(a),e[1].setNormal(-r[0],-r[1],-r[2]);var o=[0,0,0];Br().add(n,i,o),e[1].setOrigin(o)}}},{key:"_getWorldDistanceViewUpAndViewRight",value:function(e,t,r){var n=this._getCorners(e),i=this._getCorners(e),a=rr.vec3.create();rr.vec3.cross(a,t,r);var o=Gr().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);n.forEach((function(e){return o.apply(e)}));for(var s=1/0,c=-1/0,l=0;l<8;l++){var u=n[l][0];u>c&&(c=u),u<s&&(s=u)}o=Gr().buildFromDegree().identity().rotateFromDirections([a[0],a[1],a[2]],[1,0,0]),i.forEach((function(e){return o.apply(e)}));for(var d=1/0,f=-1/0,v=0;v<8;v++){var h=i[v][0];h>f&&(f=h),h<d&&(d=h)}return{widthWorld:f-d,heightWorld:c-s}}},{key:"_getCorners",value:function(e){return[[e[0],e[2],e[4]],[e[0],e[2],e[5]],[e[0],e[3],e[4]],[e[0],e[3],e[5]],[e[1],e[2],e[4]],[e[1],e[2],e[5]],[e[1],e[3],e[4]],[e[1],e[3],e[5]]]}},{key:"_getFocalPointForResetCamera",value:function(e,t,r){var n=r.resetPan,i=r.resetToCenter;if(i&&n)return e;if(i&&!n)return $r(t.focalPoint)?e:t.focalPoint;if(!i&&n){var a=t,o=a.focalPoint,s=a.viewPlaneNormal,c=rr.vec3.create();rr.vec3.subtract(c,e,o);var l=rr.vec3.dot(c,s),u=rr.vec3.create();return rr.vec3.scaleAndAdd(u,e,s,-1*l),[u[0],u[1],u[2]]}return n||i?void 0:$r(t.focalPoint)?e:t.focalPoint}},{key:"_isInBounds",value:function(e,t){var r=Nr(t,6),n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],c=r[5],l=Nr(e,3),u=l[0],d=l[1],f=l[2];return!(u<n||u>i||d<a||d>o||f<s||f>c)}},{key:"_getEdges",value:function(e){var t=Nr(this._getCorners(e),8),r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7];return[[r,n],[r,o],[r,i],[n,a],[n,s],[i,a],[i,c],[a,l],[o,c],[o,s],[s,l],[c,l]]}}],[{key:"useCustomRenderingPipeline",get:function(){return!1}}]),e}(),Qr=Jr;function en(e){var t=e.getMapper().getInputData(),r=t.extentToBounds(t.getExtent());return[[r[0],r[2],r[4]],[r[0],r[2],r[5]],[r[0],r[3],r[4]],[r[0],r[3],r[5]],[r[1],r[2],r[4]],[r[1],r[2],r[5]],[r[1],r[3],r[4]],[r[1],r[3],r[5]]]}function tn(e,t,r){var n=en(e),i=Gr().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);n.forEach((function(e){return i.apply(e)}));var a=wt(r);i.apply(a);for(var o=a[0],s=1/0,c=-1/0,l=0;l<8;l++){var u=n[l][0];u>c&&(c=u),u<s&&(s=u)}return{min:s,max:c,current:o,actor:e,viewPlaneNormal:t,focalPoint:r}}function rn(e,t){var r=e.direction,n=e.spacing,i=r.slice(0,3),a=r.slice(3,6),o=r.slice(6,9),s=[rr.vec3.dot(i,t),rr.vec3.dot(a,t),rr.vec3.dot(o,t)],c=rr.vec3.create();return rr.vec3.set(c,s[0]*n[0],s[1]*n[1],s[2]*n[2]),rr.vec3.length(c)}function nn(e,t,r){var n=t.viewPlaneNormal,i=e.getActors();if(!i||!i.length)return{spacingInNormalDirection:null,imageVolume:null};var a=i.length,o=i.map((function(e){var t,r=null!==(t=e.referenceId)&&void 0!==t?t:e.uid;return le.getVolume(r)}));if(r){var s=o.find((function(e){return e.volumeId===r}));return{imageVolume:s,spacingInNormalDirection:rn(s,n)}}for(var c={spacingInNormalDirection:1/0,imageVolume:null},l=0;l<a;l++){var u=o[l],d=rn(u,n);d<c.spacingInNormalDirection&&(c.spacingInNormalDirection=d,c.imageVolume=u)}return c}var an=function(e){var t=e.getCamera(),r=nn(e,t),n=r.spacingInNormalDirection,i=r.imageVolume;if(i){var a=t.viewPlaneNormal,o=t.focalPoint,s=e.getActors().find((function(e){return e.referenceId===i.volumeId||e.uid===i.volumeId}));s||console.warn("No actor found for with actorUID of",i.volumeId);var c=tn(s.actor,a,o),l=c.min,u=c.max,d=c.current,f=Math.round((u-l)/n)+1,v=(d-l)/(u-l)*f;return(v=Math.floor(v))>f-1?v=f-1:v<0&&(v=0),{numberOfSlices:f,imageIndex:v}}};function on(e){return It(e)}function sn(){return kt()}var cn=on,ln={},un=q(821),dn=q.n(un);function fn(e,t){t.classHierarchy.push("vtkSlabCamera");var r=rr.mat4.identity(new Float64Array(16)),n=new Float64Array(3);e.getProjectionMatrix=function(e,i,a){var o=rr.mat4.create();if(t.projectionMatrix){var s=1/t.physicalScale;return rr.vec3.set(n,s,s,s),rr.mat4.copy(o,t.projectionMatrix),rr.mat4.scale(o,o,n),rr.mat4.transpose(o,o),o}rr.mat4.identity(r);var c=t.clippingRange[0],l=t.clippingRange[1];t.isPerformingCoordinateTransformation&&(c=t.distance,l=t.distance+.1);var u=l-c,d=[c+(i+1)*u/2,c+(a+1)*u/2];if(t.parallelProjection){var f=t.parallelScale*e,v=t.parallelScale,h=(t.windowCenter[0]-1)*f,g=(t.windowCenter[0]+1)*f,m=(t.windowCenter[1]-1)*v,p=(t.windowCenter[1]+1)*v;rr.mat4.ortho(r,h,g,m,p,d[0],d[1]),rr.mat4.transpose(r,r)}else{if(t.useOffAxisProjection)throw new Error("Off-Axis projection is not supported at this time");var w,y,I=Math.tan(Br().radiansFromDegrees(t.viewAngle)/2);!0===t.useHorizontalViewAngle?(w=c*I,y=c*I/e):(w=c*I*e,y=c*I);var C=(t.windowCenter[0]-1)*w,b=(t.windowCenter[0]+1)*w,k=(t.windowCenter[1]-1)*y,E=(t.windowCenter[1]+1)*y,R=d[0],P=d[1];r[0]=2*R/(b-C),r[5]=2*R/(E-k),r[2]=(C+b)/(b-C),r[6]=(k+E)/(E-k),r[10]=-(R+P)/(P-R),r[14]=-1,r[11]=-2*R*P/(P-R),r[15]=0}return rr.mat4.copy(o,r),o}}var vn={isPerformingCoordinateTransformation:!1};function hn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,vn,r),dn().extend(e,t,r),$().setGet(e,t,["isPerformingCoordinateTransformation"]),fn(e,t)}var gn={newInstance:$().newInstance(hn,"vtkSlabCamera"),extend:hn};function mn(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))}const pn=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function wn(e){return e.toLowerCase().replace(/^angle ?\((.+)\)*$/,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const yn="undefined"==typeof window,In=(()=>{if(yn)return;const{userAgent:e,platform:t,maxTouchPoints:r}=window.navigator,n=/(iphone|ipod|ipad)/i.test(e),i="iPad"===t||"MacIntel"===t&&r>0&&!window.MSStream;return{isIpad:i,isMobile:/android/i.test(e)||n||i,isSafari12:/Version\/12.+Safari/.test(e)}})(),Cn=[],bn=[];function kn(e,t){if(e===t)return 0;const r=e;e.length>t.length&&(e=t,t=r);let n=e.length,i=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-i);)n--,i--;let a,o=0;for(;o<n&&e.charCodeAt(o)===t.charCodeAt(o);)o++;if(n-=o,i-=o,0===n)return i;let s,c,l=0,u=0,d=0;for(;u<n;)bn[u]=e.charCodeAt(o+u),Cn[u]=++u;for(;d<i;)for(a=t.charCodeAt(o+d),s=d++,l=d,u=0;u<n;u++)c=a===bn[u]?s:s+1,s=Cn[u],l=Cn[u]=s>l?c>l?l+1:c:c>s?s+1:c;return l}function En(e){return null!=e}class Rn extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const Pn=({mobileTiers:e=[0,15,30,60],desktopTiers:t=[0,15,30,60],override:r={},glContext:n,failIfMajorPerformanceCaveat:i=!1,benchmarksURL:a="https://unpkg.com/detect-gpu@4.0.45/dist/benchmarks"}={})=>mn(void 0,void 0,void 0,(function*(){const o={};if(yn)return{tier:0,type:"SSR"};const{isIpad:s=!!(null==In?void 0:In.isIpad),isMobile:c=!!(null==In?void 0:In.isMobile),screenSize:l=window.screen,loadBenchmarks:u=(e=>mn(void 0,void 0,void 0,(function*(){const t=yield fetch(`${a}/${e}`).then((e=>e.json()));if(parseInt(t.shift().split(".")[0],10)<4)throw new Rn("Detect GPU benchmark data is out of date. Please update to version 4x");return t})))}=r;let{renderer:d}=r;const f=(e,t,r,n,i)=>({device:i,fps:n,gpu:r,isMobile:c,tier:e,type:t});let v,h="";if(d)d=wn(d),v=[d];else{const e=n||function(e,t=!1){const r={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete r.powerPreference;const n=window.document.createElement("canvas"),i=n.getContext("webgl",r)||n.getContext("experimental-webgl",r);return null!=i?i:void 0}(null==In?void 0:In.isSafari12,i);if(!e)return f(0,"WEBGL_UNSUPPORTED");const t=e.getExtension("WEBGL_debug_renderer_info");if(t&&(d=e.getParameter(t.UNMASKED_RENDERER_WEBGL)),!d)return f(1,"FALLBACK");h=d,d=wn(d),v=function(e,t,r){return"apple gpu"===t?function(e,t,r){if(!r)return[t];const n=function(e){const t=e.createShader(35633),r=e.createShader(35632),n=e.createProgram();if(!(r&&t&&n))return;e.shaderSource(t,"\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n "),e.shaderSource(r,"\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n "),e.compileShader(t),e.compileShader(r),e.attachShader(n,t),e.attachShader(n,r),e.linkProgram(n),e.detachShader(n,t),e.detachShader(n,r),e.deleteShader(t),e.deleteShader(r),e.useProgram(n);const i=e.createBuffer();e.bindBuffer(34962,i),e.bufferData(34962,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const a=e.getAttribLocation(n,"aPosition");e.vertexAttribPointer(a,3,5126,!1,0,0),e.enableVertexAttribArray(a),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const o=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,o),e.deleteProgram(n),e.deleteBuffer(i),o.join("")}(e),i="801621810",a="8016218135",o="80162181161",s=(null==In?void 0:In.isIpad)?[["a7",o,12],["a8",a,15],["a8x",a,15],["a9",a,15],["a9x",a,15],["a10",a,15],["a10x",a,15],["a12",i,15],["a12x",i,15],["a12z",i,15],["a14",i,15],["m1",i,15]]:[["a7",o,12],["a8",a,12],["a9",a,15],["a10",a,15],["a11",i,15],["a12",i,15],["a13",i,15],["a14",i,15]];let c;return"80162181255"===n?c=s.filter((([,,e])=>e>=14)):(c=s.filter((([,e])=>e===n)),c.length||(c=s)),c.map((([e])=>`apple ${e} gpu`))}(e,t,r):[t]}(e,d,c)}const g=(yield Promise.all(v.map((function(e){var t;return mn(this,void 0,void 0,(function*(){const r=(e=>{const t=c?["adreno","apple","mali-t","mali","nvidia","powervr"]:["intel","apple","amd","radeon","nvidia","geforce"];for(const r of t)if(e.includes(r))return r})(e);if(!r)return;const n=`${c?"m":"d"}-${r}${s?"-ipad":""}.json`,i=o[n]=null!==(t=o[n])&&void 0!==t?t:u(n);let a;try{a=yield i}catch(r){if(r instanceof Rn)throw r;return}const d=function(e){var t;const r=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==r?void 0:r.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(e);let f=a.filter((([,e])=>e===d));f.length||(f=a.filter((([t])=>t.includes(e))));const v=f.length;if(0===v)return;let h,[g,,,m]=v>1?f.map((t=>[t,kn(e,t[0])])).sort((([,e],[,t])=>e-t))[0][0]:f[0],p=Number.MAX_VALUE;const{devicePixelRatio:w}=window,y=l.width*w*l.height*w;for(const e of m){const[t,r]=e,n=t*r,i=Math.abs(y-n);i<p&&(p=i,h=e)}if(!h)return;const[,,I,C]=h;return[p,I,g,C]}))})))).filter(En).sort((([e=Number.MAX_VALUE,t],[r=Number.MAX_VALUE,n])=>e===r?t-n:e-r));if(!g.length){const e=pn.find((e=>d.includes(e)));return e?f(0,"BLOCKLISTED",e):f(1,"FALLBACK",`${d} (${h})`)}const[,m,p,w]=g[0];if(-1===m)return f(0,"BLOCKLISTED",p,m,w);const y=c?e:t;let I=0;for(let e=0;e<y.length;e++)m>=y[e]&&(I=e);return f(I,"BENCHMARK",p,m,w)}));var An=!1,xn=!1;function _n(){var e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");return!!(t&&t instanceof WebGLRenderingContext)}function On(){return Sn.apply(this,arguments)}function Sn(){return Sn=O(T().mark((function e(){var t,r=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r.length>0&&void 0!==r[0]&&r[0],!An){e.next=3;break}return e.abrupt("return",An);case 3:if(_n()){e.next=9;break}xn=!0,console.log("CornerstoneRender: GPU not detected, using CPU rendering"),e.next=14;break;case 9:return e.next=11,Pn();case 11:t=e.sent,console.log("CornerstoneRender: Using detect-gpu to get the GPU benchmark:",t),t.tier<1?(console.log("CornerstoneRender: GPU is not powerful enough, using CPU rendering"),xn=!0):console.log("CornerstoneRender: using GPU rendering");case 14:return An=!0,e.abrupt("return",An);case 16:case"end":return e.stop()}}),e)}))),Sn.apply(this,arguments)}function Tn(e){xn=e,An=!0}function Dn(){xn=!_n()}function Mn(){return xn}function Vn(){return An}function jn(e,t){return e.worldToIndex(t).map(Math.round)}var Ln=function(e){Mr(s,e);var t,r,n,i,a,o=(i=s,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Or(i);if(a){var r=Or(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return Vr(this,e)});function s(e){var t;if(B(this,s),H(_r(t=o.call(this,e)),"useCPURendering",!1),H(_r(t),"_FrameOfReferenceUID",void 0),H(_r(t),"_useAcquisitionPlaneForViewPlane",!1),H(_r(t),"getFrameOfReferenceUID",(function(){return t._FrameOfReferenceUID})),H(_r(t),"canvasToWorld",(function(e){var r=t.getVtkActiveCamera();r.setIsPerformingCoordinateTransformation(!0);var n=t.getRenderer(),i=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),a=i.getSize(),o=window.devicePixelRatio||1,s=[e[0]*o,e[1]*o],c=[s[0]+t.sx,s[1]+t.sy];c[1]=a[1]-c[1];var l=i.displayToWorld(c[0],c[1],0,n);return r.setIsPerformingCoordinateTransformation(!1),[l[0],l[1],l[2]]})),H(_r(t),"worldToCanvas",(function(e){var r=t.getVtkActiveCamera();r.setIsPerformingCoordinateTransformation(!0);var n=t.getRenderer(),i=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),a=i.getSize(),o=i.worldToDisplay.apply(i,wt(e).concat([n]));o[1]=a[1]-o[1];var s=[o[0]-t.sx,o[1]-t.sy],c=window.devicePixelRatio||1,l=[s[0]/c,s[1]/c];return r.setIsPerformingCoordinateTransformation(!1),l})),H(_r(t),"getCurrentImageIdIndex",(function(){return t._getImageIdIndex()})),H(_r(t),"hasImageURI",(function(e){return t.getActors().filter((function(e){return e.actor.isA("vtkVolume")})).some((function(t){var r=t.uid,n=Ur.getVolume(r);return!(!n||!n.imageIds)&&n.imageIds.map(oe).includes(e)}))})),H(_r(t),"getCurrentImageId",(function(){var e=t._getImageIdIndex();if(!isNaN(e)){var r=t.getDefaultActor(),n=r.uid;if(r.actor.isA("vtkVolume")){var i=Ur.getVolume(n);if(i)return i.imageIds[e]}}})),H(_r(t),"_getImageIdIndex",(function(){var e=t.getCamera(),r=e.viewPlaneNormal,n=e.focalPoint,i=t.getImageData(),a=i.direction,o=i.origin,s=i.spacing,c=a.slice(a.length-3);if(!(Math.abs(c[0]*r[0]+c[1]*r[1]+c[2]*r[2])-1>R)){var l=s[2],u=rr.vec3.create();rr.vec3.sub(u,n,o);var d=rr.vec3.dot(u,r);return Math.round(Math.abs(d)/l)}})),t.useCPURendering=Mn(),t.useCPURendering)throw new Error("VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.");var r=t.getRenderer(),n=gn.newInstance();switch(r.setActiveCamera(n),t.type){case h.ORTHOGRAPHIC:n.setParallelProjection(!0);break;case h.PERSPECTIVE:n.setParallelProjection(!1);break;default:throw new Error("Unrecognized viewport type: ".concat(t.type))}t.initializeVolumeNewImageEventDispatcher();var i=t.options.orientation;if(i&&i!==C.ACQUISITION){var a=t._getOrientationVectors(i),c=a.viewPlaneNormal,l=a.viewUp;return n.setDirectionOfProjection(-c[0],-c[1],-c[2]),n.setViewUpFrom(l),t.resetCamera(),Vr(t)}return t._useAcquisitionPlaneForViewPlane=!0,t}return W(s,[{key:"initializeVolumeNewImageEventDispatcher",value:function(){var e=function(e){e.detail.viewportId!==this.id||this.isDisabled||this.getImageData()&&function(e){var t=e.detail,r=t.renderingEngineId,n=t.viewportId,i=on(r).getViewport(n);if(!(i instanceof Un))throw new Error("volumeNewImageEventDispatcher: viewport is not a VolumeViewport");void 0===ln[i.id]&&(ln[i.id]=0);var a=an(i),o=a.numberOfSlices,s=a.imageIndex;if(ln[i.id]!==s){ln[i.id]=s;var c={imageIndex:s,viewportId:n,renderingEngineId:r,numberOfSlices:o};ae(i.element,u.VOLUME_NEW_IMAGE,c)}}(e)}.bind(this),t=function(r){var n=r.detail.viewportId;n===this.id&&(this.element.removeEventListener(u.CAMERA_MODIFIED,e),ie.removeEventListener(u.ELEMENT_DISABLED,t),function(e){void 0!==ln[e]&&delete ln[e]}(n))}.bind(this);this.element.removeEventListener(u.CAMERA_MODIFIED,e),this.element.addEventListener(u.CAMERA_MODIFIED,e),ie.addEventListener(u.ELEMENT_DISABLED,t)}},{key:"setProperties",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.voiRange,r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(void 0===r||this.getActor(r)){var i=this.getActors();if(i.length){var a;if(r){var o=i.find((function(e){return e.uid===r}));a=null==o?void 0:o.actor}if(a||(a=i[0].actor,r=i[0].uid),t){var s=t.lower,c=t.upper;if(a.getProperty().getRGBTransferFunction(0).setRange(s,c),!n){var l={viewportId:this.id,range:t,volumeId:r};ae(this.element,u.VOI_MODIFIED,l)}}}}}},{key:"setVolumes",value:(n=O(T().mark((function e(t){var r,n,i,a,o,s,c,l,d,f,v,h,g=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=g.length>1&&void 0!==g[1]&&g[1],n=g.length>2&&void 0!==g[2]&&g[2],i=Ur.getVolume(t[0].volumeId)){e.next=5;break}throw new Error("imageVolume with id: ".concat(i.volumeId," does not exist"));case 5:return this._useAcquisitionPlaneForViewPlane&&(this._setViewPlaneToAcquisitionPlane(i),this._useAcquisitionPlaneForViewPlane=!1),a=i.metadata.FrameOfReferenceUID,e.next=9,this._isValidVolumeInputArray(t,a);case 9:this._FrameOfReferenceUID=a,o=[],s=0;case 12:if(!(s<t.length)){e.next=22;break}return c=t[s],l=c.volumeId,d=c.actorUID,f=c.slabThickness,e.next=16,ft(t[s],this.element,this.id,n);case 16:v=e.sent,h=d||l,o.push({uid:h,actor:v,slabThickness:f,referenceId:l});case 19:s++,e.next=12;break;case 22:this._setVolumeActors(o),ae(this.element,u.VOLUME_VIEWPORT_NEW_VOLUME,{viewportId:this.id,volumeActors:o}),r&&this.render();case 25:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"addVolumes",value:(r=O(T().mark((function e(t){var r,n,i,a,o,s,c,l,u,d,f,v,h=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=h.length>1&&void 0!==h[1]&&h[1],n=h.length>2&&void 0!==h[2]&&h[2],i=Ur.getVolume(t[0].volumeId)){e.next=5;break}throw new Error("imageVolume with id: ".concat(i.volumeId," does not exist"));case 5:return this._useAcquisitionPlaneForViewPlane&&(this._setViewPlaneToAcquisitionPlane(i),this._useAcquisitionPlaneForViewPlane=!1),a=[],e.next=9,this._isValidVolumeInputArray(t,this._FrameOfReferenceUID);case 9:o=0;case 10:if(!(o<t.length)){e.next=21;break}return s=t[o],c=s.volumeId,l=s.visibility,u=s.actorUID,d=s.slabThickness,e.next=14,ft(t[o],this.element,this.id,n);case 14:f=e.sent,!1===l&&f.setVisibility(!1),v=u||c,a.push({uid:v,actor:f,slabThickness:d,referenceId:c});case 18:o++,e.next=10;break;case 21:this.addActors(a),r&&this.render();case 23:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"removeVolumeActors",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.removeActors(e),t&&this.render()}},{key:"setOrientation",value:function(e){var t,r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(x[e]){var i=x[e];t=i.viewPlaneNormal,r=i.viewUp}else{if("acquisition"!==e)throw new Error("Invalid orientation: ".concat(e,". Use Enums.OrientationAxis instead."));var a=this._getAcquisitionPlaneOrientation();t=a.viewPlaneNormal,r=a.viewUp}this.setCamera({viewPlaneNormal:t,viewUp:r}),this.resetCamera(),n&&this.render()}},{key:"_getOrientationVectors",value:function(e){if("object"===P(e)){if(e.viewPlaneNormal&&e.viewUp)return e;throw new Error("Invalid orientation object. It must contain viewPlaneNormal and viewUp")}if("string"==typeof e&&x[e])return x[e];throw new Error("Invalid orientation: ".concat(e,". Valid orientations are: ").concat(Object.keys(x).join(", ")))}},{key:"_getAcquisitionPlaneOrientation",value:function(){var e=this.getDefaultActor();if(e){var t=e.uid,r=Ur.getVolume(t);if(!r)throw new Error("imageVolume with id: ".concat(t," does not exist in cache"));var n=r.direction;return{viewPlaneNormal:n.slice(6,9).map((function(e){return-e})),viewUp:n.slice(3,6).map((function(e){return-e}))}}}},{key:"_setViewPlaneToAcquisitionPlane",value:function(e){var t,r;if(e){var n=e.direction;t=n.slice(6,9).map((function(e){return-e})),r=n.slice(3,6).map((function(e){return-e}))}else{var i=this._getAcquisitionPlaneOrientation();t=i.viewPlaneNormal,r=i.viewUp}this.setCamera({viewPlaneNormal:t,viewUp:r}),this.resetCamera()}},{key:"_isValidVolumeInputArray",value:(t=O(T().mark((function e(t,r){var n,i,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.length,i=1;case 2:if(!(i<n)){e.next=14;break}return a=t[i],e.next=6,ge(a.volumeId);case 6:if(o=e.sent){e.next=9;break}throw new Error("imageVolume with id: ".concat(o.volumeId," does not exist"));case 9:if(r===o.metadata.FrameOfReferenceUID){e.next=11;break}throw new Error("Volumes being added to viewport ".concat(this.id," do not share the same FrameOfReferenceUID. This is not yet supported"));case 11:i++,e.next=2;break;case 14:return e.abrupt("return",!0);case 15:case"end":return e.stop()}}),e,this)}))),function(e,r){return t.apply(this,arguments)})},{key:"getIntensityFromWorld",value:function(e){var t=this.getDefaultActor(),r=t.actor,n=t.uid;if(r.isA("vtkVolume")){var i=r.getMapper().getInputData(),a=Ur.getVolume(n),o=a.dimensions,s=jn(i,e),c=s[2]*o[0]*o[1]+s[1]*o[0]+s[0];return a.scalarData[c]}}},{key:"getBounds",value:function(){return this.getRenderer().computeVisiblePropBounds()}},{key:"flip",value:function(e){Tr(Or(s.prototype),"flip",this).call(this,e)}},{key:"resetCamera",value:function(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Tr(Or(s.prototype),"resetCamera",this).call(this,t,r,n);var i=this.getVtkActiveCamera();i.getParallelProjection()?i.setClippingRange(-E.MAXIMUM_RAY_DISTANCE,E.MAXIMUM_RAY_DISTANCE):i.setClippingRange(E.MINIMUM_SLAB_THICKNESS,E.MAXIMUM_RAY_DISTANCE);var a=i.getViewPlaneNormal(),o=i.getFocalPoint(),c=this.getActors();return c.forEach((function(t){if(t.actor&&t.actor.isA("vtkVolume")){var r=t.actor.getMapper();if(0===r.getClippingPlanes().length){var n=Lr().newInstance(),i=Lr().newInstance(),s=[n,i],c=E.MINIMUM_SLAB_THICKNESS;t.slabThickness&&(c=t.slabThickness),e.setOrientationOfClippingPlanes(s,c,a,o),r.addClippingPlane(n),r.addClippingPlane(i)}}})),!0}},{key:"setBlendMode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.getActors();t&&t.length>0&&(n=n.filter((function(e){return t.includes(e.uid)}))),n.forEach((function(t){t.actor.getMapper().setBlendMode(e)})),r&&this.render()}},{key:"setSlabThickness",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=this.getActors();t&&t.length>0&&(r=r.filter((function(e){return t.includes(e.uid)}))),r.forEach((function(t){t.actor.isA("vtkVolume")&&(t.slabThickness=e)}));var n=this.getCamera();this.updateClippingPlanesForActors(n),this.triggerCameraModifiedEventIfNecessary(n,n)}},{key:"getSlabThickness",value:function(){var e=this.getActors(),t=E.MINIMUM_SLAB_THICKNESS;return e.forEach((function(e){e.slabThickness>t&&(t=e.slabThickness)})),t}},{key:"hasVolumeId",value:function(e){return this.getActors().some((function(t){return t.uid===e}))}},{key:"getImageData",value:function(e){var t,r,n=this.getDefaultActor();if(n){var i=n.uid;e=null!==(t=e)&&void 0!==t?t:i;var a=this.getActor(e).actor;if(a.isA("vtkVolume")){var o=Ur.getVolume(e),s=a.getMapper().getInputData();return{dimensions:s.getDimensions(),spacing:s.getSpacing(),origin:s.getOrigin(),direction:s.getDirection(),scalarData:s.getPointData().getScalars().getData(),imageData:a.getMapper().getInputData(),metadata:{Modality:null==o||null===(r=o.metadata)||void 0===r?void 0:r.Modality},scaling:o.scaling,hasPixelSpacing:!0}}}}},{key:"_setVolumeActors",value:function(e){this.setActors(e)}}],[{key:"useCustomRenderingPipeline",get:function(){return!1}}]),s}(Qr),Un=Ln,Nn=q(896),Fn=q.n(Nn),Gn=q(861),Wn=q.n(Gn),Bn=q(795),qn=q.n(Bn);function zn(e){for(var t=e.getSize(),r=0;r<t;r++){var n=[];e.getNodeValue(r,n),n[1]=1-n[1],n[2]=1-n[2],n[3]=1-n[3],e.setNodeValue(r,n)}}function Hn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(Math.abs(e[n]-t[n])>r)return!1;return!0}function Kn(){return window.performance?performance.now():Date.now()}function $n(e,t,r){return r?function(e){var t=Math.max.apply(Math,wt(e.lut)).toString(2).length-8,r=e.lut[0]>>t,n=e.lut[e.lut.length-1]>>t,i=e.firstValueMapped+e.lut.length-1;return function(a){return a<e.firstValueMapped?r:a>=i?n:e.lut[a-e.firstValueMapped]>>t}}(r):function(e,t){return function(r){return 255*((r-t)/e+.5)}}(e,t)}var Xn=function(){function e(){B(this,e),H(this,"m",void 0),this.reset()}return W(e,[{key:"getMatrix",value:function(){return this.m}},{key:"reset",value:function(){this.m=[1,0,0,1,0,0]}},{key:"clone",value:function(){var t=new e;return t.m[0]=this.m[0],t.m[1]=this.m[1],t.m[2]=this.m[2],t.m[3]=this.m[3],t.m[4]=this.m[4],t.m[5]=this.m[5],t}},{key:"multiply",value:function(e){var t=this.m[0]*e[0]+this.m[2]*e[1],r=this.m[1]*e[0]+this.m[3]*e[1],n=this.m[0]*e[2]+this.m[2]*e[3],i=this.m[1]*e[2]+this.m[3]*e[3],a=this.m[0]*e[4]+this.m[2]*e[5]+this.m[4],o=this.m[1]*e[4]+this.m[3]*e[5]+this.m[5];this.m[0]=t,this.m[1]=r,this.m[2]=n,this.m[3]=i,this.m[4]=a,this.m[5]=o}},{key:"invert",value:function(){var e=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),t=this.m[3]*e,r=-this.m[1]*e,n=-this.m[2]*e,i=this.m[0]*e,a=e*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),o=e*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);this.m[0]=t,this.m[1]=r,this.m[2]=n,this.m[3]=i,this.m[4]=a,this.m[5]=o}},{key:"rotate",value:function(e){var t=Math.cos(e),r=Math.sin(e),n=this.m[0]*t+this.m[2]*r,i=this.m[1]*t+this.m[3]*r,a=this.m[0]*-r+this.m[2]*t,o=this.m[1]*-r+this.m[3]*t;this.m[0]=n,this.m[1]=i,this.m[2]=a,this.m[3]=o}},{key:"translate",value:function(e,t){this.m[4]+=this.m[0]*e+this.m[2]*t,this.m[5]+=this.m[1]*e+this.m[3]*t}},{key:"scale",value:function(e,t){this.m[0]*=e,this.m[1]*=e,this.m[2]*=t,this.m[3]*=t}},{key:"transformPoint",value:function(e){var t=e[0],r=e[1];return[t*this.m[0]+r*this.m[2]+this.m[4],t*this.m[1]+r*this.m[3]+this.m[5]]}}]),e}();function Yn(e,t){var r=new Xn;if(!e.viewport.displayedArea)return r;r.translate(e.canvas.width/2,e.canvas.height/2);var n=e.viewport.rotation;0!==n&&r.rotate(n*Math.PI/180);var i=e.viewport.scale,a=e.viewport.scale,o=e.viewport.displayedArea.brhc.x-(e.viewport.displayedArea.tlhc.x-1),s=e.viewport.displayedArea.brhc.y-(e.viewport.displayedArea.tlhc.y-1);if("NONE"===e.viewport.displayedArea.presentationSizeMode)e.image.rowPixelSpacing<e.image.columnPixelSpacing?i*=e.image.columnPixelSpacing/e.image.rowPixelSpacing:e.image.columnPixelSpacing<e.image.rowPixelSpacing&&(a*=e.image.rowPixelSpacing/e.image.columnPixelSpacing);else if(i=e.viewport.displayedArea.columnPixelSpacing,a=e.viewport.displayedArea.rowPixelSpacing,"SCALE TO FIT"===e.viewport.displayedArea.presentationSizeMode){var c=e.canvas.height/(s*a),l=e.canvas.width/(o*i);i=a=Math.min(l,c),e.viewport.displayedArea.rowPixelSpacing<e.viewport.displayedArea.columnPixelSpacing?i*=e.viewport.displayedArea.columnPixelSpacing/e.viewport.displayedArea.rowPixelSpacing:e.viewport.displayedArea.columnPixelSpacing<e.viewport.displayedArea.rowPixelSpacing&&(a*=e.viewport.displayedArea.rowPixelSpacing/e.viewport.displayedArea.columnPixelSpacing)}return r.scale(i,a),0!==n&&r.rotate(-n*Math.PI/180),r.translate(e.viewport.translation.x,e.viewport.translation.y),0!==n&&r.rotate(n*Math.PI/180),void 0!==t&&r.scale(t,t),e.viewport.hflip&&r.scale(-1,1),e.viewport.vflip&&r.scale(1,-1),r.translate(-o/2,-s/2),r}function Zn(e,t,r){if(void 0===e)throw new Error("setToPixelCoordinateSystem: parameter enabledElement must not be undefined");if(void 0===t)throw new Error("setToPixelCoordinateSystem: parameter context must not be undefined");var n=Yn(e,r).getMatrix();t.setTransform(n[0],n[1],n[2],n[3],n[4],n[5])}function Jn(e,t){var r=e.renderingTools.lastRenderedImageId,n=e.renderingTools.lastRenderedViewport;return t.imageId!==r||!n||n.windowCenter!==e.viewport.voi.windowCenter||n.windowWidth!==e.viewport.voi.windowWidth||n.invert!==e.viewport.invert||n.rotation!==e.viewport.rotation||n.hflip!==e.viewport.hflip||n.vflip!==e.viewport.vflip||n.modalityLUT!==e.viewport.modalityLUT||n.voiLUT!==e.viewport.voiLUT||n.colormap!==e.viewport.colormap}function Qn(e,t){var r=e.renderingTools.renderCanvas;r.width=t.width,r.height=t.height;var n=r.getContext("2d");n.fillStyle="white",n.fillRect(0,0,r.width,r.height);var i=n.getImageData(0,0,t.width,t.height);e.renderingTools.renderCanvasContext=n,e.renderingTools.renderCanvasData=i}function ei(e){var t=e.image.imageId,r=e.viewport,n=e.image.color;return e.renderingTools.lastRenderedImageId=t,e.renderingTools.lastRenderedIsColor=n,e.renderingTools.lastRenderedViewport={windowCenter:r.voi.windowCenter,windowWidth:r.voi.windowWidth,invert:r.invert,rotation:r.rotation,hflip:r.hflip,vflip:r.vflip,modalityLUT:r.modalityLUT,voiLUT:r.voiLUT,colormap:r.colormap},e.renderingTools}function ti(e,t,r){var n=!0===e.renderingTools.lastRenderedIsColor;e.renderingTools.renderCanvas&&n||(e.renderingTools.renderCanvas=document.createElement("canvas"));var i=e.renderingTools.renderCanvas;if(255===e.viewport.voi.windowWidth&&128===e.viewport.voi.windowCenter&&!1===e.viewport.invert&&t.getCanvas&&t.getCanvas())return t.getCanvas();if(!1===Jn(e,t)&&!0!==r)return i;i.width===t.width&&i.height===t.height||Qn(e,t);var a=Kn(),o=function(e,t){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&e.cachedLut.invert===t.invert||(function(e,t,r,n,i){var a=e.maxPixelValue,o=e.minPixelValue,s=Math.min(o,0);if(void 0===e.cachedLut){var c=a-s+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(c)}var l=e.cachedLut.lutArray,u=$n(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r,void 0);if(!0===n)for(var d=o;d<=a;d++)l[d+-s]=255-u(d);else for(var f=o;f<=a;f++)l[f+-s]=u(f)}(e,t.voi.windowWidth,t.voi.windowCenter,t.invert),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert),e.cachedLut.lutArray}(t,e.viewport);t.stats=t.stats||{},t.stats.lastLutGenerateTime=Kn()-a;var s=e.renderingTools.renderCanvasData,c=e.renderingTools.renderCanvasContext;return t.rgba?function(e,t,r){var n=Kn(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Kn()-n;var a=e.minPixelValue,o=0,s=0,c=i.length;if(n=Kn(),a<0)for(;s<c;)r[o++]=t[i[s++]+-a],r[o++]=t[i[s++]+-a],r[o++]=t[i[s++]+-a],r[o++]=i[s++];else for(;s<c;)r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o++]=i[s++];e.stats.lastStoredPixelDataToCanvasImageDataTime=Kn()-n}(t,o,s.data):function(e,t,r){var n=Kn(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Kn()-n;var a=e.minPixelValue,o=0,s=0,c=i.length;if(n=Kn(),a<0)for(;s<c;)r[o++]=t[i[s++]+-a],r[o++]=t[i[s++]+-a],r[o]=t[i[s]+-a],s+=2,o+=2;else for(;s<c;)r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o]=t[i[s]],s+=2,o+=2;e.stats.lastStoredPixelDataToCanvasImageDataTime=Kn()-n}(t,o,s.data),a=Kn(),c.putImageData(s,0,0),t.stats.lastPutImageDataTime=Kn()-a,i}function ri(e,t){if(void 0===e)throw new Error("renderColorImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("renderColorImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,Zn(e,n);var i=ti(e,r,t),a=e.viewport.displayedArea.tlhc.x-1,o=e.viewport.displayedArea.tlhc.y-1,s=e.viewport.displayedArea.brhc.x-a,c=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,c,0,0,s,c),e.renderingTools=ei(e)}function ni(e,t,r){var n=Kn(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Kn()-n;var a=i.length,o=e.minPixelValue,s=3,c=0;if(n=Kn(),i instanceof Int16Array)if(o<0)for(;c<a;)r[s]=t[i[c++]+-o],s+=4;else for(;c<a;)r[s]=t[i[c++]],s+=4;else if(i instanceof Uint16Array)for(;c<a;)r[s]=t[i[c++]],s+=4;else if(o<0)for(;c<a;)r[s]=t[i[c++]+-o],s+=4;else for(;c<a;)r[s]=t[i[c++]],s+=4;e.stats.lastStoredPixelDataToCanvasImageDataTime=Kn()-n}function ii(e,t,r){var n=Kn(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Kn()-n;var a=i.length,o=3,s=0;for(n=Kn();s<a;)r[o]=t(i[s++]),o+=4;e.stats.lastStoredPixelDataToCanvasImageDataTime=Kn()-n}function ai(e,t,r){var n=Kn(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Kn()-n;var a,o=i.length,s=e.minPixelValue,c=0,l=0;if(n=Kn(),i instanceof Int16Array)if(s<0)for(;l<o;)a=t[i[l++]+-s],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;else for(;l<o;)a=t[i[l++]],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;else if(i instanceof Uint16Array)for(;l<o;)a=t[i[l++]],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;else if(s<0)for(;l<o;)a=t[i[l++]+-s],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;else for(;l<o;)a=t[i[l++]],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;e.stats.lastStoredPixelDataToCanvasImageDataTime=Kn()-n}function oi(e,t){return!e&&!t||!(!e||!t)&&e.id===t.id}function si(e,t,r){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&oi(e.cachedLut.modalityLUT,t.modalityLUT)&&oi(e.cachedLut.voiLUT,t.voiLUT)&&e.cachedLut.invert===t.invert&&!0!==r||(function(e,t){if(!function(e){return e.voiLUT&&e.voiLUT.lut&&e.voiLUT.lut.length>0||void 0!==e.voi.windowWidth&&void 0!==e.voi.windowCenter}(e)){var r=t.maxPixelValue*t.slope+t.intercept,n=t.minPixelValue*t.slope+t.intercept,i=r-n,a=(r+n)/2;void 0===e.voi?e.voi={windowWidth:i,windowCenter:a}:(e.voi.windowWidth=i,e.voi.windowCenter=a)}}(t,e),function(e,t,r,n,i,a){var o=e.maxPixelValue,s=e.minPixelValue,c=Math.min(s,0);if(void 0===e.cachedLut){var l=o-c+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(l)}var u=e.cachedLut.lutArray,d=function(e,t,r){return r?function(e){var t=e.lut[0],r=e.lut[e.lut.length-1],n=e.firstValueMapped+e.lut.length;return function(i){return i<e.firstValueMapped?t:i>=n?r:e.lut[i]}}(r):function(e,t){return function(r){return r*e+t}}(e,t)}(e.slope,e.intercept,i),f=$n(t,r,a);if(e.isPreScaled)if(!0===n)for(var v=s;v<=o;v++)u[v+-c]=255-f(v);else for(var h=s;h<=o;h++)u[h+-c]=f(h);else if(!0===n)for(var g=s;g<=o;g++)u[g+-c]=255-f(d(g));else for(var m=s;m<=o;m++)u[m+-c]=f(d(m))}(e,t.voi.windowWidth,t.voi.windowCenter,t.invert,t.modalityLUT,t.voiLUT),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert,e.cachedLut.voiLUT=t.voiLUT,e.cachedLut.modalityLUT=t.modalityLUT),e.cachedLut.lutArray}function ci(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("drawImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,Zn(e,n);var i=function(e,t,r){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!0===e.renderingTools.lastRenderedIsColor;e.renderingTools.renderCanvas&&!i||(e.renderingTools.renderCanvas=document.createElement("canvas"),Qn(e,t));var a=e.renderingTools.renderCanvas;if(!1===Jn(e,t)&&!0!==r)return a;a.width===t.width&&a.height===t.height||Qn(e,t),t.stats=t.stats||{};var o=e.renderingTools.renderCanvasData,s=e.renderingTools.renderCanvasContext,c=Kn();t.stats.lastLutGenerateTime=Kn()-c;var l=e.viewport;if("PT"===l.modality&&t.isPreScaled){var u=l.voi,d=u.windowWidth,f=u.windowCenter,v=f-d/2,h=255/(f+d/2-v);ii(t,l.invert?function(e){return 255-(e-v)*h}:function(e){return(e-v)*h},o.data)}else{var g=si(t,l,r);n?ni(t,g,o.data):ai(t,g,o.data)}return c=Kn(),s.putImageData(o,0,0),t.stats.lastPutImageDataTime=Kn()-c,a}(e,r,t),a=e.viewport.displayedArea.tlhc.x-1,o=e.viewport.displayedArea.tlhc.y-1,s=e.viewport.displayedArea.brhc.x-a,c=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,c,0,0,s,c),e.renderingTools=ei(e)}function li(e,t,r){if(e>1)throw new Error("HSVToRGB expects hue < 1");var n=[];if(0===t)return n[0]=r,n[1]=r,n[2]=r,n;var i=Math.floor(6*e),a=6*e-i,o=r*(1-t),s=r*(1-t*a),c=r*(1-t*(1-a));switch(i){case 0:case 6:n[0]=r,n[1]=c,n[2]=o;break;case 1:n[0]=s,n[1]=r,n[2]=o;break;case 2:n[0]=o,n[1]=r,n[2]=c;break;case 3:n[0]=o,n[1]=s,n[2]=r;break;case 4:n[0]=c,n[1]=o,n[2]=r;break;case 5:n[0]=r,n[1]=o,n[2]=s}return n}var ui=function(){function e(){B(this,e),H(this,"NumberOfColors",void 0),H(this,"Ramp",void 0),H(this,"TableRange",void 0),H(this,"HueRange",void 0),H(this,"SaturationRange",void 0),H(this,"ValueRange",void 0),H(this,"AlphaRange",void 0),H(this,"NaNColor",void 0),H(this,"BelowRangeColor",void 0),H(this,"UseBelowRangeColor",void 0),H(this,"AboveRangeColor",void 0),H(this,"UseAboveRangeColor",void 0),H(this,"InputRange",void 0),H(this,"Table",void 0),this.NumberOfColors=256,this.Ramp="linear",this.TableRange=[0,255],this.HueRange=[0,.66667],this.SaturationRange=[1,1],this.ValueRange=[1,1],this.AlphaRange=[1,1],this.NaNColor=[128,0,0,255],this.BelowRangeColor=[0,0,0,255],this.UseBelowRangeColor=!0,this.AboveRangeColor=[255,255,255,255],this.UseAboveRangeColor=!0,this.InputRange=[0,255],this.Table=[]}return W(e,[{key:"setNumberOfTableValues",value:function(e){this.NumberOfColors=e}},{key:"setRamp",value:function(e){this.Ramp=e}},{key:"setTableRange",value:function(e,t){this.TableRange[0]=e,this.TableRange[1]=t}},{key:"setHueRange",value:function(e,t){this.HueRange[0]=e,this.HueRange[1]=t}},{key:"setSaturationRange",value:function(e,t){this.SaturationRange[0]=e,this.SaturationRange[1]=t}},{key:"setValueRange",value:function(e,t){this.ValueRange[0]=e,this.ValueRange[1]=t}},{key:"setRange",value:function(e,t){this.InputRange[0]=e,this.InputRange[1]=t}},{key:"setAlphaRange",value:function(e,t){this.AlphaRange[0]=e,this.AlphaRange[1]=t}},{key:"getColor",value:function(e){return this.mapValue(e)}},{key:"build",value:function(e){if(!(this.Table.length>1)||e){this.Table=[];var t,r,n,i,a=this.NumberOfColors-1;a?(t=(this.HueRange[1]-this.HueRange[0])/a,r=(this.SaturationRange[1]-this.SaturationRange[0])/a,n=(this.ValueRange[1]-this.ValueRange[0])/a,i=(this.AlphaRange[1]-this.AlphaRange[0])/a):t=r=n=i=0;for(var o=0;o<=a;o++){var s=this.HueRange[0]+o*t,c=this.SaturationRange[0]+o*r,l=this.ValueRange[0]+o*n,u=this.AlphaRange[0]+o*i,d=li(s,c,l),f=[0,0,0,0];switch(this.Ramp){case"scurve":f[0]=Math.floor(127.5*(1+Math.cos((1-d[0])*Math.PI))),f[1]=Math.floor(127.5*(1+Math.cos((1-d[1])*Math.PI))),f[2]=Math.floor(127.5*(1+Math.cos((1-d[2])*Math.PI))),f[3]=Math.floor(255*u);break;case"linear":f[0]=Math.floor(255*d[0]+.5),f[1]=Math.floor(255*d[1]+.5),f[2]=Math.floor(255*d[2]+.5),f[3]=Math.floor(255*u+.5);break;case"sqrt":f[0]=Math.floor(255*Math.sqrt(d[0])+.5),f[1]=Math.floor(255*Math.sqrt(d[1])+.5),f[2]=Math.floor(255*Math.sqrt(d[2])+.5),f[3]=Math.floor(255*Math.sqrt(u)+.5);break;default:throw new Error("Invalid Ramp value (".concat(this.Ramp,")"))}this.Table.push(f)}this.buildSpecialColors()}}},{key:"buildSpecialColors",value:function(){var e=this.NumberOfColors,t=e+0,r=e+1,n=e+2;this.UseBelowRangeColor||0===e?this.Table[t]=this.BelowRangeColor:this.Table[t]=this.Table[0],this.UseAboveRangeColor||0===e?this.Table[r]=this.AboveRangeColor:this.Table[r]=this.Table[e-1],this.Table[n]=this.NaNColor}},{key:"mapValue",value:function(e){var t=this.getIndex(e);if(t<0)return this.NaNColor;if(0===t){if(this.UseBelowRangeColor&&e<this.TableRange[0])return this.BelowRangeColor}else if(t===this.NumberOfColors-1&&this.UseAboveRangeColor&&e>this.TableRange[1])return this.AboveRangeColor;return this.Table[t]}},{key:"getIndex",value:function(e){var t={Range:[],MaxIndex:this.NumberOfColors-1,Shift:-this.TableRange[0],Scale:1};if(this.TableRange[1]<=this.TableRange[0]?t.Scale=Number.MAX_VALUE:t.Scale=t.MaxIndex/(this.TableRange[1]-this.TableRange[0]),t.Range[0]=this.TableRange[0],t.Range[1]=this.TableRange[1],isNaN(e))return-1;var r=function(e,t){var r;return r=e<t.Range[0]?t.MaxIndex+0+1.5:e>t.Range[1]?t.MaxIndex+1+1.5:(e+t.Shift)*t.Scale,Math.floor(r)}(e,t);return r===this.NumberOfColors+0?r=0:r===this.NumberOfColors+1&&(r=this.NumberOfColors-1),r}},{key:"setTableValue",value:function(e,t){if(5===arguments.length&&(t=Array.prototype.slice.call(arguments,1)),e<0)throw new Error("Can't set the table value for negative index (".concat(e,")"));e>=this.NumberOfColors&&new Error("Index ".concat(e," is greater than the number of colors ").concat(this.NumberOfColors)),this.Table[e]=t,0!==e&&e!==this.NumberOfColors-1||this.buildSpecialColors()}}]),e}(),di=ui,fi=[0,0,0,0];function vi(e,t){for(var r=0,n=e.length-1;r<=n;){var i=r+Math.floor((n-r)/2),a=e[i];if(a===t)return i;t<a?n=i-1:r=i+1}return r}function hi(e,t,r){var n,i=[],a=[],o=[],s=[];for(r=null===r?1:r,n=0;n<t.length;n++){var c=t[n];i.push((e-1)*c[0]),a.push(c[1]),o.push(c[1])}var l=function(e,t,r){for(var n=(1-e)/((r=null===r?100:r)-1),i=[];r-- >0;)i.push(e),e+=n;return i[i.length-1]=1,i}(0,0,e);for(n=0;n<e;n++)l[n]=(e-1)*Math.pow(l[n],r);var u=function(e,t){var r,n=[],i=t.length;for(e.sort((function(e,t){return e-t})),r=0;r<i;r++)n[r]=vi(e,t[r]);return n}(i,l);for(n=1;n<e-1;n++){var d=u[n],f=(l[n]-i[d-1])/(i[d]-i[d-1]),v=a[d]-o[d-1];s[n]=f*v+o[d-1]}return s[0]=o[0],s[e-1]=a[t.length-1],s}function gi(e,t){var r=b[e];r||(r=b[e]=t||{name:"",colors:[]}),!r.colors&&r.segmentedData&&(r.colors=function(e,t,r){var n,i=[];r=null===r?1:r;var a=hi(t=null===t?256:t,e.red,r),o=hi(t,e.green,r),s=hi(t,e.blue,r);for(n=0;n<t;n++){var c=[Math.round(255*a[n]),Math.round(255*o[n]),Math.round(255*s[n]),255];i.push(c)}return i}(r.segmentedData,r.numColors,r.gamma));var n={getId:function(){return e},getColorSchemeName:function(){return r.name},setColorSchemeName:function(e){r.name=e},getNumberOfColors:function(){return r.colors.length},setNumberOfColors:function(e){for(;r.colors.length<e;)r.colors.push(fi);r.colors.length=e},getColor:function(e){return this.isValidIndex(e)?r.colors[e]:fi},getColorRepeating:function(e){var t=r.colors.length;return e=t?e%t:0,this.getColor(e)},setColor:function(e,t){this.isValidIndex(e)&&(r.colors[e]=t)},addColor:function(e){r.colors.push(e)},insertColor:function(e,t){this.isValidIndex(e)&&r.colors.splice(e,1,t)},removeColor:function(e){this.isValidIndex(e)&&r.colors.splice(e,1)},clearColors:function(){r.colors=[]},buildLookupTable:function(e){if(e){var t=r.colors.length;e.setNumberOfTableValues(t);for(var n=0;n<t;n++)e.setTableValue(n,r.colors[n])}},createLookupTable:function(){var e=new di;return this.buildLookupTable(e),e},isValidIndex:function(e){return e>=0&&e<r.colors.length}};return n}function mi(e,t,r){return Math.max(t,Math.min(r,e))}function pi(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("drawImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,Zn(e,n);var i=function(e,t,r){e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var n=e.renderingTools.renderCanvas,i=e.viewport.colormap||e.options.colormap;if(e.options&&e.options.colormap&&console.warn("enabledElement.options.colormap is deprecated. Use enabledElement.viewport.colormap instead"),i&&"string"==typeof i&&(i=gi(i)),!i)throw new Error("renderPseudoColorImage: colormap not found.");var a=i.getId();if(!1===Jn(e,t)&&!0!==r&&e.renderingTools.colormapId===a)return n;n.width===t.width&&n.height===t.height||Qn(e,t);var o=Kn();e.renderingTools.colorLUT&&!r&&e.renderingTools.colormapId===a||(i.setNumberOfColors(256),e.renderingTools.colorLUT=i.createLookupTable(),e.renderingTools.colormapId=a);var s=e.renderingTools.renderCanvasData,c=e.renderingTools.renderCanvasContext,l=e.viewport,u=e.renderingTools.colorLUT;if("PT"===l.modality){var d=l.voi,f=d.windowWidth,v=d.windowCenter,h=v-f/2,g=255/(v+f/2-h);(function(e,t,r,n){var i=Kn(),a=e.getPixelData();e.stats.lastGetPixelDataTime=Kn()-i;var o,s,c=a.length,l=e.minPixelValue,u=0,d=0;if(i=Kn(),s=r instanceof di?r.Table:r,l<0)for(;d<c;)o=s[t(a[d++]+-l)],n[u++]=o[0],n[u++]=o[1],n[u++]=o[2],n[u++]=o[3];else for(;d<c;)o=s[t(a[d++])],n[u++]=o[0],n[u++]=o[1],n[u++]=o[2],n[u++]=o[3];e.stats.lastStoredPixelDataToCanvasImageDataTime=Kn()-i})(t,l.invert?function(e){return mi(Math.floor(255-(e-h)*g),0,255)}:function(e){return mi(Math.floor((e-h)*g),0,255)},u,s.data)}else{var m=si(t,e.viewport,r);t.stats=t.stats||{},t.stats.lastLutGenerateTime=Kn()-o,function(e,t,r,n){var i=Kn(),a=e.getPixelData();e.stats.lastGetPixelDataTime=Kn()-i;var o,s,c=a.length,l=e.minPixelValue,u=0,d=0;if(i=Kn(),s=r instanceof di?r.Table:r,l<0)for(;d<c;)o=s[t[a[d++]+-l]],n[u++]=o[0],n[u++]=o[1],n[u++]=o[2],n[u++]=o[3];else for(;d<c;)o=s[t[a[d++]]],n[u++]=o[0],n[u++]=o[1],n[u++]=o[2],n[u++]=o[3];e.stats.lastStoredPixelDataToCanvasImageDataTime=Kn()-i}(t,m,u,s.data)}return o=Kn(),c.putImageData(s,0,0),t.stats.lastPutImageDataTime=Kn()-o,n}(e,r,t),a=e.viewport.displayedArea.tlhc.x-1,o=e.viewport.displayedArea.tlhc.y-1,s=e.viewport.displayedArea.brhc.x-a,c=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,c,0,0,s,c),e.renderingTools=ei(e)}function wi(e,t){var r=e.image;if(e.canvas&&e.image){var n=Kn();if(r.stats={lastGetPixelDataTime:-1,lastStoredPixelDataToCanvasImageDataTime:-1,lastPutImageDataTime:-1,lastRenderTime:-1,lastLutGenerateTime:-1},r){var i=r.render;i||(i=e.viewport.colormap?pi:r.color?ri:ci),i(e,t)}var a=Kn()-n;r.stats.lastRenderTime=a,e.invalid=!1,e.needsRedraw=!1}}function yi(e){return Yn(e)}function Ii(e,t){var r=yi(e);return r.invert(),r.transformPoint(t)}function Ci(e,t){return yi(e).transformPoint(t)}var bi={};function ki(e,t){if(null==e)throw new Error(t)}function Ei(e){return!(null==e||0===e||180===e)}function Ri(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return ki(e,"getImageSize: parameter image must not be undefined"),ki(e.width,"getImageSize: parameter image must have width"),ki(e.height,"getImageSize: parameter image must have height"),Ei(t)?{height:e.width,width:e.height}:{width:e.width,height:e.height}}function Pi(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;ki(e,"getImageScale: parameter canvas must not be undefined"),ki(t,"getImageScale: parameter image must not be undefined");var n=Ri(t,r),i=t.rowPixelSpacing||1,a=t.columnPixelSpacing||1,o=1,s=1;i<a?s=a/i:o=i/a;var c=e.height/n.height/o,l=e.width/n.width/s;return{verticalScale:c,horizontalScale:l,scaleFactor:Math.min(l,c)}}function Ai(e,t,r,n){if(void 0===e)throw new Error("getDefaultViewport: parameter canvas must not be undefined");if(void 0===t)return i={scale:1,translation:{x:0,y:0},voi:{windowWidth:void 0,windowCenter:void 0},invert:!1,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:void 0,voiLUT:void 0,colormap:void 0,labelmap:!1,displayedArea:{tlhc:{x:1,y:1},brhc:{x:1,y:1},rowPixelSpacing:1,columnPixelSpacing:1,presentationSizeMode:"NONE"}},Object.assign({},i,bi);var i,a,o=Pi(e,t,0).scaleFactor;return"PT"===r&&t.isPreScaled?a={windowWidth:5,windowCenter:2.5}:void 0!==t.windowWidth&&void 0!==t.windowCenter&&(a={windowWidth:Array.isArray(t.windowWidth)?t.windowWidth[0]:t.windowWidth,windowCenter:Array.isArray(t.windowCenter)?t.windowCenter[0]:t.windowCenter}),{scale:o,translation:{x:0,y:0},voi:a,invert:t.invert,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:t.modalityLUT,modality:r,voiLUT:t.voiLUT,colormap:void 0!==n?n:t.colormap,displayedArea:{tlhc:{x:1,y:1},brhc:{x:t.columns,y:t.rows},rowPixelSpacing:void 0===t.rowPixelSpacing?1:t.rowPixelSpacing,columnPixelSpacing:void 0===t.columnPixelSpacing?1:t.columnPixelSpacing,presentationSizeMode:"NONE"}}}function xi(e){var t=e.image;e.viewport.scale=Pi(e.canvas,t,e.viewport.rotation).scaleFactor,e.viewport.translation.x=0,e.viewport.translation.y=0}function _i(e){var t=e.canvas,r=t.clientWidth,n=t.clientHeight;t.width===r&&t.height===n||(t.width=r,t.height=n)}function Oi(e,t,r){var n=e.viewport.scale,i=Ri(e.image,e.viewport.rotation),a=Math.round(i.width*n),o=Math.round(i.height*n),s=e.viewport.translation.x,c=e.viewport.translation.y;return a===t&&o<=r||a<=t&&o===r&&0===s&&0===c}function Si(e,t,r){var n=e.viewport.scale,i=e.canvas.width/t,a=e.canvas.height/r,o=Math.sqrt(i*a);e.viewport.scale=o*n}function Ti(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Di(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ti(Object(r),!0).forEach((function(t){H(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ti(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Mi,Vi=function(e){Mr(c,e);var t,r,n,i,a,o,s=(a=c,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Or(a);if(o){var r=Or(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return Vr(this,e)});function c(e){var t;if(B(this,c),H(_r(t=s.call(this,e)),"imageIds",void 0),H(_r(t),"currentImageIdIndex",void 0),H(_r(t),"targetImageIdIndex",void 0),H(_r(t),"debouncedTimeout",void 0),H(_r(t),"voiRange",void 0),H(_r(t),"initialVOIRange",void 0),H(_r(t),"invert",!1),H(_r(t),"interpolationType",void 0),H(_r(t),"_imageData",void 0),H(_r(t),"cameraPosOnRender",void 0),H(_r(t),"stackInvalidated",!1),H(_r(t),"panCache",void 0),H(_r(t),"voiApplied",!1),H(_r(t),"rotationCache",0),H(_r(t),"_publishCalibratedEvent",!1),H(_r(t),"_calibrationEvent",void 0),H(_r(t),"_cpuFallbackEnabledElement",void 0),H(_r(t),"useCPURendering",void 0),H(_r(t),"cpuImagePixelData",void 0),H(_r(t),"cpuRenderingInvalidated",void 0),H(_r(t),"csImage",void 0),H(_r(t),"modality",void 0),H(_r(t),"scaling",void 0),H(_r(t),"resize",(function(){t.useCPURendering&&t._resizeCPU()})),H(_r(t),"_resizeCPU",(function(){t._cpuFallbackEnabledElement.viewport&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.canvas.width,n=e.canvas.height;_i(e),void 0!==e.image&&(t||Oi(e,r,n)?xi(e):Si(e,r,n))}(t._cpuFallbackEnabledElement)})),H(_r(t),"getFrameOfReferenceUID",(function(){var e=t.getCurrentImageId();if(e){var r=Ye("imagePlaneModule",e);if(r)return r.frameOfReferenceUID}})),H(_r(t),"createActorMapper",(function(e){var t=Fn().newInstance();t.setInputData(e);var r=Wn().newInstance();return r.setMapper(t),e.getPointData().getNumberOfComponents()>1&&r.getProperty().setIndependentComponents(!1),r})),H(_r(t),"getProperties",(function(){return{voiRange:t.voiRange,rotation:t.rotationCache,interpolationType:t.interpolationType,invert:t.invert}})),H(_r(t),"canvasToWorld",(function(e){return t.useCPURendering?t.canvasToWorldCPU(e):t.canvasToWorldGPU(e)})),H(_r(t),"worldToCanvas",(function(e){return t.useCPURendering?t.worldToCanvasCPU(e):t.worldToCanvasGPU(e)})),H(_r(t),"canvasToWorldCPU",(function(e){if(t._cpuFallbackEnabledElement.image){var r=Nr(Ii(t._cpuFallbackEnabledElement,e),2),n=r[0],i=r[1],a=t.getImageData(),o=a.origin,s=a.spacing,c=a.direction,l=rr.vec3.fromValues(0,0,0),u=c.slice(0,3),d=c.slice(3,6);return rr.vec3.scaleAndAdd(l,o,u,n*s[0]),rr.vec3.scaleAndAdd(l,l,d,i*s[1]),l}})),H(_r(t),"worldToCanvasCPU",(function(e){var r=t.getImageData(),n=r.spacing,i=r.direction,a=r.origin,o=i.slice(0,3),s=i.slice(3,6),c=rr.vec3.subtract(rr.vec3.create(),e,a),l=[rr.vec3.dot(c,o)/n[0],rr.vec3.dot(c,s)/n[1]];return Ci(t._cpuFallbackEnabledElement,l)})),H(_r(t),"canvasToWorldGPU",(function(e){var r=t.getRenderer(),n=t.getVtkActiveCamera(),i=n.getClippingRange(),a=n.getDistance();n.setClippingRange(a,a+.1);var o=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),s=o.getSize(),c=window.devicePixelRatio||1,l=[e[0]*c,e[1]*c],u=[l[0]+t.sx,l[1]+t.sy];u[1]=s[1]-u[1];var d=o.displayToWorld(u[0],u[1],0,r);return n.setClippingRange(i[0],i[1]),[d[0],d[1],d[2]]})),H(_r(t),"worldToCanvasGPU",(function(e){var r=t.getRenderer(),n=t.getVtkActiveCamera(),i=n.getClippingRange(),a=n.getDistance();n.setClippingRange(a,a+.1);var o=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),s=o.getSize(),c=o.worldToDisplay.apply(o,wt(e).concat([r]));c[1]=s[1]-c[1];var l=[c[0]-t.sx,c[1]-t.sy];n.setClippingRange(i[0],i[1]);var u=window.devicePixelRatio||1;return[l[0]/u,l[1]/u]})),H(_r(t),"getCurrentImageIdIndex",(function(){return t.currentImageIdIndex})),H(_r(t),"getTargetImageIdIndex",(function(){return t.targetImageIdIndex})),H(_r(t),"getImageIds",(function(){return t.imageIds})),H(_r(t),"getCurrentImageId",(function(){return t.imageIds[t.currentImageIdIndex]})),H(_r(t),"hasImageId",(function(e){return t.imageIds.includes(e)})),H(_r(t),"hasImageURI",(function(e){for(var r=t.imageIds,n=0;n<r.length;n++)if(oe(r[n])===e)return!0;return!1})),H(_r(t),"customRenderViewportToCanvas",(function(){if(!t.useCPURendering)throw new Error("Custom cpu rendering pipeline should only be hit in CPU rendering mode");return t._cpuFallbackEnabledElement.image?(wi(t._cpuFallbackEnabledElement,t.cpuRenderingInvalidated),t.cpuRenderingInvalidated=!1):t.fillWithBackgroundColor(),{canvas:t.canvas,element:t.element,viewportId:t.id,renderingEngineId:t.renderingEngineId}})),t.scaling={},t.modality=null,t.useCPURendering=Mn(),t.useCPURendering)t._cpuFallbackEnabledElement={canvas:t.canvas,renderingTools:{},transform:new Xn,viewport:{}};else{var r=t.getRenderer(),n=dn().newInstance();r.setActiveCamera(n);var i=[0,0,-1];n.setDirectionOfProjection(-i[0],-i[1],-i[2]),n.setViewUp.apply(n,[0,-1,0]),n.setParallelProjection(!0),n.setThicknessFromFocalPoint(.1),n.setFreezeFocalPoint(!0)}return t.imageIds=[],t.currentImageIdIndex=0,t.targetImageIdIndex=0,t.panCache=[0,0,0],t.cameraPosOnRender=[0,0,0],t.resetCamera(),t.initializeElementDisabledHandler(),t}return W(c,[{key:"initializeElementDisabledHandler",value:function(){ie.addEventListener(u.ELEMENT_DISABLED,(function e(){clearTimeout(this.debouncedTimeout),ie.removeEventListener(u.ELEMENT_DISABLED,e)}))}},{key:"getImageData",value:function(){return this.useCPURendering?this.getImageDataCPU():this.getImageDataGPU()}},{key:"getImageDataGPU",value:function(){var e=this.getDefaultActor();if(e){var t=e.actor;if(qr(t)){var r=t.getMapper().getInputData();return{dimensions:r.getDimensions(),spacing:r.getSpacing(),origin:r.getOrigin(),direction:r.getDirection(),scalarData:r.getPointData().getScalars().getData(),imageData:t.getMapper().getInputData(),metadata:{Modality:this.modality},scaling:this.scaling,hasPixelSpacing:this.hasPixelSpacing,preScale:Di({},this.csImage.preScale)}}}}},{key:"getImageDataCPU",value:function(){var e=this,t=this._cpuFallbackEnabledElement.metadata,r=t.spacing;return{dimensions:t.dimensions,spacing:r,origin:t.origin,direction:t.direction,metadata:{Modality:this.modality},scaling:this.scaling,imageData:{getDirection:function(){return t.direction},getDimensions:function(){return t.dimensions},getScalarData:function(){return e.cpuImagePixelData},getSpacing:function(){return r},worldToIndex:function(t){var r=e.worldToCanvasCPU(t),n=Ii(e._cpuFallbackEnabledElement,r);return[n[0],n[1],0]},indexToWorld:function(t){var r=Ci(e._cpuFallbackEnabledElement,[t[0],t[1]]);return e.canvasToWorldCPU(r)}},scalarData:this.cpuImagePixelData,hasPixelSpacing:this.hasPixelSpacing,preScale:Di({},this.csImage.preScale)}}},{key:"buildMetadata",value:function(e){var t,r,n=Ye("imagePixelModule",e),i=n.pixelRepresentation,a=n.bitsAllocated,o=n.bitsStored,s=n.highBit,c=n.photometricInterpretation,l=n.samplesPerPixel,u=Ye("voiLutModule",e);u&&(t=u.windowWidth,r=u.windowCenter,Array.isArray(t)&&(t=t[0]),Array.isArray(r)&&(r=r[0]));var d=Ye("generalSeriesModule",e).modality,f=Ye("scalingModule",e);"PT"===d&&f&&this._addScalingToViewport(f),this.modality=d;var v=this._getImagePlaneModule(e);return this.useCPURendering||(v=this.calibrateIfNecessary(e,v)),{imagePlaneModule:v,imagePixelModule:{bitsAllocated:a,bitsStored:o,samplesPerPixel:l,highBit:s,photometricInterpretation:c,pixelRepresentation:i,windowWidth:t,windowCenter:r,modality:d}}}},{key:"calibrateIfNecessary",value:function(e,t){var r=Ye("calibratedPixelSpacing",e);if(!r)return t;var n=Nr(r,2),i=n[0],a=n[1];if(t.rowPixelSpacing===i&&t.columnPixelSpacing===a)return t;var o=this.getImageData();if(!o&&t.rowPixelSpacing===i&&t.columnPixelSpacing===a)return t;if(!o&&(t.rowPixelSpacing!==i||t.columnPixelSpacing!==a))return this._publishCalibratedEvent=!0,this._calibrationEvent={rowScale:i/t.rowPixelSpacing,columnScale:a/t.columnPixelSpacing},t.rowPixelSpacing=i,t.columnPixelSpacing=a,t;var s=Nr(o.imageData.getSpacing(),2),c=s[0],l=s[1];return t.rowPixelSpacing=i,t.columnPixelSpacing=a,l===i&&c===r||(this._publishCalibratedEvent=!0,this._calibrationEvent={rowScale:i/l,columnScale:a/c}),t}},{key:"setProperties",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.voiRange,r=e.invert,n=e.interpolationType,i=e.rotation,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];void 0===t&&this.voiApplied||this.setVOI(t,a),void 0!==r&&this.setInvertColor(r),void 0!==n&&this.setInterpolationType(n),void 0!==i&&this.rotationCache!==i&&this.setRotation(this.rotationCache,i)}},{key:"resetProperties",value:function(){this.cpuRenderingInvalidated=!0,this.fillWithBackgroundColor(),this.useCPURendering&&(this._cpuFallbackEnabledElement.renderingTools={}),this._resetProperties(),this.render()}},{key:"getCamera",value:function(){return this.useCPURendering?this.getCameraCPU():Tr(Or(c.prototype),"getCamera",this).call(this)}},{key:"setCamera",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.useCPURendering?this.setCameraCPU(e):Tr(Or(c.prototype),"setCamera",this).call(this,e,t)}},{key:"_resetProperties",value:function(){this.voiApplied=!1,this.setProperties({voiRange:this.initialVOIRange,rotation:0,interpolationType:m.LINEAR,invert:!1})}},{key:"_setPropertiesFromCache",value:function(){this.setProperties({voiRange:this.voiRange,rotation:this.rotation,interpolationType:this.interpolationType,invert:this.invert},!0)}},{key:"getCameraCPU",value:function(){var e=this._cpuFallbackEnabledElement,t=e.metadata,r=e.viewport,n=t.direction,i=n.slice(6,9).map((function(e){return-e})),a=n.slice(3,6).map((function(e){return-e}));if(this.rotation){var o=rr.mat4.fromRotation(rr.mat4.create(),this.rotation*Math.PI/180,i);a=rr.vec3.transformMat4(rr.vec3.create(),a,o)}var s=[this.element.clientWidth/2,this.element.clientHeight/2],c=this.canvasToWorld(s),l=this.canvasToWorld([0,0]),u=this.canvasToWorld([0,this.element.clientHeight]);return{parallelProjection:!0,focalPoint:c,position:[0,0,0],parallelScale:rr.vec3.distance(l,u)/2,scale:r.scale,viewPlaneNormal:[i[0],i[1],i[2]],viewUp:[a[0],a[1],a[2]],flipHorizontal:this.flipHorizontal,flipVertical:this.flipVertical}}},{key:"setCameraCPU",value:function(e){var t=this._cpuFallbackEnabledElement,r=t.viewport,n=t.image,i=this.getCameraCPU(),a=e.focalPoint,o=e.parallelScale,s=e.scale,c=e.flipHorizontal,l=e.flipVertical,d=this.element.clientHeight;if(a){var f=this.worldToCanvasCPU(a),v=Ii(this._cpuFallbackEnabledElement,f),h=this.worldToCanvasCPU(i.focalPoint),g=Ii(this._cpuFallbackEnabledElement,h),m=rr.vec2.create();rr.vec2.subtract(m,rr.vec2.fromValues(v[0],v[1]),rr.vec2.fromValues(g[0],g[1]));var p=function(e,t){var r=t.hflip,n=t.vflip,i=t.rotation;if(e.x*=r?-1:1,e.y*=n?-1:1,0!==i){var a=i*Math.PI/180,o=Math.cos(a),s=Math.sin(a),c=e.x*o-e.y*s,l=e.x*s+e.y*o;e.x=c,e.y=l}return e}({x:m[0],y:m[1]},r);r.translation.x-=p.x,r.translation.y-=p.y}if(o){var w=d*n.rowPixelSpacing*.5/o;r.scale=w,r.parallelScale=o}if(s){var y=n.rowPixelSpacing;r.scale=s,r.parallelScale=d*y*.5/s}void 0===c&&void 0===l||this.setFlipCPU({flipHorizontal:c,flipVertical:l}),this._cpuFallbackEnabledElement.transform=Yn(this._cpuFallbackEnabledElement);var I={previousCamera:i,camera:this.getCamera(),element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:this.rotation};ae(this.element,u.CAMERA_MODIFIED,I)}},{key:"setFlipCPU",value:function(e){var t=e.flipHorizontal,r=e.flipVertical,n=this._cpuFallbackEnabledElement.viewport;void 0!==t&&(n.hflip=t,this.flipHorizontal=n.hflip),void 0!==r&&(n.vflip=r,this.flipVertical=n.vflip)}},{key:"setVOI",value:function(e,t){this.useCPURendering?this.setVOICPU(e,t):this.setVOIGPU(e,t)}},{key:"setRotation",value:function(e,t){var r=this.getCamera();this.useCPURendering?this.setRotationCPU(e,t):this.setRotationGPU(e,t);var n={previousCamera:r,camera:this.getCamera(),element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:this.rotation};ae(this.element,u.CAMERA_MODIFIED,n)}},{key:"setInterpolationType",value:function(e){this.useCPURendering?this.setInterpolationTypeCPU(e):this.setInterpolationTypeGPU(e)}},{key:"setInvertColor",value:function(e){this.useCPURendering?this.setInvertColorCPU(e):this.setInvertColorGPU(e)}},{key:"setRotationCPU",value:function(e,t){this._cpuFallbackEnabledElement.viewport.rotation=t,this.rotationCache=t,this.rotation=t}},{key:"setRotationGPU",value:function(e,t){this.getVtkActiveCamera().roll(e),this.getVtkActiveCamera().roll(-t),this.rotationCache=t,this.rotation=t}},{key:"setInterpolationTypeGPU",value:function(e){var t=this.getDefaultActor();if(t){var r=t.actor;qr(r)&&(r.getProperty().setInterpolationType(e),this.interpolationType=e)}}},{key:"setInterpolationTypeCPU",value:function(e){var t=this._cpuFallbackEnabledElement.viewport;e===m.LINEAR?t.pixelReplication=!1:t.pixelReplication=!0,this.interpolationType=e}},{key:"setInvertColorCPU",value:function(e){var t=this._cpuFallbackEnabledElement.viewport;t&&(t.invert=e,this.invert=e)}},{key:"setInvertColorGPU",value:function(e){var t=this.getDefaultActor();if(t){var r=t.actor;if(qr(r))if(r.isA("vtkVolume")){var n=r.getProperty().getRGBTransferFunction(0);(!this.invert&&e||this.invert&&!e)&&zn(n),this.invert=e}else if(r.isA("vtkImageSlice")){var i=r.getProperty().getRGBTransferFunction(0);(!this.invert&&e||this.invert&&!e)&&zn(i),this.invert=e}}}},{key:"setVOICPU",value:function(e,t){var r=this._cpuFallbackEnabledElement,n=r.viewport,i=r.image;if(n&&i){if(void 0===e){var a=i.windowWidth,o=i.windowCenter,s=Array.isArray(a)?a[0]:a,c=Array.isArray(o)?o[0]:o;n.voi={windowWidth:s,windowCenter:c};var l=Je(s,c);e={lower:l.lower,upper:l.upper}}else{var d=e,f=Ze(d.lower,d.upper),v=f.windowCenter,h=f.windowWidth;n.voi||(n.voi={windowWidth:0,windowCenter:0}),n.voi.windowWidth=h,n.voi.windowCenter=v}this.voiApplied=!0,this.voiRange=e;var g={viewportId:this.id,range:e};t||ae(this.element,u.VOI_MODIFIED,g)}}},{key:"setVOIGPU",value:function(e,t){var r=this.getDefaultActor();if(r){var n=r.actor;if(qr(n)){var i=n,a=e;if(void 0===a){var o=i.getMapper().getInputData().getPointData().getScalars().getRange();a={lower:o[0],upper:o[1]}}var s=Ze(a.lower,a.upper),c=s.windowWidth,l=s.windowCenter;if(i.getProperty().setColorWindow(c),i.getProperty().setColorLevel(l),this.voiApplied=!0,this.voiRange=a,!t){var d={viewportId:this.id,range:a};ae(this.element,u.VOI_MODIFIED,d)}}}}},{key:"_addScalingToViewport",value:function(e){if(!this.scaling.PET){var t=e.suvbw,r=e.suvlbm,n=e.suvbsa,i={};r&&(i.suvbwToSuvlbm=r/t),n&&(i.suvbwToSuvbsa=n/t),this.scaling.PET=i}}},{key:"_getNumCompsFromPhotometricInterpretation",value:function(e){var t=1;return"RGB"!==e&&-1===e.indexOf("YBR")&&"PALETTE COLOR"!==e||(t=3),t}},{key:"_getImageDataMetadata",value:function(e){var t,r,n=this.buildMetadata(e.imageId),i=n.imagePlaneModule,a=n.imagePixelModule;t=i.rowCosines,r=i.columnCosines,null!=t&&null!=r||(t=[1,0,0],r=[0,1,0]);var o=rr.vec3.fromValues(t[0],t[1],t[2]),s=rr.vec3.fromValues(r[0],r[1],r[2]),c=rr.vec3.create();rr.vec3.cross(c,o,s);var l=i.imagePositionPatient;null==l&&(l=[0,0,0]);var u=i.columnPixelSpacing||e.columnPixelSpacing,d=i.rowPixelSpacing||e.rowPixelSpacing,f=e.columns,v=e.rows,h=e.numComps||this._getNumCompsFromPhotometricInterpretation(a.photometricInterpretation);return{bitsAllocated:a.bitsAllocated,numComps:h,origin:l,direction:[].concat(wt(o),wt(s),wt(c)),dimensions:[f,v,1],spacing:[u,d,1],numVoxels:f*v*1,imagePlaneModule:i,imagePixelModule:a}}},{key:"_getCameraOrientation",value:function(e){var t=e.slice(6,9).map((function(e){return-e})),r=e.slice(3,6).map((function(e){return-e}));return{viewPlaneNormal:[t[0],t[1],t[2]],viewUp:[r[0],r[1],r[2]]}}},{key:"_createVTKImageData",value:function(e){var t,r=e.origin,n=e.direction,i=e.dimensions,a=e.spacing,o=e.bitsAllocated,s=e.numComps,c=e.numVoxels;switch(o){case 8:t=new Uint8Array(c*s);break;case 16:t=new Float32Array(c*s);break;case 24:t=new Uint8Array(3*c*s);break;default:console.debug("bit allocation not implemented")}var l=U().newInstance({name:"Pixels",numberOfComponents:s,values:t});this._imageData=j().newInstance(),this._imageData.setDimensions(i),this._imageData.setSpacing(a),this._imageData.setDirection(n),this._imageData.setOrigin(r),this._imageData.getPointData().setScalars(l)}},{key:"setStack",value:(i=O(T().mark((function e(t){var r,n,i,a=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:0,this.imageIds=t,this.currentImageIdIndex=r,this.targetImageIdIndex=r,this.stackInvalidated=!0,this.rotationCache=0,this.flipVertical=!1,this.flipHorizontal=!1,this.voiApplied=!1,this._resetProperties(),this.fillWithBackgroundColor(),this.useCPURendering&&(this._cpuFallbackEnabledElement.renderingTools={},delete this._cpuFallbackEnabledElement.viewport.colormap),e.next=14,this._setImageIdIndex(r);case 14:return n=e.sent,i={imageIds:t,viewportId:this.id,element:this.element,currentImageIdIndex:r},ae(ie,u.STACK_VIEWPORT_NEW_STACK,i),e.abrupt("return",n);case 18:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"_checkVTKImageDataMatchesCornerstoneImage",value:function(e,t){if(!t)return!1;var r=Nr(t.getSpacing(),2),n=r[0],i=r[1],a=Nr(t.getDimensions(),2),o=a[0],s=a[1],c=this._getImagePlaneModule(e.imageId),l=t.getDirection(),u=l.slice(0,3),d=l.slice(3,6);return(n===e.rowPixelSpacing||null===e.rowPixelSpacing&&1===n)&&(i===e.columnPixelSpacing||null===e.columnPixelSpacing&&1===i)&&o===e.columns&&s===e.rows&&Hn(c.rowCosines,u)&&Hn(c.columnCosines,d)}},{key:"_updateVTKImageDataFromCornerstoneImage",value:function(e){var t=this._getImagePlaneModule(e.imageId).imagePositionPatient;null==t&&(t=[0,0,0]),this._imageData.setOrigin(t);var r,n=e.getPixelData(),i=this._imageData.getPointData().getScalars().getData();if(e.rgba||(r=i,3*n.length==4*r.byteLength)){e.rgba||console.warn("rgba not specified but data looks rgba ish",e);for(var a=n.length/4,o=0,s=0,c=0;c<a;c++)i[s++]=n[o++],i[s++]=n[o++],i[s++]=n[o++],o++}else i.set(n);this._imageData.modified()}},{key:"_loadAndDisplayImage",value:(n=O(T().mark((function e(t,r){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.useCPURendering){e.next=5;break}return e.next=3,this._loadAndDisplayImageCPU(t,r);case 3:e.next=7;break;case 5:return e.next=7,this._loadAndDisplayImageGPU(t,r);case 7:return e.abrupt("return",t);case 8:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"_loadAndDisplayImageCPU",value:function(e,t){var r=this;return new Promise((function(n,i){function a(e,t,r){var i;if(this.currentImageIdIndex===t){this.csImage=e;var a={image:e,imageId:r,imageIdIndex:t,viewportId:this.id,renderingEngineId:this.renderingEngineId};ae(this.element,u.STACK_NEW_IMAGE,a);var o=this._getImageDataMetadata(e);e.isPreScaled=null===(i=e.preScale)||void 0===i?void 0:i.scaled;var s=Ai(this.canvas,e,this.modality,this._cpuFallbackEnabledElement.viewport.colormap);this._cpuFallbackEnabledElement.image=e,this._cpuFallbackEnabledElement.metadata=Di({},o),this.cpuImagePixelData=e.getPixelData();var c=Object.assign({},s,this._cpuFallbackEnabledElement.viewport);this._cpuFallbackEnabledElement.viewport=this.stackInvalidated?s:c,this.stackInvalidated=!1,this.cpuRenderingInvalidated=!0,this._cpuFallbackEnabledElement.transform=Yn(this._cpuFallbackEnabledElement),this.render(),this.currentImageIdIndex=t,n(r)}}function o(e,t,r){var n={error:e,imageIdIndex:t,imageId:r};this.suppressEvents||ae(ie,u.IMAGE_LOAD_ERROR,n),i(e)}var s=f.Interaction,c={imageId:e};Me.addRequest(function(e,t,r){var n=this;return Ue(e,r).then((function(r){a.call(n,r,t,e)}),(function(r){o.call(n,r,t,e)}))}.bind(r,e,t,{targetBuffer:{type:"Float32Array",offset:null,length:null},preScale:{enabled:!0},useRGBA:!1}),s,c,-5)}))}},{key:"_loadAndDisplayImageGPU",value:function(e,t){var r=this;return new Promise((function(n,i){function a(e,t,r){if(this.currentImageIdIndex===t){this.csImage=e;var i={image:e,imageId:r,imageIdIndex:t,viewportId:this.id,renderingEngineId:this.renderingEngineId};ae(this.element,u.STACK_NEW_IMAGE,i),this._updateActorToDisplayImageId(e),this.render(),this.currentImageIdIndex=t,n(r)}}function o(e,t,r){var n={error:e,imageIdIndex:t,imageId:r};ae(ie,u.IMAGE_LOAD_ERROR,n),i(e)}var s=f.Interaction,c={imageId:e},l={imageId:e,imageIdIndex:t,viewportId:r.id,renderingEngineId:r.renderingEngineId};ae(r.element,u.PRE_STACK_NEW_IMAGE,l),Me.addRequest(function(e,t,r){var n=this;return Ue(e,r).then((function(r){a.call(n,r,t,e)}),(function(r){o.call(n,r,t,e)}))}.bind(r,e,t,{targetBuffer:{type:"Float32Array",offset:null,length:null},preScale:{enabled:!0},useRGBA:!1}),s,c,-5)}))}},{key:"_updateActorToDisplayImageId",value:function(e){var t,r=this._checkVTKImageDataMatchesCornerstoneImage(e,this._imageData),n=this.getRenderer().getActiveCamera(),i=F()(this.getCamera());if(r&&!this.stackInvalidated){this._updateVTKImageDataFromCornerstoneImage(e);var a=this.getCamera();this.panCache[0]=this.cameraPosOnRender[0]-a.position[0],this.panCache[1]=this.cameraPosOnRender[1]-a.position[1],this.panCache[2]=this.cameraPosOnRender[2]-a.position[2];var o=this.rotationCache;this.resetCameraNoEvent(),this.setRotation(o,o);var s=this.getCamera().position;return this.cameraPosOnRender=s,n.setFreezeFocalPoint(!0),this._restoreCameraProps(a,i),this.rotationCache=0,void this._setPropertiesFromCache()}var c=this._getImageDataMetadata(e),l=c.origin,u=c.direction,d=c.dimensions,f=c.spacing,v=c.bitsAllocated,h=c.numComps,g=c.numVoxels,m=c.imagePixelModule;this._createVTKImageData({origin:l,direction:u,dimensions:d,spacing:f,bitsAllocated:v,numComps:h,numVoxels:g}),this._updateVTKImageDataFromCornerstoneImage(e);var p=this.createActorMapper(this._imageData),w=[];w.push({uid:this.id,actor:p}),this.setActors(w);var y=this._getCameraOrientation(u),I=y.viewPlaneNormal,C=y.viewUp;this.setCameraNoEvent({viewUp:C,viewPlaneNormal:I}),this.resetCameraNoEvent(),this.triggerCameraEvent(this.getCamera(),i),n.setFreezeFocalPoint(!0);var b=m.windowCenter,k=m.windowWidth,E="number"==typeof b&&"number"==typeof k?Je(k,b):void 0,R=this.csImage.isPreScaled||(null===(t=this.csImage.preScale)||void 0===t?void 0:t.scaled);"PT"===m.modality&&R&&(E={lower:0,upper:5}),this.initialVOIRange=E,this.voiApplied&&void 0===E&&(E=this.voiRange),this.setProperties({voiRange:E});var P=qn().newInstance(),A=0,x=1024;E&&void 0!==E.lower&&void 0!==E.upper&&(A=E.lower,x=E.upper),P.addRGBPoint(A,0,0,0),P.addRGBPoint(x,1,1,1),p.getProperty().setRGBTransferFunction(0,P);var _=this.getCamera().position;this.cameraPosOnRender=_,this.stackInvalidated=!1,this._publishCalibratedEvent&&this.triggerCalibrationEvent()}},{key:"_setImageIdIndex",value:(r=O(T().mark((function e(t){var r;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t>=this.imageIds.length)){e.next=2;break}throw new Error("ImageIdIndex provided ".concat(t," is invalid, the stack only has ").concat(this.imageIds.length," elements"));case 2:return this.currentImageIdIndex=t,this.hasPixelSpacing=!0,e.next=6,this._loadAndDisplayImage(this.imageIds[t],t);case 6:return r=e.sent,e.abrupt("return",r);case 8:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"resetCamera",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.useCPURendering?this.resetCameraCPU(e,t):this.resetCameraGPU(e,t),this.rotation=0,this.rotationCache=0,!0}},{key:"resetCameraCPU",value:function(e,t){if(this._cpuFallbackEnabledElement.image){!function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=e.canvas,i=e.image,a=e.viewport,o=Pi(n,i,0).scaleFactor;a.vflip=!1,a.hflip=!1,t&&(a.translation.x=0,a.translation.y=0),r&&(a.displayedArea.tlhc.x=1,a.displayedArea.tlhc.y=1,a.displayedArea.brhc.x=i.columns,a.displayedArea.brhc.y=i.rows,a.scale=o)}(this._cpuFallbackEnabledElement,e,t);var r=this._cpuFallbackEnabledElement.viewport.scale,n=this.element,i=[n.clientWidth/2,n.clientHeight/2],a=this.canvasToWorldCPU(i);this.setCameraCPU({focalPoint:a,scale:r})}}},{key:"resetCameraGPU",value:function(e,t){return this.getVtkActiveCamera().roll(this.rotationCache),Tr(Or(c.prototype),"resetCamera",this).call(this,e,t,!0)}},{key:"scroll",value:function(e){var t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=this.imageIds,a=this.targetImageIdIndex,o=i.length,s=a+e;s=Math.max(0,s),n?s%=o:s=Math.min(o-1,s),this.targetImageIdIndex=s;var c=i[s],l=Ur.isImageIdCached(c);l||!r?this.setImageIdIndex(s):(clearTimeout(this.debouncedTimeout),this.debouncedTimeout=window.setTimeout((function(){t.setImageIdIndex(s)}),40));var d={newImageIdIndex:s,imageId:c,direction:e};s!==a&&ae(this.element,u.STACK_VIEWPORT_SCROLL,d)}},{key:"setImageIdIndex",value:(t=O(T().mark((function e(t){var r;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.currentImageIdIndex!==t){e.next=2;break}return e.abrupt("return",this.getCurrentImageId());case 2:return r=this._setImageIdIndex(t),e.abrupt("return",r);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"calibrateSpacing",value:function(e){var t=this.getImageIds().indexOf(e);this.stackInvalidated=!0,this._loadAndDisplayImage(e,t)}},{key:"_restoreCameraProps",value:function(e,t){var r=e.parallelScale,n=this.getRenderer(),i=this.getCamera(),a=i.position,o=i.focalPoint,s=[a[0]-this.panCache[0],a[1]-this.panCache[1],a[2]-this.panCache[2]],c=[o[0]-this.panCache[0],o[1]-this.panCache[1],o[2]-this.panCache[2]];this.setCameraNoEvent({parallelScale:r,position:s,focalPoint:c});var l=this.getCamera();this.triggerCameraEvent(l,t);var u={type:"ResetCameraEvent",renderer:n};n.invokeEvent(u)}},{key:"triggerCameraEvent",value:function(e,t){var r={previousCamera:t,camera:e,element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId};this.suppressEvents||ae(this.element,u.CAMERA_MODIFIED,r)}},{key:"triggerCalibrationEvent",value:function(){var e=this.getImageData().imageData,t=Di({element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,imageId:this.getCurrentImageId(),imageData:e,worldToIndex:e.getWorldToIndex()},this._calibrationEvent);this.suppressEvents||ae(this.element,u.IMAGE_SPACING_CALIBRATED,t),this._publishCalibratedEvent=!1}},{key:"getRenderer",value:function(){if(this.useCPURendering)throw this.getCPUFallbackError("getRenderer");return Tr(Or(c.prototype),"getRenderer",this).call(this)}},{key:"getDefaultActor",value:function(){if(this.useCPURendering)throw this.getCPUFallbackError("getDefaultActor");return Tr(Or(c.prototype),"getDefaultActor",this).call(this)}},{key:"getActors",value:function(){if(this.useCPURendering)throw this.getCPUFallbackError("getActors");return Tr(Or(c.prototype),"getActors",this).call(this)}},{key:"getActor",value:function(e){if(this.useCPURendering)throw this.getCPUFallbackError("getActor");return Tr(Or(c.prototype),"getActor",this).call(this,e)}},{key:"setActors",value:function(e){if(this.useCPURendering)throw this.getCPUFallbackError("setActors");return Tr(Or(c.prototype),"setActors",this).call(this,e)}},{key:"addActors",value:function(e){if(this.useCPURendering)throw this.getCPUFallbackError("addActors");return Tr(Or(c.prototype),"addActors",this).call(this,e)}},{key:"addActor",value:function(e){if(this.useCPURendering)throw this.getCPUFallbackError("addActor");return Tr(Or(c.prototype),"addActor",this).call(this,e)}},{key:"removeAllActors",value:function(){if(this.useCPURendering)throw this.getCPUFallbackError("removeAllActors");return Tr(Or(c.prototype),"removeAllActors",this).call(this)}},{key:"getCPUFallbackError",value:function(e){return new Error("method ".concat(e," cannot be used during CPU Fallback mode"))}},{key:"fillWithBackgroundColor",value:function(){var e=this.getRenderingEngine();e&&e.fillCanvasWithBackgroundColor(this.canvas,this.options.background)}},{key:"setColormap",value:function(e){this.useCPURendering?this.setColormapCPU(e):this.setColormapGPU(e)}},{key:"unsetColormap",value:function(){this.useCPURendering?this.unsetColormapCPU():this.unsetColormapGPU()}},{key:"unsetColormapCPU",value:function(){delete this._cpuFallbackEnabledElement.viewport.colormap,this._cpuFallbackEnabledElement.renderingTools={},this.cpuRenderingInvalidated=!0,this.fillWithBackgroundColor(),this.render()}},{key:"setColormapCPU",value:function(e){var t=gi(e.name,e);this._cpuFallbackEnabledElement.viewport.colormap=t,this._cpuFallbackEnabledElement.renderingTools={},this.fillWithBackgroundColor(),this.cpuRenderingInvalidated=!0,this.render()}},{key:"setColormapGPU",value:function(e){throw new Error("setColorMapGPU not implemented.")}},{key:"unsetColormapGPU",value:function(){throw new Error("unsetColormapGPU not implemented.")}},{key:"_getImagePlaneModule",value:function(e){var t=Di({},Ye("imagePlaneModule",e));return t.columnPixelSpacing||(t.columnPixelSpacing=1,this.hasPixelSpacing=!1),t.rowPixelSpacing||(t.rowPixelSpacing=1,this.hasPixelSpacing=!1),t.columnCosines||(t.columnCosines=[0,1,0]),t.rowCosines||(t.rowCosines=[1,0,0]),t.imagePositionPatient||(t.imagePositionPatient=[0,0,0]),t.imageOrientationPatient||(t.imageOrientationPatient=new Float32Array([1,0,0,0,1,0])),t}}],[{key:"useCustomRenderingPipeline",get:function(){return Mn()}}]),c}(Qr),ji=Vi,Li=(H(Mi={},h.ORTHOGRAPHIC,Un),H(Mi,h.PERSPECTIVE,Un),H(Mi,h.STACK,ji),Mi);function Ui(e){return Li[e].useCustomRenderingPipeline}function Ni(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Fi(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ni(Object(r),!0).forEach((function(t){H(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ni(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Gi=function(){function e(t){var r=this;if(B(this,e),H(this,"id",void 0),H(this,"hasBeenDestroyed",void 0),H(this,"offscreenMultiRenderWindow",void 0),H(this,"offScreenCanvasContainer",void 0),H(this,"_viewports",void 0),H(this,"_needsRender",new Set),H(this,"_animationFrameSet",!1),H(this,"_animationFrameHandle",null),H(this,"useCPURendering",void 0),H(this,"renderFrameOfReference",(function(e){var t=r._getViewportsAsArray().map((function(t){if(t.getFrameOfReferenceUID()===e)return t.id}));return r.renderViewports(t)})),H(this,"_renderFlaggedViewports",(function(){r._throwIfDestroyed(),r.useCPURendering||r.performVtkDrawCall();for(var e=r._getViewportsAsArray(),t=[],n=0;n<e.length;n++){var i=e[n];if(r._needsRender.has(i.id)){var a=r.renderViewportUsingCustomOrVtkPipeline(i);if(t.push(a),r._needsRender.delete(i.id),0===r._needsRender.size)break}}r._animationFrameSet=!1,r._animationFrameHandle=null,t.forEach((function(e){ae(e.element,u.IMAGE_RENDERED,e)}))})),this.id=t||ue(),this.useCPURendering=Mn(),Ct(this),!Vn())throw new Error("@cornerstonejs/core is not initialized, run init() first");this.useCPURendering||(this.offscreenMultiRenderWindow=xr.newInstance(),this.offScreenCanvasContainer=document.createElement("div"),this.offscreenMultiRenderWindow.setContainer(this.offScreenCanvasContainer)),this._viewports=new Map,this.hasBeenDestroyed=!1}return W(e,[{key:"enableElement",value:function(e){var t=this._normalizeViewportInputEntry(e);this._throwIfDestroyed();var r=t.element,n=t.viewportId;if(!r)throw new Error("No element provided");this.getViewport(n)&&this.disableElement(n);var i=Ui(t.type);this.useCPURendering||i?this.addCustomViewport(t):this.enableVTKjsDrivenViewport(t);var a=gt(r),o=t.defaultOptions.background;this.fillCanvasWithBackgroundColor(a,o)}},{key:"disableElement",value:function(e){this._throwIfDestroyed();var t=this.getViewport(e);t?(this._resetViewport(t),Ui(t.type)||this.useCPURendering||this.offscreenMultiRenderWindow.removeRenderer(e),this._removeViewport(e),t.isDisabled=!0,this._needsRender.delete(e),this.getViewports().length||this._clearAnimationFrame(),this.resize(!0,!0)):console.warn("viewport ".concat(e," does not exist"))}},{key:"setViewports",value:function(e){var t=this,r=this._normalizeViewportInputEntries(e);this._throwIfDestroyed(),this._reset();var n=[],i=[];r.forEach((function(e){t.useCPURendering||Ui(e.type)?i.push(e):n.push(e)})),this.setVtkjsDrivenViewports(n),this.setCustomViewports(i)}},{key:"resize",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._throwIfDestroyed();var r=this._getViewportsAsArray(),n=[],i=[];r.forEach((function(e){Ui(e.type)?i.push(e):n.push(e)})),this._resizeVTKViewports(n,t,e),this._resizeUsingCustomResizeHandler(i,t,e)}},{key:"getViewport",value:function(e){return this._viewports.get(e)}},{key:"getViewports",value:function(){return this._throwIfDestroyed(),this._getViewportsAsArray()}},{key:"getStackViewports",value:function(){return this._throwIfDestroyed(),this.getViewports().filter((function(e){return e instanceof ji}))}},{key:"getVolumeViewports",value:function(){return this._throwIfDestroyed(),this.getViewports().filter((function(e){return e instanceof Un}))}},{key:"render",value:function(){var e=this.getViewports().map((function(e){return e.id}));this._setViewportsToBeRenderedNextFrame(e)}},{key:"renderViewports",value:function(e){this._setViewportsToBeRenderedNextFrame(e)}},{key:"renderViewport",value:function(e){this._setViewportsToBeRenderedNextFrame([e])}},{key:"destroy",value:function(){var e=this;this.hasBeenDestroyed||(this.useCPURendering||(this._getViewportsAsArray().forEach((function(t){e.offscreenMultiRenderWindow.removeRenderer(t.id)})),this.offscreenMultiRenderWindow.delete(),delete this.offscreenMultiRenderWindow),this._reset(),bt(this.id),this.hasBeenDestroyed=!0)}},{key:"fillCanvasWithBackgroundColor",value:function(e,t){var r,n=e.getContext("2d");if(t){var i=t.map((function(e){return Math.floor(255*e)}));r="rgb(".concat(i[0],", ").concat(i[1],", ").concat(i[2],")")}else r="black";n.fillStyle=r,n.fillRect(0,0,e.width,e.height)}},{key:"_normalizeViewportInputEntry",value:function(e){var t=e.type,r=e.defaultOptions;return r&&0!==Object.keys(r).length||(r={background:[0,0,0],orientation:null},t===h.ORTHOGRAPHIC&&(r=Fi(Fi({},r),{},{orientation:C.AXIAL}))),Fi(Fi({},e),{},{defaultOptions:r})}},{key:"_normalizeViewportInputEntries",value:function(e){var t=this,r=[];return e.forEach((function(e){r.push(t._normalizeViewportInputEntry(e))})),r}},{key:"_resizeUsingCustomResizeHandler",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e.forEach((function(e){"function"==typeof e.resize&&e.resize()})),e.forEach((function(e){var r=e.getCamera();e.resetCamera(),t&&e.setCamera(r)})),!0===r&&this.render()}},{key:"_resizeVTKViewports",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=e.map((function(e){return e.canvas}));if(n.length){var i=this._resizeOffScreenCanvas(n),a=i.offScreenCanvasWidth,o=i.offScreenCanvasHeight;this._resize(e,a,o)}e.forEach((function(e){var r=gt(e.element),n=r.getBoundingClientRect(),i=window.devicePixelRatio||1;r.width=n.width*i,r.height=n.height*i;var a=e.getCamera();e.resetCamera(),t&&e.setCamera(a)})),!0===r&&this.render()}},{key:"enableVTKjsDrivenViewport",value:function(e){var t=this._getViewportsAsArray().filter((function(e){return!1===Ui(e.type)})),r=t.map((function(e){return e.canvas})),n=gt(e.element);r.push(n);var i=window.devicePixelRatio||1,a=n.getBoundingClientRect();n.width=a.width*i,n.height=a.height*i;var o=this._resizeOffScreenCanvas(r),s=o.offScreenCanvasWidth,c=o.offScreenCanvasHeight,l=this._resize(t,s,c),u=Fi(Fi({},e),{},{canvas:n});this.addVtkjsDrivenViewport(u,{offScreenCanvasWidth:s,offScreenCanvasHeight:c,xOffset:l})}},{key:"_removeViewport",value:function(e){this.getViewport(e)?this._viewports.delete(e):console.warn("viewport ".concat(e," does not exist"))}},{key:"addVtkjsDrivenViewport",value:function(e,t){var r=e.element,n=e.canvas,i=e.viewportId,a=e.type,o=e.defaultOptions;r.tabIndex=-1;var s=t.offScreenCanvasWidth,c=t.offScreenCanvasHeight,l=t.xOffset,d=this._getViewportCoordsOnOffScreenCanvas(e,s,c,l),f=d.sxStartDisplayCoords,v=d.syStartDisplayCoords,g=d.sxEndDisplayCoords,m=d.syEndDisplayCoords,p=d.sx,w=d.sy,y=d.sWidth,I=d.sHeight;this.offscreenMultiRenderWindow.addRenderer({viewport:[f,v,g,m],id:i,background:o.background?o.background:[0,0,0]});var C,b={id:i,element:r,renderingEngineId:this.id,type:a,canvas:n,sx:p,sy:w,sWidth:y,sHeight:I,defaultOptions:o||{}};if(a===h.STACK)C=new ji(b);else{if(a!==h.ORTHOGRAPHIC&&a!==h.PERSPECTIVE)throw new Error("Viewport Type ".concat(a," is not supported"));C=new Un(b)}this._viewports.set(i,C);var k={element:r,viewportId:i,renderingEngineId:this.id};C.suppressEvents||ae(ie,u.ELEMENT_ENABLED,k)}},{key:"addCustomViewport",value:function(e){var t=e.element,r=e.viewportId,n=e.type,i=e.defaultOptions;t.tabIndex=-1;var a=gt(t),o=a.clientWidth,s=a.clientHeight;a.width===o&&a.height===s||(a.width=o,a.height=s);var c={id:r,renderingEngineId:this.id,element:t,type:n,canvas:a,sx:0,sy:0,sWidth:o,sHeight:s,defaultOptions:i||{}};if(n!==h.STACK)throw new Error("Support for fully custom viewports not yet implemented");var l=new ji(c);this._viewports.set(r,l);var d={element:t,viewportId:r,renderingEngineId:this.id};ae(ie,u.ELEMENT_ENABLED,d)}},{key:"setCustomViewports",value:function(e){var t=this;e.forEach((function(e){return t.addCustomViewport(e)}))}},{key:"setVtkjsDrivenViewports",value:function(e){if(e.length){var t=e.map((function(e){return gt(e.element)}));t.forEach((function(e){var t=window.devicePixelRatio||1,r=e.getBoundingClientRect();e.width=r.width*t,e.height=r.height*t}));for(var r=this._resizeOffScreenCanvas(t),n=r.offScreenCanvasWidth,i=r.offScreenCanvasHeight,a=0,o=0;o<e.length;o++){var s=e[o],c=t[o],l=Fi(Fi({},s),{},{canvas:c});this.addVtkjsDrivenViewport(l,{offScreenCanvasWidth:n,offScreenCanvasHeight:i,xOffset:a}),a+=c.width}}}},{key:"_resizeOffScreenCanvas",value:function(e){var t=this.offScreenCanvasContainer,r=this.offscreenMultiRenderWindow,n=window.devicePixelRatio||1,i=Math.max.apply(Math,wt(e.map((function(e){return e.clientHeight*n})))),a=0;return e.forEach((function(e){a+=e.clientWidth*n})),t.width=a,t.height=i,r.resize(),{offScreenCanvasWidth:a,offScreenCanvasHeight:i}}},{key:"_resize",value:function(e,t,r){for(var n=0,i=window.devicePixelRatio||1,a=0;a<e.length;a++){var o=e[a],s=this._getViewportCoordsOnOffScreenCanvas(o,t,r,n),c=s.sxStartDisplayCoords,l=s.syStartDisplayCoords,u=s.sxEndDisplayCoords,d=s.syEndDisplayCoords,f=s.sx,v=s.sy,h=s.sWidth,g=s.sHeight;n+=o.canvas.clientWidth*i,o.sx=f,o.sy=v,o.sWidth=h,o.sHeight=g,this.offscreenMultiRenderWindow.getRenderer(o.id).setViewport([c,l,u,d])}return n}},{key:"_getViewportCoordsOnOffScreenCanvas",value:function(e,t,r,n){var i=e.canvas,a=i.clientWidth,o=i.clientHeight,s=window.devicePixelRatio||1,c=o*s,l=a*s,u=n/t,d=0+(r-c)/r;return{sxStartDisplayCoords:u,syStartDisplayCoords:d,sxEndDisplayCoords:u+l/t,syEndDisplayCoords:d+c/r,sx:n,sy:0,sWidth:l,sHeight:c}}},{key:"_getViewportsAsArray",value:function(){return Array.from(this._viewports.values())}},{key:"_setViewportsToBeRenderedNextFrame",value:function(e){var t=this;e.forEach((function(e){t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedViewports),this._animationFrameSet=!0)}},{key:"performVtkDrawCall",value:function(){var e=this.offscreenMultiRenderWindow,t=e.getRenderWindow(),r=e.getRenderers();if(r.length){for(var n=0;n<r.length;n++){var i=r[n],a=i.renderer,o=i.id;this._needsRender.has(o)?a.setDraw(!0):a.setDraw(!1)}t.render();for(var s=0;s<r.length;s++)r[s].renderer.setDraw(!1)}}},{key:"renderViewportUsingCustomOrVtkPipeline",value:function(e){var t;if(!0===Ui(e.type))t=e.customRenderViewportToCanvas();else{if(this.useCPURendering)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");var r=this.offscreenMultiRenderWindow.getOpenGLRenderWindow().get3DContext().canvas;t=this._renderViewportFromVtkCanvasToOnscreenCanvas(e,r)}return t}},{key:"_renderViewportFromVtkCanvasToOnscreenCanvas",value:function(e,t){var r=e.element,n=e.canvas,i=e.sx,a=e.sy,o=e.sWidth,s=e.sHeight,c=e.id,l=e.renderingEngineId,u=e.suppressEvents,d=n.width,f=n.height;return n.getContext("2d").drawImage(t,i,a,o,s,0,0,d,f),{element:r,suppressEvents:u,viewportId:c,renderingEngineId:l}}},{key:"_resetViewport",value:function(e){var t=this.id,r=e.element,n=e.canvas,i={element:r,viewportId:e.id,renderingEngineId:t};ae(ie,u.ELEMENT_DISABLED,i),r.removeAttribute("data-viewport-uid"),r.removeAttribute("data-rendering-engine-uid"),n.getContext("2d").clearRect(0,0,n.width,n.height)}},{key:"_clearAnimationFrame",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}},{key:"_reset",value:function(){var e=this;this._getViewportsAsArray().forEach((function(t){e._resetViewport(t)})),this._clearAnimationFrame(),this._viewports=new Map}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_downloadOffScreenCanvas",value:function(){var e,t;e=this._debugRender(),(t=document.createElement("a")).download="viewport.png",t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t)}},{key:"_debugRender",value:function(){for(var e=this.offscreenMultiRenderWindow,t=e.getRenderWindow(),r=e.getRenderers(),n=0;n<r.length;n++)r[n].renderer.setDraw(!0);t.render();var i=e.getOpenGLRenderWindow().get3DContext().canvas,a=i.toDataURL();return this._getViewportsAsArray().forEach((function(e){var t=e.sx,r=e.sy,n=e.sWidth,a=e.sHeight,o=e.canvas,s=o.width,c=o.height;o.getContext("2d").drawImage(i,t,r,n,a,0,0,s,c)})),a}}]),e}(),Wi=Gi,Bi=new Se("imageRetrievalPool");Bi.setMaxSimultaneousRequests(f.Interaction,200),Bi.setMaxSimultaneousRequests(f.Thumbnail,200),Bi.setMaxSimultaneousRequests(f.Prefetch,200),Bi.grabDelay=0;var qi=Bi;function zi(e){if(e){var t=e.dataset;return Hi(t.viewportUid,t.renderingEngineUid)}}function Hi(e,t){if(t&&e){var r=cn(t);if(r&&!r.hasBeenDestroyed){var n=r.getViewport(e);if(n){var i=n.getFrameOfReferenceUID();return{viewport:n,renderingEngine:r,viewportId:e,renderingEngineId:t,FrameOfReferenceUID:i}}}}}function Ki(){var e=[];return sn().forEach((function(t){t.getViewports().forEach((function(t){var r=t.element;e.push(zi(r))}))})),e}var $i=Symbol("DefaultSettings"),Xi=Symbol("RuntimeSettings"),Yi=Symbol("ObjectSettingsMap"),Zi=Symbol("Dictionary"),Ji=function(){function e(t){B(this,e);var r=Object.create(t instanceof e&&Zi in t?t[Zi]:null);Object.seal(Object.defineProperty(this,Zi,{value:r}))}return W(e,[{key:"set",value:function(e,t){return ea(this[Zi],e,t,null)}},{key:"get",value:function(e){return function(e,t){return e[t]}(this[Zi],e)}},{key:"unset",value:function(e){return function(e,t){if(t.endsWith(".")){var r=0,n=t,i=n.slice(0,-1),a=0===i.length;for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(a||o.startsWith(n)||o===i)&&(delete e[o],++r);return r>0}return delete e[t]}(this[Zi],e+"")}},{key:"forEach",value:function(e){Qi(this[Zi],e)}},{key:"extend",value:function(){return new e(this)}},{key:"import",value:function(e){var t=this;ta(e)&&Object.keys(e).forEach((function(r){ea(t[Zi],r,e[r],null)}))}},{key:"dump",value:function(){var e={};return Qi(this[Zi],(function(t,r){void 0!==r&&ra(e,t,r)})),e}}],[{key:"assert",value:function(t){return t instanceof e?t:e.getRuntimeSettings()}},{key:"getDefaultSettings",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=e[$i];if(r instanceof e||(r=new e,e[$i]=r),t){var n={};return r.forEach((function(e){if(e.startsWith(t)){var i=e.split("".concat(t,"."))[1];n[i]=r.get(e)}})),n}return r}},{key:"getRuntimeSettings",value:function(){var t=e[Xi];return t instanceof e||(t=new e(e.getDefaultSettings()),e[Xi]=t),t}},{key:"getObjectSettings",value:function(t,r){var n=null;if(t instanceof e)n=t;else if("object"===P(t)&&null!==t){var i=e[Yi];i instanceof WeakMap||(i=new WeakMap,e[Yi]=i),(n=i.get(t))instanceof e||(n=new e(e.assert(e.getObjectSettings(r))),i.set(t,n))}return n}},{key:"extendRuntimeSettings",value:function(){return e.getRuntimeSettings().extend()}}]),e}();function Qi(e,t){for(var r in e)t(r,e[r])}function ea(e,t,r,n){return!!function(e){var t,r,n;if("string"!=typeof e||(t=e.length-1)<0)return!1;for(n=-1;(r=e.indexOf(".",n+1))>=0;){if(r-n<2||r===t)return!1;n=r}return!0}(t)&&(ta(r)?function(e,t,r,n){var i;if(n.has(r))return ea(e,t,null,n);for(var a in n.add(r),i=0,r)Object.prototype.hasOwnProperty.call(r,a)&&(ea(e,0===a.length?t:"".concat(t,".").concat(a),r[a],n)||++i);return n.delete(r),0===i}(e,t,r,n instanceof WeakSet?n:new WeakSet):(e[t]=r,!0))}function ta(e){if("object"===P(e)&&null!==e){var t=Object.getPrototypeOf(e);if(t===Object.prototype||null===t)return!0}return!1}function ra(e,t,r){var n=t.indexOf(".");if(n>=0){var i=t.slice(0,n),a=e[i];if("object"!==P(a)||null===a){var o=a;a={},void 0!==o&&(a[""]=o),e[i]=a}ra(a,t.slice(n+1,t.length),r)}else e[t]=r}function na(e,t){for(var r=e.getSize(),n=0;n<r;n++){var i=[];e.getNodeValue(n,i),i[1]=i[1]*t,i[2]=i[2]*t,i[3]=i[3]*t,e.setNodeValue(n,i)}}Ji.getDefaultSettings().set("useCursors",!0);var ia=Symbol("LastRuntimeId"),aa={};function oa(e,t,r){return function(e,t,r){var n=e[t];n instanceof Array||(n=[0],Object.defineProperty(e,t,{value:n}));for(var i=!0,a=0;i&&a<n.length;++a){var o=0|n[a];o<r?(i=!1,o+=1):(o=0,a+1===n.length&&n.push(0)),n[a]=o}return n}(null!==e&&"object"===P(e)?e:aa,ia,("number"==typeof r&&r>0?r:4294967295)>>>0).join("string"==typeof t?t:"-")}var sa={},ca={add:function(e,t){var r=oe(e);sa[r]||(sa[r]={}),sa[r]=t},get:function(e,t){if("calibratedPixelSpacing"===e){var r=oe(t);return sa[r]}}};function la(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;return Math.abs(e[0]+t[0])<r&&Math.abs(e[1]+t[1])<r&&Math.abs(e[2]+t[2])<r}var ua=function(e){if(!window.crossOriginIsolated)throw new Error("Your page is NOT cross-origin isolated, see https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated");if(void 0===window.SharedArrayBuffer)throw new Error("SharedArrayBuffer is NOT supported in your browser see https://developer.chrome.com/blog/enabling-shared-array-buffer/");var t=new SharedArrayBuffer(e);return new Uint8Array(t)},da=function(e){if(!window.crossOriginIsolated)throw new Error("Your page is NOT cross-origin isolated, see https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated");if(void 0===window.SharedArrayBuffer)throw new Error("SharedArrayBuffer is NOT supported in your browser see https://developer.chrome.com/blog/enabling-shared-array-buffer/");var t=new SharedArrayBuffer(4*e);return new Float32Array(t)};function fa(e,t,r,n){if(e){var i=e.direction,a=e.imageIds;if(a&&a.length){var o=i.slice(6,9),s=rr.vec3.dot(o,r);if(!(Math.abs(s)<.99)){for(var c,l=rn(e,r)/2,u=0;u<a.length;u++){var d=a[u],f=Ye("imagePlaneModule",d).imagePositionPatient,v=rr.vec3.create();rr.vec3.sub(v,t,f);var h=rr.vec3.dot(v,r);Math.abs(h)<l&&(c=d)}return c}}}}function va(e,t){return!(e[0]<0||e[0]>=t[0]||e[1]<0||e[1]>=t[1]||e[2]<0||e[2]>=t[2])}function ha(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var ga=function(e,t){var r;r=t?[on(t)]:sn();var n=[];return r.forEach((function(t){var r,i=e.getActors(),a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return ha(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ha(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(t.getVolumeViewports());try{var o=function(){var e=r.value,t=e.getActors();if(t.length!==i.length)return"continue";i.every((function(e){var r=e.uid;return t.find((function(e){return r===e.uid}))}))&&n.push(e)};for(a.s();!(r=a.n()).done;)o()}catch(e){a.e(e)}finally{a.f()}})),n},ma=function(e,t){var r;r=t?[on(t)]:sn();var n=[];return r.forEach((function(t){var r=t.getVolumeViewports().filter((function(t){return t.hasVolumeId(e)}));n.push.apply(n,wt(r))})),n};function pa(e,t,r){var n={canvas:e,viewport:Ai(e,t,r),image:t,renderingTools:{}};n.transform=Yn(n),wi(n,!0)}function wa(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:f.Thumbnail,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-5;return new Promise((function(i,a){function o(t,r){var n,a=(Ye("generalSeriesModule",r)||{}).modality;t.isPreScaled=t.isPreScaled||(null===(n=t.preScale)||void 0===n?void 0:n.scaled),pa(e,t,a),i(r)}function s(e,t){console.error(e,t),a(e)}var c={targetBuffer:{type:"Float32Array",offset:null,length:null},preScale:{enabled:!0},requestType:r};Me.addRequest(function(e,t,r){var n=this;return Ue(e,r).then((function(t){o.call(n,t,e)}),(function(t){s.call(n,t,e)}))}.bind(null,t,null,c),r,{imageId:t},n)}))}var ya=function(e,t){var r=Ye("imagePlaneModule",e);if(!r)throw new Error("No imagePlaneModule found for imageId: ".concat(e));var n=r.columnCosines,i=r.columnPixelSpacing,a=r.rowCosines,o=r.rowPixelSpacing,s=r.imagePositionPatient,c=(r.rows,r.columns,rr.vec3.create());rr.vec3.scaleAndAdd(c,s,n,-i/2),rr.vec3.scaleAndAdd(c,c,a,-o/2);var l=rr.vec3.create();return rr.vec3.sub(l,t,c),[rr.vec3.dot(l,a)/o,rr.vec3.dot(l,n)/i]};function Ia(e,t){var r=Ye("imagePlaneModule",e);if(!r)throw new Error("No imagePlaneModule found for imageId: ".concat(e));var n=r.columnCosines,i=r.columnPixelSpacing,a=r.rowCosines,o=r.rowPixelSpacing,s=r.imagePositionPatient,c=rr.vec3.create();return rr.vec3.scaleAndAdd(c,s,a,o*(t[0]-.5)),rr.vec3.scaleAndAdd(c,c,n,i*(t[1]-.5)),Array.from(c)}function Ca(e,t,r,n,i,a){var o=r.min,s=r.max,c=r.current,l=rr.vec3.create();rr.vec3.sub(l,t,e);var u=Math.round((s-o)/i),d=(c-o)/(s-o)*u,f=Math.round(d),v=[e[0]-n[0]*d*i,e[1]-n[1]*d*i,e[2]-n[2]*d*i];(f+=a)>u?f=u:f<0&&(f=0);var h=f*i;return{newFocalPoint:v=[v[0]+n[0]*h,v[1]+n[1]*h,v[2]+n[2]*h],newPosition:[v[0]+l[0],v[1]+l[1],v[2]+l[2]]}}function ba(e,t){var r;r=t?[cn(t)]:sn();var n=[];return r.forEach((function(t){var r=t.getStackViewports().filter((function(t){return t.hasImageURI(e)})),i=t.getVolumeViewports().filter((function(t){return t.hasImageURI(e)}));n.push.apply(n,wt(r).concat(wt(i)))})),n}var ka={},Ea={add:function(e,t){var r=Nr(e,2),n=r[0],i=r[1],a="".concat(n,"_").concat(i);ka[a]||(ka[a]={}),ka[a]=t},get:function(e,t){if("spatialRegistrationModule"===e){var r=Nr(t,2),n=r[0],i=r[1],a="".concat(n,"_").concat(i);if(ka[a])return ka[a];var o="".concat(i,"_").concat(n);return ka[o]?rr.mat4.invert(rr.mat4.create(),ka[o]):void 0}}};Ke(Ea.get.bind(Ea));var Ra=Ea,Pa=function(e,t){if(!(e instanceof ji&&t instanceof ji))throw new Error("calculateViewportsSpatialRegistration: Both viewports must be StackViewports, volume viewports are not supported yet");if(e.getFrameOfReferenceUID()!==t.getFrameOfReferenceUID()){var r=e.getCurrentImageId(),n=t.getCurrentImageId(),i=Ye("imagePlaneModule",r),a=Ye("imagePlaneModule",n);if(!(i&&a&&Hn(i.imageOrientationPatient,a.imageOrientationPatient)))throw new Error("Viewport spatial registration only supported for same orientation (hence translation only) for now");var o=i.imagePositionPatient,s=a.imagePositionPatient,c=rr.vec3.subtract(rr.vec3.create(),o,s),l=rr.mat4.fromTranslation(rr.mat4.create(),c);Ra.add([e.id,t.id],l)}};function Aa(e){var t=e.getImageData(),r=t.imageData,n=t.dimensions,i=e.canvas,a=[i.width,0],o=[i.width,i.height],s=[0,i.height],c=e.canvasToWorld([0,0]),l=e.canvasToWorld(a),u=e.canvasToWorld(o),d=e.canvasToWorld(s),f=r.worldToIndex(c),v=r.worldToIndex(l),h=r.worldToIndex(u),g=r.worldToIndex(d);return function(e){var t=e.dimensions,r=e.imageData,n=e.topRightImage,i=e.bottomRightImage,a=e.bottomLeftImage,o=e.topLeftWorld,s=e.topRightWorld,c=e.bottomRightWorld,l=e.bottomLeftWorld,u=xa(e.topLeftImage,t)?o:r.indexToWorld([0,0,0]),d=xa(n,t)?s:r.indexToWorld([t[0]-1,0,0]),f=xa(i,t)?c:r.indexToWorld([t[0]-1,t[1]-1,0]);return[u,d,xa(a,t)?l:r.indexToWorld([0,t[1]-1,0]),f]}({dimensions:n,imageData:r,topLeftImage:f,topRightImage:v,bottomRightImage:h,bottomLeftImage:g,topLeftWorld:c,topRightWorld:l,bottomRightWorld:u,bottomLeftWorld:d})}function xa(e,t){return e[0]>0||e[0]<t[0]-1||e[1]>0||e[1]<t[1]-1||e[2]>0||e[2]<t[2]-1}function _a(){return _a=O(T().mark((function e(t,r,n){var i,a,o,s=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=s.length>3&&void 0!==s[3]&&s[3],a=s.length>4&&void 0!==s[4]&&s[4],n.forEach((function(e){var r=t.getViewport(e);if(!r)throw new Error("Viewport with Id ".concat(e," does not exist"));if(!(r instanceof Un))throw new Error("setVolumesForViewports only supports VolumeViewport")})),o=n.map(function(){var e=O(T().mark((function e(n){var o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.getViewport(n),e.next=3,o.setVolumes(r,i,a);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=6,Promise.all(o);case 6:return e.abrupt("return");case 7:case"end":return e.stop()}}),e)}))),_a.apply(this,arguments)}var Oa=function(e,t,r){return _a.apply(this,arguments)};function Sa(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Ta(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ta(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function Ta(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Da(){return Da=O(T().mark((function e(t,r,n){var i,a,o,s,c,l,u,d=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=d.length>3&&void 0!==d[3]&&d[3],a=d.length>4&&void 0!==d[4]&&d[4],o=Sa(n),e.prev=3,o.s();case 5:if((s=o.n()).done){e.next=15;break}if(c=s.value,l=t.getViewport(c)){e.next=10;break}throw new Error("Viewport with Id ".concat(c," does not exist"));case 10:if(l instanceof Un){e.next=13;break}return console.warn("Viewport with Id ".concat(c," is not a VolumeViewport. Cannot add volume to this viewport.")),e.abrupt("return");case 13:e.next=5;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),o.e(e.t0);case 20:return e.prev=20,o.f(),e.finish(20);case 23:return u=n.map(function(){var e=O(T().mark((function e(n){var o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.getViewport(n),e.next=3,o.addVolumes(r,i,a);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=26,Promise.all(u);case 26:return e.abrupt("return");case 27:case"end":return e.stop()}}),e,null,[[3,17,20,23]])}))),Da.apply(this,arguments)}var Ma=function(e,t,r){return Da.apply(this,arguments)}}(),z}()}));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"),require("gl-matrix"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/macros"),require("@kitware/vtk.js/Rendering/Core/Camera"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Rendering/Core/Volume"),require("@kitware/vtk.js/Rendering/Profiles/Volume"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Rendering/OpenGL/Texture"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper"),require("@kitware/vtk.js/Rendering/Core/ImageMapper"),require("@kitware/vtk.js/Rendering/Core/ImageSlice"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Rendering/Core/Renderer"),require("@kitware/vtk.js/Rendering/Core/RenderWindow"),require("@kitware/vtk.js/Rendering/Core/RenderWindowInteractor"),require("@kitware/vtk.js/Common/Core/Points"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("@kitware/vtk.js/Rendering/OpenGL/RenderWindow"),require("@kitware/vtk.js/Rendering/OpenGL/Actor"),require("@kitware/vtk.js/Rendering/OpenGL/Actor2D"),require("@kitware/vtk.js/Rendering/OpenGL/Camera"),require("@kitware/vtk.js/Rendering/OpenGL/Glyph3DMapper"),require("@kitware/vtk.js/Rendering/OpenGL/ImageMapper"),require("@kitware/vtk.js/Rendering/OpenGL/ImageSlice"),require("@kitware/vtk.js/Rendering/OpenGL/PixelSpaceCallbackMapper"),require("@kitware/vtk.js/Rendering/OpenGL/PolyDataMapper"),require("@kitware/vtk.js/Rendering/OpenGL/Renderer"),require("@kitware/vtk.js/Rendering/OpenGL/Skybox"),require("@kitware/vtk.js/Rendering/OpenGL/SphereMapper"),require("@kitware/vtk.js/Rendering/OpenGL/StickMapper"),require("@kitware/vtk.js/Rendering/OpenGL/Volume"),require("@kitware/vtk.js/Rendering/OpenGL/VolumeMapper"),require("@kitware/vtk.js/Rendering/SceneGraph/ViewNodeFactory"),require("@kitware/vtk.js/Rendering/OpenGL/Texture/Constants"),require("@kitware/vtk.js/Common/Core/DataArray/Constants"),require("@kitware/vtk.js/Rendering/Core/Property/Constants")):"function"==typeof define&&define.amd?define(["@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants","gl-matrix","@kitware/vtk.js/Common/DataModel/Plane","@kitware/vtk.js/macros","@kitware/vtk.js/Rendering/Core/Camera","@kitware/vtk.js/Common/Core/Math","@kitware/vtk.js/Common/Core/MatrixBuilder","@kitware/vtk.js/Rendering/Core/Volume","@kitware/vtk.js/Rendering/Profiles/Volume","@kitware/vtk.js/Common/DataModel/ImageData","@kitware/vtk.js/Common/Core/DataArray","@kitware/vtk.js/Rendering/OpenGL/Texture","@kitware/vtk.js/Rendering/Core/VolumeMapper","@kitware/vtk.js/Rendering/Core/ImageMapper","@kitware/vtk.js/Rendering/Core/ImageSlice","@kitware/vtk.js/Rendering/Core/ColorTransferFunction","@kitware/vtk.js/Rendering/Core/Renderer","@kitware/vtk.js/Rendering/Core/RenderWindow","@kitware/vtk.js/Rendering/Core/RenderWindowInteractor","@kitware/vtk.js/Common/Core/Points","@kitware/vtk.js/Common/DataModel/PolyData","@kitware/vtk.js/Rendering/Core/Actor","@kitware/vtk.js/Rendering/Core/Mapper","@kitware/vtk.js/Rendering/OpenGL/RenderWindow","@kitware/vtk.js/Rendering/OpenGL/Actor","@kitware/vtk.js/Rendering/OpenGL/Actor2D","@kitware/vtk.js/Rendering/OpenGL/Camera","@kitware/vtk.js/Rendering/OpenGL/Glyph3DMapper","@kitware/vtk.js/Rendering/OpenGL/ImageMapper","@kitware/vtk.js/Rendering/OpenGL/ImageSlice","@kitware/vtk.js/Rendering/OpenGL/PixelSpaceCallbackMapper","@kitware/vtk.js/Rendering/OpenGL/PolyDataMapper","@kitware/vtk.js/Rendering/OpenGL/Renderer","@kitware/vtk.js/Rendering/OpenGL/Skybox","@kitware/vtk.js/Rendering/OpenGL/SphereMapper","@kitware/vtk.js/Rendering/OpenGL/StickMapper","@kitware/vtk.js/Rendering/OpenGL/Volume","@kitware/vtk.js/Rendering/OpenGL/VolumeMapper","@kitware/vtk.js/Rendering/SceneGraph/ViewNodeFactory","@kitware/vtk.js/Rendering/OpenGL/Texture/Constants","@kitware/vtk.js/Common/Core/DataArray/Constants","@kitware/vtk.js/Rendering/Core/Property/Constants"],t):"object"==typeof exports?exports.cornerstone3D=t(require("@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"),require("gl-matrix"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/macros"),require("@kitware/vtk.js/Rendering/Core/Camera"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Rendering/Core/Volume"),require("@kitware/vtk.js/Rendering/Profiles/Volume"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Rendering/OpenGL/Texture"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper"),require("@kitware/vtk.js/Rendering/Core/ImageMapper"),require("@kitware/vtk.js/Rendering/Core/ImageSlice"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Rendering/Core/Renderer"),require("@kitware/vtk.js/Rendering/Core/RenderWindow"),require("@kitware/vtk.js/Rendering/Core/RenderWindowInteractor"),require("@kitware/vtk.js/Common/Core/Points"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("@kitware/vtk.js/Rendering/OpenGL/RenderWindow"),require("@kitware/vtk.js/Rendering/OpenGL/Actor"),require("@kitware/vtk.js/Rendering/OpenGL/Actor2D"),require("@kitware/vtk.js/Rendering/OpenGL/Camera"),require("@kitware/vtk.js/Rendering/OpenGL/Glyph3DMapper"),require("@kitware/vtk.js/Rendering/OpenGL/ImageMapper"),require("@kitware/vtk.js/Rendering/OpenGL/ImageSlice"),require("@kitware/vtk.js/Rendering/OpenGL/PixelSpaceCallbackMapper"),require("@kitware/vtk.js/Rendering/OpenGL/PolyDataMapper"),require("@kitware/vtk.js/Rendering/OpenGL/Renderer"),require("@kitware/vtk.js/Rendering/OpenGL/Skybox"),require("@kitware/vtk.js/Rendering/OpenGL/SphereMapper"),require("@kitware/vtk.js/Rendering/OpenGL/StickMapper"),require("@kitware/vtk.js/Rendering/OpenGL/Volume"),require("@kitware/vtk.js/Rendering/OpenGL/VolumeMapper"),require("@kitware/vtk.js/Rendering/SceneGraph/ViewNodeFactory"),require("@kitware/vtk.js/Rendering/OpenGL/Texture/Constants"),require("@kitware/vtk.js/Common/Core/DataArray/Constants"),require("@kitware/vtk.js/Rendering/Core/Property/Constants")):e.cornerstone3D=t(e["@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"],e.window,e["@kitware/vtk.js/Common/DataModel/Plane"],e["@kitware/vtk.js/macros"],e["@kitware/vtk.js/Rendering/Core/Camera"],e["@kitware/vtk.js/Common/Core/Math"],e["@kitware/vtk.js/Common/Core/MatrixBuilder"],e["@kitware/vtk.js/Rendering/Core/Volume"],e["@kitware/vtk.js/Rendering/Profiles/Volume"],e["@kitware/vtk.js/Common/DataModel/ImageData"],e["@kitware/vtk.js/Common/Core/DataArray"],e["@kitware/vtk.js/Rendering/OpenGL/Texture"],e["@kitware/vtk.js/Rendering/Core/VolumeMapper"],e["@kitware/vtk.js/Rendering/Core/ImageMapper"],e["@kitware/vtk.js/Rendering/Core/ImageSlice"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction"],e["@kitware/vtk.js/Rendering/Core/Renderer"],e["@kitware/vtk.js/Rendering/Core/RenderWindow"],e["@kitware/vtk.js/Rendering/Core/RenderWindowInteractor"],e["@kitware/vtk.js/Common/Core/Points"],e["@kitware/vtk.js/Common/DataModel/PolyData"],e["@kitware/vtk.js/Rendering/Core/Actor"],e["@kitware/vtk.js/Rendering/Core/Mapper"],e["@kitware/vtk.js/Rendering/OpenGL/RenderWindow"],e["@kitware/vtk.js/Rendering/OpenGL/Actor"],e["@kitware/vtk.js/Rendering/OpenGL/Actor2D"],e["@kitware/vtk.js/Rendering/OpenGL/Camera"],e["@kitware/vtk.js/Rendering/OpenGL/Glyph3DMapper"],e["@kitware/vtk.js/Rendering/OpenGL/ImageMapper"],e["@kitware/vtk.js/Rendering/OpenGL/ImageSlice"],e["@kitware/vtk.js/Rendering/OpenGL/PixelSpaceCallbackMapper"],e["@kitware/vtk.js/Rendering/OpenGL/PolyDataMapper"],e["@kitware/vtk.js/Rendering/OpenGL/Renderer"],e["@kitware/vtk.js/Rendering/OpenGL/Skybox"],e["@kitware/vtk.js/Rendering/OpenGL/SphereMapper"],e["@kitware/vtk.js/Rendering/OpenGL/StickMapper"],e["@kitware/vtk.js/Rendering/OpenGL/Volume"],e["@kitware/vtk.js/Rendering/OpenGL/VolumeMapper"],e["@kitware/vtk.js/Rendering/SceneGraph/ViewNodeFactory"],e["@kitware/vtk.js/Rendering/OpenGL/Texture/Constants"],e["@kitware/vtk.js/Common/Core/DataArray/Constants"],e["@kitware/vtk.js/Rendering/Core/Property/Constants"])}(self,(function(e,t,r,n,i,a,o,s,c,l,u,d,f,v,h,g,m,p,w,y,I,C,b,k,E,R,P,A,x,_,O,S,T,D,M,V,j,L,U,N,F,G){return function(){var W={132:function(e,t,r){var n=r(921).default;function i(){"use strict";e.exports=i=function(){return t},e.exports.__esModule=!0,e.exports.default=e.exports;var t={},r=Object.prototype,a=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function d(e,t,r,n){var i=t&&t.prototype instanceof h?t:h,a=Object.create(i.prototype),o=new P(n||[]);return a._invoke=function(e,t,r){var n="suspendedStart";return function(i,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw a;return{value:void 0,done:!0}}for(r.method=i,r.arg=a;;){var o=r.delegate;if(o){var s=k(o,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=f(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}(e,r,o),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var v={};function h(){}function g(){}function m(){}var p={};u(p,s,(function(){return this}));var w=Object.getPrototypeOf,y=w&&w(w(A([])));y&&y!==r&&a.call(y,s)&&(p=y);var I=m.prototype=h.prototype=Object.create(p);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function r(i,o,s,c){var l=f(e[i],e,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==n(d)&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){r("next",e,s,c)}),(function(e){r("throw",e,s,c)})):t.resolve(d).then((function(e){u.value=e,s(u)}),(function(e){return r("throw",e,s,c)}))}c(l.arg)}var i;this._invoke=function(e,n){function a(){return new t((function(t,i){r(e,n,t,i)}))}return i=i?i.then(a,a):a()}}function k(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method))return v;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var n=f(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,v;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,v):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,v)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function A(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r<e.length;)if(a.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:x}}function x(){return{value:void 0,done:!0}}return g.prototype=m,u(I,"constructor",m),u(m,"constructor",g),g.displayName=u(m,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,l,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},C(b.prototype),u(b.prototype,c,(function(){return this})),t.AsyncIterator=b,t.async=function(e,r,n,i,a){void 0===a&&(a=Promise);var o=new b(d(e,r,n,i),a);return t.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},C(I),u(I,l,"Generator"),u(I,s,(function(){return this})),u(I,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=A,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(R),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],o=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=a.call(i,"catchLoc"),c=a.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),R(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;R(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),v}},t}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},921:function(e){function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},162:function(e,t,r){var n=r(132)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},907:function(e,t,r){e=r.nmd(e);var n="__lodash_hash_undefined__",i=9007199254740991,a="[object Arguments]",o="[object Boolean]",s="[object Date]",c="[object Function]",l="[object GeneratorFunction]",u="[object Map]",d="[object Number]",f="[object Object]",v="[object Promise]",h="[object RegExp]",g="[object Set]",m="[object String]",p="[object Symbol]",w="[object WeakMap]",y="[object ArrayBuffer]",I="[object DataView]",C="[object Float32Array]",b="[object Float64Array]",k="[object Int8Array]",E="[object Int16Array]",R="[object Int32Array]",P="[object Uint8Array]",A="[object Uint8ClampedArray]",x="[object Uint16Array]",_="[object Uint32Array]",O=/\w*$/,S=/^\[object .+?Constructor\]$/,T=/^(?:0|[1-9]\d*)$/,D={};D[a]=D["[object Array]"]=D[y]=D[I]=D[o]=D[s]=D[C]=D[b]=D[k]=D[E]=D[R]=D[u]=D[d]=D[f]=D[h]=D[g]=D[m]=D[p]=D[P]=D[A]=D[x]=D[_]=!0,D["[object Error]"]=D[c]=D[w]=!1;var M="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,V="object"==typeof self&&self&&self.Object===Object&&self,j=M||V||Function("return this")(),L=t&&!t.nodeType&&t,U=L&&e&&!e.nodeType&&e,N=U&&U.exports===L;function F(e,t){return e.set(t[0],t[1]),e}function G(e,t){return e.add(t),e}function W(e,t,r,n){var i=-1,a=e?e.length:0;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function B(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function q(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function z(e,t){return function(r){return e(t(r))}}function H(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var K,$=Array.prototype,X=Function.prototype,Y=Object.prototype,Z=j["__core-js_shared__"],J=(K=/[^.]+$/.exec(Z&&Z.keys&&Z.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Q=X.toString,ee=Y.hasOwnProperty,te=Y.toString,re=RegExp("^"+Q.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ne=N?j.Buffer:void 0,ie=j.Symbol,ae=j.Uint8Array,oe=z(Object.getPrototypeOf,Object),se=Object.create,ce=Y.propertyIsEnumerable,le=$.splice,ue=Object.getOwnPropertySymbols,de=ne?ne.isBuffer:void 0,fe=z(Object.keys,Object),ve=je(j,"DataView"),he=je(j,"Map"),ge=je(j,"Promise"),me=je(j,"Set"),pe=je(j,"WeakMap"),we=je(Object,"create"),ye=Ge(ve),Ie=Ge(he),Ce=Ge(ge),be=Ge(me),ke=Ge(pe),Ee=ie?ie.prototype:void 0,Re=Ee?Ee.valueOf:void 0;function Pe(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Ae(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function xe(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function _e(e){this.__data__=new Ae(e)}function Oe(e,t,r){var n=e[t];ee.call(e,t)&&We(n,r)&&(void 0!==r||t in e)||(e[t]=r)}function Se(e,t){for(var r=e.length;r--;)if(We(e[r][0],t))return r;return-1}function Te(e,t,r,n,i,v,w){var S;if(n&&(S=v?n(e,i,v,w):n(e)),void 0!==S)return S;if(!Ke(e))return e;var T=Be(e);if(T){if(S=function(e){var t=e.length,r=e.constructor(t);return t&&"string"==typeof e[0]&&ee.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(e),!t)return function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(e,S)}else{var M=Ue(e),V=M==c||M==l;if(ze(e))return function(e,t){if(t)return e.slice();var r=new e.constructor(e.length);return e.copy(r),r}(e,t);if(M==f||M==a||V&&!v){if(B(e))return v?e:{};if(S=function(e){return"function"!=typeof e.constructor||Fe(e)?{}:Ke(t=oe(e))?se(t):{};var t}(V?{}:e),!t)return function(e,t){return Me(e,Le(e),t)}(e,function(e,t){return e&&Me(t,$e(t),e)}(S,e))}else{if(!D[M])return v?e:{};S=function(e,t,r,n){var i,a=e.constructor;switch(t){case y:return De(e);case o:case s:return new a(+e);case I:return function(e,t){var r=t?De(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,n);case C:case b:case k:case E:case R:case P:case A:case x:case _:return function(e,t){var r=t?De(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}(e,n);case u:return function(e,t,r){return W(t?r(q(e),!0):q(e),F,new e.constructor)}(e,n,r);case d:case m:return new a(e);case h:return function(e){var t=new e.constructor(e.source,O.exec(e));return t.lastIndex=e.lastIndex,t}(e);case g:return function(e,t,r){return W(t?r(H(e),!0):H(e),G,new e.constructor)}(e,n,r);case p:return i=e,Re?Object(Re.call(i)):{}}}(e,M,Te,t)}}w||(w=new _e);var j=w.get(e);if(j)return j;if(w.set(e,S),!T)var L=r?function(e){return function(e,t,r){var n=t(e);return Be(e)?n:function(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}(n,r(e))}(e,$e,Le)}(e):$e(e);return function(e,t){for(var r=-1,n=e?e.length:0;++r<n&&!1!==t(e[r],r););}(L||e,(function(i,a){L&&(i=e[a=i]),Oe(S,a,Te(i,t,r,n,a,e,w))})),S}function De(e){var t=new e.constructor(e.byteLength);return new ae(t).set(new ae(e)),t}function Me(e,t,r,n){r||(r={});for(var i=-1,a=t.length;++i<a;){var o=t[i],s=n?n(r[o],e[o],o,r,e):void 0;Oe(r,o,void 0===s?e[o]:s)}return r}function Ve(e,t){var r,n,i=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof t?"string":"hash"]:i.map}function je(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Ke(e)||(t=e,J&&J in t))&&(He(e)||B(e)?re:S).test(Ge(e));var t}(r)?r:void 0}Pe.prototype.clear=function(){this.__data__=we?we(null):{}},Pe.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Pe.prototype.get=function(e){var t=this.__data__;if(we){var r=t[e];return r===n?void 0:r}return ee.call(t,e)?t[e]:void 0},Pe.prototype.has=function(e){var t=this.__data__;return we?void 0!==t[e]:ee.call(t,e)},Pe.prototype.set=function(e,t){return this.__data__[e]=we&&void 0===t?n:t,this},Ae.prototype.clear=function(){this.__data__=[]},Ae.prototype.delete=function(e){var t=this.__data__,r=Se(t,e);return!(r<0||(r==t.length-1?t.pop():le.call(t,r,1),0))},Ae.prototype.get=function(e){var t=this.__data__,r=Se(t,e);return r<0?void 0:t[r][1]},Ae.prototype.has=function(e){return Se(this.__data__,e)>-1},Ae.prototype.set=function(e,t){var r=this.__data__,n=Se(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},xe.prototype.clear=function(){this.__data__={hash:new Pe,map:new(he||Ae),string:new Pe}},xe.prototype.delete=function(e){return Ve(this,e).delete(e)},xe.prototype.get=function(e){return Ve(this,e).get(e)},xe.prototype.has=function(e){return Ve(this,e).has(e)},xe.prototype.set=function(e,t){return Ve(this,e).set(e,t),this},_e.prototype.clear=function(){this.__data__=new Ae},_e.prototype.delete=function(e){return this.__data__.delete(e)},_e.prototype.get=function(e){return this.__data__.get(e)},_e.prototype.has=function(e){return this.__data__.has(e)},_e.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Ae){var n=r.__data__;if(!he||n.length<199)return n.push([e,t]),this;r=this.__data__=new xe(n)}return r.set(e,t),this};var Le=ue?z(ue,Object):function(){return[]},Ue=function(e){return te.call(e)};function Ne(e,t){return!!(t=null==t?i:t)&&("number"==typeof e||T.test(e))&&e>-1&&e%1==0&&e<t}function Fe(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Y)}function Ge(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){return e===t||e!=e&&t!=t}(ve&&Ue(new ve(new ArrayBuffer(1)))!=I||he&&Ue(new he)!=u||ge&&Ue(ge.resolve())!=v||me&&Ue(new me)!=g||pe&&Ue(new pe)!=w)&&(Ue=function(e){var t=te.call(e),r=t==f?e.constructor:void 0,n=r?Ge(r):void 0;if(n)switch(n){case ye:return I;case Ie:return u;case Ce:return v;case be:return g;case ke:return w}return t});var Be=Array.isArray;function qe(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i}(e.length)&&!He(e)}var ze=de||function(){return!1};function He(e){var t=Ke(e)?te.call(e):"";return t==c||t==l}function Ke(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function $e(e){return qe(e)?function(e,t){var r=Be(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&qe(e)}(e)&&ee.call(e,"callee")&&(!ce.call(e,"callee")||te.call(e)==a)}(e)?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],n=r.length,i=!!n;for(var o in e)!t&&!ee.call(e,o)||i&&("length"==o||Ne(o,n))||r.push(o);return r}(e):function(e){if(!Fe(e))return fe(e);var t=[];for(var r in Object(e))ee.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}e.exports=function(e){return Te(e,!0,!0)}},785:function(e){"use strict";e.exports=u},948:function(e){"use strict";e.exports=F},807:function(e){"use strict";e.exports=a},847:function(e){"use strict";e.exports=o},348:function(e){"use strict";e.exports=y},283:function(e){"use strict";e.exports=l},864:function(e){"use strict";e.exports=r},70:function(e){"use strict";e.exports=I},474:function(e){"use strict";e.exports=C},821:function(e){"use strict";e.exports=i},795:function(e){"use strict";e.exports=g},896:function(e){"use strict";e.exports=v},861:function(e){"use strict";e.exports=h},610:function(e){"use strict";e.exports=b},478:function(e){"use strict";e.exports=G},329:function(e){"use strict";e.exports=p},673:function(e){"use strict";e.exports=w},281:function(e){"use strict";e.exports=m},739:function(e){"use strict";e.exports=s},9:function(e){"use strict";e.exports=f},468:function(t){"use strict";t.exports=e},643:function(e){"use strict";e.exports=E},128:function(e){"use strict";e.exports=R},664:function(e){"use strict";e.exports=P},973:function(e){"use strict";e.exports=A},394:function(e){"use strict";e.exports=x},582:function(e){"use strict";e.exports=_},482:function(e){"use strict";e.exports=O},343:function(e){"use strict";e.exports=S},21:function(e){"use strict";e.exports=k},363:function(e){"use strict";e.exports=T},982:function(e){"use strict";e.exports=D},130:function(e){"use strict";e.exports=M},298:function(e){"use strict";e.exports=V},953:function(e){"use strict";e.exports=d},395:function(e){"use strict";e.exports=N},398:function(e){"use strict";e.exports=j},388:function(e){"use strict";e.exports=L},215:function(e){"use strict";e.exports=c},120:function(e){"use strict";e.exports=U},197:function(e){"use strict";e.exports=n},976:function(e){"use strict";e.exports=t}},B={};function q(e){var t=B[e];if(void 0!==t)return t.exports;var r=B[e]={id:e,loaded:!1,exports:{}};return W[e](r,r.exports,q),r.loaded=!0,r.exports}q.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return q.d(t,{a:t}),t},q.d=function(e,t){for(var r in t)q.o(t,r)&&!q.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},q.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),q.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},q.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},q.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var z={};return function(){"use strict";q.r(z),q.d(z,{CONSTANTS:function(){return t},EVENTS:function(){return u},Enums:function(){return e},ImageVolume:function(){return re},RenderingEngine:function(){return Bi},Settings:function(){return Qi},StackViewport:function(){return Li},Viewport:function(){return en},VolumeViewport:function(){return Nn},addVolumesToViewports:function(){return ja},cache:function(){return Ur},createVolumeActor:function(){return ft},createVolumeMapper:function(){return _e},eventTarget:function(){return ie},getEnabledElement:function(){return Hi},getEnabledElementByIds:function(){return Ki},getEnabledElements:function(){return $i},getOrCreateCanvas:function(){return gt},getRenderingEngine:function(){return sn},getRenderingEngines:function(){return cn},getShouldUseCPURendering:function(){return Vn},imageLoadPoolManager:function(){return Me},imageLoader:function(){return n},imageRetrievalPoolManager:function(){return zi},init:function(){return Sn},isCornerstoneInitialized:function(){return jn},metaData:function(){return i},registerImageLoader:function(){return Be},requestPoolManager:function(){return Me},resetUseCPURendering:function(){return Mn},setUseCPURendering:function(){return Dn},setVolumesForViewports:function(){return Ta},triggerEvent:function(){return ae},utilities:function(){return c},volumeLoader:function(){return r}});var e={};q.r(e),q.d(e,{BlendModes:function(){return I},Events:function(){return u},InterpolationType:function(){return m},OrientationAxis:function(){return C},RequestType:function(){return f},ViewportType:function(){return h}});var t={};q.r(t),q.d(t,{CPU_COLORMAPS:function(){return b},EPSILON:function(){return R},MPR_CAMERA_VALUES:function(){return x},RENDERING_DEFAULTS:function(){return E}});var r={};q.r(r),q.d(r,{createAndCacheDerivedVolume:function(){return we},createAndCacheVolume:function(){return me},createLocalVolume:function(){return Ie},loadVolume:function(){return ge},registerUnknownVolumeLoader:function(){return be},registerVolumeLoader:function(){return Ce}});var n={};q.r(n),q.d(n,{cancelLoadAll:function(){return We},cancelLoadImage:function(){return Fe},cancelLoadImages:function(){return Ge},loadAndCacheImage:function(){return Ue},loadAndCacheImages:function(){return Ne},loadImage:function(){return Le},registerImageLoader:function(){return Be},registerUnknownImageLoader:function(){return qe},unregisterAllImageLoaders:function(){return ze}});var i={};q.r(i),q.d(i,{addProvider:function(){return Ke},get:function(){return Ye},removeAllProviders:function(){return Xe},removeProvider:function(){return $e}});var a={};q.r(a),q.d(a,{toLowHighRange:function(){return Je},toWindowLevel:function(){return Ze}});var o={};q.r(o),q.d(o,{linePlaneIntersection:function(){return zr},planeDistanceToPoint:function(){return $r},planeEquation:function(){return Hr},threePlaneIntersection:function(){return Kr}});var s,c={};q.r(c),q.d(c,{calculateViewportsSpatialRegistration:function(){return xa},calibratedPixelSpacingMetadataProvider:function(){return la},createFloat32SharedArray:function(){return fa},createUint8SharedArray:function(){return da},getClosestImageId:function(){return va},getClosestStackImageIndexForPoint:function(){return Ea},getImageSliceDataForVolumeViewport:function(){return on},getMinMax:function(){return Qe},getRuntimeId:function(){return sa},getSliceRange:function(){return rn},getSpacingInNormalDirection:function(){return nn},getTargetVolumeAndSpacingInNormalDir:function(){return an},getViewportImageCornersInWorld:function(){return _a},getViewportsWithImageURI:function(){return ka},getViewportsWithVolumeId:function(){return pa},getVolumeActorCorners:function(){return tn},getVolumeViewportsContainingSameVolumes:function(){return ma},imageIdToURI:function(){return oe},imageToWorldCoords:function(){return Ca},indexWithinDimensions:function(){return ha},invertRgbTransferFunction:function(){return Hn},isEqual:function(){return Kn},isImageActor:function(){return qr},isOpposite:function(){return ua},loadImageToCanvas:function(){return ya},planar:function(){return o},renderToCanvas:function(){return wa},scaleRgbTransferFunction:function(){return ia},snapFocalPointToSlice:function(){return ba},spatialRegistrationMetadataProvider:function(){return Aa},transformWorldToIndex:function(){return Ln},triggerEvent:function(){return ae},uuidv4:function(){return ue},windowLevel:function(){return a},worldToImageCoords:function(){return Ia}}),function(e){e.CACHE_SIZE_EXCEEDED="CACHE_SIZE_EXCEEDED",e.IMAGE_LOAD_ERROR="IMAGE_LOAD_ERROR",e.CAMERA_MODIFIED="CORNERSTONE_CAMERA_MODIFIED",e.CAMERA_RESET="CORNERSTONE_CAMERA_RESET",e.VOI_MODIFIED="CORNERSTONE_VOI_MODIFIED",e.ELEMENT_DISABLED="CORNERSTONE_ELEMENT_DISABLED",e.ELEMENT_ENABLED="CORNERSTONE_ELEMENT_ENABLED",e.IMAGE_RENDERED="CORNERSTONE_IMAGE_RENDERED",e.IMAGE_VOLUME_MODIFIED="CORNERSTONE_IMAGE_VOLUME_MODIFIED",e.IMAGE_LOADED="CORNERSTONE_IMAGE_LOADED",e.IMAGE_LOAD_FAILED="CORNERSTONE_IMAGE_LOAD_FAILED",e.VOLUME_VIEWPORT_NEW_VOLUME="CORNERSTONE_VOLUME_VIEWPORT_NEW_VOLUME",e.VOLUME_LOADED="CORNERSTONE_VOLUME_LOADED",e.VOLUME_LOADED_FAILED="CORNERSTONE_VOLUME_LOADED_FAILED",e.IMAGE_CACHE_IMAGE_ADDED="CORNERSTONE_IMAGE_CACHE_IMAGE_ADDED",e.IMAGE_CACHE_IMAGE_REMOVED="CORNERSTONE_IMAGE_CACHE_IMAGE_REMOVED",e.VOLUME_CACHE_VOLUME_ADDED="CORNERSTONE_VOLUME_CACHE_VOLUME_ADDED",e.VOLUME_CACHE_VOLUME_REMOVED="CORNERSTONE_VOLUME_CACHE_VOLUME_REMOVED",e.STACK_NEW_IMAGE="CORNERSTONE_STACK_NEW_IMAGE",e.VOLUME_NEW_IMAGE="CORNERSTONE_VOLUME_NEW_IMAGE",e.PRE_STACK_NEW_IMAGE="CORNERSTONE_PRE_STACK_NEW_IMAGE",e.IMAGE_SPACING_CALIBRATED="CORNERSTONE_IMAGE_SPACING_CALIBRATED",e.IMAGE_LOAD_PROGRESS="CORNERSTONE_IMAGE_LOAD_PROGRESS",e.STACK_VIEWPORT_NEW_STACK="CORNERSTONE_STACK_VIEWPORT_NEW_STACK",e.STACK_VIEWPORT_SCROLL="CORNERSTONE_STACK_VIEWPORT_SCROLL"}(s||(s={}));var l,u=s;!function(e){e.Interaction="interaction",e.Thumbnail="thumbnail",e.Prefetch="prefetch"}(l||(l={}));var d,f=l;!function(e){e.STACK="stack",e.ORTHOGRAPHIC="orthographic",e.PERSPECTIVE="perspective"}(d||(d={}));var v,h=d;!function(e){e[e.NEAREST=0]="NEAREST",e[e.LINEAR=1]="LINEAR",e[e.FAST_LINEAR=2]="FAST_LINEAR"}(v||(v={}));var g,m=v,p=q(468),w=q.n(p)().BlendMode;!function(e){e[e.COMPOSITE=w.COMPOSITE_BLEND]="COMPOSITE",e[e.MAXIMUM_INTENSITY_BLEND=w.MAXIMUM_INTENSITY_BLEND]="MAXIMUM_INTENSITY_BLEND",e[e.MINIMUM_INTENSITY_BLEND=w.MINIMUM_INTENSITY_BLEND]="MINIMUM_INTENSITY_BLEND",e[e.AVERAGE_INTENSITY_BLEND=w.AVERAGE_INTENSITY_BLEND]="AVERAGE_INTENSITY_BLEND"}(g||(g={}));var y,I=g;!function(e){e.AXIAL="axial",e.CORONAL="coronal",e.SAGITTAL="sagittal",e.ACQUISITION="acquisition"}(y||(y={}));var C=y,b={hotIron:{name:"Hot Iron",numOfColors:256,colors:[[0,0,0,255],[2,0,0,255],[4,0,0,255],[6,0,0,255],[8,0,0,255],[10,0,0,255],[12,0,0,255],[14,0,0,255],[16,0,0,255],[18,0,0,255],[20,0,0,255],[22,0,0,255],[24,0,0,255],[26,0,0,255],[28,0,0,255],[30,0,0,255],[32,0,0,255],[34,0,0,255],[36,0,0,255],[38,0,0,255],[40,0,0,255],[42,0,0,255],[44,0,0,255],[46,0,0,255],[48,0,0,255],[50,0,0,255],[52,0,0,255],[54,0,0,255],[56,0,0,255],[58,0,0,255],[60,0,0,255],[62,0,0,255],[64,0,0,255],[66,0,0,255],[68,0,0,255],[70,0,0,255],[72,0,0,255],[74,0,0,255],[76,0,0,255],[78,0,0,255],[80,0,0,255],[82,0,0,255],[84,0,0,255],[86,0,0,255],[88,0,0,255],[90,0,0,255],[92,0,0,255],[94,0,0,255],[96,0,0,255],[98,0,0,255],[100,0,0,255],[102,0,0,255],[104,0,0,255],[106,0,0,255],[108,0,0,255],[110,0,0,255],[112,0,0,255],[114,0,0,255],[116,0,0,255],[118,0,0,255],[120,0,0,255],[122,0,0,255],[124,0,0,255],[126,0,0,255],[128,0,0,255],[130,0,0,255],[132,0,0,255],[134,0,0,255],[136,0,0,255],[138,0,0,255],[140,0,0,255],[142,0,0,255],[144,0,0,255],[146,0,0,255],[148,0,0,255],[150,0,0,255],[152,0,0,255],[154,0,0,255],[156,0,0,255],[158,0,0,255],[160,0,0,255],[162,0,0,255],[164,0,0,255],[166,0,0,255],[168,0,0,255],[170,0,0,255],[172,0,0,255],[174,0,0,255],[176,0,0,255],[178,0,0,255],[180,0,0,255],[182,0,0,255],[184,0,0,255],[186,0,0,255],[188,0,0,255],[190,0,0,255],[192,0,0,255],[194,0,0,255],[196,0,0,255],[198,0,0,255],[200,0,0,255],[202,0,0,255],[204,0,0,255],[206,0,0,255],[208,0,0,255],[210,0,0,255],[212,0,0,255],[214,0,0,255],[216,0,0,255],[218,0,0,255],[220,0,0,255],[222,0,0,255],[224,0,0,255],[226,0,0,255],[228,0,0,255],[230,0,0,255],[232,0,0,255],[234,0,0,255],[236,0,0,255],[238,0,0,255],[240,0,0,255],[242,0,0,255],[244,0,0,255],[246,0,0,255],[248,0,0,255],[250,0,0,255],[252,0,0,255],[254,0,0,255],[255,0,0,255],[255,2,0,255],[255,4,0,255],[255,6,0,255],[255,8,0,255],[255,10,0,255],[255,12,0,255],[255,14,0,255],[255,16,0,255],[255,18,0,255],[255,20,0,255],[255,22,0,255],[255,24,0,255],[255,26,0,255],[255,28,0,255],[255,30,0,255],[255,32,0,255],[255,34,0,255],[255,36,0,255],[255,38,0,255],[255,40,0,255],[255,42,0,255],[255,44,0,255],[255,46,0,255],[255,48,0,255],[255,50,0,255],[255,52,0,255],[255,54,0,255],[255,56,0,255],[255,58,0,255],[255,60,0,255],[255,62,0,255],[255,64,0,255],[255,66,0,255],[255,68,0,255],[255,70,0,255],[255,72,0,255],[255,74,0,255],[255,76,0,255],[255,78,0,255],[255,80,0,255],[255,82,0,255],[255,84,0,255],[255,86,0,255],[255,88,0,255],[255,90,0,255],[255,92,0,255],[255,94,0,255],[255,96,0,255],[255,98,0,255],[255,100,0,255],[255,102,0,255],[255,104,0,255],[255,106,0,255],[255,108,0,255],[255,110,0,255],[255,112,0,255],[255,114,0,255],[255,116,0,255],[255,118,0,255],[255,120,0,255],[255,122,0,255],[255,124,0,255],[255,126,0,255],[255,128,4,255],[255,130,8,255],[255,132,12,255],[255,134,16,255],[255,136,20,255],[255,138,24,255],[255,140,28,255],[255,142,32,255],[255,144,36,255],[255,146,40,255],[255,148,44,255],[255,150,48,255],[255,152,52,255],[255,154,56,255],[255,156,60,255],[255,158,64,255],[255,160,68,255],[255,162,72,255],[255,164,76,255],[255,166,80,255],[255,168,84,255],[255,170,88,255],[255,172,92,255],[255,174,96,255],[255,176,100,255],[255,178,104,255],[255,180,108,255],[255,182,112,255],[255,184,116,255],[255,186,120,255],[255,188,124,255],[255,190,128,255],[255,192,132,255],[255,194,136,255],[255,196,140,255],[255,198,144,255],[255,200,148,255],[255,202,152,255],[255,204,156,255],[255,206,160,255],[255,208,164,255],[255,210,168,255],[255,212,172,255],[255,214,176,255],[255,216,180,255],[255,218,184,255],[255,220,188,255],[255,222,192,255],[255,224,196,255],[255,226,200,255],[255,228,204,255],[255,230,208,255],[255,232,212,255],[255,234,216,255],[255,236,220,255],[255,238,224,255],[255,240,228,255],[255,242,232,255],[255,244,236,255],[255,246,240,255],[255,248,244,255],[255,250,248,255],[255,252,252,255],[255,255,255,255]]},pet:{name:"PET",numColors:256,colors:[[0,0,0,255],[0,2,1,255],[0,4,3,255],[0,6,5,255],[0,8,7,255],[0,10,9,255],[0,12,11,255],[0,14,13,255],[0,16,15,255],[0,18,17,255],[0,20,19,255],[0,22,21,255],[0,24,23,255],[0,26,25,255],[0,28,27,255],[0,30,29,255],[0,32,31,255],[0,34,33,255],[0,36,35,255],[0,38,37,255],[0,40,39,255],[0,42,41,255],[0,44,43,255],[0,46,45,255],[0,48,47,255],[0,50,49,255],[0,52,51,255],[0,54,53,255],[0,56,55,255],[0,58,57,255],[0,60,59,255],[0,62,61,255],[0,65,63,255],[0,67,65,255],[0,69,67,255],[0,71,69,255],[0,73,71,255],[0,75,73,255],[0,77,75,255],[0,79,77,255],[0,81,79,255],[0,83,81,255],[0,85,83,255],[0,87,85,255],[0,89,87,255],[0,91,89,255],[0,93,91,255],[0,95,93,255],[0,97,95,255],[0,99,97,255],[0,101,99,255],[0,103,101,255],[0,105,103,255],[0,107,105,255],[0,109,107,255],[0,111,109,255],[0,113,111,255],[0,115,113,255],[0,117,115,255],[0,119,117,255],[0,121,119,255],[0,123,121,255],[0,125,123,255],[0,128,125,255],[1,126,127,255],[3,124,129,255],[5,122,131,255],[7,120,133,255],[9,118,135,255],[11,116,137,255],[13,114,139,255],[15,112,141,255],[17,110,143,255],[19,108,145,255],[21,106,147,255],[23,104,149,255],[25,102,151,255],[27,100,153,255],[29,98,155,255],[31,96,157,255],[33,94,159,255],[35,92,161,255],[37,90,163,255],[39,88,165,255],[41,86,167,255],[43,84,169,255],[45,82,171,255],[47,80,173,255],[49,78,175,255],[51,76,177,255],[53,74,179,255],[55,72,181,255],[57,70,183,255],[59,68,185,255],[61,66,187,255],[63,64,189,255],[65,63,191,255],[67,61,193,255],[69,59,195,255],[71,57,197,255],[73,55,199,255],[75,53,201,255],[77,51,203,255],[79,49,205,255],[81,47,207,255],[83,45,209,255],[85,43,211,255],[86,41,213,255],[88,39,215,255],[90,37,217,255],[92,35,219,255],[94,33,221,255],[96,31,223,255],[98,29,225,255],[100,27,227,255],[102,25,229,255],[104,23,231,255],[106,21,233,255],[108,19,235,255],[110,17,237,255],[112,15,239,255],[114,13,241,255],[116,11,243,255],[118,9,245,255],[120,7,247,255],[122,5,249,255],[124,3,251,255],[126,1,253,255],[128,0,255,255],[130,2,252,255],[132,4,248,255],[134,6,244,255],[136,8,240,255],[138,10,236,255],[140,12,232,255],[142,14,228,255],[144,16,224,255],[146,18,220,255],[148,20,216,255],[150,22,212,255],[152,24,208,255],[154,26,204,255],[156,28,200,255],[158,30,196,255],[160,32,192,255],[162,34,188,255],[164,36,184,255],[166,38,180,255],[168,40,176,255],[170,42,172,255],[171,44,168,255],[173,46,164,255],[175,48,160,255],[177,50,156,255],[179,52,152,255],[181,54,148,255],[183,56,144,255],[185,58,140,255],[187,60,136,255],[189,62,132,255],[191,64,128,255],[193,66,124,255],[195,68,120,255],[197,70,116,255],[199,72,112,255],[201,74,108,255],[203,76,104,255],[205,78,100,255],[207,80,96,255],[209,82,92,255],[211,84,88,255],[213,86,84,255],[215,88,80,255],[217,90,76,255],[219,92,72,255],[221,94,68,255],[223,96,64,255],[225,98,60,255],[227,100,56,255],[229,102,52,255],[231,104,48,255],[233,106,44,255],[235,108,40,255],[237,110,36,255],[239,112,32,255],[241,114,28,255],[243,116,24,255],[245,118,20,255],[247,120,16,255],[249,122,12,255],[251,124,8,255],[253,126,4,255],[255,128,0,255],[255,130,4,255],[255,132,8,255],[255,134,12,255],[255,136,16,255],[255,138,20,255],[255,140,24,255],[255,142,28,255],[255,144,32,255],[255,146,36,255],[255,148,40,255],[255,150,44,255],[255,152,48,255],[255,154,52,255],[255,156,56,255],[255,158,60,255],[255,160,64,255],[255,162,68,255],[255,164,72,255],[255,166,76,255],[255,168,80,255],[255,170,85,255],[255,172,89,255],[255,174,93,255],[255,176,97,255],[255,178,101,255],[255,180,105,255],[255,182,109,255],[255,184,113,255],[255,186,117,255],[255,188,121,255],[255,190,125,255],[255,192,129,255],[255,194,133,255],[255,196,137,255],[255,198,141,255],[255,200,145,255],[255,202,149,255],[255,204,153,255],[255,206,157,255],[255,208,161,255],[255,210,165,255],[255,212,170,255],[255,214,174,255],[255,216,178,255],[255,218,182,255],[255,220,186,255],[255,222,190,255],[255,224,194,255],[255,226,198,255],[255,228,202,255],[255,230,206,255],[255,232,210,255],[255,234,214,255],[255,236,218,255],[255,238,222,255],[255,240,226,255],[255,242,230,255],[255,244,234,255],[255,246,238,255],[255,248,242,255],[255,250,246,255],[255,252,250,255],[255,255,255,255]]},hotMetalBlue:{name:"Hot Metal Blue",numColors:256,colors:[[0,0,0,255],[0,0,2,255],[0,0,4,255],[0,0,6,255],[0,0,8,255],[0,0,10,255],[0,0,12,255],[0,0,14,255],[0,0,16,255],[0,0,17,255],[0,0,19,255],[0,0,21,255],[0,0,23,255],[0,0,25,255],[0,0,27,255],[0,0,29,255],[0,0,31,255],[0,0,33,255],[0,0,35,255],[0,0,37,255],[0,0,39,255],[0,0,41,255],[0,0,43,255],[0,0,45,255],[0,0,47,255],[0,0,49,255],[0,0,51,255],[0,0,53,255],[0,0,55,255],[0,0,57,255],[0,0,59,255],[0,0,61,255],[0,0,63,255],[0,0,65,255],[0,0,67,255],[0,0,69,255],[0,0,71,255],[0,0,73,255],[0,0,75,255],[0,0,77,255],[0,0,79,255],[0,0,81,255],[0,0,83,255],[0,0,84,255],[0,0,86,255],[0,0,88,255],[0,0,90,255],[0,0,92,255],[0,0,94,255],[0,0,96,255],[0,0,98,255],[0,0,100,255],[0,0,102,255],[0,0,104,255],[0,0,106,255],[0,0,108,255],[0,0,110,255],[0,0,112,255],[0,0,114,255],[0,0,116,255],[0,0,117,255],[0,0,119,255],[0,0,121,255],[0,0,123,255],[0,0,125,255],[0,0,127,255],[0,0,129,255],[0,0,131,255],[0,0,133,255],[0,0,135,255],[0,0,137,255],[0,0,139,255],[0,0,141,255],[0,0,143,255],[0,0,145,255],[0,0,147,255],[0,0,149,255],[0,0,151,255],[0,0,153,255],[0,0,155,255],[0,0,157,255],[0,0,159,255],[0,0,161,255],[0,0,163,255],[0,0,165,255],[0,0,167,255],[3,0,169,255],[6,0,171,255],[9,0,173,255],[12,0,175,255],[15,0,177,255],[18,0,179,255],[21,0,181,255],[24,0,183,255],[26,0,184,255],[29,0,186,255],[32,0,188,255],[35,0,190,255],[38,0,192,255],[41,0,194,255],[44,0,196,255],[47,0,198,255],[50,0,200,255],[52,0,197,255],[55,0,194,255],[57,0,191,255],[59,0,188,255],[62,0,185,255],[64,0,182,255],[66,0,179,255],[69,0,176,255],[71,0,174,255],[74,0,171,255],[76,0,168,255],[78,0,165,255],[81,0,162,255],[83,0,159,255],[85,0,156,255],[88,0,153,255],[90,0,150,255],[93,2,144,255],[96,4,138,255],[99,6,132,255],[102,8,126,255],[105,9,121,255],[108,11,115,255],[111,13,109,255],[114,15,103,255],[116,17,97,255],[119,19,91,255],[122,21,85,255],[125,23,79,255],[128,24,74,255],[131,26,68,255],[134,28,62,255],[137,30,56,255],[140,32,50,255],[143,34,47,255],[146,36,44,255],[149,38,41,255],[152,40,38,255],[155,41,35,255],[158,43,32,255],[161,45,29,255],[164,47,26,255],[166,49,24,255],[169,51,21,255],[172,53,18,255],[175,55,15,255],[178,56,12,255],[181,58,9,255],[184,60,6,255],[187,62,3,255],[190,64,0,255],[194,66,0,255],[198,68,0,255],[201,70,0,255],[205,72,0,255],[209,73,0,255],[213,75,0,255],[217,77,0,255],[221,79,0,255],[224,81,0,255],[228,83,0,255],[232,85,0,255],[236,87,0,255],[240,88,0,255],[244,90,0,255],[247,92,0,255],[251,94,0,255],[255,96,0,255],[255,98,3,255],[255,100,6,255],[255,102,9,255],[255,104,12,255],[255,105,15,255],[255,107,18,255],[255,109,21,255],[255,111,24,255],[255,113,26,255],[255,115,29,255],[255,117,32,255],[255,119,35,255],[255,120,38,255],[255,122,41,255],[255,124,44,255],[255,126,47,255],[255,128,50,255],[255,130,53,255],[255,132,56,255],[255,134,59,255],[255,136,62,255],[255,137,65,255],[255,139,68,255],[255,141,71,255],[255,143,74,255],[255,145,76,255],[255,147,79,255],[255,149,82,255],[255,151,85,255],[255,152,88,255],[255,154,91,255],[255,156,94,255],[255,158,97,255],[255,160,100,255],[255,162,103,255],[255,164,106,255],[255,166,109,255],[255,168,112,255],[255,169,115,255],[255,171,118,255],[255,173,121,255],[255,175,124,255],[255,177,126,255],[255,179,129,255],[255,181,132,255],[255,183,135,255],[255,184,138,255],[255,186,141,255],[255,188,144,255],[255,190,147,255],[255,192,150,255],[255,194,153,255],[255,196,156,255],[255,198,159,255],[255,200,162,255],[255,201,165,255],[255,203,168,255],[255,205,171,255],[255,207,174,255],[255,209,176,255],[255,211,179,255],[255,213,182,255],[255,215,185,255],[255,216,188,255],[255,218,191,255],[255,220,194,255],[255,222,197,255],[255,224,200,255],[255,226,203,255],[255,228,206,255],[255,229,210,255],[255,231,213,255],[255,233,216,255],[255,235,219,255],[255,237,223,255],[255,239,226,255],[255,240,229,255],[255,242,232,255],[255,244,236,255],[255,246,239,255],[255,248,242,255],[255,250,245,255],[255,251,249,255],[255,253,252,255],[255,255,255,255]]},pet20Step:{name:"PET 20 Step",numColors:256,colors:[[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255]]},gray:{name:"Gray",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,0,0],[1,1,1]]}},jet:{name:"Jet",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.35,0,0],[.66,1,1],[.89,1,1],[1,.5,.5]],green:[[0,0,0],[.125,0,0],[.375,1,1],[.64,1,1],[.91,0,0],[1,0,0]],blue:[[0,.5,.5],[.11,1,1],[.34,1,1],[.65,0,0],[1,0,0]]}},hsv:{name:"HSV",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[.15873,1,1],[.174603,.96875,.96875],[.333333,.03125,.03125],[.349206,0,0],[.666667,0,0],[.68254,.03125,.03125],[.84127,.96875,.96875],[.857143,1,1],[1,1,1]],green:[[0,0,0],[.15873,.9375,.9375],[.174603,1,1],[.507937,1,1],[.666667,.0625,.0625],[.68254,0,0],[1,0,0]],blue:[[0,0,0],[.333333,0,0],[.349206,.0625,.0625],[.507937,1,1],[.84127,1,1],[.857143,.9375,.9375],[1,.09375,.09375]]}},hot:{name:"Hot",numColors:256,gamma:1,segmentedData:{red:[[0,.0416,.0416],[.365079,1,1],[1,1,1]],green:[[0,0,0],[.365079,0,0],[.746032,1,1],[1,1,1]],blue:[[0,0,0],[.746032,0,0],[1,1,1]]}},cool:{name:"Cool",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,1,1],[1,0,0]],blue:[[0,1,1],[1,1,1]]}},spring:{name:"Spring",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,1,1],[1,0,0]]}},summer:{name:"Summer",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,.5,.5],[1,1,1]],blue:[[0,.4,.4],[1,.4,.4]]}},autumn:{name:"Autumn",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,0,0],[1,0,0]]}},winter:{name:"Winter",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,0,0]],green:[[0,0,0],[1,1,1]],blue:[[0,1,1],[1,.5,.5]]}},bone:{name:"Bone",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.746032,.652778,.652778],[1,1,1]],green:[[0,0,0],[.365079,.319444,.319444],[.746032,.777778,.777778],[1,1,1]],blue:[[0,0,0],[.365079,.444444,.444444],[1,1,1]]}},copper:{name:"Copper",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.809524,1,1],[1,1,1]],green:[[0,0,0],[1,.7812,.7812]],blue:[[0,0,0],[1,.4975,.4975]]}},spectral:{name:"Spectral",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.05,.4667,.4667],[.1,.5333,.5333],[.15,0,0],[.2,0,0],[.25,0,0],[.3,0,0],[.35,0,0],[.4,0,0],[.45,0,0],[.5,0,0],[.55,0,0],[.6,0,0],[.65,.7333,.7333],[.7,.9333,.9333],[.75,1,1],[.8,1,1],[.85,1,1],[.9,.8667,.8667],[.95,.8,.8],[1,.8,.8]],green:[[0,0,0],[.05,0,0],[.1,0,0],[.15,0,0],[.2,0,0],[.25,.4667,.4667],[.3,.6,.6],[.35,.6667,.6667],[.4,.6667,.6667],[.45,.6,.6],[.5,.7333,.7333],[.55,.8667,.8667],[.6,1,1],[.65,1,1],[.7,.9333,.9333],[.75,.8,.8],[.8,.6,.6],[.85,0,0],[.9,0,0],[.95,0,0],[1,.8,.8]],blue:[[0,0,0],[.05,.5333,.5333],[.1,.6,.6],[.15,.6667,.6667],[.2,.8667,.8667],[.25,.8667,.8667],[.3,.8667,.8667],[.35,.6667,.6667],[.4,.5333,.5333],[.45,0,0],[.5,0,0],[.55,0,0],[.6,0,0],[.65,0,0],[.7,0,0],[.75,0,0],[.8,0,0],[.85,0,0],[.9,0,0],[.95,0,0],[1,.8,.8]]}},coolwarm:{name:"CoolWarm",numColors:256,gamma:1,segmentedData:{red:[[0,.2298057,.2298057],[.03125,.26623388,.26623388],[.0625,.30386891,.30386891],[.09375,.342804478,.342804478],[.125,.38301334,.38301334],[.15625,.424369608,.424369608],[.1875,.46666708,.46666708],[.21875,.509635204,.509635204],[.25,.552953156,.552953156],[.28125,.596262162,.596262162],[.3125,.639176211,.639176211],[.34375,.681291281,.681291281],[.375,.722193294,.722193294],[.40625,.761464949,.761464949],[.4375,.798691636,.798691636],[.46875,.833466556,.833466556],[.5,.865395197,.865395197],[.53125,.897787179,.897787179],[.5625,.924127593,.924127593],[.59375,.944468518,.944468518],[.625,.958852946,.958852946],[.65625,.96732803,.96732803],[.6875,.969954137,.969954137],[.71875,.966811177,.966811177],[.75,.958003065,.958003065],[.78125,.943660866,.943660866],[.8125,.923944917,.923944917],[.84375,.89904617,.89904617],[.875,.869186849,.869186849],[.90625,.834620542,.834620542],[.9375,.795631745,.795631745],[.96875,.752534934,.752534934],[1,.705673158,.705673158]],green:[[0,.298717966,.298717966],[.03125,.353094838,.353094838],[.0625,.406535296,.406535296],[.09375,.458757618,.458757618],[.125,.50941904,.50941904],[.15625,.558148092,.558148092],[.1875,.604562568,.604562568],[.21875,.648280772,.648280772],[.25,.688929332,.688929332],[.28125,.726149107,.726149107],[.3125,.759599947,.759599947],[.34375,.788964712,.788964712],[.375,.813952739,.813952739],[.40625,.834302879,.834302879],[.4375,.849786142,.849786142],[.46875,.860207984,.860207984],[.5,.86541021,.86541021],[.53125,.848937047,.848937047],[.5625,.827384882,.827384882],[.59375,.800927443,.800927443],[.625,.769767752,.769767752],[.65625,.734132809,.734132809],[.6875,.694266682,.694266682],[.71875,.650421156,.650421156],[.75,.602842431,.602842431],[.78125,.551750968,.551750968],[.8125,.49730856,.49730856],[.84375,.439559467,.439559467],[.875,.378313092,.378313092],[.90625,.312874446,.312874446],[.9375,.24128379,.24128379],[.96875,.157246067,.157246067],[1,.01555616,.01555616]],blue:[[0,.753683153,.753683153],[.03125,.801466763,.801466763],[.0625,.84495867,.84495867],[.09375,.883725899,.883725899],[.125,.917387822,.917387822],[.15625,.945619588,.945619588],[.1875,.968154911,.968154911],[.21875,.98478814,.98478814],[.25,.995375608,.995375608],[.28125,.999836203,.999836203],[.3125,.998151185,.998151185],[.34375,.990363227,.990363227],[.375,.976574709,.976574709],[.40625,.956945269,.956945269],[.4375,.931688648,.931688648],[.46875,.901068838,.901068838],[.5,.865395561,.865395561],[.53125,.820880546,.820880546],[.5625,.774508472,.774508472],[.59375,.726736146,.726736146],[.625,.678007945,.678007945],[.65625,.628751763,.628751763],[.6875,.579375448,.579375448],[.71875,.530263762,.530263762],[.75,.481775914,.481775914],[.78125,.434243684,.434243684],[.8125,.387970225,.387970225],[.84375,.343229596,.343229596],[.875,.300267182,.300267182],[.90625,.259301199,.259301199],[.9375,.220525627,.220525627],[.96875,.184115123,.184115123],[1,.150232812,.150232812]]}},blues:{name:"Blues",numColors:256,gamma:1,segmentedData:{red:[[0,.9686274528503418,.9686274528503418],[.125,.8705882430076599,.8705882430076599],[.25,.7764706015586853,.7764706015586853],[.375,.6196078658103943,.6196078658103943],[.5,.41960784792900085,.41960784792900085],[.625,.25882354378700256,.25882354378700256],[.75,.12941177189350128,.12941177189350128],[.875,.0313725508749485,.0313725508749485],[1,.0313725508749485,.0313725508749485]],green:[[0,.9843137264251709,.9843137264251709],[.125,.9215686321258545,.9215686321258545],[.25,.8588235378265381,.8588235378265381],[.375,.7921568751335144,.7921568751335144],[.5,.6823529601097107,.6823529601097107],[.625,.572549045085907,.572549045085907],[.75,.4431372582912445,.4431372582912445],[.875,.3176470696926117,.3176470696926117],[1,.1882352977991104,.1882352977991104]],blue:[[0,1,1],[.125,.9686274528503418,.9686274528503418],[.25,.9372549057006836,.9372549057006836],[.375,.8823529481887817,.8823529481887817],[.5,.8392156958580017,.8392156958580017],[.625,.7764706015586853,.7764706015586853],[.75,.7098039388656616,.7098039388656616],[.875,.6117647290229797,.6117647290229797],[1,.41960784792900085,.41960784792900085]]}}},k={MINIMUM_SLAB_THICKNESS:.05,MAXIMUM_RAY_DISTANCE:1e6};Object.freeze(k);var E=k,R=.001;function P(e){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P(e)}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var x=function e(t){var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return A(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?A(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(Object.getOwnPropertyNames(t));try{for(n.s();!(r=n.n()).done;){var i=t[r.value];i&&"object"===P(i)&&e(i)}}catch(e){n.e(e)}finally{n.f()}return Object.freeze(t)}({axial:{viewPlaneNormal:[0,0,-1],viewUp:[0,-1,0]},sagittal:{viewPlaneNormal:[1,0,0],viewUp:[0,0,1]},coronal:{viewPlaneNormal:[0,1,0],viewUp:[0,0,1]}});function _(e,t,r,n,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,i)}function O(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function o(e){_(a,n,i,o,s,"next",e)}function s(e){_(a,n,i,o,s,"throw",e)}o(void 0)}))}}var S=q(162),T=q.n(S),D=q(739),M=q.n(D),V=(q(215),q(283)),j=q.n(V),L=q(785),U=q.n(L),N=q(907),F=q.n(N);function G(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function W(e,t,r){return t&&G(e.prototype,t),r&&G(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function B(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function H(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var K=q(197),$=q.n(K),X=q(953),Y=q.n(X);function Z(e,t){t.classHierarchy.push("vtkStreamingOpenGLTexture");var r=e.create3DFilterableFromRaw;e.create3DFilterableFromRaw=function(e,n,i,a,o,s){t.inputDataType=o,t.inputNumComps=a,r(e,n,i,a,o,s)},e.update3DFromRaw=function(r){var n=t.updatedFrames;if(n.length){var i,a;if(t._openGLRenderWindow.activateTexture(e),e.createTexture(),e.bind(),r instanceof Uint8Array)i=1,a=Uint8Array;else if(r instanceof Int16Array)i=2,a=Int16Array;else{if(!(r instanceof Float32Array))throw new Error("No support for given TypedArray.");i=4,a=Float32Array}for(var o=0;o<n.length;o++)n[o]&&t.fillSubImage3D(r,o,i,a);return t.updatedFrames=[],t.generateMipmap&&t.context.generateMipmap(t.target),e.deactivate(),!0}},t.fillSubImage3D=function(e,r,n,i){for(var a=e.buffer,o=r*(t.width*t.height*t.components*n),s=t.width*t.components,c=t.context,l=c.getParameter(c.MAX_TEXTURE_SIZE),u=Math.floor(n*l/t.width),d=s*(u=Math.min(u,t.height)),f=d*n,v=Math.floor(t.height/u),h=t.height%u,g=s*h,m=0;m<v;m++){var p=m*u,w=new i(a,o+m*f,d);c.texSubImage3D(t.target,0,0,p,r,t.width,u,1,t.format,t.openGLDataType,w)}if(0!==h){var y=v*u,I=new i(a,o+v*f,g);c.texSubImage3D(t.target,0,0,y,r,t.width,h,1,t.format,t.openGLDataType,I)}},e.getTextureParameters=function(){return{width:t.width,height:t.height,depth:t.depth,numComps:t.inputNumComps,dataType:t.inputDataType}},e.setUpdatedFrame=function(e){t.updatedFrames[e]=!0}}var J={updatedFrames:[]};function Q(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,J,r),Y().extend(e,t,r),Z(e,t)}var ee={newInstance:$().newInstance(Q,"vtkStreamingOpenGLTexture"),extend:Q},te=W((function e(t){B(this,e),H(this,"volumeId",void 0),H(this,"dimensions",void 0),H(this,"direction",void 0),H(this,"metadata",void 0),H(this,"origin",void 0),H(this,"scalarData",void 0),H(this,"isPrescaled",!1),H(this,"scaling",void 0),H(this,"sizeInBytes",void 0),H(this,"spacing",void 0),H(this,"numVoxels",void 0),H(this,"imageData",void 0),H(this,"vtkOpenGLTexture",void 0),H(this,"loadStatus",void 0),H(this,"imageIds",void 0),H(this,"referencedVolumeId",void 0),H(this,"hasPixelSpacing",void 0),H(this,"cancelLoading",void 0),this.volumeId=t.volumeId,this.metadata=t.metadata,this.dimensions=t.dimensions,this.spacing=t.spacing,this.origin=t.origin,this.direction=t.direction,this.imageData=t.imageData,this.scalarData=t.scalarData,this.sizeInBytes=t.sizeInBytes,this.vtkOpenGLTexture=ee.newInstance(),this.numVoxels=this.dimensions[0]*this.dimensions[1]*this.dimensions[2],t.scaling&&(this.scaling=t.scaling),t.referencedVolumeId&&(this.referencedVolumeId=t.referencedVolumeId)})),re=te,ne=function(){function e(){B(this,e),H(this,"listeners",void 0),this.listeners={}}return W(e,[{key:"reset",value:function(){this.listeners={}}},{key:"addEventListener",value:function(e,t){this.listeners[e]||(this.listeners[e]=[]),-1===this.listeners[e].indexOf(t)&&this.listeners[e].push(t)}},{key:"removeEventListener",value:function(e,t){if(this.listeners[e])for(var r=this.listeners[e],n=r.length,i=0;i<n;i++)if(r[i]===t)return void r.splice(i,1)}},{key:"dispatchEvent",value:function(e){if(this.listeners[e.type]){for(var t=this.listeners[e.type].slice(),r=t.length,n=0;n<r;n++)t[n].call(this,e);return!e.defaultPrevented}}}]),e}(),ie=new ne;function ae(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ie,t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!t)throw new Error("Event type was not defined");var n=new CustomEvent(t,{detail:r,cancelable:!0});return e.dispatchEvent(n)}function oe(e){var t=e.indexOf(":");return e.substring(t+1)}function se(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return ce(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ce(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var le=new(function(){function e(){var t=this;B(this,e),H(this,"_imageCache",void 0),H(this,"_volumeCache",void 0),H(this,"_imageCacheSize",void 0),H(this,"_volumeCacheSize",void 0),H(this,"_maxCacheSize",void 0),H(this,"setMaxCacheSize",(function(e){if(!e||"number"!=typeof e){var r="New max cacheSize ".concat(t._maxCacheSize," should be defined and should be a number.");throw new Error(r)}t._maxCacheSize=e})),H(this,"isCacheable",(function(e){return t.getBytesAvailable()+t._imageCacheSize>e})),H(this,"getMaxCacheSize",(function(){return t._maxCacheSize})),H(this,"getCacheSize",(function(){return t._imageCacheSize+t._volumeCacheSize})),H(this,"_decacheImage",(function(e){var r=t._imageCache.get(e).imageLoadObject;r.cancelFn&&r.cancelFn(),r.decache&&r.decache(),t._imageCache.delete(e)})),H(this,"_decacheVolume",(function(e){var r=t._volumeCache.get(e),n=r.volumeLoadObject,i=r.volume;i.cancelLoading&&i.cancelLoading(),i.imageData&&(i.imageData=null),n.cancelFn&&n.cancelFn(),n.decache&&n.decache(),t._volumeCache.delete(e)})),H(this,"purgeCache",(function(){for(var e=t._imageCache.keys();;){var r=e.next(),n=r.value;if(r.done)break;t.removeImageLoadObject(n),ae(ie,u.IMAGE_CACHE_IMAGE_REMOVED,{imageId:n})}t.purgeVolumeCache()})),H(this,"purgeVolumeCache",(function(){for(var e=t._volumeCache.keys();;){var r=e.next(),n=r.value;if(r.done)break;t.removeVolumeLoadObject(n),ae(ie,u.VOLUME_CACHE_VOLUME_REMOVED,{volumeId:n})}})),H(this,"getVolumeLoadObject",(function(e){if(void 0===e)throw new Error("getVolumeLoadObject: volumeId must not be undefined");var r=t._volumeCache.get(e);if(void 0!==r)return r.timeStamp=Date.now(),r.volumeLoadObject})),H(this,"getVolume",(function(e){if(void 0===e)throw new Error("getVolume: volumeId must not be undefined");var r=t._volumeCache.get(e);if(void 0!==r)return r.timeStamp=Date.now(),r.volume})),H(this,"removeImageLoadObject",(function(e){if(void 0===e)throw new Error("removeImageLoadObject: imageId must not be undefined");var r=t._imageCache.get(e);if(void 0===r)throw new Error("removeImageLoadObject: imageId was not present in imageCache");t._incrementImageCacheSize(-r.sizeInBytes);var n={imageId:e};ae(ie,u.IMAGE_CACHE_IMAGE_REMOVED,n),t._decacheImage(e)})),H(this,"removeVolumeLoadObject",(function(e){if(void 0===e)throw new Error("removeVolumeLoadObject: volumeId must not be undefined");var r=t._volumeCache.get(e);if(void 0===r)throw new Error("removeVolumeLoadObject: volumeId was not present in volumeCache");t._incrementVolumeCacheSize(-r.sizeInBytes);var n={volume:r,volumeId:e};ae(ie,u.VOLUME_CACHE_VOLUME_REMOVED,n),t._decacheVolume(e)})),H(this,"_incrementImageCacheSize",(function(e){t._imageCacheSize+=e})),H(this,"_incrementVolumeCacheSize",(function(e){t._volumeCacheSize+=e})),this._imageCache=new Map,this._volumeCache=new Map,this._imageCacheSize=0,this._volumeCacheSize=0,this._maxCacheSize=1073741824}return W(e,[{key:"getBytesAvailable",value:function(){return this.getMaxCacheSize()-this.getCacheSize()}},{key:"decacheIfNecessaryUntilBytesAvailable",value:function(e,t){var r=this.getBytesAvailable();if(r>=e)return r;var n=Array.from(this._imageCache.values());n.sort((function(e,t){return e.timeStamp>t.timeStamp?1:e.timeStamp<t.timeStamp?-1:0}));var i=n.map((function(e){return e.imageId})),a=i;t&&(a=i.filter((function(e){return!t.includes(e)})));var o,s=se(a);try{for(s.s();!(o=s.n()).done;){var c=o.value;if(this.removeImageLoadObject(c),ae(ie,u.IMAGE_CACHE_IMAGE_REMOVED,{imageId:c}),(r=this.getBytesAvailable())>=e)return r}}catch(e){s.e(e)}finally{s.f()}var l,d=se(i=(n=Array.from(this._imageCache.values())).map((function(e){return e.imageId})));try{for(d.s();!(l=d.n()).done;){var f=l.value;if(this.removeImageLoadObject(f),ae(ie,u.IMAGE_CACHE_IMAGE_REMOVED,{imageId:f}),(r=this.getBytesAvailable())>=e)return r}}catch(e){d.e(e)}finally{d.f()}}},{key:"putImageLoadObject",value:function(e,t){var r=this;if(void 0===e)throw new Error("putImageLoadObject: imageId must not be undefined");if(void 0===t.promise)throw new Error("putImageLoadObject: imageLoadObject.promise must not be undefined");if(this._imageCache.has(e))throw new Error("putImageLoadObject: imageId already in cache");if(t.cancelFn&&"function"!=typeof t.cancelFn)throw new Error("putImageLoadObject: imageLoadObject.cancel must be a function");var n={loaded:!1,imageId:e,sharedCacheKey:void 0,imageLoadObject:t,timeStamp:Date.now(),sizeInBytes:0};return this._imageCache.set(e,n),t.promise.then((function(t){if(r._imageCache.get(e)){if(void 0===t.sizeInBytes)throw new Error("putImageLoadObject: image.sizeInBytes must not be undefined");if(void 0===t.sizeInBytes.toFixed)throw new Error("putImageLoadObject: image.sizeInBytes is not a number");if(!r.isCacheable(t.sizeInBytes))throw new Error(u.CACHE_SIZE_EXCEEDED);r.decacheIfNecessaryUntilBytesAvailable(t.sizeInBytes),n.loaded=!0,n.image=t,n.sizeInBytes=t.sizeInBytes,r._incrementImageCacheSize(n.sizeInBytes);var i={image:n};ae(ie,u.IMAGE_CACHE_IMAGE_ADDED,i),n.sharedCacheKey=t.sharedCacheKey}else console.warn("The image was purged from the cache before it completed loading.")})).catch((function(t){throw r._imageCache.delete(e),t}))}},{key:"getImageLoadObject",value:function(e){if(void 0===e)throw new Error("getImageLoadObject: imageId must not be undefined");var t=this._imageCache.get(e);if(void 0!==t)return t.timeStamp=Date.now(),t.imageLoadObject}},{key:"isImageIdCached",value:function(e){var t=this._imageCache.get(e);return!!t&&t.loaded}},{key:"getVolumeContainingImageId",value:function(e){for(var t=Array.from(this._volumeCache.keys()),r=oe(e),n=0,i=t;n<i.length;n++){var a=i[n],o=this._volumeCache.get(a);if(!o.volume)return;var s=o.volume.imageIds;if(s&&0!==s.length){var c=(s=s.map((function(e){return oe(e)}))).indexOf(r);if(c>-1)return{volume:o.volume,imageIdIndex:c}}}}},{key:"getCachedImageBasedOnImageURI",value:function(e){var t=oe(e),r=Array.from(this._imageCache.keys()).find((function(e){return oe(e)===t}));if(r)return this._imageCache.get(r)}},{key:"putVolumeLoadObject",value:function(e,t){var r=this;if(void 0===e)throw new Error("putVolumeLoadObject: volumeId must not be undefined");if(void 0===t.promise)throw new Error("putVolumeLoadObject: volumeLoadObject.promise must not be undefined");if(this._volumeCache.has(e))throw new Error("putVolumeLoadObject: volumeId:".concat(e," already in cache"));if(t.cancelFn&&"function"!=typeof t.cancelFn)throw new Error("putVolumeLoadObject: volumeLoadObject.cancel must be a function");var n={loaded:!1,volumeId:e,volumeLoadObject:t,timeStamp:Date.now(),sizeInBytes:0};return this._volumeCache.set(e,n),t.promise.then((function(t){if(r._volumeCache.get(e)){if(void 0===t.sizeInBytes)throw new Error("putVolumeLoadObject: volume.sizeInBytes must not be undefined");if(void 0===t.sizeInBytes.toFixed)throw new Error("putVolumeLoadObject: volume.sizeInBytes is not a number");r.decacheIfNecessaryUntilBytesAvailable(t.sizeInBytes,t.imageIds),n.volume=t,n.sizeInBytes=t.sizeInBytes,r._incrementVolumeCacheSize(n.sizeInBytes);var i={volume:n};ae(ie,u.VOLUME_CACHE_VOLUME_ADDED,i)}else console.warn("The image was purged from the cache before it completed loading.")})).catch((function(t){throw r._volumeCache.delete(e),t}))}}]),e}());function ue(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(e){return(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)}))}function de(e){var t=e.dimensions,r=e.metadata,n=e.spacing,i=e.direction,a=e.origin,o=e.scalarData,s=1;"RGB"===r.PhotometricInterpretation&&(s=3);var c=U().newInstance({name:"Pixels",numberOfComponents:s,values:o}),l=j().newInstance();return l.setDimensions(t),l.setSpacing(n),l.setDirection(i),l.setOrigin(a),l.getPointData().setScalars(c),l}var fe,ve={};function he(e,t){var r=e.indexOf(":"),n=e.substring(0,r),i=ve[n];if(null==i){if(void 0!==fe)return fe(e,t);throw new Error("loadVolumeFromVolumeLoader: no volume loader for volumeId")}var a=i(e,t);return a.promise.then((function(e){ae(ie,u.VOLUME_LOADED,{volume:e})}),(function(t){var r={volumeId:e,error:t};ae(ie,u.VOLUME_LOADED_FAILED,r)})),a}function ge(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{imageIds:[]};if(void 0===e)throw new Error("loadVolume: parameter volumeId must not be undefined");var r=le.getVolumeLoadObject(e);return void 0!==r?r.promise:(r=he(e,t)).promise.then((function(e){return e.imageData=de(e),e}))}function me(e,t){return pe.apply(this,arguments)}function pe(){return(pe=O(T().mark((function e(t,r){var n;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==t){e.next=2;break}throw new Error("createAndCacheVolume: parameter volumeId must not be undefined");case 2:if(void 0===(n=le.getVolumeLoadObject(t))){e.next=5;break}return e.abrupt("return",n.promise);case 5:return(n=he(t,r)).promise.then((function(e){e.imageData=de(e)})),le.putVolumeLoadObject(t,n).catch((function(e){throw e})),e.abrupt("return",n.promise);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function we(e,t){return ye.apply(this,arguments)}function ye(){return(ye=O(T().mark((function e(t,r){var n,i,a,o,s,c,l,d,f,v,h,g,m,p,w,y,I,C;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=le.getVolume(t)){e.next=3;break}throw new Error("Cannot created derived volume: Referenced volume with id ".concat(t," does not exist."));case 3:if(i=r.volumeId,a=r.targetBuffer,void 0===i&&(i=ue()),o=n.metadata,s=n.dimensions,c=n.spacing,l=n.origin,d=n.direction,f=n.scalarData,v=f.length,!a){e.next=22;break}if("Float32Array"!==a.type){e.next=14;break}h=4*v,g=Float32Array,e.next=20;break;case 14:if("Uint8Array"!==a.type){e.next=19;break}h=v,g=Uint8Array,e.next=20;break;case 19:throw new Error("TargetBuffer should be Float32Array or Uint8Array");case 20:e.next=24;break;case 22:h=4*v,g=Float32Array;case 24:if(le.isCacheable(h)){e.next=27;break}throw new Error(u.CACHE_SIZE_EXCEEDED);case 27:return null!=a&&a.sharedArrayBuffer?(p=new SharedArrayBuffer(h),m=new g(p)):m=new g(v),w=U().newInstance({name:"Pixels",numberOfComponents:1,values:m}),(y=j().newInstance()).setDimensions(s),y.setSpacing(c),y.setDirection(d),y.setOrigin(l),y.getPointData().setScalars(w),I=new te({volumeId:i,metadata:F()(o),dimensions:[s[0],s[1],s[2]],spacing:c,origin:l,direction:d,imageData:y,scalarData:m,sizeInBytes:h,referencedVolumeId:t}),C={promise:Promise.resolve(I)},e.next=39,le.putVolumeLoadObject(i,C);case 39:return e.abrupt("return",I);case 40:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ie(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.scalarData,i=e.metadata,a=e.dimensions,o=e.spacing,s=e.origin,c=e.direction;if(!n||!(n instanceof Uint8Array||n instanceof Float32Array))throw new Error("To use createLocalVolume you should pass scalarData of type Uint8Array or Float32Array");void 0===t&&(t=ue());var l=le.getVolume(t);if(l)return l;var d=a[0]*a[1]*a[2],f=n?n.buffer.byteLength:4*d,v=le.isCacheable(f);if(!v)throw new Error(u.CACHE_SIZE_EXCEEDED);var h=U().newInstance({name:"Pixels",numberOfComponents:1,values:n}),g=j().newInstance();g.setDimensions(a),g.setSpacing(o),g.setDirection(c),g.setOrigin(s),g.getPointData().setScalars(h);var m=new te({volumeId:t,metadata:F()(i),dimensions:[a[0],a[1],a[2]],spacing:o,origin:s,direction:c,imageData:g,scalarData:n,sizeInBytes:f});if(r)return m;var p={promise:Promise.resolve(m)};return le.putVolumeLoadObject(t,p),m}function Ce(e,t){ve[e]=t}function be(e){var t=fe;return fe=e,t}var ke=q(9),Ee=q.n(ke);function Re(e,t){t.classHierarchy.push("vtkSharedVolumeMapper");var r=e.delete;e.delete=function(){t.scalarTexture=null,r()}}var Pe={scalarTexture:null};function Ae(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Pe,r),Ee().extend(e,t,r),$().setGet(e,t,["scalarTexture"]),Re(e,t)}var xe={newInstance:$().newInstance(Ae,"vtkSharedVolumeMapper"),extend:Ae};function _e(e,t){var r=xe.newInstance();r.setInputData(e);var n=e.getSpacing(),i=(n[0]+n[1]+n[2])/6;return r.setMaximumSamplesPerRay(4e3),r.setSampleDistance(i),r.setScalarTexture(t),r}function Oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Se=function(){function e(t){B(this,e),H(this,"id",void 0),H(this,"awake",void 0),H(this,"requestPool",void 0),H(this,"numRequests",{interaction:0,thumbnail:0,prefetch:0}),H(this,"maxNumRequests",void 0),H(this,"grabDelay",void 0),H(this,"timeoutHandle",void 0),this.id=t||ue(),this.requestPool={interaction:{0:[]},thumbnail:{0:[]},prefetch:{0:[]}},this.grabDelay=5,this.awake=!1,this.numRequests={interaction:0,thumbnail:0,prefetch:0},this.maxNumRequests={interaction:6,thumbnail:6,prefetch:5}}return W(e,[{key:"setMaxSimultaneousRequests",value:function(e,t){this.maxNumRequests[e]=t}},{key:"getMaxSimultaneousRequests",value:function(e){return this.maxNumRequests[e]}},{key:"destroy",value:function(){this.timeoutHandle&&window.clearTimeout(this.timeoutHandle)}},{key:"addRequest",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i={requestFn:e,type:t,additionalDetails:r};void 0===this.requestPool[t][n]&&(this.requestPool[t][n]=[]),this.requestPool[t][n].push(i),this.awake?t===f.Interaction&&this.startGrabbing():(this.awake=!0,this.startGrabbing())}},{key:"filterRequests",value:function(e){var t=this;Object.keys(this.requestPool).forEach((function(r){var n=t.requestPool[r];Object.keys(n).forEach((function(t){n[t]=n[t].filter((function(t){return e(t)}))}))}))}},{key:"clearRequestStack",value:function(e){if(!this.requestPool[e])throw new Error("No category for the type ".concat(e," found"));this.requestPool[e]={0:[]}}},{key:"sendRequests",value:function(e){for(var t=this,r=this.maxNumRequests[e]-this.numRequests[e],n=0;n<r;n++){var i=this.getNextRequest(e);if(null===i)return!1;i&&(this.numRequests[e]++,this.awake=!0,i.requestFn().finally((function(){t.numRequests[e]--,t.startAgain()})))}return!0}},{key:"getNextRequest",value:function(e){var t,r=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Oe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Oe(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(this.getSortedPriorityGroups(e));try{for(r.s();!(t=r.n()).done;){var n=t.value;if(this.requestPool[e][n].length)return this.requestPool[e][n].shift()}}catch(e){r.e(e)}finally{r.f()}return null}},{key:"startGrabbing",value:function(){var e=this.sendRequests(f.Interaction),t=this.sendRequests(f.Thumbnail),r=this.sendRequests(f.Prefetch);e||t||r||(this.awake=!1)}},{key:"startAgain",value:function(){var e=this;this.awake&&(void 0!==this.grabDelay?this.timeoutHandle=window.setTimeout((function(){e.startGrabbing()}),this.grabDelay):this.startGrabbing())}},{key:"getSortedPriorityGroups",value:function(e){var t=this;return Object.keys(this.requestPool[e]).map(Number).filter((function(r){return t.requestPool[e][r].length})).sort()}},{key:"getRequestPool",value:function(){return this.requestPool}}]),e}(),Te=(new Se,new Se("imageLoadPool"));Te.grabDelay=0,Te.setMaxSimultaneousRequests(f.Interaction,1e3),Te.setMaxSimultaneousRequests(f.Thumbnail,1e3),Te.setMaxSimultaneousRequests(f.Prefetch,1e3);var De,Me=Te,Ve={};function je(e,t){var r=le.getImageLoadObject(e);if(void 0!==r)return r;var n=le.getVolumeContainingImageId(e);if(n&&n.volume.loadStatus.loaded){var i=n.volume,a=n.imageIdIndex;return i.convertToCornerstoneImage(e,a)}var o=le.getCachedImageBasedOnImageURI(e);return o?r=o.imageLoadObject:(r=function(e,t){var r=e.indexOf(":"),n=e.substring(0,r),i=Ve[n];if(null==i){if(void 0!==De)return De(e);throw new Error("loadImageFromImageLoader: no image loader for imageId")}var a=i(e,t);return a.promise.then((function(e){ae(ie,u.IMAGE_LOADED,{image:e})}),(function(t){var r={imageId:e,error:t};ae(ie,u.IMAGE_LOAD_FAILED,r)})),a}(e,t),r)}function Le(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{priority:0,requestType:"prefetch"};if(void 0===e)throw new Error("loadImage: parameter imageId must not be undefined");return je(e,t).promise}function Ue(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{priority:0,requestType:"prefetch"};if(void 0===e)throw new Error("loadAndCacheImage: parameter imageId must not be undefined");var r=je(e,t);return le.getImageLoadObject(e)||le.putImageLoadObject(e,r).catch((function(e){console.warn(e)})),r.promise}function Ne(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{priority:0,requestType:"prefetch"};if(!e||0===e.length)throw new Error("loadAndCacheImages: parameter imageIds must be list of image Ids");var r=e.map((function(e){return Ue(e,t)}));return r}function Fe(e){Me.filterRequests((function(t){var r=t.additionalDetails;return!r.imageId||r.imageId!==e}));var t=le.getImageLoadObject(e);t&&t.cancelFn()}function Ge(e){e.forEach((function(e){return Fe(e)}))}function We(){var e=Me.getRequestPool();Object.keys(e).forEach((function(t){var r=e[t];Object.keys(r).forEach((function(e){var t,n=r[e].pop().additionalDetails,i=n.imageId,a=n.volumeId;i?t=le.getImageLoadObject(i):a&&(t=le.getVolumeLoadObject(a)),t&&t.cancel()})),Me.clearRequestStack(t)}))}function Be(e,t){Ve[e]=t}function qe(e){var t=De;return De=e,t}function ze(){Object.keys(Ve).forEach((function(e){return delete Ve[e]})),De=void 0}var He=[];function Ke(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(t=0;t<He.length&&!(He[t].priority<=r);t++);He.splice(t,0,{priority:r,provider:e})}function $e(e){for(var t=0;t<He.length;t++)if(He[t].provider===e){He.splice(t,1);break}}function Xe(){for(;He.length>0;)He.pop()}function Ye(e,t){for(var r=0;r<He.length;r++){var n=He[r].provider(e,t);if(void 0!==n)return n}}function Ze(e,t){var r=Math.abs(e-t);return{windowWidth:r,windowCenter:e+r/2}}function Je(e,t){return{lower:t-e/2,upper:t+e/2}}function Qe(e){for(var t,r=e[0],n=e[0],i=e.length,a=1;a<i;a++)t=e[a],r=Math.min(r,t),n=Math.max(n,t);return{min:r,max:n}}function et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach((function(t){H(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var rt=f.Prefetch;function nt(){return(nt=O(T().mark((function e(t,r){var n,i,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=at(r)){e.next=5;break}return e.next=4,ot(r);case 4:n=e.sent;case 5:if(n&&void 0!==n.lower&&void 0!==n.upper){e.next=7;break}throw new Error("Could not get VOI from metadata, nor from the min max of the image middle slice");case 7:n=it(r,n),a=(i=n).lower,o=i.upper,t.getProperty().getRGBTransferFunction(0).setMappingRange(a,o);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function it(e,t){var r=e.imageIds;return"PT"===(Ye("generalSeriesModule",r[Math.floor(r.length/2)])||{}).modality&&e.isPrescaled?{lower:0,upper:5}:t}function at(e){var t=e.imageIds,r=Ye("voiLutModule",t[Math.floor(t.length/2)]);if(r&&r.windowWidth&&r.windowCenter){var n=r.windowWidth,i=r.windowCenter,a={windowWidth:Array.isArray(n)?n[0]:n,windowCenter:Array.isArray(i)?i[0]:i},o=Je(Number(a.windowWidth),Number(a.windowCenter));return{lower:o.lower,upper:o.upper}}}function ot(e){return st.apply(this,arguments)}function st(){return(st=O(T().mark((function e(t){var r,n,i,a,o,s,c,l,u,d,f,v,h,g,m,p,w,y,I,C,b,k;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.scalarData,n=t.imageIds,i=Math.floor(n.length/2),a=t.imageIds[i],o=Ye("generalSeriesModule",a)||{},s=o.modality,c=Ye("modalityLutModule",a)||{},l=n.length,u=r.byteLength/l,d=r.length/l,f=r.BYTES_PER_ELEMENT,!(r instanceof Uint8Array)){e.next=14;break}v="Uint8Array",e.next=19;break;case 14:if(!(r instanceof Float32Array)){e.next=18;break}v="Float32Array",e.next=19;break;case 18:throw new Error("Unsupported array type");case 19:return h={rescaleSlope:c.rescaleSlope,rescaleIntercept:c.rescaleIntercept,modality:s},"PT"===s&&(m=Ye("scalingModule",a))&&(g=tt(tt({},h),{},{suvbw:m.suvbw})),p=i*u,w={targetBuffer:{arrayBuffer:r.buffer,offset:p,length:d,type:v},priority:0,requestType:rt,preScale:{enabled:!0,scalingParameters:g}},e.next=25,Ue(a,w);case 25:return y=e.sent,I=y?y.getPixelData():ct(t,p,f,d),C=Qe(I),b=C.min,k=C.max,e.abrupt("return",{lower:b,upper:k});case 29:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ct(e,t,r,n){var i=e.scalarData,a=i.volumeBuffer;i.BYTES_PER_ELEMENT!==r&&(t*=i.BYTES_PER_ELEMENT/r);var o=i.constructor,s=new o(n),c=new o(a,t,n);return s.set(c),s}var lt=function(e,t){return nt.apply(this,arguments)};function ut(){return ut=O(T().mark((function e(t,r,n){var i,a,o,s,c,l,u,d,f,v=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=v.length>3&&void 0!==v[3]&&v[3],a=t.volumeId,o=t.callback,s=t.blendMode,e.next=4,ge(a);case 4:if(c=e.sent){e.next=7;break}throw new Error("imageVolume with id: ".concat(c.volumeId," does not exist"));case 7:if(l=c.imageData,u=c.vtkOpenGLTexture,d=_e(l,u),s&&d.setBlendMode(s),(f=M().newInstance()).setMapper(d),!c.imageIds){e.next=15;break}return e.next=15,lt(f,c);case 15:return o&&o({volumeActor:f,volumeId:a}),i||dt(r,n,f,a),e.abrupt("return",f);case 18:case"end":return e.stop()}}),e)}))),ut.apply(this,arguments)}function dt(e,t,r,n){var i=r.getProperty().getRGBTransferFunction(0).getRange(),a={viewportId:t,range:{lower:i[0],upper:i[1]},volumeId:n};ae(e,u.VOI_MODIFIED,a)}var ft=function(e,t,r){return ut.apply(this,arguments)},vt="viewport-element",ht="cornerstone-canvas";function gt(e){var t="canvas.".concat(ht),r="div.".concat(vt),n=e.querySelector(r)||function(e){var t=document.createElement("div");return t.style.position="relative",t.style.width="100%",t.style.height="100%",t.classList.add(vt),e.appendChild(t),t}(e);return n.querySelector(t)||function(e){var t=document.createElement("canvas");return t.style.position="absolute",t.style.width="100%",t.style.height="100%",t.classList.add(ht),e.appendChild(t),t}(n)}function mt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function pt(e,t){if(e){if("string"==typeof e)return mt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?mt(e,t):void 0}}function wt(e){return function(e){if(Array.isArray(e))return mt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||pt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var yt={},It=function(e){return yt[e]},Ct=function(e){var t=e.id;yt[t]=e},bt=function(e){return delete yt[e]},kt=function(){return Object.keys(yt).map((function(e){return yt[e]}))},Et=q(21),Rt=q.n(Et),Pt=q(643),At=q.n(Pt),xt=q(128),_t=q.n(xt),Ot=q(664),St=q.n(Ot),Tt=q(973),Dt=q.n(Tt),Mt=q(394),Vt=q.n(Mt),jt=q(582),Lt=q.n(jt),Ut=q(482),Nt=q.n(Ut),Ft=q(343),Gt=q.n(Ft),Wt=q(363),Bt=q.n(Wt),qt=q(982),zt=q.n(qt),Ht=q(130),Kt=q.n(Ht),$t=q(298),Xt=q.n($t),Yt=q(398),Zt=q.n(Yt),Jt=q(388),Qt=q.n(Jt),er=q(120),tr=q.n(er),rr=q(976),nr=q(395),ir=q(948),ar=q(478),or=$().vtkWarningMacro;function sr(e,t){t.classHierarchy.push("vtkStreamingOpenGLVolumeMapper"),e.buildBufferObjects=function(e,r){var n=t.currentInput;if(n){var i=n.getPointData()&&n.getPointData().getScalars();if(i){var a=r.getProperty();if(!t.jitterTexture.getHandle()){for(var o=new Uint8Array(1024),s=0;s<1024;++s)o[s]=255*Math.random();t.jitterTexture.setMinificationFilter(nr.Filter.LINEAR),t.jitterTexture.setMagnificationFilter(nr.Filter.LINEAR),t.jitterTexture.create2DFromRaw(32,32,1,ir.VtkDataTypes.UNSIGNED_CHAR,o)}var c=i.getNumberOfComponents(),l=a.getIndependentComponents()?c:1,u="".concat(a.getMTime());if(t.opacityTextureString!==u){for(var d=1024,f=2048*l,v=new Float32Array(f),h=new Float32Array(d),g=0;g<l;++g){var m=a.getScalarOpacity(g),p=t.renderable.getSampleDistance()/a.getScalarOpacityUnitDistance(g),w=m.getRange();m.getTable(w[0],w[1],d,h,1);for(var y=0;y<d;++y)v[g*d*2+y]=1-Math.pow(1-h[y],p),v[g*d*2+y+d]=v[g*d*2+y]}if(t.opacityTexture.releaseGraphicsResources(t._openGLRenderWindow),t.opacityTexture.setMinificationFilter(nr.Filter.LINEAR),t.opacityTexture.setMagnificationFilter(nr.Filter.LINEAR),t._openGLRenderWindow.getWebgl2()||t.context.getExtension("OES_texture_float")&&t.context.getExtension("OES_texture_float_linear"))t.opacityTexture.create2DFromRaw(d,2*l,1,ir.VtkDataTypes.FLOAT,v);else{for(var I=new Uint8Array(f),C=0;C<f;++C)I[C]=255*v[C];t.opacityTexture.create2DFromRaw(d,2*l,1,ir.VtkDataTypes.UNSIGNED_CHAR,I)}t.opacityTextureString=u}if(u="".concat(a.getMTime()),t.colorTextureString!==u){for(var b=1024,k=new Uint8Array(2048*l*3),E=new Float32Array(3072),R=0;R<l;++R){var P=a.getRGBTransferFunction(R),A=P.getRange();P.getTable(A[0],A[1],b,E,1);for(var x=0;x<3072;++x)k[R*b*6+x]=255*E[x],k[R*b*6+x+3072]=255*E[x]}t.colorTexture.releaseGraphicsResources(t._openGLRenderWindow),t.colorTexture.setMinificationFilter(nr.Filter.LINEAR),t.colorTexture.setMagnificationFilter(nr.Filter.LINEAR),t.colorTexture.create2DFromRaw(b,2*l,3,ir.VtkDataTypes.UNSIGNED_CHAR,k),t.colorTextureString=u}if(u="".concat(n.getMTime()),t.scalarTextureString!==u){var _=n.getDimensions(),O=t.scalarTexture.getTextureParameters(),S=n.getPointData().getScalars().getDataType(),T=n.getPointData().getScalars().getData(),D=!0;if(O.dataType&&O.dataType===S){var M=O.width*O.height*O.depth*O.numComps;T.length===M&&(D=!1)}D?(t.scalarTexture.releaseGraphicsResources(t._openGLRenderWindow),t.scalarTexture.resetFormatAndType(),t.scalarTexture.create3DFilterableFromRaw(_[0],_[1],_[2],c,i.getDataType(),i.getData(),t.renderable.getPreferSizeOverAccuracy())):(t.scalarTexture.deactivate(),t.scalarTexture.update3DFromRaw(T)),t.scalarTextureString=u}if(!t.tris.getCABO().getElementCount()){for(var V=new Float32Array(12),j=0;j<4;j++)V[3*j]=j%2*2-1,V[3*j+1]=j>1?1:-1,V[3*j+2]=-1;var L=new Uint16Array(8);L[0]=3,L[1]=0,L[2]=1,L[3]=3,L[4]=3,L[5]=0,L[6]=3,L[7]=2;var N=U().newInstance({numberOfComponents:3,values:V});N.setName("points");var F=U().newInstance({numberOfComponents:1,values:L});t.tris.getCABO().createVBO(F,"polys",ar.Representation.SURFACE,{points:N,cellOffset:0})}t.VBOBuildTime.modified()}}},e.setCameraShaderParameters=function(r,n,i){var a=r.getProgram(),o=t.openGLCamera.getRenderable(),s=o.getClippingRange();a.setUniformf("camThick",s[1]-s[0]),a.setUniformf("camNear",s[0]),a.setUniformf("camFar",s[1]),o.setIsPerformingCoordinateTransformation(!0);var c=t.openGLCamera.getKeyMatrices(n);o.setIsPerformingCoordinateTransformation(!1);var l=t.openGLVolume.getKeyMatrices();rr.mat4.multiply(t.modelToView,c.wcvc,l.mcwc);for(var u=t.currentInput.getBounds(),d=t.currentInput.getSpacing(),f=t.currentInput.getDimensions(),v=new Float64Array(3),h=new Float64Array(3),g=1,m=-1,p=1,w=-1,y=0;y<8;++y){if(rr.vec3.set(v,u[y%2],u[2+Math.floor(y/2)%2],u[4+Math.floor(y/4)]),rr.vec3.transformMat4(v,v,t.modelToView),!o.getParallelProjection()){rr.vec3.normalize(h,v);var I=-s[0]/v[2];rr.vec3.scale(v,h,I)}rr.vec3.transformMat4(v,v,c.vcpc),g=Math.min(v[0],g),m=Math.max(v[0],m),p=Math.min(v[1],p),w=Math.max(v[1],w)}a.setUniformf("dcxmin",g),a.setUniformf("dcxmax",m),a.setUniformf("dcymin",p),a.setUniformf("dcymax",w),a.isUniformUsed("cameraParallel")&&a.setUniformi("cameraParallel",o.getParallelProjection());var C=t.currentInput.getSpatialExtent(),b=new Float64Array(3);rr.vec3.set(b,(C[1]-C[0])*d[0],(C[3]-C[2])*d[1],(C[5]-C[4])*d[2]),a.setUniform3f("vSpacing",d[0],d[1],d[2]),rr.vec3.set(v,C[0],C[2],C[4]),t.currentInput.indexToWorldVec3(v,v),rr.vec3.transformMat4(v,v,t.modelToView),a.setUniform3f("vOriginVC",v[0],v[1],v[2]);var k=t.currentInput.getIndexToWorld();rr.mat4.multiply(t.idxToView,t.modelToView,k),rr.mat3.multiply(t.idxNormalMatrix,c.normalMatrix,l.normalMatrix),rr.mat3.multiply(t.idxNormalMatrix,t.idxNormalMatrix,t.currentInput.getDirection());var E=rr.vec3.length(b)/t.renderable.getSampleDistance();E>t.renderable.getMaximumSamplesPerRay()&&or("The number of steps required ".concat(Math.ceil(E)," is larger than the\n specified maximum number of steps ").concat(t.renderable.getMaximumSamplesPerRay(),".\n Please either change the\n volumeMapper sampleDistance or its maximum number of samples."));var R=new Float64Array(3);if(rr.vec3.set(R,1,1,1),rr.vec3.divide(R,R,b),a.setUniform3f("vVCToIJK",R[0],R[1],R[2]),a.setUniform3i("volumeDimensions",f[0],f[1],f[2]),!t._openGLRenderWindow.getWebgl2()){var P=t.scalarTexture.getVolumeInfo();a.setUniformf("texWidth",t.scalarTexture.getWidth()),a.setUniformf("texHeight",t.scalarTexture.getHeight()),a.setUniformi("xreps",P.xreps),a.setUniformi("xstride",P.xstride),a.setUniformi("ystride",P.ystride)}for(var A=new Float64Array(3),x=new Float64Array(3),_=0;_<6;++_){switch(_){case 1:rr.vec3.set(A,-1,0,0),rr.vec3.set(x,C[0],C[2],C[4]);break;case 2:rr.vec3.set(A,0,1,0),rr.vec3.set(x,C[1],C[3],C[5]);break;case 3:rr.vec3.set(A,0,-1,0),rr.vec3.set(x,C[0],C[2],C[4]);break;case 4:rr.vec3.set(A,0,0,1),rr.vec3.set(x,C[1],C[3],C[5]);break;case 5:rr.vec3.set(A,0,0,-1),rr.vec3.set(x,C[0],C[2],C[4]);break;default:rr.vec3.set(A,1,0,0),rr.vec3.set(x,C[1],C[3],C[5])}rr.vec3.transformMat3(A,A,t.idxNormalMatrix),rr.vec3.transformMat4(x,x,t.idxToView);var O=-1*rr.vec3.dot(x,A);if(a.setUniform3f("vPlaneNormal".concat(_),A[0],A[1],A[2]),a.setUniformf("vPlaneDistance".concat(_),O),i.getProperty().getUseLabelOutline()){var S=t.currentInput.getWorldToIndex();a.setUniformMatrix("vWCtoIDX",S),rr.mat4.invert(t.projectionToWorld,c.wcpc),a.setUniformMatrix("PCWCMatrix",t.projectionToWorld);var T=e.getRenderTargetSize(),D=e.getRenderTargetOffset();a.setUniformf("vpWidth",T[0]),a.setUniformf("vpHeight",T[1]),a.setUniformf("vpOffsetX",D[0]/T[0]),a.setUniformf("vpOffsetY",D[1]/T[1])}}switch(rr.mat4.invert(t.projectionToView,c.vcpc),t.projectionToView[10]=t.projectionToView[14],a.setUniformMatrix("PCVCMatrix",t.projectionToView),t.lastLightComplexity){default:case 0:break;case 1:case 2:case 3:var M=0,V=[];n.getLights().forEach((function(e){if(e.getSwitch()>0){var t=e.getColor(),r=e.getIntensity();V[0]=t[0]*r,V[1]=t[1]*r,V[2]=t[2]*r,a.setUniform3fArray("lightColor".concat(M),V);var n=e.getDirection();rr.vec3.set(A,n[0],n[1],n[2]),rr.vec3.transformMat3(A,A,c.normalMatrix),a.setUniform3f("lightDirectionVC".concat(M),A[0],A[1],A[2]);var i=[-.5*A[0],-.5*A[1],-.5*(A[2]-1)];a.setUniform3fArray("lightHalfAngleVC".concat(M),i),M++}}))}},e.getRenderTargetSize=function(){if(t._useSmallViewport)return[t._smallViewportWidth,t._smallViewportHeight];var e=t.openGLRenderer.getTiledSizeAndOrigin();return[e.usize,e.vsize]},e.getRenderTargetOffset=function(){var e=t.openGLRenderer.getTiledSizeAndOrigin();return[e.lowerLeftU,e.lowerLeftV]}}var cr={};function lr(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,cr,r),Qt().extend(e,t,r),t.scalarTexture=r.scalarTexture,t.previousState={},sr(e,t)}var ur={newInstance:$().newInstance(lr,"vtkStreamingOpenGLVolumeMapper"),extend:lr};function dr(e,t){t.classHierarchy.push("vtkStreamingOpenGLViewNodeFactory"),e.createNode=function(r){if(r.isDeleted())return null;for(var n=0,i=r.getClassName(n++),a=!1,o=Object.keys(t.overrides);i&&!a;)-1!==o.indexOf(i)?a=!0:i=r.getClassName(n++);if(!a)return null;var s=t.getModelInitialValues(r),c=t.overrides[i](s);return c.setMyFactory(e),c},t.getModelInitialValues=function(e){var t={};return"vtkSharedVolumeMapper"===e.getClassName()&&(t.scalarTexture=e.getScalarTexture()),t}}var fr={};function vr(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,fr,r),tr().extend(e,t,r),dr(e,t),e.registerOverride("vtkActor",At().newInstance),e.registerOverride("vtkActor2D",_t().newInstance),e.registerOverride("vtkCamera",St().newInstance),e.registerOverride("vtkGlyph3DMapper",Dt().newInstance),e.registerOverride("vtkImageMapper",Vt().newInstance),e.registerOverride("vtkImageSlice",Lt().newInstance),e.registerOverride("vtkMapper",Gt().newInstance),e.registerOverride("vtkPixelSpaceCallbackMapper",Nt().newInstance),e.registerOverride("vtkRenderer",Bt().newInstance),e.registerOverride("vtkSkybox",zt().newInstance),e.registerOverride("vtkSphereMapper",Kt().newInstance),e.registerOverride("vtkStickMapper",Xt().newInstance),e.registerOverride("vtkTexture",Y().newInstance),e.registerOverride("vtkVolume",Zt().newInstance),e.registerOverride("vtkVolumeMapper",Qt().newInstance),e.registerOverride("vtkSharedVolumeMapper",ur.newInstance)}var hr={newInstance:$().newInstance(vr,"vtkStreamingOpenGLViewNodeFactory"),extend:vr};function gr(e,t){t.classHierarchy.push("vtkStreamingOpenGLRenderWindow")}function mr(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,r),Rt().extend(e,t,r),t.myFactory=hr.newInstance(),t.myFactory.registerOverride("vtkRenderWindow",pr),gr(0,t)}var pr=$().newInstance(mr,"vtkStreamingOpenGLRenderWindow"),wr={newInstance:pr,extend:mr},yr=q(281),Ir=q.n(yr),Cr=q(329),br=q.n(Cr),kr=q(673),Er=q.n(kr);function Rr(e,t){var r=e.invokeResize;delete e.invokeResize,t.renderWindow=br().newInstance(),t.rendererMap={},t.openGLRenderWindow=wr.newInstance(),t.renderWindow.addView(t.openGLRenderWindow),t.interactor=Er().newInstance(),t.interactor.setView(t.openGLRenderWindow),t.interactor.initialize(),e.addRenderer=function(e){var r=e.viewport,n=e.id,i=e.background,a=Ir().newInstance({viewport:r,background:i||t.background});t.renderWindow.addRenderer(a),t.rendererMap[n]=a},e.destroy=function(){t.renderWindow.getInteractor().delete()},e.removeRenderer=function(r){var n=e.getRenderer(r);t.renderWindow.removeRenderer(n),n.delete(),delete t.rendererMap[r]},e.getRenderer=function(e){return t.rendererMap[e]},e.getRenderers=function(){var e=t.rendererMap;return Object.keys(e).map((function(t){return{id:t,renderer:e[t]}}))},e.resize=function(){if(t.container){var e=t.container,n=e.width,i=e.height;t.openGLRenderWindow.setSize(Math.floor(n),Math.floor(i)),r(),t.renderWindow.render()}},e.setContainer=function(e){t.container=e,t.openGLRenderWindow.setContainer(t.container)},e.delete=$().chain(e.setContainer,e.destroy,t.openGLRenderWindow.delete,e.delete),e.resize()}q(348),q(70),q(474),q(610);var Pr={background:[0,0,0],container:null};function Ar(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Pr,r),$().obj(e,t),$().get(e,t,["renderWindow","openGLRenderWindow","interactor","container"]),$().event(e,t,"resize"),Rr(e,t)}var xr={newInstance:$().newInstance(Ar),extend:Ar};function _r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Or(e){return Or=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Or(e)}function Sr(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Or(e)););return e}function Tr(){return Tr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=Sr(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}},Tr.apply(this,arguments)}function Dr(e,t){return Dr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Dr(e,t)}function Mr(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Dr(e,t)}function Vr(e,t){if(t&&("object"===P(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _r(e)}var jr=q(864),Lr=q.n(jr),Ur=le;function Nr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,a=[],o=!0,s=!1;try{for(r=r.call(e);!(o=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){s=!0,i=e}finally{try{o||null==r.return||r.return()}finally{if(s)throw i}}return a}}(e,t)||pt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Fr=q(847),Gr=q.n(Fr),Wr=q(807),Br=q.n(Wr);function qr(e){return!!e.isA("vtkVolume")||!!e.isA("vtkImageSlice")}function zr(e,t,r){var n=Nr(e,3),i=n[0],a=n[1],o=n[2],s=Nr(t,3),c=s[0],l=s[1],u=s[2],d=Nr(r,4),f=d[0],v=d[1],h=d[2],g=c-i,m=l-a,p=u-o,w=-1*(f*i+v*a+h*o-d[3])/(f*g+v*m+h*p);return[g*w+i,m*w+a,p*w+o]}function Hr(e,t){var r=Nr(e,3),n=r[0],i=r[1],a=r[2];return[n,i,a,n*t[0]+i*t[1]+a*t[2]]}function Kr(e,t,r){var n=Nr(e,4),i=n[0],a=n[1],o=n[2],s=n[3],c=Nr(t,4),l=c[0],u=c[1],d=c[2],f=c[3],v=Nr(r,4),h=v[0],g=v[1],m=v[2],p=v[3],w=rr.mat3.fromValues(i,l,h,a,u,g,o,d,m),y=rr.mat3.fromValues(s,f,p,a,u,g,o,d,m),I=rr.mat3.fromValues(i,l,h,s,f,p,o,d,m),C=rr.mat3.fromValues(i,l,h,a,u,g,s,f,p);return[rr.mat3.determinant(y)/rr.mat3.determinant(w),rr.mat3.determinant(I)/rr.mat3.determinant(w),rr.mat3.determinant(C)/rr.mat3.determinant(w)]}function $r(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=Nr(e,4),i=n[0],a=n[1],o=n[2],s=n[3],c=Nr(t,3),l=c[0],u=c[1],d=c[2],f=i*l+a*u+o*d-s,v=Math.abs(f)/Math.sqrt(i*i+a*a+o*o),h=r?Math.sign(f):1;return h*v}function Xr(e){return Array.isArray(e)?e.some((function(e){return Number.isNaN(e)})):Number.isNaN(e)}function Yr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Zr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Yr(Object(r),!0).forEach((function(t){H(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Yr(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Jr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Qr=function(){function e(t){B(this,e),H(this,"id",void 0),H(this,"element",void 0),H(this,"canvas",void 0),H(this,"renderingEngineId",void 0),H(this,"type",void 0),H(this,"flipHorizontal",!1),H(this,"flipVertical",!1),H(this,"rotation",0),H(this,"isDisabled",void 0),H(this,"sx",void 0),H(this,"sy",void 0),H(this,"sWidth",void 0),H(this,"sHeight",void 0),H(this,"_actors",void 0),H(this,"defaultOptions",void 0),H(this,"options",void 0),H(this,"_suppressCameraModifiedEvents",!1),H(this,"suppressEvents",void 0),H(this,"hasPixelSpacing",!0),H(this,"initialCamera",void 0),H(this,"getFrameOfReferenceUID",void 0),H(this,"canvasToWorld",void 0),H(this,"worldToCanvas",void 0),H(this,"customRenderViewportToCanvas",void 0),H(this,"resize",void 0),H(this,"getProperties",void 0),this.id=t.id,this.renderingEngineId=t.renderingEngineId,this.type=t.type,this.element=t.element,this.canvas=t.canvas,this.sx=t.sx,this.sy=t.sy,this.sWidth=t.sWidth,this.sHeight=t.sHeight,this._actors=new Map,this.element.setAttribute("data-viewport-uid",this.id),this.element.setAttribute("data-rendering-engine-uid",this.renderingEngineId),this.defaultOptions=F()(t.defaultOptions),this.suppressEvents=!!t.defaultOptions.suppressEvents&&t.defaultOptions.suppressEvents,this.options=F()(t.defaultOptions),this.isDisabled=!1}return W(e,[{key:"getRenderingEngine",value:function(){return It(this.renderingEngineId)}},{key:"getRenderer",value:function(){var e=this.getRenderingEngine();if(!e||e.hasBeenDestroyed)throw new Error("Rendering engine has been destroyed");return e.offscreenMultiRenderWindow.getRenderer(this.id)}},{key:"render",value:function(){this.getRenderingEngine().renderViewport(this.id)}},{key:"setOptions",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.options=F()(e),t&&this.render()}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.options=F()(this.defaultOptions),e&&this.render()}},{key:"flip",value:function(e){var t=e.flipHorizontal,r=e.flipVertical,n=this.getDefaultImageData();if(n){var i=this.getCamera(),a=i.viewPlaneNormal,o=i.viewUp,s=i.focalPoint,c=i.position,l=rr.vec3.cross(rr.vec3.create(),a,o),u=rr.vec3.copy(rr.vec3.create(),o),d=rr.vec3.negate(rr.vec3.create(),a),f=rr.vec3.distance(c,s),v=n.getDimensions().map((function(e){return Math.floor(e/2)})),h=[v[0],v[1],v[2]],g=n.indexToWorld(h,rr.vec3.create()),m=this._getFocalPointForResetCamera(g,i,{resetPan:!0,resetToCenter:!1}),p=rr.vec3.subtract(rr.vec3.create(),s,m),w=rr.vec3.length(p),y=function(e){var t=rr.vec3.scale(rr.vec3.create(),e,2*rr.vec3.dot(p,e));return rr.vec3.subtract(t,t,p),rr.vec3.normalize(t,t),t};if(t){var I=y(u),C=rr.vec3.scaleAndAdd(rr.vec3.create(),m,I,w),b=rr.vec3.scaleAndAdd(rr.vec3.create(),C,d,f);this.setCamera({viewPlaneNormal:d,position:b,focalPoint:C}),this.flipHorizontal=!this.flipHorizontal}if(r){u=rr.vec3.negate(u,o);var k=y(l),E=rr.vec3.scaleAndAdd(rr.vec3.create(),m,k,w),R=rr.vec3.scaleAndAdd(rr.vec3.create(),E,d,f);this.setCamera({focalPoint:E,viewPlaneNormal:d,viewUp:u,position:R}),this.flipVertical=!this.flipVertical}this.render()}}},{key:"getDefaultImageData",value:function(){var e=this.getDefaultActor();if(e&&qr(e.actor))return e.actor.getMapper().getInputData()}},{key:"getDefaultActor",value:function(){return this.getActors()[0]}},{key:"getActors",value:function(){return Array.from(this._actors.values())}},{key:"getActor",value:function(e){return this._actors.get(e)}},{key:"getActorUIDByIndex",value:function(e){var t=this.getActors()[e];if(t)return t.uid}},{key:"getActorByIndex",value:function(e){return this.getActors()[e]}},{key:"setActors",value:function(e){this.removeAllActors(),this.addActors(e,!0)}},{key:"removeActor",value:function(e){var t=this.getActor(e);t?(this.getRenderer().removeViewProp(t.actor),this._actors.delete(e)):console.warn("Actor ".concat(e," does not exist for this viewport"))}},{key:"removeActors",value:function(e){var t=this;e.forEach((function(e){t.removeActor(e)}))}},{key:"addActors",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.getRenderingEngine();n&&!n.hasBeenDestroyed?(e.forEach((function(e){return t.addActor(e)})),this.resetCamera(r,r)):console.warn("Viewport::addActors::Rendering engine has not been initialized or has been destroyed")}},{key:"addActor",value:function(e){var t=e.uid,r=e.actor,n=this.getRenderingEngine();if(n&&!n.hasBeenDestroyed){if(!t||!r)throw new Error("Actors should have uid and vtk Actor properties");this.getActor(t)?console.warn("Actor ".concat(t," already exists for this viewport")):(this.getRenderer().addActor(r),this._actors.set(t,Object.assign({},e)))}else console.warn("Cannot add actor UID of ".concat(t," Rendering Engine has been destroyed"))}},{key:"removeAllActors",value:function(){this.getRenderer().removeAllViewProps(),this._actors=new Map}},{key:"resetCameraNoEvent",value:function(){this._suppressCameraModifiedEvents=!0,this.resetCamera(),this._suppressCameraModifiedEvents=!1}},{key:"setCameraNoEvent",value:function(e){this._suppressCameraModifiedEvents=!0,this.setCamera(e),this._suppressCameraModifiedEvents=!1}},{key:"_getViewImageDataIntersections",value:function(e,t,r){var n,i=r[0],a=r[1],o=r[2],s=i*t[0]+a*t[1]+o*t[2],c=e.getBounds(),l=[],u=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Jr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Jr(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(this._getEdges(c));try{for(u.s();!(n=u.n()).done;){var d=Nr(n.value,2),f=Nr(d[0],3),v=f[0],h=f[1],g=f[2],m=Nr(d[1],3),p=m[0],w=m[1],y=m[2];if(i*(p-v)+a*(w-h)+o*(y-g)!=0){var I=zr([v,h,g],[p,w,y],[i,a,o,s]);this._isInBounds(I,c)&&l.push(I)}}}catch(e){u.e(e)}finally{u.f()}return l}},{key:"resetCamera",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=this.getRenderer();this.setCamera({flipHorizontal:!1,flipVertical:!1});var a=F()(this.getCamera()),o=i.computeVisiblePropBounds(),s=[0,0,0],c=this.getDefaultImageData();if(c){var l=c.getSpacing();o[0]=o[0]+l[0]/2,o[1]=o[1]-l[0]/2,o[2]=o[2]+l[1]/2,o[3]=o[3]-l[1]/2,o[4]=o[4]+l[2]/2,o[5]=o[5]-l[2]/2}var u=this.getVtkActiveCamera(),d=u.getViewPlaneNormal(),f=u.getViewUp();if(s[0]=(o[0]+o[1])/2,s[1]=(o[2]+o[3])/2,s[2]=(o[4]+o[5])/2,c){var v=c.getDimensions(),h=v.map((function(e){return Math.floor(e/2)})),g=[h[0],h[1],h[2]];c.indexToWorld(g,s)}var m,p=this._getWorldDistanceViewUpAndViewRight(o,f,d),w=p.widthWorld,y=p.heightWorld,I=[this.sWidth,this.sHeight],C=w/y,b=I[0]/I[1];if(C<b)m=y/2;else{var k=C/b;m=y*k/2}var R=1.1*m,P=o[1]-o[0],A=o[3]-o[2],x=o[5]-o[4];m=0==(m=(P*=P)+(A*=A)+(x*=x))?1:m;var _=1.1*(m=.5*Math.sqrt(m)),O=Math.abs(Br().dot(f,d))>.999?[-f[2],f[0],f[1]]:f,S=this._getFocalPointForResetCamera(s,a,{resetPan:e,resetToCenter:r}),T=[S[0]+_*d[0],S[1]+_*d[1],S[2]+_*d[2]];i.resetCameraClippingRange(o);var D=[-E.MAXIMUM_RAY_DISTANCE,E.MAXIMUM_RAY_DISTANCE];u.setPhysicalScale(m),u.setPhysicalTranslation(-S[0],-S[1],-S[2]),this.setCamera({parallelScale:t?R:a.parallelScale,focalPoint:S,position:T,viewAngle:90,viewUp:O,clippingRange:D});var M=F()(this.getCamera());n&&this.setInitialCamera(M);var V={type:"ResetCameraEvent",renderer:i};return i.invokeEvent(V),this.triggerCameraModifiedEventIfNecessary(a,M),!0}},{key:"setInitialCamera",value:function(e){this.initialCamera=e}},{key:"getPan",value:function(){var e=this.getVtkActiveCamera().getFocalPoint(),t=this.canvasToWorld([0,0]),r=this.worldToCanvas(rr.vec3.subtract(rr.vec3.create(),this.initialCamera.focalPoint,t)),n=this.worldToCanvas(rr.vec3.subtract(rr.vec3.create(),e,t));return rr.vec2.subtract(rr.vec2.create(),r,n)}},{key:"setPan",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.getCamera(),n=r.focalPoint,i=r.position,a=this.canvasToWorld([0,0]),o=rr.vec2.subtract(rr.vec2.create(),e,this.getPan());if(!(Math.abs(o[0])<1&&Math.abs(o[1])<1)||t){var s=rr.vec3.subtract(rr.vec3.create(),this.canvasToWorld(o),a),c=rr.vec3.subtract(rr.vec3.create(),n,s),l=rr.vec3.subtract(rr.vec3.create(),i,s);this.setCamera(Zr(Zr({},r),{},{focalPoint:c,position:l}),t)}}},{key:"getZoom",value:function(){var e=this.getVtkActiveCamera();return this.initialCamera.parallelScale/e.getParallelScale()}},{key:"setZoom",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.getCamera(),n=this.initialCamera.parallelScale,i=n/e;(r.parallelScale!==i||t)&&this.setCamera(Zr(Zr({},r),{},{parallelScale:i}),t)}},{key:"_getFocalPointForViewPlaneReset",value:function(e){var t=this.getCamera(),r=t.focalPoint,n=t.viewPlaneNormal,i=this._getViewImageDataIntersections(e,r,n),a=0,o=0,s=0;return i.forEach((function(e){var t=Nr(e,3),r=t[0],n=t[1],i=t[2];a+=r,o+=n,s+=i})),[a/i.length,o/i.length,s/i.length]}},{key:"getCanvas",value:function(){return this.canvas}},{key:"getVtkActiveCamera",value:function(){return this.getRenderer().getActiveCamera()}},{key:"getCamera",value:function(){var e=this.getVtkActiveCamera();return{viewUp:e.getViewUp(),viewPlaneNormal:e.getViewPlaneNormal(),position:e.getPosition(),focalPoint:e.getFocalPoint(),parallelProjection:e.getParallelProjection(),parallelScale:e.getParallelScale(),viewAngle:e.getViewAngle(),flipHorizontal:this.flipHorizontal,flipVertical:this.flipVertical}}},{key:"setCamera",value:function(e){var t,r,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.getVtkActiveCamera(),a=F()(this.getCamera()),o=Object.assign({},a,e),s=e.viewUp,c=e.viewPlaneNormal,l=e.position,u=e.focalPoint,d=e.parallelScale,f=e.viewAngle,v=e.flipHorizontal,h=e.flipVertical,g=e.clippingRange;if(void 0!==v){var m=v&&!this.flipHorizontal||!v&&this.flipHorizontal;m&&this.flip({flipHorizontal:m})}if(void 0!==h){var p=h&&!this.flipVertical||!h&&this.flipVertical;p&&this.flip({flipVertical:p})}void 0!==s&&i.setViewUp(s),void 0!==c&&i.setDirectionOfProjection(-c[0],-c[1],-c[2]),void 0!==l&&i.setPosition.apply(i,wt(l)),void 0!==u&&i.setFocalPoint.apply(i,wt(u)),void 0!==d&&i.setParallelScale(d),void 0!==f&&i.setViewAngle(f),void 0!==g&&i.setClippingRange(g);var w=this.getDefaultActor();if(null!=w&&null!==(t=w.actor)&&void 0!==t&&t.isA("vtkVolume")&&this.updateClippingPlanesForActors(o),null!=w&&null!==(r=w.actor)&&void 0!==r&&r.isA("vtkImageSlice")){var y=this.getRenderer();y.resetCameraClippingRange()}n&&this.setInitialCamera(o),this.triggerCameraModifiedEventIfNecessary(a,this.getCamera())}},{key:"triggerCameraModifiedEventIfNecessary",value:function(e,t){if(!this._suppressCameraModifiedEvents&&!this.suppressEvents){var r={previousCamera:e,camera:t,element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:this.rotation};ae(this.element,u.CAMERA_MODIFIED,r)}}},{key:"updateClippingPlanesForActors",value:function(e){var t=this;this.getActors().forEach((function(r){if(r.actor&&qr(r.actor)){var n=r.actor.getMapper().getClippingPlanes(),i=E.MINIMUM_SLAB_THICKNESS;r.slabThickness&&(i=r.slabThickness);var a=e.viewPlaneNormal,o=e.focalPoint;t.setOrientationOfClippingPlanes(n,i,a,o)}}))}},{key:"setOrientationOfClippingPlanes",value:function(e,t,r,n){if(!(e.length<2)){var i=[r[0],r[1],r[2]];Br().multiplyScalar(i,t),e[0].setNormal(r);var a=[0,0,0];Br().subtract(n,i,a),e[0].setOrigin(a),e[1].setNormal(-r[0],-r[1],-r[2]);var o=[0,0,0];Br().add(n,i,o),e[1].setOrigin(o)}}},{key:"_getWorldDistanceViewUpAndViewRight",value:function(e,t,r){var n=this._getCorners(e),i=this._getCorners(e),a=rr.vec3.cross(rr.vec3.create(),t,r),o=Gr().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);n.forEach((function(e){return o.apply(e)}));for(var s=1/0,c=-1/0,l=0;l<8;l++){var u=n[l][0];u>c&&(c=u),u<s&&(s=u)}o=Gr().buildFromDegree().identity().rotateFromDirections([a[0],a[1],a[2]],[1,0,0]),i.forEach((function(e){return o.apply(e)}));for(var d=1/0,f=-1/0,v=0;v<8;v++){var h=i[v][0];h>f&&(f=h),h<d&&(d=h)}return{widthWorld:f-d,heightWorld:c-s}}},{key:"_getCorners",value:function(e){return[[e[0],e[2],e[4]],[e[0],e[2],e[5]],[e[0],e[3],e[4]],[e[0],e[3],e[5]],[e[1],e[2],e[4]],[e[1],e[2],e[5]],[e[1],e[3],e[4]],[e[1],e[3],e[5]]]}},{key:"_getFocalPointForResetCamera",value:function(e,t,r){var n=r.resetPan,i=void 0===n||n,a=r.resetToCenter,o=void 0===a||a;if(o&&i)return e;if(o&&!i)return Xr(t.focalPoint)?e:t.focalPoint;if(!o&&i){var s=t,c=s.focalPoint,l=s.viewPlaneNormal,u=rr.vec3.subtract(rr.vec3.create(),e,c),d=rr.vec3.dot(u,l),f=rr.vec3.scaleAndAdd(rr.vec3.create(),e,l,-1*d);return[f[0],f[1],f[2]]}return i||o?void 0:Xr(t.focalPoint)?e:t.focalPoint}},{key:"_isInBounds",value:function(e,t){var r=Nr(t,6),n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],c=r[5],l=Nr(e,3),u=l[0],d=l[1],f=l[2];return!(u<n||u>i||d<a||d>o||f<s||f>c)}},{key:"_getEdges",value:function(e){var t=Nr(this._getCorners(e),8),r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7];return[[r,n],[r,o],[r,i],[n,a],[n,s],[i,a],[i,c],[a,l],[o,c],[o,s],[s,l],[c,l]]}}],[{key:"useCustomRenderingPipeline",get:function(){return!1}}]),e}(),en=Qr;function tn(e){var t=e.getMapper().getInputData(),r=t.extentToBounds(t.getExtent());return[[r[0],r[2],r[4]],[r[0],r[2],r[5]],[r[0],r[3],r[4]],[r[0],r[3],r[5]],[r[1],r[2],r[4]],[r[1],r[2],r[5]],[r[1],r[3],r[4]],[r[1],r[3],r[5]]]}function rn(e,t,r){var n=tn(e),i=Gr().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);n.forEach((function(e){return i.apply(e)}));var a=wt(r);i.apply(a);for(var o=a[0],s=1/0,c=-1/0,l=0;l<8;l++){var u=n[l][0];u>c&&(c=u),u<s&&(s=u)}return{min:s,max:c,current:o,actor:e,viewPlaneNormal:t,focalPoint:r}}function nn(e,t){var r=e.direction,n=e.spacing,i=r.slice(0,3),a=r.slice(3,6),o=r.slice(6,9),s=[rr.vec3.dot(i,t),rr.vec3.dot(a,t),rr.vec3.dot(o,t)],c=rr.vec3.create();return rr.vec3.set(c,s[0]*n[0],s[1]*n[1],s[2]*n[2]),rr.vec3.length(c)}function an(e,t,r){var n=t.viewPlaneNormal,i=e.getActors();if(!i||!i.length)return{spacingInNormalDirection:null,imageVolume:null};var a=i.length,o=i.map((function(e){var t,r=null!==(t=e.referenceId)&&void 0!==t?t:e.uid;return le.getVolume(r)}));if(r){var s=o.find((function(e){return e.volumeId===r}));return{imageVolume:s,spacingInNormalDirection:nn(s,n)}}for(var c={spacingInNormalDirection:1/0,imageVolume:null},l=0;l<a;l++){var u=o[l],d=nn(u,n);d<c.spacingInNormalDirection&&(c.spacingInNormalDirection=d,c.imageVolume=u)}return c}var on=function(e){var t=e.getCamera(),r=an(e,t),n=r.spacingInNormalDirection,i=r.imageVolume;if(i){var a=t.viewPlaneNormal,o=t.focalPoint,s=e.getActors().find((function(e){return e.referenceId===i.volumeId||e.uid===i.volumeId}));s||console.warn("No actor found for with actorUID of",i.volumeId);var c=rn(s.actor,a,o),l=c.min,u=c.max,d=c.current,f=Math.round((u-l)/n)+1,v=(d-l)/(u-l)*f;return(v=Math.floor(v))>f-1?v=f-1:v<0&&(v=0),{numberOfSlices:f,imageIndex:v}}};function sn(e){return It(e)}function cn(){return kt()}var ln=sn,un={},dn=q(821),fn=q.n(dn);function vn(e,t){t.classHierarchy.push("vtkSlabCamera");var r=rr.mat4.identity(new Float64Array(16)),n=new Float64Array(3);e.getProjectionMatrix=function(e,i,a){var o=rr.mat4.create();if(t.projectionMatrix){var s=1/t.physicalScale;return rr.vec3.set(n,s,s,s),rr.mat4.copy(o,t.projectionMatrix),rr.mat4.scale(o,o,n),rr.mat4.transpose(o,o),o}rr.mat4.identity(r);var c=t.clippingRange[0],l=t.clippingRange[1];t.isPerformingCoordinateTransformation&&(c=t.distance,l=t.distance+.1);var u=l-c,d=[c+(i+1)*u/2,c+(a+1)*u/2];if(t.parallelProjection){var f=t.parallelScale*e,v=t.parallelScale,h=(t.windowCenter[0]-1)*f,g=(t.windowCenter[0]+1)*f,m=(t.windowCenter[1]-1)*v,p=(t.windowCenter[1]+1)*v;rr.mat4.ortho(r,h,g,m,p,d[0],d[1]),rr.mat4.transpose(r,r)}else{if(t.useOffAxisProjection)throw new Error("Off-Axis projection is not supported at this time");var w,y,I=Math.tan(Br().radiansFromDegrees(t.viewAngle)/2);!0===t.useHorizontalViewAngle?(w=c*I,y=c*I/e):(w=c*I*e,y=c*I);var C=(t.windowCenter[0]-1)*w,b=(t.windowCenter[0]+1)*w,k=(t.windowCenter[1]-1)*y,E=(t.windowCenter[1]+1)*y,R=d[0],P=d[1];r[0]=2*R/(b-C),r[5]=2*R/(E-k),r[2]=(C+b)/(b-C),r[6]=(k+E)/(E-k),r[10]=-(R+P)/(P-R),r[14]=-1,r[11]=-2*R*P/(P-R),r[15]=0}return rr.mat4.copy(o,r),o}}var hn={isPerformingCoordinateTransformation:!1};function gn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,hn,r),fn().extend(e,t,r),$().setGet(e,t,["isPerformingCoordinateTransformation"]),vn(e,t)}var mn={newInstance:$().newInstance(gn,"vtkSlabCamera"),extend:gn};function pn(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))}const wn=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function yn(e){return e.toLowerCase().replace(/^angle ?\((.+)\)*$/,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const In="undefined"==typeof window,Cn=(()=>{if(In)return;const{userAgent:e,platform:t,maxTouchPoints:r}=window.navigator,n=/(iphone|ipod|ipad)/i.test(e),i="iPad"===t||"MacIntel"===t&&r>0&&!window.MSStream;return{isIpad:i,isMobile:/android/i.test(e)||n||i,isSafari12:/Version\/12.+Safari/.test(e)}})(),bn=[],kn=[];function En(e,t){if(e===t)return 0;const r=e;e.length>t.length&&(e=t,t=r);let n=e.length,i=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-i);)n--,i--;let a,o=0;for(;o<n&&e.charCodeAt(o)===t.charCodeAt(o);)o++;if(n-=o,i-=o,0===n)return i;let s,c,l=0,u=0,d=0;for(;u<n;)kn[u]=e.charCodeAt(o+u),bn[u]=++u;for(;d<i;)for(a=t.charCodeAt(o+d),s=d++,l=d,u=0;u<n;u++)c=a===kn[u]?s:s+1,s=bn[u],l=bn[u]=s>l?c>l?l+1:c:c>s?s+1:c;return l}function Rn(e){return null!=e}class Pn extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const An=({mobileTiers:e=[0,15,30,60],desktopTiers:t=[0,15,30,60],override:r={},glContext:n,failIfMajorPerformanceCaveat:i=!1,benchmarksURL:a="https://unpkg.com/detect-gpu@4.0.45/dist/benchmarks"}={})=>pn(void 0,void 0,void 0,(function*(){const o={};if(In)return{tier:0,type:"SSR"};const{isIpad:s=!!(null==Cn?void 0:Cn.isIpad),isMobile:c=!!(null==Cn?void 0:Cn.isMobile),screenSize:l=window.screen,loadBenchmarks:u=(e=>pn(void 0,void 0,void 0,(function*(){const t=yield fetch(`${a}/${e}`).then((e=>e.json()));if(parseInt(t.shift().split(".")[0],10)<4)throw new Pn("Detect GPU benchmark data is out of date. Please update to version 4x");return t})))}=r;let{renderer:d}=r;const f=(e,t,r,n,i)=>({device:i,fps:n,gpu:r,isMobile:c,tier:e,type:t});let v,h="";if(d)d=yn(d),v=[d];else{const e=n||function(e,t=!1){const r={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete r.powerPreference;const n=window.document.createElement("canvas"),i=n.getContext("webgl",r)||n.getContext("experimental-webgl",r);return null!=i?i:void 0}(null==Cn?void 0:Cn.isSafari12,i);if(!e)return f(0,"WEBGL_UNSUPPORTED");const t=e.getExtension("WEBGL_debug_renderer_info");if(t&&(d=e.getParameter(t.UNMASKED_RENDERER_WEBGL)),!d)return f(1,"FALLBACK");h=d,d=yn(d),v=function(e,t,r){return"apple gpu"===t?function(e,t,r){if(!r)return[t];const n=function(e){const t=e.createShader(35633),r=e.createShader(35632),n=e.createProgram();if(!(r&&t&&n))return;e.shaderSource(t,"\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n "),e.shaderSource(r,"\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n "),e.compileShader(t),e.compileShader(r),e.attachShader(n,t),e.attachShader(n,r),e.linkProgram(n),e.detachShader(n,t),e.detachShader(n,r),e.deleteShader(t),e.deleteShader(r),e.useProgram(n);const i=e.createBuffer();e.bindBuffer(34962,i),e.bufferData(34962,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const a=e.getAttribLocation(n,"aPosition");e.vertexAttribPointer(a,3,5126,!1,0,0),e.enableVertexAttribArray(a),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const o=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,o),e.deleteProgram(n),e.deleteBuffer(i),o.join("")}(e),i="801621810",a="8016218135",o="80162181161",s=(null==Cn?void 0:Cn.isIpad)?[["a7",o,12],["a8",a,15],["a8x",a,15],["a9",a,15],["a9x",a,15],["a10",a,15],["a10x",a,15],["a12",i,15],["a12x",i,15],["a12z",i,15],["a14",i,15],["m1",i,15]]:[["a7",o,12],["a8",a,12],["a9",a,15],["a10",a,15],["a11",i,15],["a12",i,15],["a13",i,15],["a14",i,15]];let c;return"80162181255"===n?c=s.filter((([,,e])=>e>=14)):(c=s.filter((([,e])=>e===n)),c.length||(c=s)),c.map((([e])=>`apple ${e} gpu`))}(e,t,r):[t]}(e,d,c)}const g=(yield Promise.all(v.map((function(e){var t;return pn(this,void 0,void 0,(function*(){const r=(e=>{const t=c?["adreno","apple","mali-t","mali","nvidia","powervr"]:["intel","apple","amd","radeon","nvidia","geforce"];for(const r of t)if(e.includes(r))return r})(e);if(!r)return;const n=`${c?"m":"d"}-${r}${s?"-ipad":""}.json`,i=o[n]=null!==(t=o[n])&&void 0!==t?t:u(n);let a;try{a=yield i}catch(r){if(r instanceof Pn)throw r;return}const d=function(e){var t;const r=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==r?void 0:r.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(e);let f=a.filter((([,e])=>e===d));f.length||(f=a.filter((([t])=>t.includes(e))));const v=f.length;if(0===v)return;let h,[g,,,m]=v>1?f.map((t=>[t,En(e,t[0])])).sort((([,e],[,t])=>e-t))[0][0]:f[0],p=Number.MAX_VALUE;const{devicePixelRatio:w}=window,y=l.width*w*l.height*w;for(const e of m){const[t,r]=e,n=t*r,i=Math.abs(y-n);i<p&&(p=i,h=e)}if(!h)return;const[,,I,C]=h;return[p,I,g,C]}))})))).filter(Rn).sort((([e=Number.MAX_VALUE,t],[r=Number.MAX_VALUE,n])=>e===r?t-n:e-r));if(!g.length){const e=wn.find((e=>d.includes(e)));return e?f(0,"BLOCKLISTED",e):f(1,"FALLBACK",`${d} (${h})`)}const[,m,p,w]=g[0];if(-1===m)return f(0,"BLOCKLISTED",p,m,w);const y=c?e:t;let I=0;for(let e=0;e<y.length;e++)m>=y[e]&&(I=e);return f(I,"BENCHMARK",p,m,w)}));var xn=!1,_n=!1;function On(){var e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");return!!(t&&t instanceof WebGLRenderingContext)}function Sn(){return Tn.apply(this,arguments)}function Tn(){return Tn=O(T().mark((function e(){var t,r=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r.length>0&&void 0!==r[0]&&r[0],!xn){e.next=3;break}return e.abrupt("return",xn);case 3:if(On()){e.next=9;break}_n=!0,console.log("CornerstoneRender: GPU not detected, using CPU rendering"),e.next=14;break;case 9:return e.next=11,An();case 11:t=e.sent,console.log("CornerstoneRender: Using detect-gpu to get the GPU benchmark:",t),t.tier<1?(console.log("CornerstoneRender: GPU is not powerful enough, using CPU rendering"),_n=!0):console.log("CornerstoneRender: using GPU rendering");case 14:return xn=!0,e.abrupt("return",xn);case 16:case"end":return e.stop()}}),e)}))),Tn.apply(this,arguments)}function Dn(e){_n=e,xn=!0}function Mn(){_n=!On()}function Vn(){return _n}function jn(){return xn}function Ln(e,t){return e.worldToIndex(t).map(Math.round)}var Un=function(e){Mr(s,e);var t,r,n,i,a,o=(i=s,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Or(i);if(a){var r=Or(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return Vr(this,e)});function s(e){var t;if(B(this,s),H(_r(t=o.call(this,e)),"useCPURendering",!1),H(_r(t),"_FrameOfReferenceUID",void 0),H(_r(t),"_useAcquisitionPlaneForViewPlane",!1),H(_r(t),"getFrameOfReferenceUID",(function(){return t._FrameOfReferenceUID})),H(_r(t),"canvasToWorld",(function(e){var r=t.getVtkActiveCamera();r.setIsPerformingCoordinateTransformation(!0);var n=t.getRenderer(),i=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),a=i.getSize(),o=window.devicePixelRatio||1,s=[e[0]*o,e[1]*o],c=[s[0]+t.sx,s[1]+t.sy];c[1]=a[1]-c[1];var l=i.displayToWorld(c[0],c[1],0,n);return r.setIsPerformingCoordinateTransformation(!1),[l[0],l[1],l[2]]})),H(_r(t),"worldToCanvas",(function(e){var r=t.getVtkActiveCamera();r.setIsPerformingCoordinateTransformation(!0);var n=t.getRenderer(),i=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),a=i.getSize(),o=i.worldToDisplay.apply(i,wt(e).concat([n]));o[1]=a[1]-o[1];var s=[o[0]-t.sx,o[1]-t.sy],c=window.devicePixelRatio||1,l=[s[0]/c,s[1]/c];return r.setIsPerformingCoordinateTransformation(!1),l})),H(_r(t),"getCurrentImageIdIndex",(function(){return t._getImageIdIndex()})),H(_r(t),"hasImageURI",(function(e){return t.getActors().filter((function(e){return e.actor.isA("vtkVolume")})).some((function(t){var r=t.uid,n=Ur.getVolume(r);return!(!n||!n.imageIds)&&n.imageIds.map(oe).includes(e)}))})),H(_r(t),"getCurrentImageId",(function(){var e=t._getImageIdIndex();if(!isNaN(e)){var r=t.getDefaultActor(),n=r.uid;if(r.actor.isA("vtkVolume")){var i=Ur.getVolume(n);if(i)return i.imageIds[e]}}})),H(_r(t),"_getImageIdIndex",(function(){var e=t.getCamera(),r=e.viewPlaneNormal,n=e.focalPoint,i=t.getImageData(),a=i.direction,o=i.origin,s=i.spacing,c=a.slice(a.length-3);if(!(Math.abs(c[0]*r[0]+c[1]*r[1]+c[2]*r[2])-1>R)){var l=s[2],u=rr.vec3.create();rr.vec3.sub(u,n,o);var d=rr.vec3.dot(u,r);return Math.round(Math.abs(d)/l)}})),t.useCPURendering=Vn(),t.useCPURendering)throw new Error("VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.");var r=t.getRenderer(),n=mn.newInstance();switch(r.setActiveCamera(n),t.type){case h.ORTHOGRAPHIC:n.setParallelProjection(!0);break;case h.PERSPECTIVE:n.setParallelProjection(!1);break;default:throw new Error("Unrecognized viewport type: ".concat(t.type))}t.initializeVolumeNewImageEventDispatcher();var i=t.options.orientation;if(i&&i!==C.ACQUISITION){var a=t._getOrientationVectors(i),c=a.viewPlaneNormal,l=a.viewUp;return n.setDirectionOfProjection(-c[0],-c[1],-c[2]),n.setViewUpFrom(l),t.resetCamera(),Vr(t)}return t._useAcquisitionPlaneForViewPlane=!0,t}return W(s,[{key:"initializeVolumeNewImageEventDispatcher",value:function(){var e=function(e){e.detail.viewportId!==this.id||this.isDisabled||this.getImageData()&&function(e){var t=e.detail,r=t.renderingEngineId,n=t.viewportId,i=sn(r).getViewport(n);if(!(i instanceof Nn))throw new Error("volumeNewImageEventDispatcher: viewport is not a VolumeViewport");void 0===un[i.id]&&(un[i.id]=0);var a=on(i),o=a.numberOfSlices,s=a.imageIndex;if(un[i.id]!==s){un[i.id]=s;var c={imageIndex:s,viewportId:n,renderingEngineId:r,numberOfSlices:o};ae(i.element,u.VOLUME_NEW_IMAGE,c)}}(e)}.bind(this),t=function(r){var n=r.detail.viewportId;n===this.id&&(this.element.removeEventListener(u.CAMERA_MODIFIED,e),ie.removeEventListener(u.ELEMENT_DISABLED,t),function(e){void 0!==un[e]&&delete un[e]}(n))}.bind(this);this.element.removeEventListener(u.CAMERA_MODIFIED,e),this.element.addEventListener(u.CAMERA_MODIFIED,e),ie.addEventListener(u.ELEMENT_DISABLED,t)}},{key:"setProperties",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.voiRange,r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(void 0===r||this.getActor(r)){var i=this.getActors();if(i.length){var a;if(r){var o=i.find((function(e){return e.uid===r}));a=null==o?void 0:o.actor}if(a||(a=i[0].actor,r=i[0].uid),t){var s=t.lower,c=t.upper;if(a.getProperty().getRGBTransferFunction(0).setRange(s,c),!n){var l={viewportId:this.id,range:t,volumeId:r};ae(this.element,u.VOI_MODIFIED,l)}}}}}},{key:"setVolumes",value:(n=O(T().mark((function e(t){var r,n,i,a,o,s,c,l,d,f,v,h,g=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=g.length>1&&void 0!==g[1]&&g[1],n=g.length>2&&void 0!==g[2]&&g[2],i=Ur.getVolume(t[0].volumeId)){e.next=5;break}throw new Error("imageVolume with id: ".concat(i.volumeId," does not exist"));case 5:return this._useAcquisitionPlaneForViewPlane&&(this._setViewPlaneToAcquisitionPlane(i),this._useAcquisitionPlaneForViewPlane=!1),a=i.metadata.FrameOfReferenceUID,e.next=9,this._isValidVolumeInputArray(t,a);case 9:this._FrameOfReferenceUID=a,o=[],s=0;case 12:if(!(s<t.length)){e.next=22;break}return c=t[s],l=c.volumeId,d=c.actorUID,f=c.slabThickness,e.next=16,ft(t[s],this.element,this.id,n);case 16:v=e.sent,h=d||l,o.push({uid:h,actor:v,slabThickness:f,referenceId:l});case 19:s++,e.next=12;break;case 22:this._setVolumeActors(o),ae(this.element,u.VOLUME_VIEWPORT_NEW_VOLUME,{viewportId:this.id,volumeActors:o}),r&&this.render();case 25:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"addVolumes",value:(r=O(T().mark((function e(t){var r,n,i,a,o,s,c,l,u,d,f,v,h=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=h.length>1&&void 0!==h[1]&&h[1],n=h.length>2&&void 0!==h[2]&&h[2],i=Ur.getVolume(t[0].volumeId)){e.next=5;break}throw new Error("imageVolume with id: ".concat(i.volumeId," does not exist"));case 5:return this._useAcquisitionPlaneForViewPlane&&(this._setViewPlaneToAcquisitionPlane(i),this._useAcquisitionPlaneForViewPlane=!1),a=[],e.next=9,this._isValidVolumeInputArray(t,this._FrameOfReferenceUID);case 9:o=0;case 10:if(!(o<t.length)){e.next=21;break}return s=t[o],c=s.volumeId,l=s.visibility,u=s.actorUID,d=s.slabThickness,e.next=14,ft(t[o],this.element,this.id,n);case 14:f=e.sent,!1===l&&f.setVisibility(!1),v=u||c,a.push({uid:v,actor:f,slabThickness:d,referenceId:c});case 18:o++,e.next=10;break;case 21:this.addActors(a),r&&this.render();case 23:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"removeVolumeActors",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.removeActors(e),t&&this.render()}},{key:"setOrientation",value:function(e){var t,r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(x[e]){var i=x[e];t=i.viewPlaneNormal,r=i.viewUp}else{if("acquisition"!==e)throw new Error("Invalid orientation: ".concat(e,". Use Enums.OrientationAxis instead."));var a=this._getAcquisitionPlaneOrientation();t=a.viewPlaneNormal,r=a.viewUp}this.setCamera({viewPlaneNormal:t,viewUp:r}),this.resetCamera(),n&&this.render()}},{key:"_getOrientationVectors",value:function(e){if("object"===P(e)){if(e.viewPlaneNormal&&e.viewUp)return e;throw new Error("Invalid orientation object. It must contain viewPlaneNormal and viewUp")}if("string"==typeof e&&x[e])return x[e];throw new Error("Invalid orientation: ".concat(e,". Valid orientations are: ").concat(Object.keys(x).join(", ")))}},{key:"_getAcquisitionPlaneOrientation",value:function(){var e=this.getDefaultActor();if(e){var t=e.uid,r=Ur.getVolume(t);if(!r)throw new Error("imageVolume with id: ".concat(t," does not exist in cache"));var n=r.direction;return{viewPlaneNormal:n.slice(6,9).map((function(e){return-e})),viewUp:n.slice(3,6).map((function(e){return-e}))}}}},{key:"_setViewPlaneToAcquisitionPlane",value:function(e){var t,r;if(e){var n=e.direction;t=n.slice(6,9).map((function(e){return-e})),r=n.slice(3,6).map((function(e){return-e}))}else{var i=this._getAcquisitionPlaneOrientation();t=i.viewPlaneNormal,r=i.viewUp}this.setCamera({viewPlaneNormal:t,viewUp:r}),this.resetCamera()}},{key:"_isValidVolumeInputArray",value:(t=O(T().mark((function e(t,r){var n,i,a,o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.length,i=1;case 2:if(!(i<n)){e.next=14;break}return a=t[i],e.next=6,ge(a.volumeId);case 6:if(o=e.sent){e.next=9;break}throw new Error("imageVolume with id: ".concat(o.volumeId," does not exist"));case 9:if(r===o.metadata.FrameOfReferenceUID){e.next=11;break}throw new Error("Volumes being added to viewport ".concat(this.id," do not share the same FrameOfReferenceUID. This is not yet supported"));case 11:i++,e.next=2;break;case 14:return e.abrupt("return",!0);case 15:case"end":return e.stop()}}),e,this)}))),function(e,r){return t.apply(this,arguments)})},{key:"getIntensityFromWorld",value:function(e){var t=this.getDefaultActor(),r=t.actor,n=t.uid;if(r.isA("vtkVolume")){var i=r.getMapper().getInputData(),a=Ur.getVolume(n),o=a.dimensions,s=Ln(i,e),c=s[2]*o[0]*o[1]+s[1]*o[0]+s[0];return a.scalarData[c]}}},{key:"getBounds",value:function(){return this.getRenderer().computeVisiblePropBounds()}},{key:"flip",value:function(e){Tr(Or(s.prototype),"flip",this).call(this,e)}},{key:"resetCamera",value:function(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Tr(Or(s.prototype),"resetCamera",this).call(this,t,r,n);var i=this.getVtkActiveCamera();i.getParallelProjection()?i.setClippingRange(-E.MAXIMUM_RAY_DISTANCE,E.MAXIMUM_RAY_DISTANCE):i.setClippingRange(E.MINIMUM_SLAB_THICKNESS,E.MAXIMUM_RAY_DISTANCE);var a=i.getViewPlaneNormal(),o=i.getFocalPoint(),c=this.getActors();return c.forEach((function(t){if(t.actor&&t.actor.isA("vtkVolume")){var r=t.actor.getMapper();if(0===r.getClippingPlanes().length){var n=Lr().newInstance(),i=Lr().newInstance(),s=[n,i],c=E.MINIMUM_SLAB_THICKNESS;t.slabThickness&&(c=t.slabThickness),e.setOrientationOfClippingPlanes(s,c,a,o),r.addClippingPlane(n),r.addClippingPlane(i)}}})),!0}},{key:"setBlendMode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.getActors();t&&t.length>0&&(n=n.filter((function(e){return t.includes(e.uid)}))),n.forEach((function(t){t.actor.getMapper().setBlendMode(e)})),r&&this.render()}},{key:"setSlabThickness",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=this.getActors();t&&t.length>0&&(r=r.filter((function(e){return t.includes(e.uid)}))),r.forEach((function(t){t.actor.isA("vtkVolume")&&(t.slabThickness=e)}));var n=this.getCamera();this.updateClippingPlanesForActors(n),this.triggerCameraModifiedEventIfNecessary(n,n)}},{key:"getSlabThickness",value:function(){var e=this.getActors(),t=E.MINIMUM_SLAB_THICKNESS;return e.forEach((function(e){e.slabThickness>t&&(t=e.slabThickness)})),t}},{key:"hasVolumeId",value:function(e){return this.getActors().some((function(t){return t.uid===e}))}},{key:"getImageData",value:function(e){var t,r,n=this.getDefaultActor();if(n){var i=n.uid;e=null!==(t=e)&&void 0!==t?t:i;var a=this.getActor(e).actor;if(a.isA("vtkVolume")){var o=Ur.getVolume(e),s=a.getMapper().getInputData();return{dimensions:s.getDimensions(),spacing:s.getSpacing(),origin:s.getOrigin(),direction:s.getDirection(),scalarData:s.getPointData().getScalars().getData(),imageData:a.getMapper().getInputData(),metadata:{Modality:null==o||null===(r=o.metadata)||void 0===r?void 0:r.Modality},scaling:o.scaling,hasPixelSpacing:!0}}}}},{key:"_setVolumeActors",value:function(e){this.setActors(e)}}],[{key:"useCustomRenderingPipeline",get:function(){return!1}}]),s}(en),Nn=Un,Fn=q(896),Gn=q.n(Fn),Wn=q(861),Bn=q.n(Wn),qn=q(795),zn=q.n(qn);function Hn(e){for(var t=e.getSize(),r=0;r<t;r++){var n=[];e.getNodeValue(r,n),n[1]=1-n[1],n[2]=1-n[2],n[3]=1-n[3],e.setNodeValue(r,n)}}function Kn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(Math.abs(e[n]-t[n])>r)return!1;return!0}function $n(){return window.performance?performance.now():Date.now()}function Xn(e,t,r){return r?function(e){var t=Math.max.apply(Math,wt(e.lut)).toString(2).length-8,r=e.lut[0]>>t,n=e.lut[e.lut.length-1]>>t,i=e.firstValueMapped+e.lut.length-1;return function(a){return a<e.firstValueMapped?r:a>=i?n:e.lut[a-e.firstValueMapped]>>t}}(r):function(e,t){return function(r){return 255*((r-t)/e+.5)}}(e,t)}var Yn=function(){function e(){B(this,e),H(this,"m",void 0),this.reset()}return W(e,[{key:"getMatrix",value:function(){return this.m}},{key:"reset",value:function(){this.m=[1,0,0,1,0,0]}},{key:"clone",value:function(){var t=new e;return t.m[0]=this.m[0],t.m[1]=this.m[1],t.m[2]=this.m[2],t.m[3]=this.m[3],t.m[4]=this.m[4],t.m[5]=this.m[5],t}},{key:"multiply",value:function(e){var t=this.m[0]*e[0]+this.m[2]*e[1],r=this.m[1]*e[0]+this.m[3]*e[1],n=this.m[0]*e[2]+this.m[2]*e[3],i=this.m[1]*e[2]+this.m[3]*e[3],a=this.m[0]*e[4]+this.m[2]*e[5]+this.m[4],o=this.m[1]*e[4]+this.m[3]*e[5]+this.m[5];this.m[0]=t,this.m[1]=r,this.m[2]=n,this.m[3]=i,this.m[4]=a,this.m[5]=o}},{key:"invert",value:function(){var e=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),t=this.m[3]*e,r=-this.m[1]*e,n=-this.m[2]*e,i=this.m[0]*e,a=e*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),o=e*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);this.m[0]=t,this.m[1]=r,this.m[2]=n,this.m[3]=i,this.m[4]=a,this.m[5]=o}},{key:"rotate",value:function(e){var t=Math.cos(e),r=Math.sin(e),n=this.m[0]*t+this.m[2]*r,i=this.m[1]*t+this.m[3]*r,a=this.m[0]*-r+this.m[2]*t,o=this.m[1]*-r+this.m[3]*t;this.m[0]=n,this.m[1]=i,this.m[2]=a,this.m[3]=o}},{key:"translate",value:function(e,t){this.m[4]+=this.m[0]*e+this.m[2]*t,this.m[5]+=this.m[1]*e+this.m[3]*t}},{key:"scale",value:function(e,t){this.m[0]*=e,this.m[1]*=e,this.m[2]*=t,this.m[3]*=t}},{key:"transformPoint",value:function(e){var t=e[0],r=e[1];return[t*this.m[0]+r*this.m[2]+this.m[4],t*this.m[1]+r*this.m[3]+this.m[5]]}}]),e}();function Zn(e,t){var r=new Yn;if(!e.viewport.displayedArea)return r;r.translate(e.canvas.width/2,e.canvas.height/2);var n=e.viewport.rotation;0!==n&&r.rotate(n*Math.PI/180);var i=e.viewport.scale,a=e.viewport.scale,o=e.viewport.displayedArea.brhc.x-(e.viewport.displayedArea.tlhc.x-1),s=e.viewport.displayedArea.brhc.y-(e.viewport.displayedArea.tlhc.y-1);if("NONE"===e.viewport.displayedArea.presentationSizeMode)e.image.rowPixelSpacing<e.image.columnPixelSpacing?i*=e.image.columnPixelSpacing/e.image.rowPixelSpacing:e.image.columnPixelSpacing<e.image.rowPixelSpacing&&(a*=e.image.rowPixelSpacing/e.image.columnPixelSpacing);else if(i=e.viewport.displayedArea.columnPixelSpacing,a=e.viewport.displayedArea.rowPixelSpacing,"SCALE TO FIT"===e.viewport.displayedArea.presentationSizeMode){var c=e.canvas.height/(s*a),l=e.canvas.width/(o*i);i=a=Math.min(l,c),e.viewport.displayedArea.rowPixelSpacing<e.viewport.displayedArea.columnPixelSpacing?i*=e.viewport.displayedArea.columnPixelSpacing/e.viewport.displayedArea.rowPixelSpacing:e.viewport.displayedArea.columnPixelSpacing<e.viewport.displayedArea.rowPixelSpacing&&(a*=e.viewport.displayedArea.rowPixelSpacing/e.viewport.displayedArea.columnPixelSpacing)}return r.scale(i,a),0!==n&&r.rotate(-n*Math.PI/180),r.translate(e.viewport.translation.x,e.viewport.translation.y),0!==n&&r.rotate(n*Math.PI/180),void 0!==t&&r.scale(t,t),e.viewport.hflip&&r.scale(-1,1),e.viewport.vflip&&r.scale(1,-1),r.translate(-o/2,-s/2),r}function Jn(e,t,r){if(void 0===e)throw new Error("setToPixelCoordinateSystem: parameter enabledElement must not be undefined");if(void 0===t)throw new Error("setToPixelCoordinateSystem: parameter context must not be undefined");var n=Zn(e,r).getMatrix();t.setTransform(n[0],n[1],n[2],n[3],n[4],n[5])}function Qn(e,t){var r=e.renderingTools.lastRenderedImageId,n=e.renderingTools.lastRenderedViewport;return t.imageId!==r||!n||n.windowCenter!==e.viewport.voi.windowCenter||n.windowWidth!==e.viewport.voi.windowWidth||n.invert!==e.viewport.invert||n.rotation!==e.viewport.rotation||n.hflip!==e.viewport.hflip||n.vflip!==e.viewport.vflip||n.modalityLUT!==e.viewport.modalityLUT||n.voiLUT!==e.viewport.voiLUT||n.colormap!==e.viewport.colormap}function ei(e,t){var r=e.renderingTools.renderCanvas;r.width=t.width,r.height=t.height;var n=r.getContext("2d");n.fillStyle="white",n.fillRect(0,0,r.width,r.height);var i=n.getImageData(0,0,t.width,t.height);e.renderingTools.renderCanvasContext=n,e.renderingTools.renderCanvasData=i}function ti(e){var t=e.image.imageId,r=e.viewport,n=e.image.color;return e.renderingTools.lastRenderedImageId=t,e.renderingTools.lastRenderedIsColor=n,e.renderingTools.lastRenderedViewport={windowCenter:r.voi.windowCenter,windowWidth:r.voi.windowWidth,invert:r.invert,rotation:r.rotation,hflip:r.hflip,vflip:r.vflip,modalityLUT:r.modalityLUT,voiLUT:r.voiLUT,colormap:r.colormap},e.renderingTools}function ri(e,t,r){var n=!0===e.renderingTools.lastRenderedIsColor;e.renderingTools.renderCanvas&&n||(e.renderingTools.renderCanvas=document.createElement("canvas"));var i=e.renderingTools.renderCanvas;if(255===e.viewport.voi.windowWidth&&128===e.viewport.voi.windowCenter&&!1===e.viewport.invert&&t.getCanvas&&t.getCanvas())return t.getCanvas();if(!1===Qn(e,t)&&!0!==r)return i;i.width===t.width&&i.height===t.height||ei(e,t);var a=$n(),o=function(e,t){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&e.cachedLut.invert===t.invert||(function(e,t,r,n,i){var a=e.maxPixelValue,o=e.minPixelValue,s=Math.min(o,0);if(void 0===e.cachedLut){var c=a-s+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(c)}var l=e.cachedLut.lutArray,u=Xn(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r,void 0);if(!0===n)for(var d=o;d<=a;d++)l[d+-s]=255-u(d);else for(var f=o;f<=a;f++)l[f+-s]=u(f)}(e,t.voi.windowWidth,t.voi.windowCenter,t.invert),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert),e.cachedLut.lutArray}(t,e.viewport);t.stats=t.stats||{},t.stats.lastLutGenerateTime=$n()-a;var s=e.renderingTools.renderCanvasData,c=e.renderingTools.renderCanvasContext;return t.rgba?function(e,t,r){var n=$n(),i=e.getPixelData();e.stats.lastGetPixelDataTime=$n()-n;var a=e.minPixelValue,o=0,s=0,c=i.length;if(n=$n(),a<0)for(;s<c;)r[o++]=t[i[s++]+-a],r[o++]=t[i[s++]+-a],r[o++]=t[i[s++]+-a],r[o++]=i[s++];else for(;s<c;)r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o++]=i[s++];e.stats.lastStoredPixelDataToCanvasImageDataTime=$n()-n}(t,o,s.data):function(e,t,r){var n=$n(),i=e.getPixelData();e.stats.lastGetPixelDataTime=$n()-n;var a=e.minPixelValue,o=0,s=0,c=i.length;if(n=$n(),a<0)for(;s<c;)r[o++]=t[i[s++]+-a],r[o++]=t[i[s++]+-a],r[o]=t[i[s]+-a],s+=2,o+=2;else for(;s<c;)r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o]=t[i[s]],s+=2,o+=2;e.stats.lastStoredPixelDataToCanvasImageDataTime=$n()-n}(t,o,s.data),a=$n(),c.putImageData(s,0,0),t.stats.lastPutImageDataTime=$n()-a,i}function ni(e,t){if(void 0===e)throw new Error("renderColorImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("renderColorImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,Jn(e,n);var i=ri(e,r,t),a=e.viewport.displayedArea.tlhc.x-1,o=e.viewport.displayedArea.tlhc.y-1,s=e.viewport.displayedArea.brhc.x-a,c=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,c,0,0,s,c),e.renderingTools=ti(e)}function ii(e,t,r){var n=$n(),i=e.getPixelData();e.stats.lastGetPixelDataTime=$n()-n;var a=i.length,o=e.minPixelValue,s=3,c=0;if(n=$n(),i instanceof Int16Array)if(o<0)for(;c<a;)r[s]=t[i[c++]+-o],s+=4;else for(;c<a;)r[s]=t[i[c++]],s+=4;else if(i instanceof Uint16Array)for(;c<a;)r[s]=t[i[c++]],s+=4;else if(o<0)for(;c<a;)r[s]=t[i[c++]+-o],s+=4;else for(;c<a;)r[s]=t[i[c++]],s+=4;e.stats.lastStoredPixelDataToCanvasImageDataTime=$n()-n}function ai(e,t,r){var n=$n(),i=e.getPixelData();e.stats.lastGetPixelDataTime=$n()-n;var a=i.length,o=3,s=0;for(n=$n();s<a;)r[o]=t(i[s++]),o+=4;e.stats.lastStoredPixelDataToCanvasImageDataTime=$n()-n}function oi(e,t,r){var n=$n(),i=e.getPixelData();e.stats.lastGetPixelDataTime=$n()-n;var a,o=i.length,s=e.minPixelValue,c=0,l=0;if(n=$n(),i instanceof Int16Array)if(s<0)for(;l<o;)a=t[i[l++]+-s],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;else for(;l<o;)a=t[i[l++]],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;else if(i instanceof Uint16Array)for(;l<o;)a=t[i[l++]],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;else if(s<0)for(;l<o;)a=t[i[l++]+-s],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;else for(;l<o;)a=t[i[l++]],r[c++]=a,r[c++]=a,r[c++]=a,r[c++]=255;e.stats.lastStoredPixelDataToCanvasImageDataTime=$n()-n}function si(e,t){return!e&&!t||!(!e||!t)&&e.id===t.id}function ci(e,t,r){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&si(e.cachedLut.modalityLUT,t.modalityLUT)&&si(e.cachedLut.voiLUT,t.voiLUT)&&e.cachedLut.invert===t.invert&&!0!==r||(function(e,t){if(!function(e){return e.voiLUT&&e.voiLUT.lut&&e.voiLUT.lut.length>0||void 0!==e.voi.windowWidth&&void 0!==e.voi.windowCenter}(e)){var r=t.maxPixelValue*t.slope+t.intercept,n=t.minPixelValue*t.slope+t.intercept,i=r-n,a=(r+n)/2;void 0===e.voi?e.voi={windowWidth:i,windowCenter:a}:(e.voi.windowWidth=i,e.voi.windowCenter=a)}}(t,e),function(e,t,r,n,i,a){var o=e.maxPixelValue,s=e.minPixelValue,c=Math.min(s,0);if(void 0===e.cachedLut){var l=o-c+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(l)}var u=e.cachedLut.lutArray,d=function(e,t,r){return r?function(e){var t=e.lut[0],r=e.lut[e.lut.length-1],n=e.firstValueMapped+e.lut.length;return function(i){return i<e.firstValueMapped?t:i>=n?r:e.lut[i]}}(r):function(e,t){return function(r){return r*e+t}}(e,t)}(e.slope,e.intercept,i),f=Xn(t,r,a);if(e.isPreScaled)if(!0===n)for(var v=s;v<=o;v++)u[v+-c]=255-f(v);else for(var h=s;h<=o;h++)u[h+-c]=f(h);else if(!0===n)for(var g=s;g<=o;g++)u[g+-c]=255-f(d(g));else for(var m=s;m<=o;m++)u[m+-c]=f(d(m))}(e,t.voi.windowWidth,t.voi.windowCenter,t.invert,t.modalityLUT,t.voiLUT),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert,e.cachedLut.voiLUT=t.voiLUT,e.cachedLut.modalityLUT=t.modalityLUT),e.cachedLut.lutArray}function li(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("drawImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,Jn(e,n);var i=function(e,t,r){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!0===e.renderingTools.lastRenderedIsColor;e.renderingTools.renderCanvas&&!i||(e.renderingTools.renderCanvas=document.createElement("canvas"),ei(e,t));var a=e.renderingTools.renderCanvas;if(!1===Qn(e,t)&&!0!==r)return a;a.width===t.width&&a.height===t.height||ei(e,t),t.stats=t.stats||{};var o=e.renderingTools.renderCanvasData,s=e.renderingTools.renderCanvasContext,c=$n();t.stats.lastLutGenerateTime=$n()-c;var l=e.viewport;if("PT"===l.modality&&t.isPreScaled){var u=l.voi,d=u.windowWidth,f=u.windowCenter,v=f-d/2,h=255/(f+d/2-v);ai(t,l.invert?function(e){return 255-(e-v)*h}:function(e){return(e-v)*h},o.data)}else{var g=ci(t,l,r);n?ii(t,g,o.data):oi(t,g,o.data)}return c=$n(),s.putImageData(o,0,0),t.stats.lastPutImageDataTime=$n()-c,a}(e,r,t),a=e.viewport.displayedArea.tlhc.x-1,o=e.viewport.displayedArea.tlhc.y-1,s=e.viewport.displayedArea.brhc.x-a,c=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,c,0,0,s,c),e.renderingTools=ti(e)}function ui(e,t,r){if(e>1)throw new Error("HSVToRGB expects hue < 1");var n=[];if(0===t)return n[0]=r,n[1]=r,n[2]=r,n;var i=Math.floor(6*e),a=6*e-i,o=r*(1-t),s=r*(1-t*a),c=r*(1-t*(1-a));switch(i){case 0:case 6:n[0]=r,n[1]=c,n[2]=o;break;case 1:n[0]=s,n[1]=r,n[2]=o;break;case 2:n[0]=o,n[1]=r,n[2]=c;break;case 3:n[0]=o,n[1]=s,n[2]=r;break;case 4:n[0]=c,n[1]=o,n[2]=r;break;case 5:n[0]=r,n[1]=o,n[2]=s}return n}var di=function(){function e(){B(this,e),H(this,"NumberOfColors",void 0),H(this,"Ramp",void 0),H(this,"TableRange",void 0),H(this,"HueRange",void 0),H(this,"SaturationRange",void 0),H(this,"ValueRange",void 0),H(this,"AlphaRange",void 0),H(this,"NaNColor",void 0),H(this,"BelowRangeColor",void 0),H(this,"UseBelowRangeColor",void 0),H(this,"AboveRangeColor",void 0),H(this,"UseAboveRangeColor",void 0),H(this,"InputRange",void 0),H(this,"Table",void 0),this.NumberOfColors=256,this.Ramp="linear",this.TableRange=[0,255],this.HueRange=[0,.66667],this.SaturationRange=[1,1],this.ValueRange=[1,1],this.AlphaRange=[1,1],this.NaNColor=[128,0,0,255],this.BelowRangeColor=[0,0,0,255],this.UseBelowRangeColor=!0,this.AboveRangeColor=[255,255,255,255],this.UseAboveRangeColor=!0,this.InputRange=[0,255],this.Table=[]}return W(e,[{key:"setNumberOfTableValues",value:function(e){this.NumberOfColors=e}},{key:"setRamp",value:function(e){this.Ramp=e}},{key:"setTableRange",value:function(e,t){this.TableRange[0]=e,this.TableRange[1]=t}},{key:"setHueRange",value:function(e,t){this.HueRange[0]=e,this.HueRange[1]=t}},{key:"setSaturationRange",value:function(e,t){this.SaturationRange[0]=e,this.SaturationRange[1]=t}},{key:"setValueRange",value:function(e,t){this.ValueRange[0]=e,this.ValueRange[1]=t}},{key:"setRange",value:function(e,t){this.InputRange[0]=e,this.InputRange[1]=t}},{key:"setAlphaRange",value:function(e,t){this.AlphaRange[0]=e,this.AlphaRange[1]=t}},{key:"getColor",value:function(e){return this.mapValue(e)}},{key:"build",value:function(e){if(!(this.Table.length>1)||e){this.Table=[];var t,r,n,i,a=this.NumberOfColors-1;a?(t=(this.HueRange[1]-this.HueRange[0])/a,r=(this.SaturationRange[1]-this.SaturationRange[0])/a,n=(this.ValueRange[1]-this.ValueRange[0])/a,i=(this.AlphaRange[1]-this.AlphaRange[0])/a):t=r=n=i=0;for(var o=0;o<=a;o++){var s=this.HueRange[0]+o*t,c=this.SaturationRange[0]+o*r,l=this.ValueRange[0]+o*n,u=this.AlphaRange[0]+o*i,d=ui(s,c,l),f=[0,0,0,0];switch(this.Ramp){case"scurve":f[0]=Math.floor(127.5*(1+Math.cos((1-d[0])*Math.PI))),f[1]=Math.floor(127.5*(1+Math.cos((1-d[1])*Math.PI))),f[2]=Math.floor(127.5*(1+Math.cos((1-d[2])*Math.PI))),f[3]=Math.floor(255*u);break;case"linear":f[0]=Math.floor(255*d[0]+.5),f[1]=Math.floor(255*d[1]+.5),f[2]=Math.floor(255*d[2]+.5),f[3]=Math.floor(255*u+.5);break;case"sqrt":f[0]=Math.floor(255*Math.sqrt(d[0])+.5),f[1]=Math.floor(255*Math.sqrt(d[1])+.5),f[2]=Math.floor(255*Math.sqrt(d[2])+.5),f[3]=Math.floor(255*Math.sqrt(u)+.5);break;default:throw new Error("Invalid Ramp value (".concat(this.Ramp,")"))}this.Table.push(f)}this.buildSpecialColors()}}},{key:"buildSpecialColors",value:function(){var e=this.NumberOfColors,t=e+0,r=e+1,n=e+2;this.UseBelowRangeColor||0===e?this.Table[t]=this.BelowRangeColor:this.Table[t]=this.Table[0],this.UseAboveRangeColor||0===e?this.Table[r]=this.AboveRangeColor:this.Table[r]=this.Table[e-1],this.Table[n]=this.NaNColor}},{key:"mapValue",value:function(e){var t=this.getIndex(e);if(t<0)return this.NaNColor;if(0===t){if(this.UseBelowRangeColor&&e<this.TableRange[0])return this.BelowRangeColor}else if(t===this.NumberOfColors-1&&this.UseAboveRangeColor&&e>this.TableRange[1])return this.AboveRangeColor;return this.Table[t]}},{key:"getIndex",value:function(e){var t={Range:[],MaxIndex:this.NumberOfColors-1,Shift:-this.TableRange[0],Scale:1};if(this.TableRange[1]<=this.TableRange[0]?t.Scale=Number.MAX_VALUE:t.Scale=t.MaxIndex/(this.TableRange[1]-this.TableRange[0]),t.Range[0]=this.TableRange[0],t.Range[1]=this.TableRange[1],isNaN(e))return-1;var r=function(e,t){var r;return r=e<t.Range[0]?t.MaxIndex+0+1.5:e>t.Range[1]?t.MaxIndex+1+1.5:(e+t.Shift)*t.Scale,Math.floor(r)}(e,t);return r===this.NumberOfColors+0?r=0:r===this.NumberOfColors+1&&(r=this.NumberOfColors-1),r}},{key:"setTableValue",value:function(e,t){if(5===arguments.length&&(t=Array.prototype.slice.call(arguments,1)),e<0)throw new Error("Can't set the table value for negative index (".concat(e,")"));e>=this.NumberOfColors&&new Error("Index ".concat(e," is greater than the number of colors ").concat(this.NumberOfColors)),this.Table[e]=t,0!==e&&e!==this.NumberOfColors-1||this.buildSpecialColors()}}]),e}(),fi=di,vi=[0,0,0,0];function hi(e,t){for(var r=0,n=e.length-1;r<=n;){var i=r+Math.floor((n-r)/2),a=e[i];if(a===t)return i;t<a?n=i-1:r=i+1}return r}function gi(e,t,r){var n,i=[],a=[],o=[],s=[];for(r=null===r?1:r,n=0;n<t.length;n++){var c=t[n];i.push((e-1)*c[0]),a.push(c[1]),o.push(c[1])}var l=function(e,t,r){for(var n=(1-e)/((r=null===r?100:r)-1),i=[];r-- >0;)i.push(e),e+=n;return i[i.length-1]=1,i}(0,0,e);for(n=0;n<e;n++)l[n]=(e-1)*Math.pow(l[n],r);var u=function(e,t){var r,n=[],i=t.length;for(e.sort((function(e,t){return e-t})),r=0;r<i;r++)n[r]=hi(e,t[r]);return n}(i,l);for(n=1;n<e-1;n++){var d=u[n],f=(l[n]-i[d-1])/(i[d]-i[d-1]),v=a[d]-o[d-1];s[n]=f*v+o[d-1]}return s[0]=o[0],s[e-1]=a[t.length-1],s}function mi(e,t){var r=b[e];r||(r=b[e]=t||{name:"",colors:[]}),!r.colors&&r.segmentedData&&(r.colors=function(e,t,r){var n,i=[];r=null===r?1:r;var a=gi(t=null===t?256:t,e.red,r),o=gi(t,e.green,r),s=gi(t,e.blue,r);for(n=0;n<t;n++){var c=[Math.round(255*a[n]),Math.round(255*o[n]),Math.round(255*s[n]),255];i.push(c)}return i}(r.segmentedData,r.numColors,r.gamma));var n={getId:function(){return e},getColorSchemeName:function(){return r.name},setColorSchemeName:function(e){r.name=e},getNumberOfColors:function(){return r.colors.length},setNumberOfColors:function(e){for(;r.colors.length<e;)r.colors.push(vi);r.colors.length=e},getColor:function(e){return this.isValidIndex(e)?r.colors[e]:vi},getColorRepeating:function(e){var t=r.colors.length;return e=t?e%t:0,this.getColor(e)},setColor:function(e,t){this.isValidIndex(e)&&(r.colors[e]=t)},addColor:function(e){r.colors.push(e)},insertColor:function(e,t){this.isValidIndex(e)&&r.colors.splice(e,1,t)},removeColor:function(e){this.isValidIndex(e)&&r.colors.splice(e,1)},clearColors:function(){r.colors=[]},buildLookupTable:function(e){if(e){var t=r.colors.length;e.setNumberOfTableValues(t);for(var n=0;n<t;n++)e.setTableValue(n,r.colors[n])}},createLookupTable:function(){var e=new fi;return this.buildLookupTable(e),e},isValidIndex:function(e){return e>=0&&e<r.colors.length}};return n}function pi(e,t,r){return Math.max(t,Math.min(r,e))}function wi(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("drawImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,Jn(e,n);var i=function(e,t,r){e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var n=e.renderingTools.renderCanvas,i=e.viewport.colormap||e.options.colormap;if(e.options&&e.options.colormap&&console.warn("enabledElement.options.colormap is deprecated. Use enabledElement.viewport.colormap instead"),i&&"string"==typeof i&&(i=mi(i)),!i)throw new Error("renderPseudoColorImage: colormap not found.");var a=i.getId();if(!1===Qn(e,t)&&!0!==r&&e.renderingTools.colormapId===a)return n;n.width===t.width&&n.height===t.height||ei(e,t);var o=$n();e.renderingTools.colorLUT&&!r&&e.renderingTools.colormapId===a||(i.setNumberOfColors(256),e.renderingTools.colorLUT=i.createLookupTable(),e.renderingTools.colormapId=a);var s=e.renderingTools.renderCanvasData,c=e.renderingTools.renderCanvasContext,l=e.viewport,u=e.renderingTools.colorLUT;if("PT"===l.modality){var d=l.voi,f=d.windowWidth,v=d.windowCenter,h=v-f/2,g=255/(v+f/2-h);(function(e,t,r,n){var i=$n(),a=e.getPixelData();e.stats.lastGetPixelDataTime=$n()-i;var o,s,c=a.length,l=e.minPixelValue,u=0,d=0;if(i=$n(),s=r instanceof fi?r.Table:r,l<0)for(;d<c;)o=s[t(a[d++]+-l)],n[u++]=o[0],n[u++]=o[1],n[u++]=o[2],n[u++]=o[3];else for(;d<c;)o=s[t(a[d++])],n[u++]=o[0],n[u++]=o[1],n[u++]=o[2],n[u++]=o[3];e.stats.lastStoredPixelDataToCanvasImageDataTime=$n()-i})(t,l.invert?function(e){return pi(Math.floor(255-(e-h)*g),0,255)}:function(e){return pi(Math.floor((e-h)*g),0,255)},u,s.data)}else{var m=ci(t,e.viewport,r);t.stats=t.stats||{},t.stats.lastLutGenerateTime=$n()-o,function(e,t,r,n){var i=$n(),a=e.getPixelData();e.stats.lastGetPixelDataTime=$n()-i;var o,s,c=a.length,l=e.minPixelValue,u=0,d=0;if(i=$n(),s=r instanceof fi?r.Table:r,l<0)for(;d<c;)o=s[t[a[d++]+-l]],n[u++]=o[0],n[u++]=o[1],n[u++]=o[2],n[u++]=o[3];else for(;d<c;)o=s[t[a[d++]]],n[u++]=o[0],n[u++]=o[1],n[u++]=o[2],n[u++]=o[3];e.stats.lastStoredPixelDataToCanvasImageDataTime=$n()-i}(t,m,u,s.data)}return o=$n(),c.putImageData(s,0,0),t.stats.lastPutImageDataTime=$n()-o,n}(e,r,t),a=e.viewport.displayedArea.tlhc.x-1,o=e.viewport.displayedArea.tlhc.y-1,s=e.viewport.displayedArea.brhc.x-a,c=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,c,0,0,s,c),e.renderingTools=ti(e)}function yi(e,t){var r=e.image;if(e.canvas&&e.image){var n=$n();if(r.stats={lastGetPixelDataTime:-1,lastStoredPixelDataToCanvasImageDataTime:-1,lastPutImageDataTime:-1,lastRenderTime:-1,lastLutGenerateTime:-1},r){var i=r.render;i||(i=e.viewport.colormap?wi:r.color?ni:li),i(e,t)}var a=$n()-n;r.stats.lastRenderTime=a,e.invalid=!1,e.needsRedraw=!1}}function Ii(e){return Zn(e)}function Ci(e,t){var r=Ii(e);return r.invert(),r.transformPoint(t)}function bi(e,t){return Ii(e).transformPoint(t)}var ki={};function Ei(e,t){if(null==e)throw new Error(t)}function Ri(e){return!(null==e||0===e||180===e)}function Pi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return Ei(e,"getImageSize: parameter image must not be undefined"),Ei(e.width,"getImageSize: parameter image must have width"),Ei(e.height,"getImageSize: parameter image must have height"),Ri(t)?{height:e.width,width:e.height}:{width:e.width,height:e.height}}function Ai(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;Ei(e,"getImageScale: parameter canvas must not be undefined"),Ei(t,"getImageScale: parameter image must not be undefined");var n=Pi(t,r),i=t.rowPixelSpacing||1,a=t.columnPixelSpacing||1,o=1,s=1;i<a?s=a/i:o=i/a;var c=e.height/n.height/o,l=e.width/n.width/s;return{verticalScale:c,horizontalScale:l,scaleFactor:Math.min(l,c)}}function xi(e,t,r,n){if(void 0===e)throw new Error("getDefaultViewport: parameter canvas must not be undefined");if(void 0===t)return i={scale:1,translation:{x:0,y:0},voi:{windowWidth:void 0,windowCenter:void 0},invert:!1,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:void 0,voiLUT:void 0,colormap:void 0,labelmap:!1,displayedArea:{tlhc:{x:1,y:1},brhc:{x:1,y:1},rowPixelSpacing:1,columnPixelSpacing:1,presentationSizeMode:"NONE"}},Object.assign({},i,ki);var i,a,o=Ai(e,t,0).scaleFactor;return"PT"===r&&t.isPreScaled?a={windowWidth:5,windowCenter:2.5}:void 0!==t.windowWidth&&void 0!==t.windowCenter&&(a={windowWidth:Array.isArray(t.windowWidth)?t.windowWidth[0]:t.windowWidth,windowCenter:Array.isArray(t.windowCenter)?t.windowCenter[0]:t.windowCenter}),{scale:o,translation:{x:0,y:0},voi:a,invert:t.invert,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:t.modalityLUT,modality:r,voiLUT:t.voiLUT,colormap:void 0!==n?n:t.colormap,displayedArea:{tlhc:{x:1,y:1},brhc:{x:t.columns,y:t.rows},rowPixelSpacing:void 0===t.rowPixelSpacing?1:t.rowPixelSpacing,columnPixelSpacing:void 0===t.columnPixelSpacing?1:t.columnPixelSpacing,presentationSizeMode:"NONE"}}}function _i(e){var t=e.image;e.viewport.scale=Ai(e.canvas,t,e.viewport.rotation).scaleFactor,e.viewport.translation.x=0,e.viewport.translation.y=0}function Oi(e){var t=e.canvas,r=t.clientWidth,n=t.clientHeight;t.width===r&&t.height===n||(t.width=r,t.height=n)}function Si(e,t,r){var n=e.viewport.scale,i=Pi(e.image,e.viewport.rotation),a=Math.round(i.width*n),o=Math.round(i.height*n),s=e.viewport.translation.x,c=e.viewport.translation.y;return a===t&&o<=r||a<=t&&o===r&&0===s&&0===c}function Ti(e,t,r){var n=e.viewport.scale,i=e.canvas.width/t,a=e.canvas.height/r,o=Math.sqrt(i*a);e.viewport.scale=o*n}function Di(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Mi(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Di(Object(r),!0).forEach((function(t){H(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Di(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Vi,ji=function(e){Mr(c,e);var t,r,n,i,a,o,s=(a=c,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Or(a);if(o){var r=Or(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return Vr(this,e)});function c(e){var t;if(B(this,c),H(_r(t=s.call(this,e)),"imageIds",void 0),H(_r(t),"currentImageIdIndex",void 0),H(_r(t),"targetImageIdIndex",void 0),H(_r(t),"debouncedTimeout",void 0),H(_r(t),"voiRange",void 0),H(_r(t),"initialVOIRange",void 0),H(_r(t),"invert",!1),H(_r(t),"interpolationType",void 0),H(_r(t),"_imageData",void 0),H(_r(t),"cameraFocalPointOnRender",void 0),H(_r(t),"stackInvalidated",!1),H(_r(t),"voiApplied",!1),H(_r(t),"rotationCache",0),H(_r(t),"_publishCalibratedEvent",!1),H(_r(t),"_calibrationEvent",void 0),H(_r(t),"_cpuFallbackEnabledElement",void 0),H(_r(t),"useCPURendering",void 0),H(_r(t),"cpuImagePixelData",void 0),H(_r(t),"cpuRenderingInvalidated",void 0),H(_r(t),"csImage",void 0),H(_r(t),"modality",void 0),H(_r(t),"scaling",void 0),H(_r(t),"resize",(function(){t.useCPURendering&&t._resizeCPU()})),H(_r(t),"_resizeCPU",(function(){t._cpuFallbackEnabledElement.viewport&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.canvas.width,n=e.canvas.height;Oi(e),void 0!==e.image&&(t||Si(e,r,n)?_i(e):Ti(e,r,n))}(t._cpuFallbackEnabledElement)})),H(_r(t),"getFrameOfReferenceUID",(function(){var e=t.getCurrentImageId();if(e){var r=Ye("imagePlaneModule",e);if(r)return r.frameOfReferenceUID}})),H(_r(t),"createActorMapper",(function(e){var t=Gn().newInstance();t.setInputData(e);var r=Bn().newInstance();return r.setMapper(t),e.getPointData().getNumberOfComponents()>1&&r.getProperty().setIndependentComponents(!1),r})),H(_r(t),"getProperties",(function(){return{voiRange:t.voiRange,rotation:t.rotationCache,interpolationType:t.interpolationType,invert:t.invert}})),H(_r(t),"canvasToWorld",(function(e){return t.useCPURendering?t.canvasToWorldCPU(e):t.canvasToWorldGPU(e)})),H(_r(t),"worldToCanvas",(function(e){return t.useCPURendering?t.worldToCanvasCPU(e):t.worldToCanvasGPU(e)})),H(_r(t),"canvasToWorldCPU",(function(e){if(t._cpuFallbackEnabledElement.image){var r=Nr(Ci(t._cpuFallbackEnabledElement,e),2),n=r[0],i=r[1],a=t.getImageData(),o=a.origin,s=a.spacing,c=a.direction,l=rr.vec3.fromValues(0,0,0),u=c.slice(0,3),d=c.slice(3,6);return rr.vec3.scaleAndAdd(l,o,u,n*s[0]),rr.vec3.scaleAndAdd(l,l,d,i*s[1]),l}})),H(_r(t),"worldToCanvasCPU",(function(e){var r=t.getImageData(),n=r.spacing,i=r.direction,a=r.origin,o=i.slice(0,3),s=i.slice(3,6),c=rr.vec3.subtract(rr.vec3.create(),e,a),l=[rr.vec3.dot(c,o)/n[0],rr.vec3.dot(c,s)/n[1]];return bi(t._cpuFallbackEnabledElement,l)})),H(_r(t),"canvasToWorldGPU",(function(e){var r=t.getRenderer(),n=t.getVtkActiveCamera(),i=n.getClippingRange(),a=n.getDistance();n.setClippingRange(a,a+.1);var o=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),s=o.getSize(),c=window.devicePixelRatio||1,l=[e[0]*c,e[1]*c],u=[l[0]+t.sx,l[1]+t.sy];u[1]=s[1]-u[1];var d=o.displayToWorld(u[0],u[1],0,r);return n.setClippingRange(i[0],i[1]),[d[0],d[1],d[2]]})),H(_r(t),"worldToCanvasGPU",(function(e){var r=t.getRenderer(),n=t.getVtkActiveCamera(),i=n.getClippingRange(),a=n.getDistance();n.setClippingRange(a,a+.1);var o=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),s=o.getSize(),c=o.worldToDisplay.apply(o,wt(e).concat([r]));c[1]=s[1]-c[1];var l=[c[0]-t.sx,c[1]-t.sy];n.setClippingRange(i[0],i[1]);var u=window.devicePixelRatio||1;return[l[0]/u,l[1]/u]})),H(_r(t),"getCurrentImageIdIndex",(function(){return t.currentImageIdIndex})),H(_r(t),"getTargetImageIdIndex",(function(){return t.targetImageIdIndex})),H(_r(t),"getImageIds",(function(){return t.imageIds})),H(_r(t),"getCurrentImageId",(function(){return t.imageIds[t.currentImageIdIndex]})),H(_r(t),"hasImageId",(function(e){return t.imageIds.includes(e)})),H(_r(t),"hasImageURI",(function(e){for(var r=t.imageIds,n=0;n<r.length;n++)if(oe(r[n])===e)return!0;return!1})),H(_r(t),"customRenderViewportToCanvas",(function(){if(!t.useCPURendering)throw new Error("Custom cpu rendering pipeline should only be hit in CPU rendering mode");return t._cpuFallbackEnabledElement.image?(yi(t._cpuFallbackEnabledElement,t.cpuRenderingInvalidated),t.cpuRenderingInvalidated=!1):t.fillWithBackgroundColor(),{canvas:t.canvas,element:t.element,viewportId:t.id,renderingEngineId:t.renderingEngineId}})),t.scaling={},t.modality=null,t.useCPURendering=Vn(),t.useCPURendering)t._cpuFallbackEnabledElement={canvas:t.canvas,renderingTools:{},transform:new Yn,viewport:{}};else{var r=t.getRenderer(),n=fn().newInstance();r.setActiveCamera(n);var i=[0,0,-1];n.setDirectionOfProjection(-i[0],-i[1],-i[2]),n.setViewUp.apply(n,[0,-1,0]),n.setParallelProjection(!0),n.setThicknessFromFocalPoint(.1),n.setFreezeFocalPoint(!0)}return t.imageIds=[],t.currentImageIdIndex=0,t.targetImageIdIndex=0,t.cameraFocalPointOnRender=[0,0,0],t.resetCamera(),t.initializeElementDisabledHandler(),t}return W(c,[{key:"initializeElementDisabledHandler",value:function(){ie.addEventListener(u.ELEMENT_DISABLED,(function e(){clearTimeout(this.debouncedTimeout),ie.removeEventListener(u.ELEMENT_DISABLED,e)}))}},{key:"getImageData",value:function(){return this.useCPURendering?this.getImageDataCPU():this.getImageDataGPU()}},{key:"getImageDataGPU",value:function(){var e=this.getDefaultActor();if(e){var t=e.actor;if(qr(t)){var r=t.getMapper().getInputData();return{dimensions:r.getDimensions(),spacing:r.getSpacing(),origin:r.getOrigin(),direction:r.getDirection(),scalarData:r.getPointData().getScalars().getData(),imageData:t.getMapper().getInputData(),metadata:{Modality:this.modality},scaling:this.scaling,hasPixelSpacing:this.hasPixelSpacing,preScale:Mi({},this.csImage.preScale)}}}}},{key:"getImageDataCPU",value:function(){var e=this,t=this._cpuFallbackEnabledElement.metadata,r=t.spacing;return{dimensions:t.dimensions,spacing:r,origin:t.origin,direction:t.direction,metadata:{Modality:this.modality},scaling:this.scaling,imageData:{getDirection:function(){return t.direction},getDimensions:function(){return t.dimensions},getScalarData:function(){return e.cpuImagePixelData},getSpacing:function(){return r},worldToIndex:function(t){var r=e.worldToCanvasCPU(t),n=Ci(e._cpuFallbackEnabledElement,r);return[n[0],n[1],0]},indexToWorld:function(t){var r=bi(e._cpuFallbackEnabledElement,[t[0],t[1]]);return e.canvasToWorldCPU(r)}},scalarData:this.cpuImagePixelData,hasPixelSpacing:this.hasPixelSpacing,preScale:Mi({},this.csImage.preScale)}}},{key:"buildMetadata",value:function(e){var t,r,n=Ye("imagePixelModule",e),i=n.pixelRepresentation,a=n.bitsAllocated,o=n.bitsStored,s=n.highBit,c=n.photometricInterpretation,l=n.samplesPerPixel,u=Ye("voiLutModule",e);u&&(t=u.windowWidth,r=u.windowCenter,Array.isArray(t)&&(t=t[0]),Array.isArray(r)&&(r=r[0]));var d=Ye("generalSeriesModule",e).modality,f=Ye("scalingModule",e);"PT"===d&&f&&this._addScalingToViewport(f),this.modality=d;var v=this._getImagePlaneModule(e);return this.useCPURendering||(v=this.calibrateIfNecessary(e,v)),{imagePlaneModule:v,imagePixelModule:{bitsAllocated:a,bitsStored:o,samplesPerPixel:l,highBit:s,photometricInterpretation:c,pixelRepresentation:i,windowWidth:t,windowCenter:r,modality:d}}}},{key:"calibrateIfNecessary",value:function(e,t){var r=Ye("calibratedPixelSpacing",e);if(!r)return t;var n=Nr(r,2),i=n[0],a=n[1];if(t.rowPixelSpacing===i&&t.columnPixelSpacing===a)return t;var o=this.getImageData();if(!o&&t.rowPixelSpacing===i&&t.columnPixelSpacing===a)return t;if(!o&&(t.rowPixelSpacing!==i||t.columnPixelSpacing!==a))return this._publishCalibratedEvent=!0,this._calibrationEvent={rowScale:i/t.rowPixelSpacing,columnScale:a/t.columnPixelSpacing},t.rowPixelSpacing=i,t.columnPixelSpacing=a,t;var s=Nr(o.imageData.getSpacing(),2),c=s[0],l=s[1];return t.rowPixelSpacing=i,t.columnPixelSpacing=a,l===i&&c===r||(this._publishCalibratedEvent=!0,this._calibrationEvent={rowScale:i/l,columnScale:a/c}),t}},{key:"setProperties",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.voiRange,r=e.invert,n=e.interpolationType,i=e.rotation,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];void 0===t&&this.voiApplied||this.setVOI(t,a),void 0!==r&&this.setInvertColor(r),void 0!==n&&this.setInterpolationType(n),void 0!==i&&this.rotationCache!==i&&this.setRotation(this.rotationCache,i)}},{key:"resetProperties",value:function(){this.cpuRenderingInvalidated=!0,this.fillWithBackgroundColor(),this.useCPURendering&&(this._cpuFallbackEnabledElement.renderingTools={}),this._resetProperties(),this.render()}},{key:"getCamera",value:function(){return this.useCPURendering?this.getCameraCPU():Tr(Or(c.prototype),"getCamera",this).call(this)}},{key:"setCamera",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.useCPURendering?this.setCameraCPU(e):Tr(Or(c.prototype),"setCamera",this).call(this,e,t)}},{key:"_resetProperties",value:function(){this.voiApplied=!1,this.setProperties({voiRange:this.initialVOIRange,rotation:0,interpolationType:m.LINEAR,invert:!1})}},{key:"_setPropertiesFromCache",value:function(){this.setProperties({voiRange:this.voiRange,rotation:this.rotation,interpolationType:this.interpolationType,invert:this.invert},!0)}},{key:"getCameraCPU",value:function(){var e=this._cpuFallbackEnabledElement,t=e.metadata,r=e.viewport,n=t.direction,i=n.slice(6,9).map((function(e){return-e})),a=n.slice(3,6).map((function(e){return-e}));if(this.rotation){var o=rr.mat4.fromRotation(rr.mat4.create(),this.rotation*Math.PI/180,i);a=rr.vec3.transformMat4(rr.vec3.create(),a,o)}var s=[this.element.clientWidth/2,this.element.clientHeight/2],c=this.canvasToWorld(s),l=this.canvasToWorld([0,0]),u=this.canvasToWorld([0,this.element.clientHeight]);return{parallelProjection:!0,focalPoint:c,position:[0,0,0],parallelScale:rr.vec3.distance(l,u)/2,scale:r.scale,viewPlaneNormal:[i[0],i[1],i[2]],viewUp:[a[0],a[1],a[2]],flipHorizontal:this.flipHorizontal,flipVertical:this.flipVertical}}},{key:"setCameraCPU",value:function(e){var t=this._cpuFallbackEnabledElement,r=t.viewport,n=t.image,i=this.getCameraCPU(),a=e.focalPoint,o=e.parallelScale,s=e.scale,c=e.flipHorizontal,l=e.flipVertical,d=this.element.clientHeight;if(a){var f=this.worldToCanvasCPU(a),v=Ci(this._cpuFallbackEnabledElement,f),h=this.worldToCanvasCPU(i.focalPoint),g=Ci(this._cpuFallbackEnabledElement,h),m=rr.vec2.create();rr.vec2.subtract(m,rr.vec2.fromValues(v[0],v[1]),rr.vec2.fromValues(g[0],g[1]));var p=function(e,t){var r=t.hflip,n=t.vflip,i=t.rotation;if(e.x*=r?-1:1,e.y*=n?-1:1,0!==i){var a=i*Math.PI/180,o=Math.cos(a),s=Math.sin(a),c=e.x*o-e.y*s,l=e.x*s+e.y*o;e.x=c,e.y=l}return e}({x:m[0],y:m[1]},r);r.translation.x-=p.x,r.translation.y-=p.y}if(o){var w=d*n.rowPixelSpacing*.5/o;r.scale=w,r.parallelScale=o}if(s){var y=n.rowPixelSpacing;r.scale=s,r.parallelScale=d*y*.5/s}void 0===c&&void 0===l||this.setFlipCPU({flipHorizontal:c,flipVertical:l}),this._cpuFallbackEnabledElement.transform=Zn(this._cpuFallbackEnabledElement);var I={previousCamera:i,camera:this.getCamera(),element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:this.rotation};ae(this.element,u.CAMERA_MODIFIED,I)}},{key:"setFlipCPU",value:function(e){var t=e.flipHorizontal,r=e.flipVertical,n=this._cpuFallbackEnabledElement.viewport;void 0!==t&&(n.hflip=t,this.flipHorizontal=n.hflip),void 0!==r&&(n.vflip=r,this.flipVertical=n.vflip)}},{key:"setVOI",value:function(e,t){this.useCPURendering?this.setVOICPU(e,t):this.setVOIGPU(e,t)}},{key:"setRotation",value:function(e,t){var r=this.getCamera();this.useCPURendering?this.setRotationCPU(e,t):this.setRotationGPU(e,t);var n={previousCamera:r,camera:this.getCamera(),element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:this.rotation};ae(this.element,u.CAMERA_MODIFIED,n)}},{key:"setInterpolationType",value:function(e){this.useCPURendering?this.setInterpolationTypeCPU(e):this.setInterpolationTypeGPU(e)}},{key:"setInvertColor",value:function(e){this.useCPURendering?this.setInvertColorCPU(e):this.setInvertColorGPU(e)}},{key:"setRotationCPU",value:function(e,t){this._cpuFallbackEnabledElement.viewport.rotation=t,this.rotationCache=t,this.rotation=t}},{key:"setRotationGPU",value:function(e,t){this.getVtkActiveCamera().roll(e),this.getVtkActiveCamera().roll(-t),this.rotationCache=t,this.rotation=t}},{key:"setInterpolationTypeGPU",value:function(e){var t=this.getDefaultActor();if(t){var r=t.actor;qr(r)&&(r.getProperty().setInterpolationType(e),this.interpolationType=e)}}},{key:"setInterpolationTypeCPU",value:function(e){var t=this._cpuFallbackEnabledElement.viewport;e===m.LINEAR?t.pixelReplication=!1:t.pixelReplication=!0,this.interpolationType=e}},{key:"setInvertColorCPU",value:function(e){var t=this._cpuFallbackEnabledElement.viewport;t&&(t.invert=e,this.invert=e)}},{key:"setInvertColorGPU",value:function(e){var t=this.getDefaultActor();if(t){var r=t.actor;if(qr(r))if(r.isA("vtkVolume")){var n=r.getProperty().getRGBTransferFunction(0);(!this.invert&&e||this.invert&&!e)&&Hn(n),this.invert=e}else if(r.isA("vtkImageSlice")){var i=r.getProperty().getRGBTransferFunction(0);(!this.invert&&e||this.invert&&!e)&&Hn(i),this.invert=e}}}},{key:"setVOICPU",value:function(e,t){var r=this._cpuFallbackEnabledElement,n=r.viewport,i=r.image;if(n&&i){if(void 0===e){var a=i.windowWidth,o=i.windowCenter,s=Array.isArray(a)?a[0]:a,c=Array.isArray(o)?o[0]:o;n.voi={windowWidth:s,windowCenter:c};var l=Je(s,c);e={lower:l.lower,upper:l.upper}}else{var d=e,f=Ze(d.lower,d.upper),v=f.windowCenter,h=f.windowWidth;n.voi||(n.voi={windowWidth:0,windowCenter:0}),n.voi.windowWidth=h,n.voi.windowCenter=v}this.voiApplied=!0,this.voiRange=e;var g={viewportId:this.id,range:e};t||ae(this.element,u.VOI_MODIFIED,g)}}},{key:"setVOIGPU",value:function(e,t){var r=this.getDefaultActor();if(r){var n=r.actor;if(qr(n)){var i=n,a=e;if(void 0===a){var o=i.getMapper().getInputData().getPointData().getScalars().getRange();a={lower:o[0],upper:o[1]}}var s=Ze(a.lower,a.upper),c=s.windowWidth,l=s.windowCenter;if(i.getProperty().setColorWindow(c),i.getProperty().setColorLevel(l),this.voiApplied=!0,this.voiRange=a,!t){var d={viewportId:this.id,range:a};ae(this.element,u.VOI_MODIFIED,d)}}}}},{key:"_addScalingToViewport",value:function(e){if(!this.scaling.PET){var t=e.suvbw,r=e.suvlbm,n=e.suvbsa,i={};r&&(i.suvbwToSuvlbm=r/t),n&&(i.suvbwToSuvbsa=n/t),this.scaling.PET=i}}},{key:"_getNumCompsFromPhotometricInterpretation",value:function(e){var t=1;return"RGB"!==e&&-1===e.indexOf("YBR")&&"PALETTE COLOR"!==e||(t=3),t}},{key:"_getImageDataMetadata",value:function(e){var t,r,n=this.buildMetadata(e.imageId),i=n.imagePlaneModule,a=n.imagePixelModule;t=i.rowCosines,r=i.columnCosines,null!=t&&null!=r||(t=[1,0,0],r=[0,1,0]);var o=rr.vec3.fromValues(t[0],t[1],t[2]),s=rr.vec3.fromValues(r[0],r[1],r[2]),c=rr.vec3.create();rr.vec3.cross(c,o,s);var l=i.imagePositionPatient;null==l&&(l=[0,0,0]);var u=i.columnPixelSpacing||e.columnPixelSpacing,d=i.rowPixelSpacing||e.rowPixelSpacing,f=e.columns,v=e.rows,h=e.numComps||this._getNumCompsFromPhotometricInterpretation(a.photometricInterpretation);return{bitsAllocated:a.bitsAllocated,numComps:h,origin:l,direction:[].concat(wt(o),wt(s),wt(c)),dimensions:[f,v,1],spacing:[u,d,1],numVoxels:f*v*1,imagePlaneModule:i,imagePixelModule:a}}},{key:"_getCameraOrientation",value:function(e){var t=e.slice(6,9).map((function(e){return-e})),r=e.slice(3,6).map((function(e){return-e}));return{viewPlaneNormal:[t[0],t[1],t[2]],viewUp:[r[0],r[1],r[2]]}}},{key:"_createVTKImageData",value:function(e){var t,r=e.origin,n=e.direction,i=e.dimensions,a=e.spacing,o=e.bitsAllocated,s=e.numComps,c=e.numVoxels;switch(o){case 8:t=new Uint8Array(c*s);break;case 16:t=new Float32Array(c*s);break;case 24:t=new Uint8Array(3*c*s);break;default:console.log("bit allocation not implemented")}var l=U().newInstance({name:"Pixels",numberOfComponents:s,values:t});this._imageData=j().newInstance(),this._imageData.setDimensions(i),this._imageData.setSpacing(a),this._imageData.setDirection(n),this._imageData.setOrigin(r),this._imageData.getPointData().setScalars(l)}},{key:"setStack",value:(i=O(T().mark((function e(t){var r,n,i,a=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:0,this.imageIds=t,this.currentImageIdIndex=r,this.targetImageIdIndex=r,this.stackInvalidated=!0,this.rotationCache=0,this.flipVertical=!1,this.flipHorizontal=!1,this.voiApplied=!1,this._resetProperties(),this.fillWithBackgroundColor(),this.useCPURendering&&(this._cpuFallbackEnabledElement.renderingTools={},delete this._cpuFallbackEnabledElement.viewport.colormap),e.next=14,this._setImageIdIndex(r);case 14:return n=e.sent,i={imageIds:t,viewportId:this.id,element:this.element,currentImageIdIndex:r},ae(ie,u.STACK_VIEWPORT_NEW_STACK,i),e.abrupt("return",n);case 18:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"_checkVTKImageDataMatchesCornerstoneImage",value:function(e,t){if(!t)return!1;var r=Nr(t.getSpacing(),2),n=r[0],i=r[1],a=Nr(t.getDimensions(),2),o=a[0],s=a[1],c=this._getImagePlaneModule(e.imageId),l=t.getDirection(),u=l.slice(0,3),d=l.slice(3,6);return(n===e.rowPixelSpacing||null===e.rowPixelSpacing&&1===n)&&(i===e.columnPixelSpacing||null===e.columnPixelSpacing&&1===i)&&o===e.columns&&s===e.rows&&Kn(c.rowCosines,u)&&Kn(c.columnCosines,d)}},{key:"_updateVTKImageDataFromCornerstoneImage",value:function(e){var t=this._getImagePlaneModule(e.imageId).imagePositionPatient;null==t&&(t=[0,0,0]),this._imageData.setOrigin(t);var r,n=e.getPixelData(),i=this._imageData.getPointData().getScalars().getData();if(e.rgba||(r=i,3*n.length==4*r.byteLength)){e.rgba||console.warn("rgba not specified but data looks rgba ish",e);for(var a=n.length/4,o=0,s=0,c=0;c<a;c++)i[s++]=n[o++],i[s++]=n[o++],i[s++]=n[o++],o++}else i.set(n);this._imageData.modified()}},{key:"_loadAndDisplayImage",value:(n=O(T().mark((function e(t,r){return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.useCPURendering){e.next=5;break}return e.next=3,this._loadAndDisplayImageCPU(t,r);case 3:e.next=7;break;case 5:return e.next=7,this._loadAndDisplayImageGPU(t,r);case 7:return e.abrupt("return",t);case 8:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"_loadAndDisplayImageCPU",value:function(e,t){var r=this;return new Promise((function(n,i){function a(e,t,r){var i;if(this.currentImageIdIndex===t){this.csImage=e;var a={image:e,imageId:r,imageIdIndex:t,viewportId:this.id,renderingEngineId:this.renderingEngineId};ae(this.element,u.STACK_NEW_IMAGE,a);var o=this._getImageDataMetadata(e);e.isPreScaled=null===(i=e.preScale)||void 0===i?void 0:i.scaled;var s=xi(this.canvas,e,this.modality,this._cpuFallbackEnabledElement.viewport.colormap);this._cpuFallbackEnabledElement.image=e,this._cpuFallbackEnabledElement.metadata=Mi({},o),this.cpuImagePixelData=e.getPixelData();var c=Object.assign({},s,this._cpuFallbackEnabledElement.viewport);this._cpuFallbackEnabledElement.viewport=this.stackInvalidated?s:c,this.stackInvalidated=!1,this.cpuRenderingInvalidated=!0,this._cpuFallbackEnabledElement.transform=Zn(this._cpuFallbackEnabledElement),this.render(),this.currentImageIdIndex=t,n(r)}}function o(e,t,r){var n={error:e,imageIdIndex:t,imageId:r};this.suppressEvents||ae(ie,u.IMAGE_LOAD_ERROR,n),i(e)}var s=f.Interaction,c={imageId:e};Me.addRequest(function(e,t,r){var n=this;return Ue(e,r).then((function(r){a.call(n,r,t,e)}),(function(r){o.call(n,r,t,e)}))}.bind(r,e,t,{targetBuffer:{type:"Float32Array",offset:null,length:null},preScale:{enabled:!0},useRGBA:!1}),s,c,-5)}))}},{key:"_loadAndDisplayImageGPU",value:function(e,t){var r=this;return new Promise((function(n,i){function a(e,t,r){if(this.currentImageIdIndex===t){this.csImage=e;var i={image:e,imageId:r,imageIdIndex:t,viewportId:this.id,renderingEngineId:this.renderingEngineId};ae(this.element,u.STACK_NEW_IMAGE,i),this._updateActorToDisplayImageId(e),this.render(),this.currentImageIdIndex=t,n(r)}}function o(e,t,r){var n={error:e,imageIdIndex:t,imageId:r};ae(ie,u.IMAGE_LOAD_ERROR,n),i(e)}var s=f.Interaction,c={imageId:e},l={imageId:e,imageIdIndex:t,viewportId:r.id,renderingEngineId:r.renderingEngineId};ae(r.element,u.PRE_STACK_NEW_IMAGE,l),Me.addRequest(function(e,t,r){var n=this;return Ue(e,r).then((function(r){a.call(n,r,t,e)}),(function(r){o.call(n,r,t,e)}))}.bind(r,e,t,{targetBuffer:{type:"Float32Array",offset:null,length:null},preScale:{enabled:!0},useRGBA:!1}),s,c,-5)}))}},{key:"_updateActorToDisplayImageId",value:function(e){var t,r=this._checkVTKImageDataMatchesCornerstoneImage(e,this._imageData),n=this.getRenderer().getActiveCamera(),i=F()(this.getCamera());if(r&&!this.stackInvalidated){this._updateVTKImageDataFromCornerstoneImage(e);var a=this.getCamera(),o=rr.vec3.subtract(rr.vec3.create(),this.cameraFocalPointOnRender,a.focalPoint),s=this.rotationCache;this.resetCameraNoEvent(),this.setRotation(s,s),this.setCameraNoEvent({flipHorizontal:i.flipHorizontal,flipVertical:i.flipVertical});var c=this.getCamera().focalPoint;return this.cameraFocalPointOnRender=c,n.setFreezeFocalPoint(!0),this._restoreCameraProps(a,i,o),this.rotationCache=0,void this._setPropertiesFromCache()}var l=this._getImageDataMetadata(e),u=l.origin,d=l.direction,f=l.dimensions,v=l.spacing,h=l.bitsAllocated,g=l.numComps,m=l.numVoxels,p=l.imagePixelModule;this._createVTKImageData({origin:u,direction:d,dimensions:f,spacing:v,bitsAllocated:h,numComps:g,numVoxels:m}),this._updateVTKImageDataFromCornerstoneImage(e);var w=this.createActorMapper(this._imageData),y=[];y.push({uid:this.id,actor:w}),this.setActors(y);var I=this._getCameraOrientation(d),C=I.viewPlaneNormal,b=I.viewUp;this.setCameraNoEvent({viewUp:b,viewPlaneNormal:C}),this.resetCameraNoEvent(),this.triggerCameraEvent(this.getCamera(),i),n.setFreezeFocalPoint(!0);var k=p.windowCenter,E=p.windowWidth,R="number"==typeof k&&"number"==typeof E?Je(E,k):void 0,P=this.csImage.isPreScaled||(null===(t=this.csImage.preScale)||void 0===t?void 0:t.scaled);"PT"===p.modality&&P&&(R={lower:0,upper:5}),this.initialVOIRange=R,this.voiApplied&&void 0===R&&(R=this.voiRange),this.setProperties({voiRange:R});var A=zn().newInstance(),x=0,_=1024;R&&void 0!==R.lower&&void 0!==R.upper&&(x=R.lower,_=R.upper),A.addRGBPoint(x,0,0,0),A.addRGBPoint(_,1,1,1),w.getProperty().setRGBTransferFunction(0,A);var O=this.getCamera().focalPoint;this.cameraFocalPointOnRender=O,this.stackInvalidated=!1,this._publishCalibratedEvent&&this.triggerCalibrationEvent()}},{key:"_setImageIdIndex",value:(r=O(T().mark((function e(t){var r;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t>=this.imageIds.length)){e.next=2;break}throw new Error("ImageIdIndex provided ".concat(t," is invalid, the stack only has ").concat(this.imageIds.length," elements"));case 2:return this.currentImageIdIndex=t,this.hasPixelSpacing=!0,e.next=6,this._loadAndDisplayImage(this.imageIds[t],t);case 6:return r=e.sent,e.abrupt("return",r);case 8:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"resetCamera",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.useCPURendering?this.resetCameraCPU(e,t):this.resetCameraGPU(e,t),this.rotation=0,this.rotationCache=0,!0}},{key:"resetCameraCPU",value:function(e,t){if(this._cpuFallbackEnabledElement.image){!function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=e.canvas,i=e.image,a=e.viewport,o=Ai(n,i,0).scaleFactor;a.vflip=!1,a.hflip=!1,t&&(a.translation.x=0,a.translation.y=0),r&&(a.displayedArea.tlhc.x=1,a.displayedArea.tlhc.y=1,a.displayedArea.brhc.x=i.columns,a.displayedArea.brhc.y=i.rows,a.scale=o)}(this._cpuFallbackEnabledElement,e,t);var r=this._cpuFallbackEnabledElement.viewport.scale,n=this.element,i=[n.clientWidth/2,n.clientHeight/2],a=this.canvasToWorldCPU(i);this.setCameraCPU({focalPoint:a,scale:r})}}},{key:"resetCameraGPU",value:function(e,t){return this.getVtkActiveCamera().roll(this.rotationCache),Tr(Or(c.prototype),"resetCamera",this).call(this,e,t,!0)}},{key:"scroll",value:function(e){var t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=this.imageIds,a=this.targetImageIdIndex,o=i.length,s=a+e;s=Math.max(0,s),n?s%=o:s=Math.min(o-1,s),this.targetImageIdIndex=s;var c=i[s],l=Ur.isImageIdCached(c);l||!r?this.setImageIdIndex(s):(clearTimeout(this.debouncedTimeout),this.debouncedTimeout=window.setTimeout((function(){t.setImageIdIndex(s)}),40));var d={newImageIdIndex:s,imageId:c,direction:e};s!==a&&ae(this.element,u.STACK_VIEWPORT_SCROLL,d)}},{key:"setImageIdIndex",value:(t=O(T().mark((function e(t){var r;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.currentImageIdIndex!==t){e.next=2;break}return e.abrupt("return",this.getCurrentImageId());case 2:return r=this._setImageIdIndex(t),e.abrupt("return",r);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"calibrateSpacing",value:function(e){var t=this.getImageIds().indexOf(e);this.stackInvalidated=!0,this._loadAndDisplayImage(e,t)}},{key:"_restoreCameraProps",value:function(e,t,r){var n=e.parallelScale,i=this.getRenderer(),a=this.getCamera(),o=a.position,s=a.focalPoint,c=rr.vec3.subtract(rr.vec3.create(),o,r),l=rr.vec3.subtract(rr.vec3.create(),s,r);this.setCameraNoEvent({parallelScale:n,position:c,focalPoint:l});var u=this.getCamera();this.triggerCameraEvent(u,t);var d={type:"ResetCameraEvent",renderer:i};i.invokeEvent(d)}},{key:"triggerCameraEvent",value:function(e,t){var r={previousCamera:t,camera:e,element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId};this.suppressEvents||ae(this.element,u.CAMERA_MODIFIED,r)}},{key:"triggerCalibrationEvent",value:function(){var e=this.getImageData().imageData,t=Mi({element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,imageId:this.getCurrentImageId(),imageData:e,worldToIndex:e.getWorldToIndex()},this._calibrationEvent);this.suppressEvents||ae(this.element,u.IMAGE_SPACING_CALIBRATED,t),this._publishCalibratedEvent=!1}},{key:"getRenderer",value:function(){if(this.useCPURendering)throw this.getCPUFallbackError("getRenderer");return Tr(Or(c.prototype),"getRenderer",this).call(this)}},{key:"getDefaultActor",value:function(){if(this.useCPURendering)throw this.getCPUFallbackError("getDefaultActor");return Tr(Or(c.prototype),"getDefaultActor",this).call(this)}},{key:"getActors",value:function(){if(this.useCPURendering)throw this.getCPUFallbackError("getActors");return Tr(Or(c.prototype),"getActors",this).call(this)}},{key:"getActor",value:function(e){if(this.useCPURendering)throw this.getCPUFallbackError("getActor");return Tr(Or(c.prototype),"getActor",this).call(this,e)}},{key:"setActors",value:function(e){if(this.useCPURendering)throw this.getCPUFallbackError("setActors");return Tr(Or(c.prototype),"setActors",this).call(this,e)}},{key:"addActors",value:function(e){if(this.useCPURendering)throw this.getCPUFallbackError("addActors");return Tr(Or(c.prototype),"addActors",this).call(this,e)}},{key:"addActor",value:function(e){if(this.useCPURendering)throw this.getCPUFallbackError("addActor");return Tr(Or(c.prototype),"addActor",this).call(this,e)}},{key:"removeAllActors",value:function(){if(this.useCPURendering)throw this.getCPUFallbackError("removeAllActors");return Tr(Or(c.prototype),"removeAllActors",this).call(this)}},{key:"getCPUFallbackError",value:function(e){return new Error("method ".concat(e," cannot be used during CPU Fallback mode"))}},{key:"fillWithBackgroundColor",value:function(){var e=this.getRenderingEngine();e&&e.fillCanvasWithBackgroundColor(this.canvas,this.options.background)}},{key:"setColormap",value:function(e){this.useCPURendering?this.setColormapCPU(e):this.setColormapGPU(e)}},{key:"unsetColormap",value:function(){this.useCPURendering?this.unsetColormapCPU():this.unsetColormapGPU()}},{key:"unsetColormapCPU",value:function(){delete this._cpuFallbackEnabledElement.viewport.colormap,this._cpuFallbackEnabledElement.renderingTools={},this.cpuRenderingInvalidated=!0,this.fillWithBackgroundColor(),this.render()}},{key:"setColormapCPU",value:function(e){var t=mi(e.name,e);this._cpuFallbackEnabledElement.viewport.colormap=t,this._cpuFallbackEnabledElement.renderingTools={},this.fillWithBackgroundColor(),this.cpuRenderingInvalidated=!0,this.render()}},{key:"setColormapGPU",value:function(e){throw new Error("setColorMapGPU not implemented.")}},{key:"unsetColormapGPU",value:function(){throw new Error("unsetColormapGPU not implemented.")}},{key:"_getImagePlaneModule",value:function(e){var t=Mi({},Ye("imagePlaneModule",e));return t.columnPixelSpacing||(t.columnPixelSpacing=1,this.hasPixelSpacing=!1),t.rowPixelSpacing||(t.rowPixelSpacing=1,this.hasPixelSpacing=!1),t.columnCosines||(t.columnCosines=[0,1,0]),t.rowCosines||(t.rowCosines=[1,0,0]),t.imagePositionPatient||(t.imagePositionPatient=[0,0,0]),t.imageOrientationPatient||(t.imageOrientationPatient=new Float32Array([1,0,0,0,1,0])),t}}],[{key:"useCustomRenderingPipeline",get:function(){return Vn()}}]),c}(en),Li=ji,Ui=(H(Vi={},h.ORTHOGRAPHIC,Nn),H(Vi,h.PERSPECTIVE,Nn),H(Vi,h.STACK,Li),Vi);function Ni(e){return Ui[e].useCustomRenderingPipeline}function Fi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Gi(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Fi(Object(r),!0).forEach((function(t){H(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fi(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Wi=function(){function e(t){var r=this;if(B(this,e),H(this,"id",void 0),H(this,"hasBeenDestroyed",void 0),H(this,"offscreenMultiRenderWindow",void 0),H(this,"offScreenCanvasContainer",void 0),H(this,"_viewports",void 0),H(this,"_needsRender",new Set),H(this,"_animationFrameSet",!1),H(this,"_animationFrameHandle",null),H(this,"useCPURendering",void 0),H(this,"renderFrameOfReference",(function(e){var t=r._getViewportsAsArray().map((function(t){if(t.getFrameOfReferenceUID()===e)return t.id}));return r.renderViewports(t)})),H(this,"_renderFlaggedViewports",(function(){r._throwIfDestroyed(),r.useCPURendering||r.performVtkDrawCall();for(var e=r._getViewportsAsArray(),t=[],n=0;n<e.length;n++){var i=e[n];if(r._needsRender.has(i.id)){var a=r.renderViewportUsingCustomOrVtkPipeline(i);if(t.push(a),r._needsRender.delete(i.id),0===r._needsRender.size)break}}r._animationFrameSet=!1,r._animationFrameHandle=null,t.forEach((function(e){ae(e.element,u.IMAGE_RENDERED,e)}))})),this.id=t||ue(),this.useCPURendering=Vn(),Ct(this),!jn())throw new Error("@cornerstonejs/core is not initialized, run init() first");this.useCPURendering||(this.offscreenMultiRenderWindow=xr.newInstance(),this.offScreenCanvasContainer=document.createElement("div"),this.offscreenMultiRenderWindow.setContainer(this.offScreenCanvasContainer)),this._viewports=new Map,this.hasBeenDestroyed=!1}return W(e,[{key:"enableElement",value:function(e){var t=this._normalizeViewportInputEntry(e);this._throwIfDestroyed();var r=t.element,n=t.viewportId;if(!r)throw new Error("No element provided");this.getViewport(n)&&this.disableElement(n);var i=Ni(t.type);this.useCPURendering||i?this.addCustomViewport(t):this.enableVTKjsDrivenViewport(t);var a=gt(r),o=t.defaultOptions.background;this.fillCanvasWithBackgroundColor(a,o)}},{key:"disableElement",value:function(e){this._throwIfDestroyed();var t=this.getViewport(e);t?(this._resetViewport(t),Ni(t.type)||this.useCPURendering||this.offscreenMultiRenderWindow.removeRenderer(e),this._removeViewport(e),t.isDisabled=!0,this._needsRender.delete(e),this.getViewports().length||this._clearAnimationFrame(),this.resize(!0,!0)):console.warn("viewport ".concat(e," does not exist"))}},{key:"setViewports",value:function(e){var t=this,r=this._normalizeViewportInputEntries(e);this._throwIfDestroyed(),this._reset();var n=[],i=[];r.forEach((function(e){t.useCPURendering||Ni(e.type)?i.push(e):n.push(e)})),this.setVtkjsDrivenViewports(n),this.setCustomViewports(i)}},{key:"resize",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._throwIfDestroyed();var r=this._getViewportsAsArray(),n=[],i=[];r.forEach((function(e){Ni(e.type)?i.push(e):n.push(e)})),this._resizeVTKViewports(n,t,e),this._resizeUsingCustomResizeHandler(i,t,e)}},{key:"getViewport",value:function(e){return this._viewports.get(e)}},{key:"getViewports",value:function(){return this._throwIfDestroyed(),this._getViewportsAsArray()}},{key:"getStackViewports",value:function(){return this._throwIfDestroyed(),this.getViewports().filter((function(e){return e instanceof Li}))}},{key:"getVolumeViewports",value:function(){return this._throwIfDestroyed(),this.getViewports().filter((function(e){return e instanceof Nn}))}},{key:"render",value:function(){var e=this.getViewports().map((function(e){return e.id}));this._setViewportsToBeRenderedNextFrame(e)}},{key:"renderViewports",value:function(e){this._setViewportsToBeRenderedNextFrame(e)}},{key:"renderViewport",value:function(e){this._setViewportsToBeRenderedNextFrame([e])}},{key:"destroy",value:function(){var e=this;this.hasBeenDestroyed||(this.useCPURendering||(this._getViewportsAsArray().forEach((function(t){e.offscreenMultiRenderWindow.removeRenderer(t.id)})),this.offscreenMultiRenderWindow.delete(),delete this.offscreenMultiRenderWindow),this._reset(),bt(this.id),this.hasBeenDestroyed=!0)}},{key:"fillCanvasWithBackgroundColor",value:function(e,t){var r,n=e.getContext("2d");if(t){var i=t.map((function(e){return Math.floor(255*e)}));r="rgb(".concat(i[0],", ").concat(i[1],", ").concat(i[2],")")}else r="black";n.fillStyle=r,n.fillRect(0,0,e.width,e.height)}},{key:"_normalizeViewportInputEntry",value:function(e){var t=e.type,r=e.defaultOptions;return r&&0!==Object.keys(r).length||(r={background:[0,0,0],orientation:null},t===h.ORTHOGRAPHIC&&(r=Gi(Gi({},r),{},{orientation:C.AXIAL}))),Gi(Gi({},e),{},{defaultOptions:r})}},{key:"_normalizeViewportInputEntries",value:function(e){var t=this,r=[];return e.forEach((function(e){r.push(t._normalizeViewportInputEntry(e))})),r}},{key:"_resizeUsingCustomResizeHandler",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e.forEach((function(e){"function"==typeof e.resize&&e.resize()})),e.forEach((function(e){var r=e.getCamera();e.resetCamera(),t&&e.setCamera(r)})),!0===r&&this.render()}},{key:"_resizeVTKViewports",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=e.map((function(e){return e.canvas}));if(n.length){var i=this._resizeOffScreenCanvas(n),a=i.offScreenCanvasWidth,o=i.offScreenCanvasHeight;this._resize(e,a,o)}e.forEach((function(e){var r=gt(e.element),n=r.getBoundingClientRect(),i=window.devicePixelRatio||1;r.width=n.width*i,r.height=n.height*i;var a=e.getCamera();e.resetCamera(),t&&e.setCamera(a)})),!0===r&&this.render()}},{key:"enableVTKjsDrivenViewport",value:function(e){var t=this._getViewportsAsArray().filter((function(e){return!1===Ni(e.type)})),r=t.map((function(e){return e.canvas})),n=gt(e.element);r.push(n);var i=window.devicePixelRatio||1,a=n.getBoundingClientRect();n.width=a.width*i,n.height=a.height*i;var o=this._resizeOffScreenCanvas(r),s=o.offScreenCanvasWidth,c=o.offScreenCanvasHeight,l=this._resize(t,s,c),u=Gi(Gi({},e),{},{canvas:n});this.addVtkjsDrivenViewport(u,{offScreenCanvasWidth:s,offScreenCanvasHeight:c,xOffset:l})}},{key:"_removeViewport",value:function(e){this.getViewport(e)?this._viewports.delete(e):console.warn("viewport ".concat(e," does not exist"))}},{key:"addVtkjsDrivenViewport",value:function(e,t){var r=e.element,n=e.canvas,i=e.viewportId,a=e.type,o=e.defaultOptions;r.tabIndex=-1;var s=t.offScreenCanvasWidth,c=t.offScreenCanvasHeight,l=t.xOffset,d=this._getViewportCoordsOnOffScreenCanvas(e,s,c,l),f=d.sxStartDisplayCoords,v=d.syStartDisplayCoords,g=d.sxEndDisplayCoords,m=d.syEndDisplayCoords,p=d.sx,w=d.sy,y=d.sWidth,I=d.sHeight;this.offscreenMultiRenderWindow.addRenderer({viewport:[f,v,g,m],id:i,background:o.background?o.background:[0,0,0]});var C,b={id:i,element:r,renderingEngineId:this.id,type:a,canvas:n,sx:p,sy:w,sWidth:y,sHeight:I,defaultOptions:o||{}};if(a===h.STACK)C=new Li(b);else{if(a!==h.ORTHOGRAPHIC&&a!==h.PERSPECTIVE)throw new Error("Viewport Type ".concat(a," is not supported"));C=new Nn(b)}this._viewports.set(i,C);var k={element:r,viewportId:i,renderingEngineId:this.id};C.suppressEvents||ae(ie,u.ELEMENT_ENABLED,k)}},{key:"addCustomViewport",value:function(e){var t=e.element,r=e.viewportId,n=e.type,i=e.defaultOptions;t.tabIndex=-1;var a=gt(t),o=a.clientWidth,s=a.clientHeight;a.width===o&&a.height===s||(a.width=o,a.height=s);var c={id:r,renderingEngineId:this.id,element:t,type:n,canvas:a,sx:0,sy:0,sWidth:o,sHeight:s,defaultOptions:i||{}};if(n!==h.STACK)throw new Error("Support for fully custom viewports not yet implemented");var l=new Li(c);this._viewports.set(r,l);var d={element:t,viewportId:r,renderingEngineId:this.id};ae(ie,u.ELEMENT_ENABLED,d)}},{key:"setCustomViewports",value:function(e){var t=this;e.forEach((function(e){return t.addCustomViewport(e)}))}},{key:"setVtkjsDrivenViewports",value:function(e){if(e.length){var t=e.map((function(e){return gt(e.element)}));t.forEach((function(e){var t=window.devicePixelRatio||1,r=e.getBoundingClientRect();e.width=r.width*t,e.height=r.height*t}));for(var r=this._resizeOffScreenCanvas(t),n=r.offScreenCanvasWidth,i=r.offScreenCanvasHeight,a=0,o=0;o<e.length;o++){var s=e[o],c=t[o],l=Gi(Gi({},s),{},{canvas:c});this.addVtkjsDrivenViewport(l,{offScreenCanvasWidth:n,offScreenCanvasHeight:i,xOffset:a}),a+=c.width}}}},{key:"_resizeOffScreenCanvas",value:function(e){var t=this.offScreenCanvasContainer,r=this.offscreenMultiRenderWindow,n=window.devicePixelRatio||1,i=Math.max.apply(Math,wt(e.map((function(e){return e.clientHeight*n})))),a=0;return e.forEach((function(e){a+=e.clientWidth*n})),t.width=a,t.height=i,r.resize(),{offScreenCanvasWidth:a,offScreenCanvasHeight:i}}},{key:"_resize",value:function(e,t,r){for(var n=0,i=window.devicePixelRatio||1,a=0;a<e.length;a++){var o=e[a],s=this._getViewportCoordsOnOffScreenCanvas(o,t,r,n),c=s.sxStartDisplayCoords,l=s.syStartDisplayCoords,u=s.sxEndDisplayCoords,d=s.syEndDisplayCoords,f=s.sx,v=s.sy,h=s.sWidth,g=s.sHeight;n+=o.canvas.clientWidth*i,o.sx=f,o.sy=v,o.sWidth=h,o.sHeight=g,this.offscreenMultiRenderWindow.getRenderer(o.id).setViewport([c,l,u,d])}return n}},{key:"_getViewportCoordsOnOffScreenCanvas",value:function(e,t,r,n){var i=e.canvas,a=i.clientWidth,o=i.clientHeight,s=window.devicePixelRatio||1,c=o*s,l=a*s,u=n/t,d=0+(r-c)/r;return{sxStartDisplayCoords:u,syStartDisplayCoords:d,sxEndDisplayCoords:u+l/t,syEndDisplayCoords:d+c/r,sx:n,sy:0,sWidth:l,sHeight:c}}},{key:"_getViewportsAsArray",value:function(){return Array.from(this._viewports.values())}},{key:"_setViewportsToBeRenderedNextFrame",value:function(e){var t=this;e.forEach((function(e){t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedViewports),this._animationFrameSet=!0)}},{key:"performVtkDrawCall",value:function(){var e=this.offscreenMultiRenderWindow,t=e.getRenderWindow(),r=e.getRenderers();if(r.length){for(var n=0;n<r.length;n++){var i=r[n],a=i.renderer,o=i.id;this._needsRender.has(o)?a.setDraw(!0):a.setDraw(!1)}t.render();for(var s=0;s<r.length;s++)r[s].renderer.setDraw(!1)}}},{key:"renderViewportUsingCustomOrVtkPipeline",value:function(e){var t;if(!0===Ni(e.type))t=e.customRenderViewportToCanvas();else{if(this.useCPURendering)throw new Error("GPU not available, and using a viewport with no custom render pipeline.");var r=this.offscreenMultiRenderWindow.getOpenGLRenderWindow().get3DContext().canvas;t=this._renderViewportFromVtkCanvasToOnscreenCanvas(e,r)}return t}},{key:"_renderViewportFromVtkCanvasToOnscreenCanvas",value:function(e,t){var r=e.element,n=e.canvas,i=e.sx,a=e.sy,o=e.sWidth,s=e.sHeight,c=e.id,l=e.renderingEngineId,u=e.suppressEvents,d=n.width,f=n.height;return n.getContext("2d").drawImage(t,i,a,o,s,0,0,d,f),{element:r,suppressEvents:u,viewportId:c,renderingEngineId:l}}},{key:"_resetViewport",value:function(e){var t=this.id,r=e.element,n=e.canvas,i={element:r,viewportId:e.id,renderingEngineId:t};ae(ie,u.ELEMENT_DISABLED,i),r.removeAttribute("data-viewport-uid"),r.removeAttribute("data-rendering-engine-uid"),n.getContext("2d").clearRect(0,0,n.width,n.height)}},{key:"_clearAnimationFrame",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}},{key:"_reset",value:function(){var e=this;this._getViewportsAsArray().forEach((function(t){e._resetViewport(t)})),this._clearAnimationFrame(),this._viewports=new Map}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_downloadOffScreenCanvas",value:function(){var e,t;e=this._debugRender(),(t=document.createElement("a")).download="viewport.png",t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t)}},{key:"_debugRender",value:function(){for(var e=this.offscreenMultiRenderWindow,t=e.getRenderWindow(),r=e.getRenderers(),n=0;n<r.length;n++)r[n].renderer.setDraw(!0);t.render();var i=e.getOpenGLRenderWindow().get3DContext().canvas,a=i.toDataURL();return this._getViewportsAsArray().forEach((function(e){var t=e.sx,r=e.sy,n=e.sWidth,a=e.sHeight,o=e.canvas,s=o.width,c=o.height;o.getContext("2d").drawImage(i,t,r,n,a,0,0,s,c)})),a}}]),e}(),Bi=Wi,qi=new Se("imageRetrievalPool");qi.setMaxSimultaneousRequests(f.Interaction,200),qi.setMaxSimultaneousRequests(f.Thumbnail,200),qi.setMaxSimultaneousRequests(f.Prefetch,200),qi.grabDelay=0;var zi=qi;function Hi(e){if(e){var t=e.dataset;return Ki(t.viewportUid,t.renderingEngineUid)}}function Ki(e,t){if(t&&e){var r=ln(t);if(r&&!r.hasBeenDestroyed){var n=r.getViewport(e);if(n){var i=n.getFrameOfReferenceUID();return{viewport:n,renderingEngine:r,viewportId:e,renderingEngineId:t,FrameOfReferenceUID:i}}}}}function $i(){var e=[];return cn().forEach((function(t){t.getViewports().forEach((function(t){var r=t.element;e.push(Hi(r))}))})),e}var Xi=Symbol("DefaultSettings"),Yi=Symbol("RuntimeSettings"),Zi=Symbol("ObjectSettingsMap"),Ji=Symbol("Dictionary"),Qi=function(){function e(t){B(this,e);var r=Object.create(t instanceof e&&Ji in t?t[Ji]:null);Object.seal(Object.defineProperty(this,Ji,{value:r}))}return W(e,[{key:"set",value:function(e,t){return ta(this[Ji],e,t,null)}},{key:"get",value:function(e){return function(e,t){return e[t]}(this[Ji],e)}},{key:"unset",value:function(e){return function(e,t){if(t.endsWith(".")){var r=0,n=t,i=n.slice(0,-1),a=0===i.length;for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(a||o.startsWith(n)||o===i)&&(delete e[o],++r);return r>0}return delete e[t]}(this[Ji],e+"")}},{key:"forEach",value:function(e){ea(this[Ji],e)}},{key:"extend",value:function(){return new e(this)}},{key:"import",value:function(e){var t=this;ra(e)&&Object.keys(e).forEach((function(r){ta(t[Ji],r,e[r],null)}))}},{key:"dump",value:function(){var e={};return ea(this[Ji],(function(t,r){void 0!==r&&na(e,t,r)})),e}}],[{key:"assert",value:function(t){return t instanceof e?t:e.getRuntimeSettings()}},{key:"getDefaultSettings",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=e[Xi];if(r instanceof e||(r=new e,e[Xi]=r),t){var n={};return r.forEach((function(e){if(e.startsWith(t)){var i=e.split("".concat(t,"."))[1];n[i]=r.get(e)}})),n}return r}},{key:"getRuntimeSettings",value:function(){var t=e[Yi];return t instanceof e||(t=new e(e.getDefaultSettings()),e[Yi]=t),t}},{key:"getObjectSettings",value:function(t,r){var n=null;if(t instanceof e)n=t;else if("object"===P(t)&&null!==t){var i=e[Zi];i instanceof WeakMap||(i=new WeakMap,e[Zi]=i),(n=i.get(t))instanceof e||(n=new e(e.assert(e.getObjectSettings(r))),i.set(t,n))}return n}},{key:"extendRuntimeSettings",value:function(){return e.getRuntimeSettings().extend()}}]),e}();function ea(e,t){for(var r in e)t(r,e[r])}function ta(e,t,r,n){return!!function(e){var t,r,n;if("string"!=typeof e||(t=e.length-1)<0)return!1;for(n=-1;(r=e.indexOf(".",n+1))>=0;){if(r-n<2||r===t)return!1;n=r}return!0}(t)&&(ra(r)?function(e,t,r,n){var i;if(n.has(r))return ta(e,t,null,n);for(var a in n.add(r),i=0,r)Object.prototype.hasOwnProperty.call(r,a)&&(ta(e,0===a.length?t:"".concat(t,".").concat(a),r[a],n)||++i);return n.delete(r),0===i}(e,t,r,n instanceof WeakSet?n:new WeakSet):(e[t]=r,!0))}function ra(e){if("object"===P(e)&&null!==e){var t=Object.getPrototypeOf(e);if(t===Object.prototype||null===t)return!0}return!1}function na(e,t,r){var n=t.indexOf(".");if(n>=0){var i=t.slice(0,n),a=e[i];if("object"!==P(a)||null===a){var o=a;a={},void 0!==o&&(a[""]=o),e[i]=a}na(a,t.slice(n+1,t.length),r)}else e[t]=r}function ia(e,t){for(var r=e.getSize(),n=0;n<r;n++){var i=[];e.getNodeValue(n,i),i[1]=i[1]*t,i[2]=i[2]*t,i[3]=i[3]*t,e.setNodeValue(n,i)}}Qi.getDefaultSettings().set("useCursors",!0);var aa=Symbol("LastRuntimeId"),oa={};function sa(e,t,r){return function(e,t,r){var n=e[t];n instanceof Array||(n=[0],Object.defineProperty(e,t,{value:n}));for(var i=!0,a=0;i&&a<n.length;++a){var o=0|n[a];o<r?(i=!1,o+=1):(o=0,a+1===n.length&&n.push(0)),n[a]=o}return n}(null!==e&&"object"===P(e)?e:oa,aa,("number"==typeof r&&r>0?r:4294967295)>>>0).join("string"==typeof t?t:"-")}var ca={},la={add:function(e,t){var r=oe(e);ca[r]||(ca[r]={}),ca[r]=t},get:function(e,t){if("calibratedPixelSpacing"===e){var r=oe(t);return ca[r]}}};function ua(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;return Math.abs(e[0]+t[0])<r&&Math.abs(e[1]+t[1])<r&&Math.abs(e[2]+t[2])<r}var da=function(e){if(!window.crossOriginIsolated)throw new Error("Your page is NOT cross-origin isolated, see https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated");if(void 0===window.SharedArrayBuffer)throw new Error("SharedArrayBuffer is NOT supported in your browser see https://developer.chrome.com/blog/enabling-shared-array-buffer/");var t=new SharedArrayBuffer(e);return new Uint8Array(t)},fa=function(e){if(!window.crossOriginIsolated)throw new Error("Your page is NOT cross-origin isolated, see https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated");if(void 0===window.SharedArrayBuffer)throw new Error("SharedArrayBuffer is NOT supported in your browser see https://developer.chrome.com/blog/enabling-shared-array-buffer/");var t=new SharedArrayBuffer(4*e);return new Float32Array(t)};function va(e,t,r,n){if(e){var i=e.direction,a=e.imageIds;if(a&&a.length){var o=i.slice(6,9),s=rr.vec3.dot(o,r);if(!(Math.abs(s)<.99)){for(var c,l=nn(e,r)/2,u=0;u<a.length;u++){var d=a[u],f=Ye("imagePlaneModule",d).imagePositionPatient,v=rr.vec3.create();rr.vec3.sub(v,t,f);var h=rr.vec3.dot(v,r);Math.abs(h)<l&&(c=d)}return c}}}}function ha(e,t){return!(e[0]<0||e[0]>=t[0]||e[1]<0||e[1]>=t[1]||e[2]<0||e[2]>=t[2])}function ga(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var ma=function(e,t){var r;r=t?[sn(t)]:cn();var n=[];return r.forEach((function(t){var r,i=e.getActors(),a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return ga(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ga(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(t.getVolumeViewports());try{var o=function(){var e=r.value,t=e.getActors();if(t.length!==i.length)return"continue";i.every((function(e){var r=e.uid;return t.find((function(e){return r===e.uid}))}))&&n.push(e)};for(a.s();!(r=a.n()).done;)o()}catch(e){a.e(e)}finally{a.f()}})),n},pa=function(e,t){var r;r=t?[sn(t)]:cn();var n=[];return r.forEach((function(t){var r=t.getVolumeViewports().filter((function(t){return t.hasVolumeId(e)}));n.push.apply(n,wt(r))})),n};function wa(e,t,r){var n={canvas:e,viewport:xi(e,t,r),image:t,renderingTools:{}};n.transform=Zn(n),yi(n,!0)}function ya(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:f.Thumbnail,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-5;return new Promise((function(i,a){function o(t,r){var n,a=(Ye("generalSeriesModule",r)||{}).modality;t.isPreScaled=t.isPreScaled||(null===(n=t.preScale)||void 0===n?void 0:n.scaled),wa(e,t,a),i(r)}function s(e,t){console.error(e,t),a(e)}var c={targetBuffer:{type:"Float32Array",offset:null,length:null},preScale:{enabled:!0},requestType:r};Me.addRequest(function(e,t,r){var n=this;return Ue(e,r).then((function(t){o.call(n,t,e)}),(function(t){s.call(n,t,e)}))}.bind(null,t,null,c),r,{imageId:t},n)}))}var Ia=function(e,t){var r=Ye("imagePlaneModule",e);if(!r)throw new Error("No imagePlaneModule found for imageId: ".concat(e));var n=r.columnCosines,i=r.columnPixelSpacing,a=r.rowCosines,o=r.rowPixelSpacing,s=r.imagePositionPatient,c=(r.rows,r.columns,rr.vec3.create());rr.vec3.scaleAndAdd(c,s,n,-i/2),rr.vec3.scaleAndAdd(c,c,a,-o/2);var l=rr.vec3.create();return rr.vec3.sub(l,t,c),[rr.vec3.dot(l,a)/o,rr.vec3.dot(l,n)/i]};function Ca(e,t){var r=Ye("imagePlaneModule",e);if(!r)throw new Error("No imagePlaneModule found for imageId: ".concat(e));var n=r.columnCosines,i=r.columnPixelSpacing,a=r.rowCosines,o=r.rowPixelSpacing,s=r.imagePositionPatient,c=rr.vec3.create();return rr.vec3.scaleAndAdd(c,s,a,o*(t[0]-.5)),rr.vec3.scaleAndAdd(c,c,n,i*(t[1]-.5)),Array.from(c)}function ba(e,t,r,n,i,a){var o=r.min,s=r.max,c=r.current,l=rr.vec3.create();rr.vec3.sub(l,t,e);var u=Math.round((s-o)/i),d=(c-o)/(s-o)*u,f=Math.round(d),v=[e[0]-n[0]*d*i,e[1]-n[1]*d*i,e[2]-n[2]*d*i];(f+=a)>u?f=u:f<0&&(f=0);var h=f*i;return{newFocalPoint:v=[v[0]+n[0]*h,v[1]+n[1]*h,v[2]+n[2]*h],newPosition:[v[0]+l[0],v[1]+l[1],v[2]+l[2]]}}function ka(e,t){var r;r=t?[ln(t)]:cn();var n=[];return r.forEach((function(t){var r=t.getStackViewports().filter((function(t){return t.hasImageURI(e)})),i=t.getVolumeViewports().filter((function(t){return t.hasImageURI(e)}));n.push.apply(n,wt(r).concat(wt(i)))})),n}function Ea(e,t){var r=function(e,t){var r,n=t.getImageIds(),i=t.getCurrentImageIdIndex();if(0===n.length)return null;for(var a=function(t){var r=function(e){var t=Ye("imagePlaneModule",e);if(!(t&&t.rowCosines instanceof Array&&3===t.rowCosines.length&&t.columnCosines instanceof Array&&3===t.columnCosines.length&&t.imagePositionPatient instanceof Array&&3===t.imagePositionPatient.length))return null;var r=t.rowCosines,n=t.columnCosines,i=t.imagePositionPatient,a=rr.vec3.set.apply(rr.vec3,[rr.vec3.create()].concat(wt(r))),o=rr.vec3.set.apply(rr.vec3,[rr.vec3.create()].concat(wt(n)));return{rowCosines:r,columnCosines:n,imagePositionPatient:i,planeNormal:rr.vec3.cross(rr.vec3.create(),a,o)}}(t);return r?$r(Hr(r.planeNormal,r.imagePositionPatient),e):null},o={distance:null!==(r=a(n[i]))&&void 0!==r?r:1/0,index:i},s=n.slice(i+1),c=0;c<s.length;c++){var l=a(s[c]);if(null!==l){if(!(l<=o.distance))break;o.distance=l,o.index=c+i+1}}for(var u=n.slice(0,i),d=u.length-1;d>=0;d--){var f=a(u[d]);if(null!==f&&f!==o.distance){if(!(f<o.distance))break;o.distance=f,o.index=d}}return o.distance===1/0?null:o}(e,t);return r?r.index:null}var Ra={},Pa={add:function(e,t){var r=Nr(e,2),n=r[0],i=r[1],a="".concat(n,"_").concat(i);Ra[a]||(Ra[a]={}),Ra[a]=t},get:function(e,t){if("spatialRegistrationModule"===e){var r=Nr(t,2),n=r[0],i=r[1],a="".concat(n,"_").concat(i);if(Ra[a])return Ra[a];var o="".concat(i,"_").concat(n);return Ra[o]?rr.mat4.invert(rr.mat4.create(),Ra[o]):void 0}}};Ke(Pa.get.bind(Pa));var Aa=Pa,xa=function(e,t){if(!(e instanceof Li&&t instanceof Li))throw new Error("calculateViewportsSpatialRegistration: Both viewports must be StackViewports, volume viewports are not supported yet");if(e.getFrameOfReferenceUID()!==t.getFrameOfReferenceUID()){var r=e.getCurrentImageId(),n=t.getCurrentImageId(),i=Ye("imagePlaneModule",r),a=Ye("imagePlaneModule",n);if(!(i&&a&&Kn(i.imageOrientationPatient,a.imageOrientationPatient)))throw new Error("Viewport spatial registration only supported for same orientation (hence translation only) for now");var o=i.imagePositionPatient,s=a.imagePositionPatient,c=rr.vec3.subtract(rr.vec3.create(),o,s),l=rr.mat4.fromTranslation(rr.mat4.create(),c);Aa.add([e.id,t.id],l)}};function _a(e){var t=e.getImageData(),r=t.imageData,n=t.dimensions,i=e.canvas,a=[i.width,0],o=[i.width,i.height],s=[0,i.height],c=e.canvasToWorld([0,0]),l=e.canvasToWorld(a),u=e.canvasToWorld(o),d=e.canvasToWorld(s),f=r.worldToIndex(c),v=r.worldToIndex(l),h=r.worldToIndex(u),g=r.worldToIndex(d);return function(e){var t=e.dimensions,r=e.imageData,n=e.topRightImage,i=e.bottomRightImage,a=e.bottomLeftImage,o=e.topLeftWorld,s=e.topRightWorld,c=e.bottomRightWorld,l=e.bottomLeftWorld,u=Oa(e.topLeftImage,t)?o:r.indexToWorld([0,0,0]),d=Oa(n,t)?s:r.indexToWorld([t[0]-1,0,0]),f=Oa(i,t)?c:r.indexToWorld([t[0]-1,t[1]-1,0]);return[u,d,Oa(a,t)?l:r.indexToWorld([0,t[1]-1,0]),f]}({dimensions:n,imageData:r,topLeftImage:f,topRightImage:v,bottomRightImage:h,bottomLeftImage:g,topLeftWorld:c,topRightWorld:l,bottomRightWorld:u,bottomLeftWorld:d})}function Oa(e,t){return e[0]>0||e[0]<t[0]-1||e[1]>0||e[1]<t[1]-1||e[2]>0||e[2]<t[2]-1}function Sa(){return Sa=O(T().mark((function e(t,r,n){var i,a,o,s=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=s.length>3&&void 0!==s[3]&&s[3],a=s.length>4&&void 0!==s[4]&&s[4],n.forEach((function(e){var r=t.getViewport(e);if(!r)throw new Error("Viewport with Id ".concat(e," does not exist"));if(!(r instanceof Nn))throw new Error("setVolumesForViewports only supports VolumeViewport")})),o=n.map(function(){var e=O(T().mark((function e(n){var o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.getViewport(n),e.next=3,o.setVolumes(r,i,a);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=6,Promise.all(o);case 6:return e.abrupt("return");case 7:case"end":return e.stop()}}),e)}))),Sa.apply(this,arguments)}var Ta=function(e,t,r){return Sa.apply(this,arguments)};function Da(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Ma(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ma(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function Ma(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Va(){return Va=O(T().mark((function e(t,r,n){var i,a,o,s,c,l,u,d=arguments;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=d.length>3&&void 0!==d[3]&&d[3],a=d.length>4&&void 0!==d[4]&&d[4],o=Da(n),e.prev=3,o.s();case 5:if((s=o.n()).done){e.next=15;break}if(c=s.value,l=t.getViewport(c)){e.next=10;break}throw new Error("Viewport with Id ".concat(c," does not exist"));case 10:if(l instanceof Nn){e.next=13;break}return console.warn("Viewport with Id ".concat(c," is not a VolumeViewport. Cannot add volume to this viewport.")),e.abrupt("return");case 13:e.next=5;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),o.e(e.t0);case 20:return e.prev=20,o.f(),e.finish(20);case 23:return u=n.map(function(){var e=O(T().mark((function e(n){var o;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.getViewport(n),e.next=3,o.addVolumes(r,i,a);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=26,Promise.all(u);case 26:return e.abrupt("return");case 27:case"end":return e.stop()}}),e,null,[[3,17,20,23]])}))),Va.apply(this,arguments)}var ja=function(e,t,r){return Va.apply(this,arguments)}}(),z}()}));
3
3
  //# sourceMappingURL=index.js.map