cornerstone-tools
Version:
Medical imaging tools for the Cornerstone library
2 lines • 312 kB
JavaScript
/*! cornerstone-tools - 6.0.10 - 2023-07-21 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/cornerstoneTools */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstone-tools",[],t):"object"==typeof exports?exports["cornerstone-tools"]=t():e.cornerstoneTools=t()}(window,(function(){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=25)}([function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}e.exports=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e}},function(e,t,n){var a=n(8),o=n(5);e.exports=function(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?o(e):t}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){var a=n(14);e.exports=function(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}}),t&&a(e,t)}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){var a=n(16),o=n(17),i=n(18);e.exports=function(e){return a(e)||o(e)||i()}},function(e,t,n){var a=n(20),o=n(21),i=n(22);e.exports=function(e,t){return a(e)||o(e,t)||i()}},function(e,t){function n(e){return(n="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)}function a(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=a=function(e){return n(e)}:e.exports=a=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},a(t)}e.exports=a},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){"use strict";(function(e){var a=n(12),o={formatArgs:function(e){if(e[0]="".concat((this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" "),"+").concat(i.humanize(this.diff)),!this.useColors)return;var t="color: ".concat(this.color);e.splice(1,0,t,"color: inherit");var n=0,a=0;e[0].replace(/%[a-zA-Z%]/g,(function(e){"%%"!==e&&(n++,"%c"===e&&(a=n))})),e.splice(a,0,t)},save:function(e){try{e?o.storage.setItem("debug",e):o.storage.removeItem("debug")}catch(e){}},load:function(){var t;try{t=o.storage.getItem("debug")}catch(e){}!t&&void 0!==e&&"env"in e&&(t=e.env.DEBUG);return t},useColors:function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},storage:function(){try{return localStorage}catch(e){}}()};o.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],o.log=console.debug||console.log||function(){};var i=Object(a.a)(o);i.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: ".concat(e.message)}},t.a=i}).call(this,n(15))},function(e,t,n){e.exports=n(23)},function(e,t,n){"use strict";var a=n(6),o=n.n(a);t.a=function(e){function t(e){for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return a.colors[Math.abs(t)%a.colors.length]}function a(e){var n;function o(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];if(o.enabled){var r=o,s=Number(new Date),l=s-(n||s);r.diff=l,r.prev=n,r.curr=s,n=s,t[0]=a.coerce(t[0]),"string"!=typeof t[0]&&t.unshift("%O");var c=0;t[0]=t[0].replace(/%([a-zA-Z%])/g,(function(e,n){if("%%"===e)return e;c++;var o=a.formatters[n];if("function"==typeof o){var i=t[c];e=o.call(r,i),t.splice(c,1),c--}return e})),a.formatArgs.call(r,t);var u=r.log||a.log;u.apply(r,t)}}return o.namespace=e,o.enabled=a.enabled(e),o.useColors=a.useColors(),o.color=t(e),o.destroy=i,o.extend=r,"function"==typeof a.init&&a.init(o),a.instances.push(o),o}function i(){var e=a.instances.indexOf(this);return-1!==e&&(a.instances.splice(e,1),!0)}function r(e,t){var n=a(this.namespace+(void 0===t?":":t)+e);return n.log=this.log,n}function s(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return a.debug=a,a.default=a,a.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},a.disable=function(){var e=[].concat(o()(a.names.map(s)),o()(a.skips.map(s).map((function(e){return"-".concat(e)})))).join(",");return a.enable(""),e},a.enable=function(e){var t;a.save(e),a.names=[],a.skips=[];var n=("string"==typeof e?e:"").split(/[\s,]+/),o=n.length;for(t=0;t<o;t++)n[t]&&("-"===(e=n[t].replace(/\*/g,".*?"))[0]?a.skips.push(new RegExp("^".concat(e.substr(1),"$"))):a.names.push(new RegExp("^".concat(e,"$"))));for(t=0;t<a.instances.length;t++){var i=a.instances[t];i.enabled=a.enabled(i.namespace)}},a.enabled=function(e){if("*"===e[e.length-1])return!0;var t,n;for(t=0,n=a.skips.length;t<n;t++)if(a.skips[t].test(e))return!1;for(t=0,n=a.names.length;t<n;t++)if(a.names[t].test(e))return!0;return!1},a.humanize=n(19),Object.keys(e).forEach((function(t){a[t]=e[t]})),a.instances=[],a.names=[],a.skips=[],a.formatters={},a.selectColor=t,a.enable(a.load()),a}},function(e,t){function n(e,t,n,a,o,i,r){try{var s=e[i](r),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(a,o)}e.exports=function(e){return function(){var t=this,a=arguments;return new Promise((function(o,i){var r=e.apply(t,a);function s(e){n(r,o,i,s,l,"next",e)}function l(e){n(r,o,i,s,l,"throw",e)}s(void 0)}))}}},function(e,t){function n(t,a){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,a)}e.exports=n},function(e,t){var n,a,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{a="function"==typeof clearTimeout?clearTimeout:r}catch(e){a=r}}();var l,c=[],u=!1,d=-1;function h(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&v())}function v(){if(!u){var e=s(h);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d<t;)l&&l[d].run();d=-1,t=c.length}l=null,u=!1,function(e){if(a===clearTimeout)return clearTimeout(e);if((a===r||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(e);try{a(e)}catch(t){try{return a.call(null,e)}catch(t){return a.call(this,e)}}}(e)}}function g(e,t){this.fun=e,this.array=t}function f(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new g(e,t)),1!==c.length||u||s(v)},g.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=f,o.addListener=f,o.once=f,o.off=f,o.removeListener=f,o.removeAllListeners=f,o.emit=f,o.prependListener=f,o.prependOnceListener=f,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t){var n=1e3,a=6e4,o=60*a,i=24*o;function r(e,t,n,a){var o=t>=1.5*n;return Math.round(e/n)+" "+a+(o?"s":"")}e.exports=function(e,t){t=t||{};var s=typeof e;if("string"===s&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*r;case"weeks":case"week":case"w":return 6048e5*r;case"days":case"day":case"d":return r*i;case"hours":case"hour":case"hrs":case"hr":case"h":return r*o;case"minutes":case"minute":case"mins":case"min":case"m":return r*a;case"seconds":case"second":case"secs":case"sec":case"s":return r*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}(e);if("number"===s&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=i)return r(e,t,i,"day");if(t>=o)return r(e,t,o,"hour");if(t>=a)return r(e,t,a,"minute");if(t>=n)return r(e,t,n,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=i)return Math.round(e/i)+"d";if(t>=o)return Math.round(e/o)+"h";if(t>=a)return Math.round(e/a)+"m";if(t>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){var n=[],a=!0,o=!1,i=void 0;try{for(var r,s=e[Symbol.iterator]();!(a=(r=s.next()).done)&&(n.push(r.value),!t||n.length!==t);a=!0);}catch(e){o=!0,i=e}finally{try{a||null==s.return||s.return()}finally{if(o)throw i}}return n}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){var a=function(){return this||"object"==typeof self&&self}()||Function("return this")(),o=a.regeneratorRuntime&&Object.getOwnPropertyNames(a).indexOf("regeneratorRuntime")>=0,i=o&&a.regeneratorRuntime;if(a.regeneratorRuntime=void 0,e.exports=n(24),o)a.regeneratorRuntime=i;else try{delete a.regeneratorRuntime}catch(e){a.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";var n=Object.prototype,a=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",r=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag",l="object"==typeof e,c=t.regeneratorRuntime;if(c)l&&(e.exports=c);else{(c=t.regeneratorRuntime=l?e.exports:{}).wrap=f;var u={},d={};d[i]=function(){return this};var h=Object.getPrototypeOf,v=h&&h(h(I([])));v&&v!==n&&a.call(v,i)&&(d=v);var g=x.prototype=p.prototype=Object.create(d);y.prototype=g.constructor=x,x.constructor=y,x[s]=y.displayName="GeneratorFunction",c.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,x):(e.__proto__=x,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(g),e},c.awrap=function(e){return{__await:e}},T(b.prototype),b.prototype[r]=function(){return this},c.AsyncIterator=b,c.async=function(e,t,n,a){var o=new b(f(e,t,n,a));return c.isGeneratorFunction(t)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},T(g),g[s]="Generator",g[i]=function(){return this},g.toString=function(){return"[object Generator]"},c.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},c.values=I,w.prototype={constructor:w,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(E),!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 n(n,a){return r.type="throw",r.arg=e,t.next=n,a&&(t.method="next",t.arg=void 0),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],r=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=a.call(i,"catchLoc"),l=a.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&a.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var r=i?i.completion:{};return r.type=e,r.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(r)},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),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var o=a.arg;E(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:I(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}}}function f(e,t,n,a){var o=t&&t.prototype instanceof p?t:p,i=Object.create(o.prototype),r=new w(a||[]);return i._invoke=function(e,t,n){var a="suspendedStart";return function(o,i){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===o)throw i;return S()}for(n.method=o,n.arg=i;;){var r=n.delegate;if(r){var s=C(r,n);if(s){if(s===u)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===a)throw a="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a="executing";var l=m(e,t,n);if("normal"===l.type){if(a=n.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(a="completed",n.method="throw",n.arg=l.arg)}}}(e,n,r),i}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function p(){}function y(){}function x(){}function T(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function b(e){var t;this._invoke=function(n,o){function i(){return new Promise((function(t,i){!function t(n,o,i,r){var s=m(e[n],e,o);if("throw"!==s.type){var l=s.arg,c=l.value;return c&&"object"==typeof c&&a.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,i,r)}),(function(e){t("throw",e,i,r)})):Promise.resolve(c).then((function(e){l.value=e,i(l)}),(function(e){return t("throw",e,i,r)}))}r(s.arg)}(n,o,t,i)}))}return t=t?t.then(i,i):i()}}function C(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,C(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var a=m(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,u;var o=a.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function M(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 E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(M,this),this.reset(!0)}function I(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(a.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}}(function(){return this||"object"==typeof self&&self}()||Function("return this")())},function(e,t,n){"use strict";n.r(t);var a={};n.r(a),n.d(a,"drawBrushPixels",(function(){return te})),n.d(a,"eraseIfSegmentIndex",(function(){return ee})),n.d(a,"eraseOutsideBoundingBox",(function(){return ne})),n.d(a,"eraseInsideShape",(function(){return se})),n.d(a,"eraseOutsideShape",(function(){return le})),n.d(a,"fillOutsideBoundingBox",(function(){return ce})),n.d(a,"fillInsideShape",(function(){return he})),n.d(a,"fillOutsideShape",(function(){return ve})),n.d(a,"floodFill",(function(){return ge})),n.d(a,"getBoundingBoxAroundCircle",(function(){return xe})),n.d(a,"getBoundingBoxAroundPolygon",(function(){return Te})),n.d(a,"getCircle",(function(){return be})),n.d(a,"getPixelPathBetweenPixels",(function(){return Ee})),n.d(a,"isSameSegment",(function(){return ie})),n.d(a,"triggerLabelmapModifiedEvent",(function(){return Oe})),n.d(a,"getDiffBetweenPixelData",(function(){return Le}));var o={};n.r(o),n.d(o,"angleCursor",(function(){return To})),n.d(o,"arrowAnnotateCursor",(function(){return bo})),n.d(o,"bidirectionalCursor",(function(){return Co})),n.d(o,"cobbAngleCursor",(function(){return Mo})),n.d(o,"circleRoiCursor",(function(){return Eo})),n.d(o,"ellipticalRoiCursor",(function(){return wo})),n.d(o,"freehandRoiCursor",(function(){return Io})),n.d(o,"freehandRoiSculptorCursor",(function(){return So})),n.d(o,"lengthCursor",(function(){return ko})),n.d(o,"probeCursor",(function(){return _o})),n.d(o,"rectangleRoiCursor",(function(){return Po})),n.d(o,"textMarkerCursor",(function(){return Do})),n.d(o,"crosshairsCursor",(function(){return Oo})),n.d(o,"eraserCursor",(function(){return Lo})),n.d(o,"magnifyCursor",(function(){return Ao})),n.d(o,"panCursor",(function(){return Ho})),n.d(o,"rotateCursor",(function(){return Ro})),n.d(o,"stackScrollCursor",(function(){return Uo})),n.d(o,"wwwcRegionCursor",(function(){return No})),n.d(o,"wwwcCursor",(function(){return Fo})),n.d(o,"zoomCursor",(function(){return Bo})),n.d(o,"freehandEraseInsideCursor",(function(){return Yo})),n.d(o,"freehandFillInsideCursor",(function(){return Xo})),n.d(o,"freehandEraseOutsideCursor",(function(){return Ko})),n.d(o,"freehandFillOutsideCursor",(function(){return Zo})),n.d(o,"segRectangleEraseInsideCursor",(function(){return $o})),n.d(o,"segRectangleFillInsideCursor",(function(){return Jo})),n.d(o,"segRectangleEraseOutsideCursor",(function(){return Qo})),n.d(o,"segRectangleFillOutsideCursor",(function(){return ei})),n.d(o,"segCircleEraseInsideCursor",(function(){return ti})),n.d(o,"segCircleFillInsideCursor",(function(){return ni})),n.d(o,"segCircleEraseOutsideCursor",(function(){return ai})),n.d(o,"segCircleFillOutsideCursor",(function(){return oi}));var i=n(0),r=n.n(i),s=n(1),l=n.n(s),c=n(2),u=n.n(c),d=n(3),h=n.n(d),v=n(4),g=n.n(v),f=window.cornerstone,m=window.cornerstoneMath,p=window.Hammer,y={set cornerstone(e){f=e},get cornerstone(){return f},set cornerstoneMath(e){m=e},get cornerstoneMath(){return m},set Hammer(e){p=e},get Hammer(){return p}},x=n(8),T=n.n(x),b={MOUSE_DOWN:"cornerstonetoolsmousedown",MOUSE_UP:"cornerstonetoolsmouseup",MOUSE_DOWN_ACTIVATE:"cornerstonetoolsmousedownactivate",MOUSE_DRAG:"cornerstonetoolsmousedrag",MOUSE_MOVE:"cornerstonetoolsmousemove",MOUSE_CLICK:"cornerstonetoolsmouseclick",MOUSE_DOUBLE_CLICK:"cornerstonetoolsmousedoubleclick",MOUSE_WHEEL:"cornerstonetoolsmousewheel",TOUCH_START:"cornerstonetoolstouchstart",TOUCH_START_ACTIVE:"cornerstonetoolstouchstartactive",TOUCH_END:"cornerstonetoolstouchend",TOUCH_DRAG:"cornerstonetoolstouchdrag",TOUCH_DRAG_END:"cornerstonetoolstouchdragend",TOUCH_PINCH:"cornerstonetoolstouchpinch",TOUCH_ROTATE:"cornerstonetoolstouchrotate",TOUCH_PRESS:"cornerstonetoolstouchpress",TAP:"cornerstonetoolstap",DOUBLE_TAP:"cornerstonetoolsdoubletap",MULTI_TOUCH_START:"cornerstonetoolsmultitouchstart",MULTI_TOUCH_START_ACTIVE:"cornerstonetoolsmultitouchstartactive",MULTI_TOUCH_DRAG:"cornerstonetoolsmultitouchdrag",KEY_DOWN:"cornerstonetoolskeydown",KEY_UP:"cornerstonetoolskeyup",KEY_PRESS:"cornerstonetoolskeypress",MEASUREMENT_ADDED:"cornerstonetoolsmeasurementadded",MEASUREMENT_MODIFIED:"cornerstonetoolsmeasurementmodified",MEASUREMENT_COMPLETED:"cornerstonetoolsmeasurementcompleted",MEASUREMENT_REMOVED:"cornerstonetoolsmeasurementremoved",TOOL_DEACTIVATED:"cornerstonetoolstooldeactivated",CLIP_STOPPED:"cornerstonetoolsclipstopped",STACK_SCROLL:"cornerstonetoolsstackscroll",STACK_PREFETCH_IMAGE_LOADED:"cornerstonetoolsstackprefetchimageloaded",STACK_PREFETCH_DONE:"cornerstonetoolsstackprefetchdone",LABELMAP_MODIFIED:"cornersontetoolslabelmapmodified"};function C(e,t){var n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return"function"==typeof window.CustomEvent?n=new CustomEvent(t,{detail:a,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,a),e.dispatchEvent(n)}function M(e){return e instanceof HTMLElement?e:yt.enabledElementByUID(e)}var E={UINT_16_ARRAY:0,FLOAT_32_ARRAY:1},w=E.UINT_16_ARRAY,I=E.FLOAT_32_ARRAY;function S(e,t,n){var a,o=Tt("segmentation").configuration;switch(o.arrayType){case w:a=2;break;case I:a=4;break;default:throw new Error("Unsupported Array Type ".concat(o.arrayType))}e.labelmaps3D[t]={buffer:new ArrayBuffer(n*a),labelmaps2D:[],metadata:[],activeSegmentIndex:1,colorLUTIndex:0,segmentsHidden:[],undo:[],redo:[]}}function k(){var e={};function t(t,n,a){!1===e.hasOwnProperty(t)&&(e[t]={});var o=e[t];!1===o.hasOwnProperty(n)&&(o[n]={data:[]}),o[n].data.push(a)}function n(t,n){if(!1!==e.hasOwnProperty(t)){var a=e[t];if(!1!==a.hasOwnProperty(n))return a[n]}}function a(t,n,a){e[t][n]=a}function o(t){!1!==e.hasOwnProperty(t)&&delete e[t]}return{get:function(e,t){var a=y.cornerstone.getEnabledElement(e);if(a.image)return n(a.image.imageId,t)},add:function(e,n,a){var o=y.cornerstone.getEnabledElement(e);o.image&&t(o.image.imageId,n,a)},set:function(e,t,n){var o=y.cornerstone.getEnabledElement(e);o.image&&a(o.image.imageId,t,n)},clear:function(e){var t=y.cornerstone.getEnabledElement(e);t.image&&o(t.image.imageId)},getImageIdToolState:n,addImageIdToolState:t,setImageIdToolState:a,clearImageIdToolState:o,saveImageIdToolState:function(t){return e[t]},restoreImageIdToolState:function(t,n){e[t]=n},saveToolState:function(){return e},restoreToolState:function(t){e=t},toolState:e}}var _=k();function P(e){var t=y.cornerstone.getEnabledElement(e);return void 0===t.toolStateManager&&(t.toolStateManager=_),t.toolStateManager}function D(e,t,n){var a=P(e);n.uuid=n.uuid||"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})),a.add(e,t,n),C(e,b.MEASUREMENT_ADDED,{toolName:t,toolType:t,element:e,measurementData:n})}function O(e,t){return P(e).get(e,t)}function L(e,t,n){var a=P(e).get(e,t);if(a&&a.data&&a.data.length){for(var o=-1,i=0;i<a.data.length;i++)a.data[i]===n&&(o=i);if(-1!==o)a.data.splice(o,1),C(e,b.MEASUREMENT_REMOVED,{toolName:t,toolType:t,element:e,measurementData:n})}}function A(e,t){var n=P(e).get(e,t);void 0!==n&&(n.data=[])}function H(e,t){y.cornerstone.getEnabledElement(e).toolStateManager=t}var R=n(10),U=Object(R.a)("cornerstoneTools");var N=function(e){var t=U.extend(e);return{log:t,warn:t,error:void 0}},F=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"".concat("cornerstoneTools",":*");return R.a.enable(e)},B=function(){return R.a.disable()},V={series:{},colorLutTables:[]},q=N("store:modules:segmentationModule:metadata");function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"increase",n=Tt("segmentation"),a=n.configuration,o=O(e,"stack"),i=o.data[0],r=i.imageIds[0],s=V.series[r];if(s){var l=s.activeLabelmapIndex,c=s.labelmaps3D[l];switch(t){case"increase":c.activeSegmentIndex++,c.activeSegmentIndex>a.segmentsPerLabelmap&&(c.activeSegmentIndex=1);break;case"decrease":c.activeSegmentIndex--,c.activeSegmentIndex<=0&&(c.activeSegmentIndex=a.segmentsPerLabelmap)}}}var z=N("store:modules:segmentationModule:segmentVisibility");var W=N("store:modules:segmentationModule:getLabelmaps3D");function G(e){var t=M(e);if(t){var n=O(t,"stack");if(n){var a,o,i=n.data[0],r=i.imageIds[0],s=V.series[r];return s&&(a=s.labelmaps3D,o=s.activeLabelmapIndex),{labelmaps3D:a,activeLabelmapIndex:o,currentImageIdIndex:i.currentImageIdIndex}}W.error("Consumers must define stacks in their application if using segmentations in cornerstoneTools.")}}function Y(e,t){var n=G(e),a=n.labelmaps3D,o=n.activeLabelmapIndex;return a[t=void 0!==t?t:o]}var X=E.UINT_16_ARRAY,K=E.FLOAT_32_ARRAY;function Z(e,t){var n=M(e);if(n){var a=G(n).labelmaps3D;if(!a)return[];var o,i,r=Tt("segmentation").configuration;switch(r.arrayType){case X:o="Uint16Array",i="2";break;case K:o="Float32Array",i="4";break;default:throw new Error("Unsupported Array Type ".concat(r.arrayType))}var s=V.colorLutTables;if(void 0!==t){var l=a[t];return l?{labelmapIndex:t,bytesPerVoxel:i,type:o,buffer:l.buffer,colorLUT:s[l.colorLUTIndex]}:void 0}for(var c=[],u=0;u<a.length;u++){var d=a[u];d&&c.push({labelmapIndex:u,bytesPerVoxel:2,buffer:d.buffer,colorLUT:s[d.colorLUTIndex]})}return c}}var $=n(6),J=n.n($);function Q(e){return J()(new Set(e))}function ee(e,t,n){t[e]===n&&(t[e]=0)}function te(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=function(e,t){return t*a+e};e.forEach((function(e){var a=i.apply(void 0,J()(e));o?ee(a,t,n):t[a]=n}))}function ne(e,t,n,a){for(var o=e.detail,i=t.pixelData,r=t.segmentIndex,s=o.image,l=s.width,c=s.height,u=0;u<l;u++)for(var d=0;d<n[1];d++)ee(d*l+u,i,r);for(var h=0;h<n[0];h++)for(var v=n[1];v<a[1];v++)ee(v*l+h,i,r);for(var g=a[0];g<l;g++)for(var f=n[1];f<a[1];f++)ee(f*l+g,i,r);for(var m=0;m<l;m++)for(var p=a[1];p<c;p++)ee(p*l+m,i,r)}var ae=n(7),oe=n.n(ae);function ie(e,t,n){return t[e]===n}N("util:segmentation:operations:eraseOutsideCircle");function re(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"inside",r=e.detail.image.width,s=t.pixelData,l=t.segmentIndex,c=oe()(a,2),u=c[0],d=c[1],h=oe()(o,2),v=h[0],g=h[1];"outside"===i&&ne(e,t,a,o);for(var f=u;f<v;f++)for(var m=d;m<g;m++){var p=m*r+f;ie(p,s,l)&&n({x:f,y:m})&&(s[p]=0)}}function se(e,t,n,a,o){re(e,t,n,a,o,"inside")}function le(e,t,n,a,o){re(e,t,(function(e){return!n(e)}),a,o,"outside")}function ce(e,t,n,a){for(var o=t.pixelData,i=t.segmentIndex,r=e.detail.image,s=r.width,l=r.height,c=0;c<s;c++)for(var u=0;u<n[1];u++)o[u*s+c]=i;for(var d=0;d<n[0];d++)for(var h=n[1];h<a[1];h++)o[h*s+d]=i;for(var v=a[0];v<s;v++)for(var g=n[1];g<a[1];g++)o[g*s+v]=i;for(var f=0;f<s;f++)for(var m=a[1];m<l;m++)o[m*s+f]=i}var ue=N("util:segmentation:operations:helpers:fillShape");function de(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"inside",r=t.pixelData,s=t.segmentIndex;if(void 0!==r&&void 0!==s){var l=e.detail.image.width,c=oe()(a,2),u=c[0],d=c[1],h=oe()(o,2),v=h[0],g=h[1];"outside"===i&&ce(e,t,a,o);for(var f=u;f<v;f++)for(var m=d;m<g;m++){var p=m*l+f;n({x:f,y:m})&&(r[p]=s)}}else ue.error("fillInsideShape requires operationData to contain pixelData and segmentIndex")}function he(e,t,n,a,o){de(e,t,n,a,o,"inside")}function ve(e,t,n,a,o){de(e,t,(function(e){return!n(e)}),a,o,"outside")}var ge=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=n.onFlood||function(){},o=n.onBoundary||function(){},i=n.equals||fe,r=n.diagonals||!1,s=T(t),l=C(),c=[],u=[],d={},h={};for(c.push({currentArgs:t});c.length>0;)v(c.pop());return{flooded:u,boundaries:E()};function v(e){var t=e.currentArgs,n=e.previousArgs;g(t)||(f(t),m(t)?(p(t),x(t)):y(n))}function g(e){return!0===d[e]}function f(e){d[e]=!0}function m(e){var t=b(T,[e]);return b(i,[t,s])}function p(e){u.push(e),a.apply(void 0,J()(e))}function y(e){h[e]=e,o.apply(void 0,J()(e))}function x(e){for(var t=0;t<l.length;t+=1){for(var n=l[t],a=e.slice(0),o=0;o<e.length;o+=1)a[o]+=n[o];c.push({currentArgs:a,previousArgs:e})}}function T(t){return e.apply(void 0,J()(t))}function b(e,t){try{return e.apply(void 0,J()(t))}catch(e){return}}function C(){return M(t.length).filter((function(e){var t=me(e);return 0!==t&&(1===t||r)}))}function M(e){for(var t=[],n=function(e){return e.split("").map((function(e){return parseInt(e,10)-1}))},a=0;a<Math.pow(3,e);a+=1){var o=pe(a.toString(3),"0",e);t.push(n(o))}return t}function E(){var e=[];for(var t in h)h.hasOwnProperty(t)&&e.unshift(h[t]);return e}};function fe(e,t){return e===t}function me(e){for(var t=0,n=0;n<e.length;n+=1)0!==e[n]&&(t+=1);return t}function pe(e,t,n){return(new Array(n+1).join(t)+e).slice(-n)}function ye(e,t){var n=(0,y.cornerstoneMath.point.distance)(e,t);return{left:Math.floor(Math.min(e.x-n,t.x)),top:Math.floor(Math.min(e.y-n,t.y)),width:2*n,height:2*n}}function xe(e){var t=e.detail.handles,n=e.detail.image,a=n.width,o=n.height,i=ye(t.start,t.end),r=i.width+i.left,s=i.left,l=i.top+i.height,c=i.top;return s=Math.floor(s),c=Math.floor(c),r=Math.floor(r),l=Math.floor(l),r=Math.min(a,r),s=Math.max(0,s),l=Math.min(o,l),[[s,c=Math.max(0,c)],[r,l]]}function Te(e,t){var n=1/0,a=0,o=1/0,i=0,r=t.width,s=t.height;return e.forEach((function(e){n=Math.min(e[0],n),a=Math.max(e[0],a),o=Math.min(e[1],o),i=Math.max(e[1],i)})),n=Math.floor(n),o=Math.floor(o),a=Math.floor(a),i=Math.floor(i),a=Math.min(r,a),n=Math.max(0,n),i=Math.min(s,i),o=Math.max(0,o),[[n,o],[a,i]]}function be(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,i=Math.floor(a),r=Math.floor(o);if(1===e)return[[i,r]];for(var s=[],l=0,c=-e;c<=e;c++){var u=r+c;if(!(u>t||u<0))for(var d=-e;d<=e;d++){var h=i+d;h>=n||h<0||d*d+c*c<e*e&&(s[l++]=[i+d,r+c])}}return s}var Ce=1/Math.sqrt(2),Me={up:{x:0,y:1},upRight:{x:Ce,y:Ce},right:{x:1,y:0},downRight:{x:Ce,y:-Ce},down:{x:0,y:1},downLeft:{x:-Ce,y:-Ce},left:{x:-1,y:0},upLeft:{x:-Ce,y:Ce}},Ee=function(e,t){for(var n={x:e.x,y:e.y},a=[];t.x!==n.x||t.y!==n.y;)t.x===n.x?t.y>n.y?n.y++:n.y--:t.y===n.y?t.x>n.x?n.x++:n.x--:t.y>n.y?t.x>n.x?we(n,t):Ie(n,t):t.x>n.x?Se(n,t):ke(n,t),a.push({x:n.x,y:n.y});return a.pop(),a};function we(e,t){var n=_e(e,t);switch(De([Pe(n,Me.up),Pe(n,Me.right),Pe(n,Me.upRight)])){case 0:e.y++;break;case 1:e.x++;break;case 2:e.y++,e.x++}}function Ie(e,t){var n=_e(e,t);switch(De([Pe(n,Me.up),Pe(n,Me.left),Pe(n,Me.upLeft)])){case 0:e.y++;break;case 1:e.x--;break;case 2:e.y++,e.x--}}function Se(e,t){var n=_e(e,t);switch(De([Pe(n,Me.down),Pe(n,Me.right),Pe(n,Me.downRight)])){case 0:e.y--;break;case 1:e.x++;break;case 2:e.y--,e.x++}}function ke(e,t){var n=_e(e,t);switch(De([Pe(n,Me.down),Pe(n,Me.left),Pe(n,Me.downLeft)])){case 0:e.y--;break;case 1:e.x--;break;case 2:e.y--,e.x--}}function _e(e,t){var n=y.cornerstoneMath.point.distance(e,t);return{x:(t.x-e.x)/n,y:(t.y-e.y)/n}}function Pe(e,t){return e.x*t.x+e.y*t.y}function De(e){var t=e[0]>e[1]?0:1;return e[2]>e[t]&&(t=2),t}function Oe(e,t){var n=Tt("segmentation").getters;t=void 0===t?n.activeLabelmapIndex(e):t,y.cornerstone.triggerEvent(e,b.LABELMAP_MODIFIED,{labelmapIndex:t})}function Le(e,t){for(var n=[],a=0;a<e.length;a++)e[a]!==t[a]&&n.push([a,e[a],t[a]]);return n}var Ae=E.UINT_16_ARRAY,He=E.FLOAT_32_ARRAY;function Re(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0,i=arguments.length>5?arguments[5]:void 0,r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,s=Tt("segmentation"),l=s.configuration,c=V.series[e];c||(V.series[e]={activeLabelmapIndex:n,labelmaps3D:[]},c=V.series[e]),c.labelmaps3D[n]={buffer:t,labelmaps2D:[],metadata:a,activeSegmentIndex:1,colorLUTIndex:r,segmentsHidden:[],undo:[],redo:[]};for(var u=c.labelmaps3D[n].labelmaps2D,d=t.byteLength/o,h=0;h<o;h++){var v=void 0;switch(l.arrayType){case Ae:v=new Uint16Array(t,d*h,d/2);break;case He:v=new Float32Array(t,d*h,d/4);break;default:throw new Error("Unsupported Array Type ".concat(l.arrayType))}var g=i?i[h]:Q(v);g&&g.some((function(e){return e}))&&(u[h]={pixelData:v,segmentsOnLabelmap:g})}}var Ue=N("store:modules:segmentationModule:getLabelmapStats");function Ne(e,t,n){var a=e.length,o=t[n].imagePositionPatient;if(0===n)return Fe(o,t[n+1].imagePositionPatient);if(n===a-1)return Fe(o,t[n-1].imagePositionPatient);var i=t[n-1].imagePositionPatient,r=t[n+1].imagePositionPatient;return(Fe(o,i)+Fe(o,r))/2}function Fe(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2))}var Be=E.UINT_16_ARRAY,Ve=E.FLOAT_32_ARRAY;function qe(e,t,n,a,o){var i,r=Tt("segmentation").configuration,s=a*o,l=s*n;switch(r.arrayType){case Be:i=new Uint16Array(e.labelmaps3D[t].buffer,2*l,s);break;case Ve:i=new Float32Array(e.labelmaps3D[t].buffer,4*l,s);break;default:throw new Error("Unsupported Array Type ".concat(r.arrayType))}e.labelmaps3D[t].labelmaps2D[n]={pixelData:i,segmentsOnLabelmap:[]}}var je=E.UINT_16_ARRAY,ze=E.FLOAT_32_ARRAY,We=N("store:modules:segmentationModule:getLabelmap2D");function Ge(e,t,n){var a=e.x,o=e.y;return a<n&&a>=0&&o<t&&o>=0}var Ye=N("store:modules:segmentationModule:getSegmentOfActiveLabelmapAtEvent");var Xe=N("store:modules:segmentationModule:setColorLUT");function Ke(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=Tt("segmentation"),a=n.configuration,o=a.segmentsPerLabelmap;t?($e(t,o),t.length<o&&(t=[].concat(J()(t),J()(Je(o-t.length))))):t=t||Je(o),t.unshift([0,0,0,0]),V.colorLutTables[e]=t}function Ze(e){return"number"==typeof e?V.colorLutTables[e]:V.colorLutTables[e.colorLUTIndex]}function $e(e,t){e.length<t?Xe.warn("The provided colorLUT only provides ".concat(e.length," labels, whereas segmentsPerLabelmap is set to ").concat(t,". Autogenerating the rest.")):e.length>t&&Xe.warn("segmentsPerLabelmap is set to ".concat(t,", and the provided colorLUT provides ").concat(e.length,". Using the first ").concat(t," colors from the LUT."))}function Je(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:255,t=[],n=0;n<e;n++)t.push(at(et(),nt()));return t}var Qe=222.5;function et(){return(Qe+=137.5)>=360&&(Qe-=360),Qe}var tt=.6;function nt(){(tt+=.07)>.82&&(tt=.3+(tt-.82));return tt}function at(e){var t,n,a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.6,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:255,s=(1-Math.abs(2*i-1))*o,l=s*(1-Math.abs(e/60%2-1)),c=i-s/2;return e<60?(t=s,n=l,a=0):e<120?(t=l,n=s,a=0):e<180?(t=0,n=s,a=l):e<240?(t=0,n=l,a=s):e<300?(t=l,n=0,a=s):e<360&&(t=s,n=0,a=l),[255*(t+c),255*(n+c),255*(a+c),r]}var ot=N("store:modules:segmentationModule:getBrushColor");var it={renderOutline:!0,renderFill:!0,shouldRenderInactiveLabelmaps:!0,radius:10,minRadius:1,maxRadius:50,fillAlpha:.2,fillAlphaInactive:.1,outlineAlpha:.7,outlineAlphaInactive:.35,outlineWidth:3,storeHistory:!0,segmentsPerLabelmap:65535,arrayType:E.UINT_16_ARRAY},rt=N("util:segmentation:labelmap3DHistory");function st(e,t,n){var a=e.labelmaps2D;t.forEach((function(e){for(var t=e.imageIdIndex,o=e.diff,i=a[t].pixelData,r=0;r<o.length;r++){var s=o[r];i[s[0]]=s[n]}}))}var lt={state:V,configuration:it,onRegisterCallback:function(){Ke(0)},getters:{metadata:function(e,t,n){var a=M(e);if(a){var o=O(a,"stack").data[0].imageIds[0],i=V.series[o];if(i){if(t=void 0===t?i.activeLabelmapIndex:t,i.labelmaps3D[t]){var r=i.labelmaps3D[t];return void 0===n?r.metadata:r.metadata[n]}q.warn("No labelmap3D of labelmap index ".concat(t," on stack."))}else q.warn("brushStackState is undefined")}},labelmap3D:Y,labelmaps3D:G,activeLabelmapIndex:function(e){var t=M(e);if(t){var n=O(t,"stack").data[0].imageIds[0],a=V.series[n];if(a)return a.activeLabelmapIndex}},activeSegmentIndex:function(e,t){var n=M(e);if(n){var a=O(n,"stack").data[0].imageIds[0],o=V.series[a];if(o){t=void 0===t?o.activeLabelmapIndex:t;var i=o.labelmaps3D[t];if(i)return i.activeSegmentIndex}return 1}},isSegmentVisible:function(e,t,n){if(t){var a=M(e);if(a){var o=O(a,"stack").data[0].imageIds[0],i=V.series[o];if(i){if(n=void 0===n?i.activeLabelmapIndex:n,i.labelmaps3D[n])return!i.labelmaps3D[n].segmentsHidden[t];z.warn("No labelmap3D of labelmap index ".concat(n," on stack."))}else z.warn("brushStackState is undefined")}}},labelmap2D:function(e){var t=M(e);if(t){var n=y.cornerstone,a=O(t,"stack");if(a){var o,i=a.data[0],r=n.getEnabledElement(t),s=i.currentImageIdIndex,l=r.image,c=l.rows,u=l.columns,d=i.imageIds.length,h=i.imageIds[0],v=V.series[h];if(v){if(o=v.activeLabelmapIndex,!v.labelmaps3D[o])S(v,o,c*u*d);v.labelmaps3D[o].labelmaps2D[s]||qe(v,o,s,c,u)}else{o=0,V.series[h]={activeLabelmapIndex:o,labelmaps3D:[]},S(v=V.series[h],o,c*u*d),qe(v,o,s,c,u)}var g=v.labelmaps3D[o];return{labelmap2D:g.labelmaps2D[s],labelmap3D:g,currentImageIdIndex:s,activeLabelmapIndex:o}}We.error("Consumers must define stacks in their application if using segmentations in cornerstoneTools.")}},labelmap2DByImageIdIndex:function(e,t,n,a){if(!e.labelmaps2D[t]){var o,i=Tt("segmentation").configuration,r=n*a,s=r*t;switch(i.arrayType){case je:o=new Uint16Array(e.buffer,2*s,r);break;case ze:o=new Float32Array(e.buffer,4*s,r);break;default:throw new Error("Unsupported Array Type ".concat(i.arrayType))}e.labelmaps2D[t]={pixelData:o,segmentsOnLabelmap:Q(o)}}return e.labelmaps2D[t]},labelmapStats:function(e,t,n){var a=y.cornerstone,o=M(e);if(!o)return null;var i=O(o,"stack").data[0].imageIds,r=i[0];return new Promise((function(e){var o=V.series[r];o||e(null);var s=function(e){for(var t=[],n=y.cornerstone.metaData,a=!0,o=0;o<e.length;o++){var i=n.get("imagePlaneModule",e[o]);if(!i){a=!1;break}t.push(i)}return{sufficientMetadata:a,imagePlanes:t}}(i),l=s.sufficientMetadata,c=s.imagePlanes;l||(Ue.warn("Insufficient imagePlaneModule information to calculate volume statistics."),e(null)),n=void 0===n?o.activeLabelmapIndex:n;for(var u=o.labelmaps3D[n],d=[],h=0;h<i.length;h++)d.push(a.loadAndCacheImage(i[h]));Promise.all(d).then((function(n){var a=function(e,t,n,a){for(var o=function(e,t,n,a){for(var o=t[0],i=o.rowPixelSpacing,r=o.columnPixelSpacing,s=e.labelmaps2D,l=[],c=0;c<s.length;c++){var u=s[c];if(u&&u.segmentsOnLabelmap.includes(a)){for(var d=Ne(t,n,c)*i*r,h=u.pixelData,v=t[c].getPixelData(),g=[],f=0;f<h.length;f++)h[f]===a&&g.push(v[f]);l.push({voxelInMM3:d,values:g})}}return l}(e,t,n,a),i=0,r=o[0].values[0],s=r,l=0,c=0;c<o.length;c++){var u=o[c],d=u.values,h=u.voxelInMM3;l+=h*d.length;var v=0;d.forEach((function(e){e>r?r=e:e<s&&(s=e),v+=e})),i+=v*h}i/=l;for(var g=0,f=0;f<o.length;f++){var m=o[f],p=(d=m.values,h=m.voxelInMM3,0);d.forEach((function(e){p+=Math.pow(e-i,2)})),g+=p*h}return g/=l,g=Math.sqrt(g),{volume:l,mean:i,stdDev:g,max:r,min:s}}(u,n,c,t);e(a)}))}))},segmentOfActiveLabelmapAtEvent:function(e){var t=e.detail,n=t.element,a=t.image,o=t.currentPoints;if(o){var i=a.width,r=a.height;if(n){var s=O(n,"stack").data[0],l=s.currentImageIdIndex,c=s.imageIds[0],u=V.series[c],d=u.activeLabelmapIndex,h=u.labelmaps3D[d];if(h){var v=h.labelmaps2D[l];if(v){var g=v.pixelData,f=o.image,m=f.x,p=f.y;if(Ge({x:m=Math.floor(m),y:p=Math.floor(p)},r,i)){var y=g[p*i+m];if(0===y)return;return{segmentIndex:y,metadata:h.metadata[y]}}}}}}else Ye.warn("Not a cornerstone input event.")},brushColor:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=M(e);if(n){var a=O(n,"stack");if(a){var o,i=a.data[0],r=i.imageIds[0],s=V.series[r];if(s){var l=s.activeLabelmapIndex,c=s.labelmaps3D[l],u=c.activeSegmentIndex;o=V.colorLutTables[c.colorLUTIndex][u]}else o=V.colorLutTables[0][1];return t?"rgba(".concat(o[0],", ").concat(o[1],", ").concat(o[2],", 1.0 )"):"rgba(".concat(o[0],", ").concat(o[1],", ").concat(o[2],", 0.8 )")}ot.error("Consumers must define stacks in their application if using segmentations in cornerstoneTools.")}},labelmapBuffers:Z,activeLabelmapBuffer:function(e){var t=M(e);if(t){var n=O(t,"stack").data[0].imageIds[0],a=V.series[n];if(a)return Z(t,a.activeLabelmapIndex)}},colorLUT:Ze,colorForSegmentIndexColorLUT:function(e,t){return Ze(e)[t]}},setters:{metadata:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,o=M(e);if(o){var i=y.cornerstone,r=O(o,"stack"),s=r.data[0],l=s.imageIds[0],c=V.series[l];if(c||(V.series[l]={labelmapIndex:t,labelmaps3D:[]},c=V.series[l]),!c.labelmaps3D[t]){var u=i.getEnabledElement(o),d=u.image,h=d.rows,v=d.columns,g=s.imageIds.length,f=h*v*g;S(c,t,f)}var m=c.labelmaps3D[t];m.metadata[n]=a}},labelmap3DForElement:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=M(e);if(r){var s=O(r,"stack"),l=s.data[0].imageIds.length,c=s.data[0].imageIds[0];Re(c,t,n,a,l,o,i),Oe(r,n)}},labelmap3DByFirstImageId:Re,incrementActiveSegmentIndex:function(e){var t=M(e);t&&j(t,"increase")},decrementActiveSegmentIndex:function(e){var t=M(e);t&&j(t,"decrease")},activeSegmentIndex:function(e,t){var n=M(e);if(n){var a=O(n,"stack").data[0].imageIds[0],o=V.series[a];if(o){var i=o.activeLabelmapIndex,r=o.labelmaps3D[i],s=Tt("segmentation").configuration;t<=0?t=1:t>s.segmentsPerLabelmap&&(t=s.segmentsPerLabelmap),r.activeSegmentIndex=t}}},toggleSegmentVisibility:function(e,t,n){if(t){var a=M(e);if(a){var o=O(a,"stack").data[0].imageIds[0],i=V.series[o];if(i){if(n=void 0===n?i.activeLabelmapIndex:n,i.labelmaps3D[n]){var r=i.labelmaps3D[n].segmentsHidden;return r[t]=!r[t],!r[t]}z.warn("No labelmap3D of labelmap index ".concat(n," on stack."))}else z.warn("brushStackState is undefined")}}},updateSegmentsOnLabelmap2D:function(e){e.segmentsOnLabelmap=Q(e.pixelData)},deleteSegment:function(e,t,n){if(t){var a=M(e);if(a){var o=O(a,"stack").data[0].imageIds[0],i=V.series[o];if(i){n=void 0===n?i.activeLabelmapIndex:n;var r=i.labelmaps3D[n];if(r){delete r.metadata[t];for(var s=r.labelmaps2D,l=0;l<s.length;l++){var c=s[l];if(c&&c.segmentsOnLabelmap.includes(t)){var u=c.pixelData,d=c.segmentsOnLabelmap.indexOf(t);c.segmentsOnLabelmap.splice(d,1);for(var h=0;h<u.length;h++)u[h]===t&&(u[h]=0)}}y.cornerstone.updateImage(a)}}}}},colorLUT:Ke,colorLUTIndexForLabelmap3D:function(e,t){e.colorLUTIndex=t},colorForSegmentIndexOfColorLUT:function(e,t,n){Ze(e)[t]=n},activeLabelmapIndex:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=M(e);if(n){var a=y.cornerstone,o=O(n,"stack"),i=o.data[0],r=a.getEnabledElement(n),s=r.image,l=s.rows,c=s.columns,u=i.imageIds.length,d=l*c*u,h=i.imageIds[0],v=V.series[h];v?(v.activeLabelmapIndex=t,v.labelmaps3D[t]||S(v,t,d)):(V.series[h]={activeLabelmapIndex:t,labelmaps3D:[]},S(v=V.series[h],t,d)),a.updateImage(n)}},radius:function(e){var t=Tt("segmentation").configuration;t.radius=Math.min(Math.max(e,t.minRadius),t.maxRadius)},pushState:function(e,t,n){var a=Y(e,n);a.undo.push(t),a.redo=[]},undo:function(e,t){var n=Y(e,t),a=n.undo,o=n.redo;if(a.length){var i=a.pop();st(n,i,1),o.push(i),y.cornerstone.updateImage(e)}else rt.warn("No undos left.")},redo:function(e,t){var n=Y(e,t),a=n.undo,o=n.redo;if(o.length){var i=o.pop();st(n,i,2),a.push(i),y.cornerstone.updateImage(e)}else rt.warn("No redos left.")}}},ct={activeManipulators:{}};function ut(e){var t=y.cornerstone.getEnabledElement(e).uuid;delete ct.activeManipulators[t]}function dt(e){var t=ct.activeManipulators,n=t[e];"function"==typeof n&&n(),delete t[e]}function ht(e){ut(e.detail.element)}var vt={setters:{addActiveManipulatorForElement:function(e,t){var n=y.cornerstone.getEnabledElement(e).uuid;ct.activeManipulators[n]=t},removeActiveManipulatorForElement:ut,cancelActiveManipulatorsForElement:function(e){dt(y.cornerstone.getEnabledElement(e).uuid)},cancelActiveManipulators:function(){var e=ct.activeManipulators;Object.keys(e).forEach((function(e){return dt(e)}))}},state:ct,enabledElementCallback:function(e){var t=y.cornerstone.EVENTS.NEW_IMAGE;e.removeEventListener(t,ht),e.addEventListener(t,ht)},removeEnabledElementCallback:function(e){var t=y.cornerstone.EVENTS.NEW_IMAGE;e.removeEventListener(t,ht),ut(e)}},gt={iconSize:16,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:'\n <path stroke="ACTIVE_COLOR" d="M8 16L8 0"></path>\n <path stroke="ACTIVE_COLOR" d="M16 8L0 8"></path>\n '},ft={configuration:gt,getters:{defaultOptions:function(){return gt}},setters:{defaultOptions:function(e){Object.assign(gt,e)}}},mt={configuration:{mouseEnabled:!0,touchEnabled:!0,globalToolSyncEnabled:!1,showSVGCursors:!1,autoResizeViewports:!0,lineDash:[4,4]}},pt=(N("store:modules:storeLogger"),{globalTools:{},globalToolChangeHistory:[],enabledElements:[],tools:[],isToolLocked:!1,activeMultiPartTool:null,mousePositionImage:{},clickProximity:6,touchProximity:10,handleRadius:6,deleteIfHandleOutsideImage:!0,preventHandleOutsideImage:!1,preventTextBoxOutsideDisplayedArea:!1,handleTouchOffset:{x:0,y:-57},svgCursorUrl:null}),yt={mouseTools:function(){return pt.tools.filter((function(e){return e.supportedInteractionTypes.includes("Mouse")}))},touchTools:function(){return pt.tools.filter((function(e){return e.supportedInteractionTypes.includes("Touch")}))},enabledElementByUID:function(e){return pt.enabledElements.find((function(t){return y.cornerstone.getEnabledElement(t).uuid===e}))}},xt={segmentation:lt,cursor:ft,globalConfiguration:mt,manipulatorState:vt};function Tt(e){return xt[e]}var bt={modules:xt,state:pt,getters:yt},Ct=function(e,t){return pt.tools.find((function(n){return n.element===e&&n.name===t}))},Mt=xt.globalConfiguration;function Et(e,t){if(Mt.configuration.showSVGCursors){var n=t.getIconWithPointerSVG(),a=t.mousePoint,o=window.URL.createObjectURL(n);e.style.cursor="url('".concat(o,"') ").concat(a,", auto"),pt.svgCursorUrl=o}}function wt(e){Mt.configuration.showSVGCursors&&It(e,"none")}function It(e,t){pt.svgCursorUrl&&window.URL.revokeObjectURL(pt.svgCursorUrl),pt.svgCursorUrl=null,e.style.cursor=t}var St=Tt("globalConfiguration"),kt=N("store:setToolMode"),_t=function(e,t,n,a){void 0===a&&Array.isArray(n)&&(a=n,n=null);var o=Ct(e,t);o&&(function(e,t,n,a){t.supportedInteractionTypes.forEach((function(o){if(void 0===a||a.includes(o)){var i=Vt[o];i?i(t,e,n):kt.warn("Unable to resolve input conflicts for type %s",o)}})),bt.state.tools.filter((function(t){return t.element===e&&"active"===t.mode&&t.supportedInteractionTypes.length>0})).forEach((function(t){var n=!1;t.supportedInteractionTypes.forEach((function(e){t.options["is".concat(e,"Active")]&&(n=!0)})),n||(kt.log("Setting tool %s's to PASSIVE",t.name),Ht(e,t.name))}))}(e,o,n,a),o.supportedInteractionTypes.forEach((function(e){void 0===a||a.includes(e)?n["is".concat(e,"Active")]=!0:n["is".concat(e,"Active")]=!1})),St.configuration.showSVGCursors&&o.supportedInteractionTypes.includes("Mouse")&&function(e,t,n){var a;a="number"==typeof t?[t]:t.mouseButtonMask;a.includes(1)&&(n.svgCursor?Et(n.element,n.svgCursor):n.hideDefaultCursor?wt(e):function(e){It(e,"initial")}(e))}(e,n,o)),Ut("active",null,e,t,n)};var Pt=function(e,t,n){Bt("active",e,t,n),bt.state.enabledElements.forEach((function(a){_t(a,e,t,n)}))},Dt=Ut.bind(null,"disabled",null),Ot=Nt.bind(null,"disabled",null),Lt=Ut.bind(null,"enabled",null),At=Nt.bind(nu