@cornerstonejs/core 2.0.0-beta.3 → 2.0.0-beta.4

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 (121) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.js +1 -2
  2. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/Viewport.js +8 -9
  4. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  5. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +1 -1
  6. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -0
  7. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  8. package/dist/cjs/Settings.js +3 -1
  9. package/dist/cjs/Settings.js.map +1 -1
  10. package/dist/cjs/cache/classes/Contour.d.ts +1 -1
  11. package/dist/cjs/cache/classes/ContourSet.d.ts +1 -1
  12. package/dist/cjs/index.js +0 -1
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/loaders/geometryLoader.d.ts +1 -1
  15. package/dist/cjs/loaders/volumeLoader.js +2 -3
  16. package/dist/cjs/loaders/volumeLoader.js.map +1 -1
  17. package/dist/cjs/requestPool/requestPoolManager.d.ts +3 -3
  18. package/dist/cjs/types/ActorSliceRange.d.ts +1 -1
  19. package/dist/cjs/types/AffineMatrix.d.ts +1 -1
  20. package/dist/cjs/types/CPUFallbackColormapData.d.ts +1 -1
  21. package/dist/cjs/types/CPUFallbackColormapsData.d.ts +1 -1
  22. package/dist/cjs/types/CPUFallbackLUT.d.ts +1 -1
  23. package/dist/cjs/types/CPUFallbackRenderingTools.d.ts +1 -1
  24. package/dist/cjs/types/CPUFallbackViewport.d.ts +1 -1
  25. package/dist/cjs/types/CPUFallbackViewportDisplayedArea.d.ts +1 -1
  26. package/dist/cjs/types/CPUIImageData.d.ts +2 -2
  27. package/dist/cjs/types/Colormap.d.ts +3 -3
  28. package/dist/cjs/types/ContourData.d.ts +3 -3
  29. package/dist/cjs/types/Cornerstone3DConfig.d.ts +1 -1
  30. package/dist/cjs/types/EventTypes.d.ts +46 -46
  31. package/dist/cjs/types/FlipDirection.d.ts +1 -1
  32. package/dist/cjs/types/IActor.d.ts +4 -4
  33. package/dist/cjs/types/IViewport.d.ts +4 -4
  34. package/dist/cjs/types/IVolume.d.ts +1 -1
  35. package/dist/cjs/types/IVolumeInput.d.ts +1 -1
  36. package/dist/cjs/types/ImageLoaderFn.d.ts +1 -1
  37. package/dist/cjs/types/ImageSliceData.d.ts +1 -1
  38. package/dist/cjs/types/Mat3.d.ts +1 -1
  39. package/dist/cjs/types/Metadata.d.ts +1 -1
  40. package/dist/cjs/types/OrientationVectors.d.ts +1 -1
  41. package/dist/cjs/types/PixelDataTypedArray.d.ts +1 -1
  42. package/dist/cjs/types/Plane.d.ts +1 -1
  43. package/dist/cjs/types/Point2.d.ts +1 -1
  44. package/dist/cjs/types/Point3.d.ts +1 -1
  45. package/dist/cjs/types/Point4.d.ts +1 -1
  46. package/dist/cjs/types/RGB.d.ts +1 -1
  47. package/dist/cjs/types/ScalingParameters.d.ts +3 -3
  48. package/dist/cjs/types/StackViewportProperties.d.ts +1 -1
  49. package/dist/cjs/types/TransformMatrix2D.d.ts +1 -1
  50. package/dist/cjs/types/ViewportInputOptions.d.ts +1 -1
  51. package/dist/cjs/types/ViewportProperties.d.ts +1 -1
  52. package/dist/cjs/types/VolumeLoaderFn.d.ts +1 -1
  53. package/dist/cjs/types/VolumeViewportProperties.d.ts +1 -1
  54. package/dist/cjs/types/displayArea.d.ts +1 -1
  55. package/dist/cjs/types/voi.d.ts +2 -2
  56. package/dist/cjs/utilities/actorCheck.d.ts +1 -1
  57. package/dist/cjs/utilities/getViewportsWithImageURI.d.ts +1 -1
  58. package/dist/esm/RenderingEngine/StackViewport.js +1 -2
  59. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  60. package/dist/esm/RenderingEngine/Viewport.js +8 -9
  61. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  62. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +1 -1
  63. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -0
  64. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  65. package/dist/esm/Settings.js +3 -1
  66. package/dist/esm/Settings.js.map +1 -1
  67. package/dist/esm/cache/classes/Contour.d.ts +1 -1
  68. package/dist/esm/cache/classes/ContourSet.d.ts +1 -1
  69. package/dist/esm/index.js +0 -1
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/loaders/geometryLoader.d.ts +1 -1
  72. package/dist/esm/loaders/volumeLoader.js +2 -3
  73. package/dist/esm/loaders/volumeLoader.js.map +1 -1
  74. package/dist/esm/requestPool/requestPoolManager.d.ts +3 -3
  75. package/dist/esm/types/ActorSliceRange.d.ts +1 -1
  76. package/dist/esm/types/AffineMatrix.d.ts +1 -1
  77. package/dist/esm/types/CPUFallbackColormapData.d.ts +1 -1
  78. package/dist/esm/types/CPUFallbackColormapsData.d.ts +1 -1
  79. package/dist/esm/types/CPUFallbackLUT.d.ts +1 -1
  80. package/dist/esm/types/CPUFallbackRenderingTools.d.ts +1 -1
  81. package/dist/esm/types/CPUFallbackViewport.d.ts +1 -1
  82. package/dist/esm/types/CPUFallbackViewportDisplayedArea.d.ts +1 -1
  83. package/dist/esm/types/CPUIImageData.d.ts +2 -2
  84. package/dist/esm/types/Colormap.d.ts +3 -3
  85. package/dist/esm/types/ContourData.d.ts +3 -3
  86. package/dist/esm/types/Cornerstone3DConfig.d.ts +1 -1
  87. package/dist/esm/types/EventTypes.d.ts +46 -46
  88. package/dist/esm/types/FlipDirection.d.ts +1 -1
  89. package/dist/esm/types/IActor.d.ts +4 -4
  90. package/dist/esm/types/IViewport.d.ts +4 -4
  91. package/dist/esm/types/IVolume.d.ts +1 -1
  92. package/dist/esm/types/IVolumeInput.d.ts +1 -1
  93. package/dist/esm/types/ImageLoaderFn.d.ts +1 -1
  94. package/dist/esm/types/ImageSliceData.d.ts +1 -1
  95. package/dist/esm/types/Mat3.d.ts +1 -1
  96. package/dist/esm/types/Metadata.d.ts +1 -1
  97. package/dist/esm/types/OrientationVectors.d.ts +1 -1
  98. package/dist/esm/types/PixelDataTypedArray.d.ts +1 -1
  99. package/dist/esm/types/Plane.d.ts +1 -1
  100. package/dist/esm/types/Point2.d.ts +1 -1
  101. package/dist/esm/types/Point3.d.ts +1 -1
  102. package/dist/esm/types/Point4.d.ts +1 -1
  103. package/dist/esm/types/RGB.d.ts +1 -1
  104. package/dist/esm/types/ScalingParameters.d.ts +3 -3
  105. package/dist/esm/types/StackViewportProperties.d.ts +1 -1
  106. package/dist/esm/types/TransformMatrix2D.d.ts +1 -1
  107. package/dist/esm/types/ViewportInputOptions.d.ts +1 -1
  108. package/dist/esm/types/ViewportProperties.d.ts +1 -1
  109. package/dist/esm/types/VolumeLoaderFn.d.ts +1 -1
  110. package/dist/esm/types/VolumeViewportProperties.d.ts +1 -1
  111. package/dist/esm/types/displayArea.d.ts +1 -1
  112. package/dist/esm/types/voi.d.ts +2 -2
  113. package/dist/esm/utilities/actorCheck.d.ts +1 -1
  114. package/dist/esm/utilities/getViewportsWithImageURI.d.ts +1 -1
  115. package/dist/umd/index.js +1 -1
  116. package/dist/umd/index.js.map +1 -1
  117. package/package.json +3 -4
  118. package/src/RenderingEngine/StackViewport.ts +1 -2
  119. package/src/RenderingEngine/Viewport.ts +8 -9
  120. package/src/Settings.ts +3 -1
  121. package/src/loaders/volumeLoader.ts +2 -3
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("detect-gpu"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@kitware/vtk.js/Common/DataModel/PiecewiseFunction"),require("@kitware/vtk.js/macros"),require("@kitware/vtk.js/Rendering/Core/Camera"),require("gl-matrix"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Rendering/Profiles/Volume"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("lodash.clonedeep"),require("@kitware/vtk.js/Rendering/OpenGL/Texture"),require("@kitware/vtk.js/Common/Core/HalfFloat"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Rendering/Core/Volume"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/Rendering/Core/ImageMapper"),require("@kitware/vtk.js/Rendering/Core/ImageSlice"),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"),require("@kitware/vtk.js/Rendering/Profiles/Geometry")):"function"==typeof define&&define.amd?define(["detect-gpu","@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants","@kitware/vtk.js/Rendering/Core/ColorTransferFunction","@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps","@kitware/vtk.js/Common/DataModel/PiecewiseFunction","@kitware/vtk.js/macros","@kitware/vtk.js/Rendering/Core/Camera","gl-matrix","@kitware/vtk.js/Common/Core/Math","@kitware/vtk.js/Rendering/Profiles/Volume","@kitware/vtk.js/Common/DataModel/ImageData","@kitware/vtk.js/Common/Core/DataArray","lodash.clonedeep","@kitware/vtk.js/Rendering/OpenGL/Texture","@kitware/vtk.js/Common/Core/HalfFloat","@kitware/vtk.js/Common/Core/MatrixBuilder","@kitware/vtk.js/Rendering/Core/Volume","@kitware/vtk.js/Rendering/Core/VolumeMapper","@kitware/vtk.js/Common/DataModel/Plane","@kitware/vtk.js/Rendering/Core/ImageMapper","@kitware/vtk.js/Rendering/Core/ImageSlice","@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","@kitware/vtk.js/Rendering/Profiles/Geometry"],t):"object"==typeof exports?exports.cornerstone3D=t(require("detect-gpu"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@kitware/vtk.js/Common/DataModel/PiecewiseFunction"),require("@kitware/vtk.js/macros"),require("@kitware/vtk.js/Rendering/Core/Camera"),require("gl-matrix"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Rendering/Profiles/Volume"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("lodash.clonedeep"),require("@kitware/vtk.js/Rendering/OpenGL/Texture"),require("@kitware/vtk.js/Common/Core/HalfFloat"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Rendering/Core/Volume"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/Rendering/Core/ImageMapper"),require("@kitware/vtk.js/Rendering/Core/ImageSlice"),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"),require("@kitware/vtk.js/Rendering/Profiles/Geometry")):e.cornerstone3D=t(e.window,e["@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"],e["@kitware/vtk.js/Common/DataModel/PiecewiseFunction"],e["@kitware/vtk.js/macros"],e["@kitware/vtk.js/Rendering/Core/Camera"],e.window,e["@kitware/vtk.js/Common/Core/Math"],e["@kitware/vtk.js/Rendering/Profiles/Volume"],e["@kitware/vtk.js/Common/DataModel/ImageData"],e["@kitware/vtk.js/Common/Core/DataArray"],e.window,e["@kitware/vtk.js/Rendering/OpenGL/Texture"],e["@kitware/vtk.js/Common/Core/HalfFloat"],e["@kitware/vtk.js/Common/Core/MatrixBuilder"],e["@kitware/vtk.js/Rendering/Core/Volume"],e["@kitware/vtk.js/Rendering/Core/VolumeMapper"],e["@kitware/vtk.js/Common/DataModel/Plane"],e["@kitware/vtk.js/Rendering/Core/ImageMapper"],e["@kitware/vtk.js/Rendering/Core/ImageSlice"],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"],e["@kitware/vtk.js/Rendering/Profiles/Geometry"])}(self,(function(e,t,r,n,i,a,o,s,u,c,l,d,v,f,g,p,h,m,w,y,I,C,b,E,R,k,P,O,A,T,S,_,x,D,M,V,L,U,j,N,F,G,W,B,q,z,H,K){return function(){var Y={785:function(e){"use strict";e.exports=d},3948:function(e){"use strict";e.exports=z},7903:function(e){"use strict";e.exports=g},8807:function(e){"use strict";e.exports=u},8847:function(e){"use strict";e.exports=p},2348:function(e){"use strict";e.exports=R},7283:function(e){"use strict";e.exports=l},1441:function(e){"use strict";e.exports=i},1864:function(e){"use strict";e.exports=w},2070:function(e){"use strict";e.exports=k},7474:function(e){"use strict";e.exports=P},9821:function(e){"use strict";e.exports=o},4795:function(e){"use strict";e.exports=r},1038:function(e){"use strict";e.exports=n},7896:function(e){"use strict";e.exports=y},9861:function(e){"use strict";e.exports=I},6610:function(e){"use strict";e.exports=O},6478:function(e){"use strict";e.exports=H},2329:function(e){"use strict";e.exports=b},673:function(e){"use strict";e.exports=E},8281:function(e){"use strict";e.exports=C},3739:function(e){"use strict";e.exports=h},6009:function(e){"use strict";e.exports=m},7468:function(e){"use strict";e.exports=t},6643:function(e){"use strict";e.exports=T},1128:function(e){"use strict";e.exports=S},7664:function(e){"use strict";e.exports=_},1474:function(e){"use strict";e.exports=x},2394:function(e){"use strict";e.exports=D},582:function(e){"use strict";e.exports=M},7482:function(e){"use strict";e.exports=V},6343:function(e){"use strict";e.exports=L},8021:function(e){"use strict";e.exports=A},4363:function(e){"use strict";e.exports=U},3982:function(e){"use strict";e.exports=j},6130:function(e){"use strict";e.exports=N},298:function(e){"use strict";e.exports=F},7953:function(e){"use strict";e.exports=f},9395:function(e){"use strict";e.exports=q},2398:function(e){"use strict";e.exports=G},4388:function(e){"use strict";e.exports=W},6914:function(e){"use strict";e.exports=K},6215:function(e){"use strict";e.exports=c},2643:function(e){"use strict";e.exports=B},8197:function(e){"use strict";e.exports=a},9199:function(t){"use strict";t.exports=e},2976:function(e){"use strict";e.exports=s},573:function(e){"use strict";e.exports=v},7609:function(e,t,r){var n=r(7425).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=Object.defineProperty||function(e,t,r){e[t]=r.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag";function d(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,r){return e[t]=r}}function v(e,t,r,n){var i=t&&t.prototype instanceof p?t:p,a=Object.create(i.prototype),s=new A(n||[]);return o(a,"_invoke",{value:R(e,r,s)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=v;var g={};function p(){}function h(){}function m(){}var w={};d(w,u,(function(){return this}));var y=Object.getPrototypeOf,I=y&&y(y(T([])));I&&I!==r&&a.call(I,u)&&(w=I);var C=m.prototype=p.prototype=Object.create(w);function b(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function r(i,o,s,u){var c=f(e[i],e,o);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==n(d)&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){r("next",e,s,u)}),(function(e){r("throw",e,s,u)})):t.resolve(d).then((function(e){l.value=e,s(l)}),(function(e){return r("throw",e,s,u)}))}u(c.arg)}var i;o(this,"_invoke",{value: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 R(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===g)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 u=f(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===g)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=f(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,g;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,g):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function P(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 O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function T(e){if(e){var t=e[u];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:S}}function S(){return{value:void 0,done:!0}}return h.prototype=m,o(C,"constructor",{value:m,configurable:!0}),o(m,"constructor",{value:h,configurable:!0}),h.displayName=d(m,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,d(e,l,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},b(E.prototype),d(E.prototype,c,(function(){return this})),t.AsyncIterator=E,t.async=function(e,r,n,i,a){void 0===a&&(a=Promise);var o=new E(v(e,r,n,i),a);return t.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},b(C),d(C,l,"Generator"),d(C,u,(function(){return this})),d(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=T,A.prototype={constructor:A,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(O),!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"),u=a.call(i,"finallyLoc");if(s&&u){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(!u)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,g):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),g},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),O(r),g}},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;O(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:T(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),g}},t}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},7425: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},2841:function(e,t,r){var n=r(7609)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},X={};function Z(e){var t=X[e];if(void 0!==t)return t.exports;var r=X[e]={exports:{}};return Y[e](r,r.exports,Z),r.exports}Z.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return Z.d(t,{a:t}),t},Z.d=function(e,t){for(var r in t)Z.o(t,r)&&!Z.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},Z.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Z.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var $={};return function(){"use strict";Z.r($),Z.d($,{BaseVolumeViewport:function(){return bi},CONSTANTS:function(){return t},EVENTS:function(){return d},Enums:function(){return e},ImageVolume:function(){return $e},RenderingEngine:function(){return ka},Settings:function(){return Va},StackViewport:function(){return ha},Viewport:function(){return gi},VolumeViewport:function(){return Ri},VolumeViewport3D:function(){return ya},addVolumesToViewports:function(){return Lo},cache:function(){return Rn},createVolumeActor:function(){return ur},createVolumeMapper:function(){return Rt},eventTarget:function(){return Qe},geometryLoader:function(){return u},getConfiguration:function(){return qe},getEnabledElement:function(){return Aa},getEnabledElementByIds:function(){return Ta},getEnabledElements:function(){return Sa},getOrCreateCanvas:function(){return dr},getRenderingEngine:function(){return Ie},getRenderingEngines:function(){return Ce},getShouldUseCPURendering:function(){return Ne},getShouldUseSharedArrayBuffer:function(){return We},imageLoadPoolManager:function(){return Tt},imageLoader:function(){return n},imageRetrievalPoolManager:function(){return Oa},init:function(){return Me},isCornerstoneInitialized:function(){return Be},metaData:function(){return i},registerImageLoader:function(){return jt},requestPoolManager:function(){return Tt},resetUseCPURendering:function(){return je},resetUseSharedArrayBuffer:function(){return Ge},setConfiguration:function(){return ze},setPreferSizeOverAccuracy:function(){return Ue},setUseCPURendering:function(){return Le},setUseSharedArrayBuffer:function(){return Fe},setVolumesForViewports:function(){return xo},triggerEvent:function(){return Je},utilities:function(){return c},volumeLoader:function(){return r}});var e={};Z.r(e),Z.d(e,{BlendModes:function(){return C},CalibrationTypes:function(){return M},ContourType:function(){return T},DynamicOperatorType:function(){return D},Events:function(){return d},GeometryType:function(){return O},InterpolationType:function(){return m},OrientationAxis:function(){return E},RequestType:function(){return f},SharedArrayBufferModes:function(){return k},VOILUTFunctionType:function(){return _},ViewportStatus:function(){return L},ViewportType:function(){return p}});var t={};Z.r(t),Z.d(t,{CPU_COLORMAPS:function(){return U},EPSILON:function(){return F},MPR_CAMERA_VALUES:function(){return B},RENDERING_DEFAULTS:function(){return N},VIEWPORT_PRESETS:function(){return q}});var r={};Z.r(r),Z.d(r,{createAndCacheDerivedVolume:function(){return ft},createAndCacheVolume:function(){return dt},createLocalVolume:function(){return pt},getVolumeLoaderSchemes:function(){return mt},loadVolume:function(){return lt},registerUnknownVolumeLoader:function(){return wt},registerVolumeLoader:function(){return ht}});var n={};Z.r(n),Z.d(n,{cancelLoadAll:function(){return Ut},cancelLoadImage:function(){return Vt},cancelLoadImages:function(){return Lt},loadAndCacheImage:function(){return Dt},loadAndCacheImages:function(){return Mt},loadImage:function(){return xt},registerImageLoader:function(){return jt},registerUnknownImageLoader:function(){return Nt},unregisterAllImageLoaders:function(){return Ft}});var i={};Z.r(i),Z.d(i,{addProvider:function(){return Wt},get:function(){return zt},removeAllProviders:function(){return qt},removeProvider:function(){return Bt}});var a={};Z.r(a),Z.d(a,{toLowHighRange:function(){return Kt},toWindowLevel:function(){return Ht}});var o={};Z.r(o),Z.d(o,{getColormap:function(){return Nn},getColormapNames:function(){return Fn},registerColormap:function(){return jn}});var s={};Z.r(s),Z.d(s,{linePlaneIntersection:function(){return ai},planeDistanceToPoint:function(){return ui},planeEquation:function(){return oi},threePlaneIntersection:function(){return si}});var u={};Z.r(u),Z.d(u,{createAndCacheGeometry:function(){return Wa}});var c={};Z.r(c),Z.d(c,{actorIsA:function(){return Pn},applyPreset:function(){return Bn},calculateViewportsSpatialRegistration:function(){return Eo},calibratedPixelSpacingMetadataProvider:function(){return Qa},colormap:function(){return o},createFloat32SharedArray:function(){return to},createInt16SharedArray:function(){return no},createLinearRGBTransferFunction:function(){return va},createSigmoidRGBTransferFunction:function(){return Wn},createUint16SharedArray:function(){return ro},createUint8SharedArray:function(){return eo},deepMerge:function(){return Oe},getClosestImageId:function(){return An},getClosestStackImageIndexForPoint:function(){return yo},getImageLegacy:function(){return So},getImageSliceDataForVolumeViewport:function(){return ti},getMinMax:function(){return Yt},getRuntimeId:function(){return Za},getScalarDataType:function(){return To},getScalingParameters:function(){return Ao},getSliceRange:function(){return $n},getSpacingInNormalDirection:function(){return On},getTargetVolumeAndSpacingInNormalDir:function(){return ei},getViewportImageCornersInWorld:function(){return Ro},getViewportsWithImageURI:function(){return wo},getViewportsWithVolumeId:function(){return so},getVoiFromSigmoidRGBTransferFunction:function(){return Ln},getVolumeActorCorners:function(){return Hn},getVolumeSliceRangeInfo:function(){return po},getVolumeViewportScrollInfo:function(){return ho},getVolumeViewportsContainingSameVolumes:function(){return oo},hasNaNValues:function(){return ci},imageIdToURI:function(){return le},imageToWorldCoords:function(){return go},indexWithinDimensions:function(){return io},invertRgbTransferFunction:function(){return Gn},isEqual:function(){return xi},isImageActor:function(){return kn},isOpposite:function(){return Ja},isPTPrescaledWithSUV:function(){return uo},loadImageToCanvas:function(){return vo},planar:function(){return s},renderToCanvasCPU:function(){return lo},renderToCanvasGPU:function(){return co},scaleRgbTransferFunction:function(){return za},snapFocalPointToSlice:function(){return mo},spatialRegistrationMetadataProvider:function(){return bo},transformWorldToIndex:function(){return Ii},triggerEvent:function(){return Je},uuidv4:function(){return nt},windowLevel:function(){return a},worldToImageCoords:function(){return fo}});var l=function(e){return 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.DISPLAY_AREA_MODIFIED="CORNERSTONE_DISPLAY_AREA_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_VOLUME_LOADING_COMPLETED="CORNERSTONE_IMAGE_VOLUME_LOADING_COMPLETED",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",e.GEOMETRY_CACHE_GEOMETRY_ADDED="CORNERSTONE_GEOMETRY_CACHE_GEOMETRY_ADDED",e.VOLUME_SCROLL_OUT_OF_BOUNDS="CORNERSTONE_VOLUME_SCROLL_OUT_OF_BOUNDS",e}(l||{}),d=l,v=function(e){return e.Interaction="interaction",e.Thumbnail="thumbnail",e.Prefetch="prefetch",e}(v||{}),f=v,g=function(e){return e.STACK="stack",e.ORTHOGRAPHIC="orthographic",e.PERSPECTIVE="perspective",e.VOLUME_3D="volume3d",e}(g||{}),p=g,h=function(e){return e[e.NEAREST=0]="NEAREST",e[e.LINEAR=1]="LINEAR",e[e.FAST_LINEAR=2]="FAST_LINEAR",e}(h||{}),m=h,w=Z(7468),y=Z.n(w)().BlendMode,I=function(e){return e[e.COMPOSITE=y.COMPOSITE_BLEND]="COMPOSITE",e[e.MAXIMUM_INTENSITY_BLEND=y.MAXIMUM_INTENSITY_BLEND]="MAXIMUM_INTENSITY_BLEND",e[e.MINIMUM_INTENSITY_BLEND=y.MINIMUM_INTENSITY_BLEND]="MINIMUM_INTENSITY_BLEND",e[e.AVERAGE_INTENSITY_BLEND=y.AVERAGE_INTENSITY_BLEND]="AVERAGE_INTENSITY_BLEND",e}(I||{}),C=I,b=function(e){return e.AXIAL="axial",e.CORONAL="coronal",e.SAGITTAL="sagittal",e.ACQUISITION="acquisition",e}(b||{}),E=b,R=function(e){return e.TRUE="true",e.FALSE="false",e.AUTO="auto",e}(R||{}),k=R,P=function(e){return e.CONTOUR="contour",e}(P||{}),O=P,A=function(e){return e.CLOSED_PLANAR="CLOSED_PLANAR",e.OPEN_PLANAR="OPEN_PLANAR",e}(A||{}),T=A,S=function(e){return e.LINEAR="LINEAR",e.SAMPLED_SIGMOID="SIGMOID",e}(S||{}),_=S,x=function(e){return e.SUM="SUM",e.AVERAGE="AVERAGE",e.SUBTRACT="SUBTRACT",e}(x||{}),D=x,M=function(e){return e.NOT_APPLICABLE="",e.ERMF="ERMF",e.USER="User",e.PROJECTION="Proj",e.REGION="Region",e.ERROR="Error",e.UNCALIBRATED="Uncalibrated",e}({}),V=function(e){return e.NO_DATA="noData",e.LOADING="loading",e.PRE_RENDER="preRender",e.RESIZE="resize",e.RENDERED="rendered",e}(V||{}),L=V,U={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]]}}},j={MINIMUM_SLAB_THICKNESS:.05,MAXIMUM_RAY_DISTANCE:1e6};Object.freeze(j);var N=j,F=.001;function G(e){return G="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},G(e)}function W(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 B=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 W(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)?W(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"===G(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]}}),q=[{name:"CT-AAA",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"12 -3024 0 143.556 0 166.222 0.686275 214.389 0.696078 419.736 0.833333 3071 0.803922",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"24 -3024 0 0 0 143.556 0.615686 0.356863 0.184314 166.222 0.882353 0.603922 0.290196 214.389 1 1 1 419.736 1 0.937033 0.954531 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-AAA2",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"16 -3024 0 129.542 0 145.244 0.166667 157.02 0.5 169.918 0.627451 395.575 0.8125 1578.73 0.8125 3071 0.8125",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"32 -3024 0 0 0 129.542 0.54902 0.25098 0.14902 145.244 0.6 0.627451 0.843137 157.02 0.890196 0.47451 0.6 169.918 0.992157 0.870588 0.392157 395.575 1 0.886275 0.658824 1578.73 1 0.829256 0.957922 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Bone",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"8 -3024 0 -16.4458 0 641.385 0.715686 3071 0.705882",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"16 -3024 0 0 0 -16.4458 0.729412 0.254902 0.301961 641.385 0.905882 0.815686 0.552941 3071 1 1 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Bones",gradientOpacity:"4 0 1 985.12 1",specularPower:"1",scalarOpacity:"8 -1000 0 152.19 0 278.93 0.190476 952 0.2",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"20 -1000 0.3 0.3 1 -488 0.3 1 0.3 463.28 1 0 0 659.15 1 0.912535 0.0374849 953 1 0.3 0.3",diffuse:"1",interpolation:"1"},{name:"CT-Cardiac",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"12 -3024 0 -77.6875 0 94.9518 0.285714 179.052 0.553571 260.439 0.848214 3071 0.875",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"24 -3024 0 0 0 -77.6875 0.54902 0.25098 0.14902 94.9518 0.882353 0.603922 0.290196 179.052 1 0.937033 0.954531 260.439 0.615686 0 0 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Cardiac2",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"12 -3024 0 42.8964 0 163.488 0.428571 277.642 0.776786 1587 0.754902 3071 0.754902",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"24 -3024 0 0 0 42.8964 0.54902 0.25098 0.14902 163.488 0.917647 0.639216 0.0588235 277.642 1 0.878431 0.623529 1587 1 1 1 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Cardiac3",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"14 -3024 0 -86.9767 0 45.3791 0.169643 139.919 0.589286 347.907 0.607143 1224.16 0.607143 3071 0.616071",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"28 -3024 0 0 0 -86.9767 0 0.25098 1 45.3791 1 0 0 139.919 1 0.894893 0.894893 347.907 1 1 0.25098 1224.16 1 1 1 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Chest-Contrast-Enhanced",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"10 -3024 0 67.0106 0 251.105 0.446429 439.291 0.625 3071 0.616071",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"20 -3024 0 0 0 67.0106 0.54902 0.25098 0.14902 251.105 0.882353 0.603922 0.290196 439.291 1 0.937033 0.954531 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Chest-Vessels",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"10 -3024 0 -1278.35 0 22.8277 0.428571 439.291 0.625 3071 0.616071",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"20 -3024 0 0 0 -1278.35 0.54902 0.25098 0.14902 22.8277 0.882353 0.603922 0.290196 439.291 1 0.937033 0.954531 3071 0.827451 0.658824 1",diffuse:"1",interpolation:"1"},{name:"CT-Coronary-Arteries",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"12 -2048 0 136.47 0 159.215 0.258929 318.43 0.571429 478.693 0.776786 3661 1",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"24 -2048 0 0 0 136.47 0 0 0 159.215 0.159804 0.159804 0.159804 318.43 0.764706 0.764706 0.764706 478.693 1 1 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Coronary-Arteries-2",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"14 -2048 0 142.677 0 145.016 0.116071 192.174 0.5625 217.24 0.776786 384.347 0.830357 3661 0.830357",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"28 -2048 0 0 0 142.677 0 0 0 145.016 0.615686 0 0.0156863 192.174 0.909804 0.454902 0 217.24 0.972549 0.807843 0.611765 384.347 0.909804 0.909804 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Coronary-Arteries-3",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"14 -2048 0 128.643 0 129.982 0.0982143 173.636 0.669643 255.884 0.857143 584.878 0.866071 3661 1",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"28 -2048 0 0 0 128.643 0 0 0 129.982 0.615686 0 0.0156863 173.636 0.909804 0.454902 0 255.884 0.886275 0.886275 0.886275 584.878 0.968627 0.968627 0.968627 3661 1 1 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Cropped-Volume-Bone",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"10 -2048 0 -451 0 -450 1 1050 1 3661 1",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"20 -2048 0 0 0 -451 0 0 0 -450 0.0556356 0.0556356 0.0556356 1050 1 1 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Fat",gradientOpacity:"6 0 1 985.12 1 988 1",specularPower:"1",scalarOpacity:"14 -1000 0 -100 0 -99 0.15 -60 0.15 -59 0 101.2 0 952 0",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"36 -1000 0.3 0.3 1 -497.5 0.3 1 0.3 -99 0 0 1 -76.946 0 1 0 -65.481 0.835431 0.888889 0.0165387 83.89 1 0 0 463.28 1 0 0 659.15 1 0.912535 0.0374849 2952 1 0.300267 0.299886",diffuse:"1",interpolation:"1"},{name:"CT-Liver-Vasculature",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"14 -2048 0 149.113 0 157.884 0.482143 339.96 0.660714 388.526 0.830357 1197.95 0.839286 3661 0.848214",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"28 -2048 0 0 0 149.113 0 0 0 157.884 0.501961 0.25098 0 339.96 0.695386 0.59603 0.36886 388.526 0.854902 0.85098 0.827451 1197.95 1 1 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Lung",gradientOpacity:"6 0 1 985.12 1 988 1",specularPower:"1",scalarOpacity:"12 -1000 0 -600 0 -599 0.15 -400 0.15 -399 0 2952 0",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"24 -1000 0.3 0.3 1 -600 0 0 1 -530 0.134704 0.781726 0.0724558 -460 0.929244 1 0.109473 -400 0.888889 0.254949 0.0240258 2952 1 0.3 0.3",diffuse:"1",interpolation:"1"},{name:"CT-MIP",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"8 -3024 0 -637.62 0 700 1 3071 1",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"16 -3024 0 0 0 -637.62 1 1 1 700 1 1 1 3071 1 1 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Muscle",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"10 -3024 0 -155.407 0 217.641 0.676471 419.736 0.833333 3071 0.803922",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"20 -3024 0 0 0 -155.407 0.54902 0.25098 0.14902 217.641 0.882353 0.603922 0.290196 419.736 1 0.937033 0.954531 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Pulmonary-Arteries",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"14 -2048 0 -568.625 0 -364.081 0.0714286 -244.813 0.401786 18.2775 0.607143 447.798 0.830357 3592.73 0.839286",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"28 -2048 0 0 0 -568.625 0 0 0 -364.081 0.396078 0.301961 0.180392 -244.813 0.611765 0.352941 0.0705882 18.2775 0.843137 0.0156863 0.156863 447.798 0.752941 0.752941 0.752941 3592.73 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Soft-Tissue",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"10 -2048 0 -167.01 0 -160 1 240 1 3661 1",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"20 -2048 0 0 0 -167.01 0 0 0 -160 0.0556356 0.0556356 0.0556356 240 1 1 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Air",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"8 -3024 0.705882 -900.0 0.715686 -500.0 0 3071 0",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"16 -3024 1 1 1 -900.0 0.2 1.0 1.0 -500.0 0.3 0.3 1.0 3071 0 0 0 ",diffuse:"0.9",interpolation:"1"},{name:"MR-Angio",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"12 -2048 0 151.354 0 158.279 0.4375 190.112 0.580357 200.873 0.732143 3661 0.741071",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"24 -2048 0 0 0 151.354 0 0 0 158.279 0.74902 0.376471 0 190.112 1 0.866667 0.733333 200.873 0.937255 0.937255 0.937255 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"MR-Default",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"12 0 0 20 0 40 0.15 120 0.3 220 0.375 1024 0.5",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"24 0 0 0 0 20 0.168627 0 0 40 0.403922 0.145098 0.0784314 120 0.780392 0.607843 0.380392 220 0.847059 0.835294 0.788235 1024 1 1 1",diffuse:"1",interpolation:"1"},{name:"MR-MIP",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"8 0 0 98.3725 0 416.637 1 2800 1",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"16 0 1 1 1 98.3725 1 1 1 416.637 1 1 1 2800 1 1 1",diffuse:"1",interpolation:"1"},{name:"MR-T2-Brain",gradientOpacity:"4 0 1 160.25 1",specularPower:"40",scalarOpacity:"10 0 0 36.05 0 218.302 0.171429 412.406 1 641 1",specular:"0.5",shade:"1",ambient:"0.3",colorTransfer:"16 0 0 0 0 98.7223 0.956863 0.839216 0.192157 412.406 0 0.592157 0.807843 641 1 1 1",diffuse:"0.6",interpolation:"1"},{name:"DTI-FA-Brain",gradientOpacity:"4 0 1 0.9950 1",specularPower:"40",scalarOpacity:"16 0 0 0 0 0.3501 0.0158 0.49379 0.7619 0.6419 1 0.9920 1 0.9950 0 0.9950 0",specular:"0.5",shade:"1",ambient:"0.3",colorTransfer:"28 0 1 0 0 0 1 0 0 0.24974 0.4941 1 0 0.49949 0 0.9882 1 0.7492 0.51764 0 1 0.9950 1 0 0 0.9950 1 0 0",diffuse:"0.9",interpolation:"1"}];function z(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function H(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function o(e){z(a,n,i,o,s,"next",e)}function s(e){z(a,n,i,o,s,"throw",e)}o(void 0)}))}}var K=Z(2841),Y=Z.n(K),X=Z(3739),Q=Z.n(X);function J(e){var t=function(e,t){if("object"!==G(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!==G(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===G(t)?t:String(t)}function ee(e,t,r){return(t=J(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Z(6215);var te=Z(7283),re=Z.n(te),ne=Z(785),ie=Z.n(ne),ae=Z(573),oe=Z.n(ae);function se(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ue(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,J(n.key),n)}}function ce(e,t,r){return t&&ue(e.prototype,t),r&&ue(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function le(e){var t=e.indexOf(":");return e.substring(t+1)}var de=Z(8197),ve=Z.n(de),fe=Z(7953),ge=Z.n(fe),pe=Z(7903),he=Z.n(pe),me=Z(9199),we={},ye={get:function(e){return we[e]},set:function(e){var t=e.id;we[t]=e},delete:function(e){return delete we[e]},getAll:function(){var e=Object.keys(we).map((function(e){return we[e]}));return e.sort((function(e,t){return"_"===e.id[0]&&"_"!==t.id[0]?1:"_"!==e.id[0]&&"_"===t.id[0]?-1:0})),e}};function Ie(e){return ye.get(e)}function Ce(){return ye.getAll()}var be=Ie,Ee=function(e){return e&&"object"===G(e)&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)},Re=function(e,t){var r;return t&&!0===t.clone&&Ee(e)?Pe((r=e,Array.isArray(r)?[]:{}),e,t):e},ke=function(e,t,r){var n=e.slice();return t.forEach((function(t,i){void 0===n[i]?n[i]=Re(t,r):Ee(t)?n[i]=Pe(e[i],t,r):-1===e.indexOf(t)&&n.push(Re(t,r))})),n},Pe=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]:void 0,n=Array.isArray(t),i=(r||{arrayMerge:ke}).arrayMerge||ke;return n?Array.isArray(e)?i(e,t,r):Re(t,r):function(e,t,r){var n={};return Ee(e)&&Object.keys(e).forEach((function(t){n[t]=Re(e[t],r)})),Object.keys(t).forEach((function(i){Ee(t[i])&&e[i]?n[i]=Pe(e[i],t[i],r):n[i]=Re(t[i],r)})),n}(e,t,r)},Oe=Pe,Ae=!1,Te=!0,Se=k.TRUE,_e={gpuTier:void 0,detectGPUConfig:{},rendering:{useCPURendering:!1,preferSizeOverAccuracy:!1,useNorm16Texture:!1,strictZSpacingForVolumeViewport:!0}},xe={gpuTier:void 0,detectGPUConfig:{},rendering:{useCPURendering:!1,preferSizeOverAccuracy:!1,useNorm16Texture:!1,strictZSpacingForVolumeViewport:!0}};function De(){var e,t=(e=document.createElement("canvas")).getContext("webgl2")||e.getContext("webgl")||e.getContext("experimental-webgl");return t instanceof WebGLRenderingContext||t instanceof WebGL2RenderingContext}function Me(){return Ve.apply(this,arguments)}function Ve(){return Ve=H(Y().mark((function e(){var t,r=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.length>0&&void 0!==r[0]?r[0]:xe,!Ae){e.next=3;break}return e.abrupt("return",Ae);case 3:if(xe=Oe(_e,t),De()){e.next=10;break}console.log("CornerstoneRender: GPU not detected, using CPU rendering"),xe.rendering.useCPURendering=!0,e.next=18;break;case 10:if(e.t0=xe.gpuTier,e.t0){e.next=15;break}return e.next=14,(0,me.getGPUTier)(xe.detectGPUConfig);case 14:e.t0=e.sent;case 15:xe.gpuTier=e.t0,console.log("CornerstoneRender: Using detect-gpu to get the GPU benchmark:",xe.gpuTier),xe.gpuTier.tier<1?(console.log("CornerstoneRender: GPU is not powerful enough, using CPU rendering"),xe.rendering.useCPURendering=!0):console.log("CornerstoneRender: using GPU rendering");case 18:return Fe(Se),Ae=!0,e.abrupt("return",Ae);case 21:case"end":return e.stop()}}),e)}))),Ve.apply(this,arguments)}function Le(e){xe.rendering.useCPURendering=e,Ae=!0,He()}function Ue(e){xe.rendering.preferSizeOverAccuracy=e,Ae=!0,He()}function je(){xe.rendering.useCPURendering=!De(),He()}function Ne(){return xe.rendering.useCPURendering}function Fe(e){return e==k.AUTO?(Se=k.AUTO,void(function(){try{return!!new SharedArrayBuffer(0)}catch(e){return!1}}()?(Te=!0,console.log("CornerstoneRender: using SharedArrayBuffer")):(Te=!1,console.warn("CornerstoneRender: SharedArray Buffer not allowed, performance may be slower.\n Try ensuring page is cross-origin isolated to enable SharedArrayBuffer.")))):e==k.TRUE||1==e?(Se=k.TRUE,void(Te=!0)):e==k.FALSE||0==e?(Se=k.FALSE,void(Te=!1)):void 0}function Ge(){Fe(Se)}function We(){return Te}function Be(){return Ae}function qe(){return xe}function ze(e){xe=e,He()}function He(){Ce().forEach((function(e){return e.getViewports().forEach((function(e){var t;return null===(t=e.updateRenderingPipeline)||void 0===t?void 0:t.call(e)}))}))}var Ke={updatedFrames:[]};function Ye(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Ke,r),ge().extend(e,t,r),function(e,t){t.classHierarchy.push("vtkStreamingOpenGLTexture");var r=e.create3DFilterableFromRaw;e.create3DFilterableFromRaw=function(e,n,i,a,o,s,u){t.inputDataType=o,t.inputNumComps=a,r(e,n,i,a,o,s,u)},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 Uint16Array)i=2,a=Uint16Array;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){var a=e.buffer,o=r*(t.width*t.height*t.components*n),s=t.width*t.components,u=t.context,c=u.getParameter(u.MAX_TEXTURE_SIZE),l=Math.floor(n*c/t.width);l=Math.min(l,t.height);var d=qe().rendering,v=d.useNorm16Texture,f=d.preferSizeOverAccuracy;v&&!f&&(l=1);for(var g=s*l,p=g*n,h=Math.floor(t.height/l),m=t.height%l,w=s*m,y=0;y<h;y++){var I=y*l,C=new i(a,o+y*p,g);if(t.useHalfFloat&&(i===Uint16Array||i===Int16Array)){for(var b=0;b<C.length;b++)C[b]=he().toHalf(C[b]);i===Int16Array&&(C=new Uint16Array(C))}u.texSubImage3D(t.target,0,0,I,r,t.width,l,1,t.format,t.openGLDataType,C)}if(0!==m){var E=h*l,R=new i(a,o+h*p,w);u.texSubImage3D(t.target,0,0,E,r,t.width,m,1,t.format,t.openGLDataType,R)}},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}}(e,t)}var Xe={newInstance:ve().newInstance(Ye,"vtkStreamingOpenGLTexture"),extend:Ye},Ze=function(){function e(t){se(this,e),ee(this,"_imageIds",void 0),ee(this,"_imageIdsIndexMap",new Map),ee(this,"_imageURIsIndexMap",new Map),ee(this,"scalarData",void 0),ee(this,"volumeId",void 0),ee(this,"isPreScaled",!1),ee(this,"dimensions",void 0),ee(this,"direction",void 0),ee(this,"metadata",void 0),ee(this,"origin",void 0),ee(this,"scaling",void 0),ee(this,"sizeInBytes",void 0),ee(this,"spacing",void 0),ee(this,"numVoxels",void 0),ee(this,"imageData",void 0),ee(this,"vtkOpenGLTexture",void 0),ee(this,"loadStatus",void 0),ee(this,"referencedVolumeId",void 0),ee(this,"hasPixelSpacing",void 0),ee(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=Xe.newInstance(),this.numVoxels=this.dimensions[0]*this.dimensions[1]*this.dimensions[2],t.scaling&&(this.scaling=t.scaling),t.referencedVolumeId&&(this.referencedVolumeId=t.referencedVolumeId)}return ce(e,[{key:"imageIds",get:function(){return this._imageIds},set:function(e){this._imageIds=e,this._reprocessImageIds()}},{key:"_reprocessImageIds",value:function(){var e=this;this._imageIdsIndexMap.clear(),this._imageURIsIndexMap.clear(),this._imageIds.forEach((function(t,r){var n=le(t);e._imageIdsIndexMap.set(t,r),e._imageURIsIndexMap.set(n,r)}))}},{key:"isDynamicVolume",value:function(){return!1}},{key:"getScalarData",value:function(){if((e=this.scalarData)instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)return this.scalarData;var e;throw new Error("Unknow scalar data type")}},{key:"getImageIdIndex",value:function(e){return this._imageIdsIndexMap.get(e)}},{key:"getImageURIIndex",value:function(e){return this._imageURIsIndexMap.get(e)}},{key:"destroy",value:function(){this.imageData.delete(),this.imageData=null,this.scalarData=null,this.vtkOpenGLTexture.releaseGraphicsResources(),this.vtkOpenGLTexture.delete()}}]),e}(),$e=Ze,Qe=new(function(){function e(){se(this,e),ee(this,"listeners",void 0),this.listeners={}}return ce(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}());function Je(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qe,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 et(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 tt(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)?tt(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 tt(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 rt=new(function(){function e(){var t=this;se(this,e),ee(this,"_imageCache",new Map),ee(this,"_volumeCache",new Map),ee(this,"_geometryCache",void 0),ee(this,"_imageCacheSize",0),ee(this,"_volumeCacheSize",0),ee(this,"_maxCacheSize",3221225472),ee(this,"_maxInstanceSize",2147483640),ee(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})),ee(this,"isCacheable",(function(e){return!(e>t._maxInstanceSize)&&t.getBytesAvailable()+t._imageCacheSize>e})),ee(this,"getMaxCacheSize",(function(){return t._maxCacheSize})),ee(this,"getMaxInstanceSize",(function(){return t._maxInstanceSize})),ee(this,"getCacheSize",(function(){return t._imageCacheSize+t._volumeCacheSize})),ee(this,"_decacheImage",(function(e){var r=t._imageCache.get(e).imageLoadObject;r.cancelFn&&r.cancelFn(),r.decache&&r.decache(),t._imageCache.delete(e)})),ee(this,"_decacheVolume",(function(e){var r=t._volumeCache.get(e),n=r.volumeLoadObject,i=r.volume;i.cancelLoading&&i.cancelLoading(),i.imageData&&i.imageData.delete(),n.cancelFn&&n.cancelFn(),n.decache&&n.decache(),t._volumeCache.delete(e)})),ee(this,"purgeCache",(function(){for(var e=t._imageCache.keys();;){var r=e.next(),n=r.value;if(r.done)break;t.removeImageLoadObject(n),Je(Qe,d.IMAGE_CACHE_IMAGE_REMOVED,{imageId:n})}t.purgeVolumeCache()})),ee(this,"purgeVolumeCache",(function(){for(var e=t._volumeCache.keys();;){var r=e.next(),n=r.value;if(r.done)break;t.removeVolumeLoadObject(n),Je(Qe,d.VOLUME_CACHE_VOLUME_REMOVED,{volumeId:n})}})),ee(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})),ee(this,"getGeometry",(function(e){if(null==e)throw new Error("getGeometry: geometryId must not be undefined");var r=t._geometryCache.get(e);if(void 0!==r)return r.timeStamp=Date.now(),r.geometry})),ee(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})),ee(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};Je(Qe,d.IMAGE_CACHE_IMAGE_REMOVED,n),t._decacheImage(e)})),ee(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};Je(Qe,d.VOLUME_CACHE_VOLUME_REMOVED,n),t._decacheVolume(e)})),ee(this,"putGeometryLoadObject",(function(e,r){if(null==e)throw new Error("putGeometryLoadObject: geometryId must not be undefined");if(t._geometryCache.has(e))throw new Error("putGeometryLoadObject: geometryId already present in geometryCache");var n={geometryId:e,geometryLoadObject:r,loaded:!1,timeStamp:Date.now(),sizeInBytes:0};return t._geometryCache.set(e,n),r.promise.then((function(r){if(t._geometryCache.has(e)){if(Number.isNaN(r.sizeInBytes))throw new Error("putGeometryLoadObject: geometry.sizeInBytes is not a number");n.loaded=!0,n.geometry=r,n.sizeInBytes=r.sizeInBytes;var i={geometry:r,geometryId:e};Je(Qe,d.GEOMETRY_CACHE_GEOMETRY_ADDED,i)}else console.warn("putGeometryLoadObject: geometryId was removed from geometryCache")})).catch((function(r){throw t._geometryCache.delete(e),r}))})),ee(this,"_incrementImageCacheSize",(function(e){t._imageCacheSize+=e})),ee(this,"_incrementVolumeCacheSize",(function(e){t._volumeCacheSize+=e})),this._geometryCache=new Map}return ce(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=et(a);try{for(s.s();!(o=s.n()).done;){var u=o.value;if(this.removeImageLoadObject(u),Je(Qe,d.IMAGE_CACHE_IMAGE_REMOVED,{imageId:u}),(r=this.getBytesAvailable())>=e)return r}}catch(e){s.e(e)}finally{s.f()}var c,l=et(i=(n=Array.from(this._imageCache.values())).map((function(e){return e.imageId})));try{for(l.s();!(c=l.n()).done;){var v=c.value;if(this.removeImageLoadObject(v),Je(Qe,d.IMAGE_CACHE_IMAGE_REMOVED,{imageId:v}),(r=this.getBytesAvailable())>=e)return r}}catch(e){l.e(e)}finally{l.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(Number.isNaN(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(d.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};Je(Qe,d.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:"isLoaded",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=le(e),n=0,i=t;n<i.length;n++){var a,o=i[n],s=this._volumeCache.get(o).volume;if(null==s||null===(a=s.imageIds)||void 0===a||!a.length)return;var u=s.getImageURIIndex(r);if(u>-1)return{volume:s,imageIdIndex:u}}}},{key:"getCachedImageBasedOnImageURI",value:function(e){var t=le(e),r=Array.from(this._imageCache.keys()).find((function(e){return le(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(Number.isNaN(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};Je(Qe,d.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 nt(){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 it(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 at(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?it(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):it(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ot(e){var t=e.dimensions,r=e.metadata,n=e.spacing,i=e.direction,a=e.origin,o=1;"RGB"===r.PhotometricInterpretation&&(o=3);var s=re().newInstance(),u={numberOfComponents:o};return s.setDimensions(t),s.setSpacing(n),s.setDirection(i),s.setOrigin(a),e.isDynamicVolume()?function(e,t,r){t.forEach((function(t,n){var i=ie().newInstance(at({name:"timePoint-".concat(n),values:t},r));e.getPointData().addArray(i)})),e.getPointData().setActiveScalars("timePoint-0")}(s,e.getScalarDataArrays(),u):function(e,t,r){var n=ie().newInstance(at({name:"Pixels",values:t},r));e.getPointData().setScalars(n)}(s,e.getScalarData(),u),s}var st,ut={};function ct(e,t){var r=e.indexOf(":"),n=e.substring(0,r),i=ut[n];if(null==i){if(void 0!==st)return st(e,t);throw new Error("loadVolumeFromVolumeLoader: no volume loader for volumeId")}var a=i(e,t);return a.promise.then((function(e){Je(Qe,d.VOLUME_LOADED,{volume:e})}),(function(t){var r={volumeId:e,error:t};Je(Qe,d.VOLUME_LOADED_FAILED,r)})),a}function lt(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=rt.getVolumeLoadObject(e);return void 0!==r?r.promise:(r=ct(e,t)).promise.then((function(e){return e.imageData=ot(e),e}))}function dt(e,t){return vt.apply(this,arguments)}function vt(){return(vt=H(Y().mark((function e(t,r){var n;return Y().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=rt.getVolumeLoadObject(t))){e.next=5;break}return e.abrupt("return",n.promise);case 5:return(n=ct(t,r)).promise.then((function(e){e.imageData=ot(e)})),rt.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 ft(e,t){return gt.apply(this,arguments)}function gt(){return(gt=H(Y().mark((function e(t,r){var n,i,a,o,s,u,c,l,v,f,g,p,h,m,w,y,I,C,b;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=rt.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=nt()),o=n.metadata,s=n.dimensions,u=n.spacing,c=n.origin,l=n.direction,v=n.getScalarData(),f=v.length,h=qe().rendering.useNorm16Texture,!a){e.next=34;break}if("Float32Array"!==a.type){e.next=16;break}g=4*f,p=Float32Array,e.next=32;break;case 16:if("Uint8Array"!==a.type){e.next=21;break}g=f,p=Uint8Array,e.next=32;break;case 21:if(!h||"Uint16Array"!==a.type){e.next=26;break}g=2*f,p=Uint16Array,e.next=32;break;case 26:if(!h||"Int16Array"!==a.type){e.next=31;break}g=2*f,p=Uint16Array,e.next=32;break;case 31:throw new Error("TargetBuffer should be Float32Array or Uint8Array");case 32:e.next=36;break;case 34:g=4*f,p=Float32Array;case 36:if(rt.isCacheable(g)){e.next=39;break}throw new Error(d.CACHE_SIZE_EXCEEDED);case 39:return null!=a&&a.sharedArrayBuffer?(w=new SharedArrayBuffer(g),m=new p(w)):m=new p(f),y=ie().newInstance({name:"Pixels",numberOfComponents:1,values:m}),(I=re().newInstance()).setDimensions(s),I.setSpacing(u),I.setDirection(l),I.setOrigin(c),I.getPointData().setScalars(y),C=new Ze({volumeId:i,metadata:oe()(o),dimensions:[s[0],s[1],s[2]],spacing:u,origin:c,direction:l,imageData:I,scalarData:m,sizeInBytes:g,referencedVolumeId:t}),b={promise:Promise.resolve(C)},e.next=51,rt.putVolumeLoadObject(i,b);case 51:return e.abrupt("return",C);case 52:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function pt(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,u=e.direction;if(!n||!(n instanceof Uint8Array||n instanceof Float32Array||n instanceof Uint16Array||n instanceof Int16Array))throw new Error("To use createLocalVolume you should pass scalarData of type Uint8Array, Uint16Array, Int16Array or Float32Array");void 0===t&&(t=nt());var c=rt.getVolume(t);if(c)return c;var l=a[0]*a[1]*a[2],v=n?n.buffer.byteLength:4*l;if(!rt.isCacheable(v))throw new Error(d.CACHE_SIZE_EXCEEDED);var f=ie().newInstance({name:"Pixels",numberOfComponents:1,values:n}),g=re().newInstance();g.setDimensions(a),g.setSpacing(o),g.setDirection(u),g.setOrigin(s),g.getPointData().setScalars(f);var p=new Ze({volumeId:t,metadata:oe()(i),dimensions:[a[0],a[1],a[2]],spacing:o,origin:s,direction:u,imageData:g,scalarData:n,sizeInBytes:v});if(r)return p;var h={promise:Promise.resolve(p)};return rt.putVolumeLoadObject(t,h),p}function ht(e,t){ut[e]=t}function mt(){return Object.keys(ut)}function wt(e){var t=st;return st=e,t}var yt=Z(6009),It=Z.n(yt),Ct={scalarTexture:null};function bt(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Ct,r),It().extend(e,t,r),ve().setGet(e,t,["scalarTexture"]),function(e,t){t.classHierarchy.push("vtkSharedVolumeMapper");var r=e.delete;e.delete=function(){t.scalarTexture=null,r()}}(e,t)}var Et={newInstance:ve().newInstance(bt,"vtkSharedVolumeMapper"),extend:bt};function Rt(e,t){var r=Et.newInstance();qe().rendering.preferSizeOverAccuracy&&r.setPreferSizeOverAccuracy(!0),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 kt(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 Pt=function(){function e(t){se(this,e),ee(this,"id",void 0),ee(this,"awake",void 0),ee(this,"requestPool",void 0),ee(this,"numRequests",{interaction:0,thumbnail:0,prefetch:0}),ee(this,"maxNumRequests",void 0),ee(this,"grabDelay",void 0),ee(this,"timeoutHandle",void 0),this.id=t||nt(),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 ce(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 kt(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)?kt(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||(this.timeoutHandle=window.setTimeout((function(){e.timeoutHandle=null,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((function(e,t){return e-t}))}},{key:"getRequestPool",value:function(){return this.requestPool}}]),e}(),Ot=(new Pt,new Pt("imageLoadPool"));Ot.grabDelay=0,Ot.setMaxSimultaneousRequests(f.Interaction,1e3),Ot.setMaxSimultaneousRequests(f.Thumbnail,1e3),Ot.setMaxSimultaneousRequests(f.Prefetch,1e3);var At,Tt=Ot,St={};function _t(e,t){var r=rt.getImageLoadObject(e);if(void 0!==r)return r;var n=rt.getVolumeContainingImageId(e);if(n&&n.volume.loadStatus.loaded){var i=n.volume,a=n.imageIdIndex;return i.convertToCornerstoneImage(e,a)}var o=rt.getCachedImageBasedOnImageURI(e);return o?r=o.imageLoadObject:(r=function(e,t){var r=e.indexOf(":"),n=e.substring(0,r),i=St[n];if(null==i){if(void 0!==At)return At(e);throw new Error("loadImageFromImageLoader: no image loader for imageId")}var a=i(e,t);return a.promise.then((function(e){Je(Qe,d.IMAGE_LOADED,{image:e})}),(function(t){var r={imageId:e,error:t};Je(Qe,d.IMAGE_LOAD_FAILED,r)})),a}(e,t),r)}function xt(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 _t(e,t).promise}function Dt(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=_t(e,t);return rt.getImageLoadObject(e)||rt.putImageLoadObject(e,r).catch((function(e){console.warn(e)})),r.promise}function Mt(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");return e.map((function(e){return Dt(e,t)}))}function Vt(e){Tt.filterRequests((function(t){var r=t.additionalDetails;return!r.imageId||r.imageId!==e}));var t=rt.getImageLoadObject(e);t&&t.cancelFn()}function Lt(e){e.forEach((function(e){return Vt(e)}))}function Ut(){var e=Tt.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=rt.getImageLoadObject(i):a&&(t=rt.getVolumeLoadObject(a)),t&&t.cancel()})),Tt.clearRequestStack(t)}))}function jt(e,t){St[e]=t}function Nt(e){var t=At;return At=e,t}function Ft(){Object.keys(St).forEach((function(e){return delete St[e]})),At=void 0}var Gt=[];function Wt(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(t=0;t<Gt.length&&!(Gt[t].priority<=r);t++);Gt.splice(t,0,{priority:r,provider:e})}function Bt(e){for(var t=0;t<Gt.length;t++)if(Gt[t].provider===e){Gt.splice(t,1);break}}function qt(){for(;Gt.length>0;)Gt.pop()}function zt(e,t){for(var r=0;r<Gt.length;r++){var n=Gt[r].provider(e,t);if(void 0!==n)return n}}function Ht(e,t){return{windowWidth:Math.abs(t-e)+1,windowCenter:(e+t+1)/2}}function Kt(e,t){return{lower:t-.5-(e-1)/2,upper:t-.5+(e-1)/2}}function Yt(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 Xt(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 Zt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Xt(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var $t=0,Qt=f.Prefetch;function Jt(){return(Jt=H(Y().mark((function e(t,r,n){var i,a,o,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=tr(r)){e.next=5;break}return e.next=4,rr(r,n);case 4:i=e.sent;case 5:if(i&&void 0!==i.lower&&void 0!==i.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:i=er(r,i),o=(a=i).lower,s=a.upper,t.getProperty().getRGBTransferFunction(0).setMappingRange(o,s);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function er(e,t){var r=e.imageIds;return function(e,t){var r;return!("PT"!==e||!t.isPreScaled)&&!(null===(r=t.scaling)||void 0===r||!r.PT.suvbw)}((zt("generalSeriesModule",r[Math.floor(r.length/2)])||{}).modality,e)?{lower:0,upper:5}:t}function tr(e){var t=e.imageIds,r=zt("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=Kt(Number(a.windowWidth),Number(a.windowCenter));return{lower:o.lower,upper:o.upper}}}function rr(e,t){return nr.apply(this,arguments)}function nr(){return(nr=H(Y().mark((function e(t,r){var n,i,a,o,s,u,c,l,d,v,f,g,p,h,m,w,y,I,C,b,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.imageIds,i=t.getScalarData(),a=Math.floor(n.length/2),o=t.imageIds[a],s=zt("generalSeriesModule",o)||{},u=s.modality,c=zt("modalityLutModule",o)||{},l=n.length,d=i.byteLength/l,v=i.length/l,f=i.BYTES_PER_ELEMENT,g={rescaleSlope:c.rescaleSlope,rescaleIntercept:c.rescaleIntercept,modality:u},"PT"===u&&(h=zt("scalingModule",o))&&(p=Zt(Zt({},g),{},{suvbw:h.suvbw})),m=a*d,w={targetBuffer:{type:r?void 0:"Float32Array"},priority:$t,requestType:Qt,preScale:{enabled:!0,scalingParameters:p}},e.next=17,Dt(o,w);case 17:return y=e.sent,I=y?y.getPixelData():ir(t,m,f,v),C=Yt(I),b=C.min,E=C.max,e.abrupt("return",{lower:b,upper:E});case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ir(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),u=new o(a,t,n);return s.set(u),s}var ar=function(e,t,r){return Jt.apply(this,arguments)};function or(){return or=H(Y().mark((function e(t,r,n){var i,a,o,s,u,c,l,d,v,f,g=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=g.length>3&&void 0!==g[3]&&g[3],a=g.length>4&&void 0!==g[4]&&g[4],o=t.volumeId,s=t.callback,u=t.blendMode,e.next=5,lt(o);case 5:if(c=e.sent){e.next=8;break}throw new Error("imageVolume with id: ".concat(c.volumeId," does not exist"));case 8:if(l=c.imageData,d=c.vtkOpenGLTexture,v=Rt(l,d),u&&v.setBlendMode(u),(f=Q().newInstance()).setMapper(v),3===l.getPointData().getScalars().getNumberOfComponents()&&f.getProperty().setIndependentComponents(!1),!c.imageIds){e.next=18;break}return e.next=18,ar(f,c,a);case 18:return s&&s({volumeActor:f,volumeId:o}),i||sr(r,n,f,o),e.abrupt("return",f);case 21:case"end":return e.stop()}}),e)}))),or.apply(this,arguments)}function sr(e,t,r,n){var i=r.getProperty().getRGBTransferFunction(0).getRange(),a={viewportId:t,range:{lower:i[0],upper:i[1]},volumeId:n};Je(e,d.VOI_MODIFIED,a)}var ur=function(e,t,r){return or.apply(this,arguments)},cr="viewport-element",lr="cornerstone-canvas";function dr(e){var t="canvas.".concat(lr),r="div.".concat(cr),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(cr),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(lr),e.appendChild(t),t}(n)}function vr(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 fr(e,t){if(e){if("string"==typeof e)return vr(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)?vr(e,t):void 0}}function gr(e){return function(e){if(Array.isArray(e))return vr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||fr(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 pr=Z(8021),hr=Z.n(pr),mr=Z(6643),wr=Z.n(mr),yr=Z(1128),Ir=Z.n(yr),Cr=Z(7664),br=Z.n(Cr),Er=Z(1474),Rr=Z.n(Er),kr=Z(2394),Pr=Z.n(kr),Or=Z(582),Ar=Z.n(Or),Tr=Z(7482),Sr=Z.n(Tr),_r=Z(6343),xr=Z.n(_r),Dr=Z(4363),Mr=Z.n(Dr),Vr=Z(3982),Lr=Z.n(Vr),Ur=Z(6130),jr=Z.n(Ur),Nr=Z(298),Fr=Z.n(Nr),Gr=Z(2398),Wr=Z.n(Gr),Br=Z(4388),qr=Z.n(Br),zr=Z(2643),Hr=Z.n(zr),Kr=Z(9395),Yr=Z(3948),Xr=Z(6478);ve().vtkWarningMacro;var Zr={};function $r(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Zr,r),qr().extend(e,t,r),t.scalarTexture=r.scalarTexture,t.previousState={},function(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(Kr.Filter.LINEAR),t.jitterTexture.setMagnificationFilter(Kr.Filter.LINEAR),t.jitterTexture.create2DFromRaw(32,32,1,Yr.VtkDataTypes.UNSIGNED_CHAR,o)}var u=i.getNumberOfComponents(),c=a.getIndependentComponents()?u:1,l="".concat(a.getMTime());if(t.opacityTextureString!==l){for(var d=1024,v=2048*c,f=new Float32Array(v),g=new Float32Array(d),p=0;p<c;++p){var h=a.getScalarOpacity(p),m=t.renderable.getSampleDistance()/a.getScalarOpacityUnitDistance(p),w=h.getRange();h.getTable(w[0],w[1],d,g,1);for(var y=0;y<d;++y)f[p*d*2+y]=1-Math.pow(1-g[y],m),f[p*d*2+y+d]=f[p*d*2+y]}if(t.opacityTexture.releaseGraphicsResources(t._openGLRenderWindow),t.opacityTexture.setMinificationFilter(Kr.Filter.LINEAR),t.opacityTexture.setMagnificationFilter(Kr.Filter.LINEAR),t._openGLRenderWindow.getWebgl2()||t.context.getExtension("OES_texture_float")&&t.context.getExtension("OES_texture_float_linear"))t.opacityTexture.create2DFromRaw(d,2*c,1,Yr.VtkDataTypes.FLOAT,f);else{for(var I=new Uint8Array(v),C=0;C<v;++C)I[C]=255*f[C];t.opacityTexture.create2DFromRaw(d,2*c,1,Yr.VtkDataTypes.UNSIGNED_CHAR,I)}t.opacityTextureString=l}if(l="".concat(a.getMTime()),t.colorTextureString!==l){for(var b=1024,E=new Uint8Array(2048*c*3),R=new Float32Array(3072),k=0;k<c;++k){var P=a.getRGBTransferFunction(k),O=P.getRange();P.getTable(O[0],O[1],b,R,1);for(var A=0;A<3072;++A)E[k*b*6+A]=255*R[A],E[k*b*6+A+3072]=255*R[A]}t.colorTexture.releaseGraphicsResources(t._openGLRenderWindow),t.colorTexture.setMinificationFilter(Kr.Filter.LINEAR),t.colorTexture.setMagnificationFilter(Kr.Filter.LINEAR),t.colorTexture.create2DFromRaw(b,2*c,3,Yr.VtkDataTypes.UNSIGNED_CHAR,E),t.colorTextureString=l}if(l="".concat(n.getMTime()),t.scalarTextureString!==l){var T=n.getDimensions(),S=t.scalarTexture.getTextureParameters(),_=n.getPointData().getScalars().getDataType(),x=n.getPointData().getScalars().getData(),D=!0;if(S.dataType&&S.dataType===_){var M=S.width*S.height*S.depth*S.numComps;x.length===M&&(D=!1)}D?(t.scalarTexture.setOglNorm16Ext(t.context.getExtension("EXT_texture_norm16")),t.scalarTexture.releaseGraphicsResources(t._openGLRenderWindow),t.scalarTexture.resetFormatAndType(),t.scalarTexture.create3DFilterableFromRaw(T[0],T[1],T[2],u,i.getDataType(),i.getData(),t.renderable.getPreferSizeOverAccuracy())):(t.scalarTexture.deactivate(),t.scalarTexture.update3DFromRaw(x)),t.scalarTextureString=l}if(!t.tris.getCABO().getElementCount()){for(var V=new Float32Array(12),L=0;L<4;L++)V[3*L]=L%2*2-1,V[3*L+1]=L>1?1:-1,V[3*L+2]=-1;var U=new Uint16Array(8);U[0]=3,U[1]=0,U[2]=1,U[3]=3,U[4]=3,U[5]=0,U[6]=3,U[7]=2;var j=ie().newInstance({numberOfComponents:3,values:V});j.setName("points");var N=ie().newInstance({numberOfComponents:1,values:U});t.tris.getCABO().createVBO(N,"polys",Xr.Representation.SURFACE,{points:j,cellOffset:0})}t.VBOBuildTime.modified()}}},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]}}(e,t)}var Qr={newInstance:ve().newInstance($r,"vtkStreamingOpenGLVolumeMapper"),extend:$r},Jr={};function en(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Jr,r),Hr().extend(e,t,r),function(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),u=t.overrides[i](s);return u.setMyFactory(e),u},t.getModelInitialValues=function(e){var t={};return"vtkSharedVolumeMapper"===e.getClassName()&&(t.scalarTexture=e.getScalarTexture()),t}}(e,t),e.registerOverride("vtkActor",wr().newInstance),e.registerOverride("vtkActor2D",Ir().newInstance),e.registerOverride("vtkCamera",br().newInstance),e.registerOverride("vtkGlyph3DMapper",Rr().newInstance),e.registerOverride("vtkImageMapper",Pr().newInstance),e.registerOverride("vtkImageSlice",Ar().newInstance),e.registerOverride("vtkMapper",xr().newInstance),e.registerOverride("vtkPixelSpaceCallbackMapper",Sr().newInstance),e.registerOverride("vtkRenderer",Mr().newInstance),e.registerOverride("vtkSkybox",Lr().newInstance),e.registerOverride("vtkSphereMapper",jr().newInstance),e.registerOverride("vtkStickMapper",Fr().newInstance),e.registerOverride("vtkTexture",ge().newInstance),e.registerOverride("vtkVolume",Wr().newInstance),e.registerOverride("vtkVolumeMapper",qr().newInstance),e.registerOverride("vtkSharedVolumeMapper",Qr.newInstance)}var tn={newInstance:ve().newInstance(en,"vtkStreamingOpenGLViewNodeFactory"),extend:en};function rn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,r),hr().extend(e,t,r),t.myFactory=tn.newInstance(),t.myFactory.registerOverride("vtkRenderWindow",nn),function(e,t){t.classHierarchy.push("vtkStreamingOpenGLRenderWindow")}(0,t)}var nn=ve().newInstance(rn,"vtkStreamingOpenGLRenderWindow"),an={newInstance:nn,extend:rn},on=Z(8281),sn=Z.n(on),un=Z(2329),cn=Z.n(un),ln=Z(673),dn=Z.n(ln);Z(2348),Z(2070),Z(7474),Z(6610);var vn={background:[0,0,0],container:null};function fn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,vn,r),ve().obj(e,t),ve().get(e,t,["renderWindow","openGLRenderWindow","interactor","container"]),ve().event(e,t,"resize"),function(e,t){var r=e.invokeResize;delete e.invokeResize,t.renderWindow=cn().newInstance(),t.rendererMap={},t.openGLRenderWindow=an.newInstance(),t.renderWindow.addView(t.openGLRenderWindow),t.interactor=dn().newInstance(),t.interactor.setView(t.openGLRenderWindow),t.interactor.initialize(),e.addRenderer=function(e){var r=e.viewport,n=e.id,i=e.background,a=sn().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=ve().chain(e.setContainer,e.destroy,t.openGLRenderWindow.delete,e.delete),e.resize()}(e,t)}var gn={newInstance:ve().newInstance(fn),extend:fn};function pn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hn(e){return hn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},hn(e)}function mn(){return mn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=hn(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}},mn.apply(this,arguments)}function wn(e,t){return wn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},wn(e,t)}function yn(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&&wn(e,t)}function In(e,t){if(t&&("object"===G(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return pn(e)}var Cn=Z(1864),bn=Z.n(Cn),En=Z(2976),Rn=rt;function kn(e){return Pn(e,"vtkVolume")||Pn(e,"vtkImageSlice")}function Pn(e,t){return!!e.actor.isA(t)}function On(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=[En.vec3.dot(i,t),En.vec3.dot(a,t),En.vec3.dot(o,t)],u=En.vec3.create();return En.vec3.set(u,s[0]*n[0],s[1]*n[1],s[2]*n[2]),En.vec3.length(u)}function An(e,t,r){if(e){var n=e.direction,i=e.imageIds;if(i&&i.length){var a=n.slice(6,9),o=En.vec3.dot(a,r);if(!(Math.abs(o)<1-F)){for(var s,u=On(e,r)/2,c=0;c<i.length;c++){var l=i[c],d=zt("imagePlaneModule",l).imagePositionPatient,v=En.vec3.create();En.vec3.sub(v,t,d);var f=En.vec3.dot(v,r);Math.abs(f)<u&&(s=l)}return s}}}}function Tn(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,s=[],u=!0,c=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw i}}return s}}(e,t)||fr(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 Sn=Z(4795),_n=Z.n(Sn),xn=Z(1038),Dn=Z.n(xn),Mn=Z(1441),Vn=Z.n(Mn);function Ln(e){var t=[],r=Tn(e.getRange(),2),n=r[0],i=r[1];e.getTable(n,i,1024,t),t=t.filter((function(e,t){return t%3==0}));var a=gr(Array(1024).keys()).map((function(e,t){return n+(i-n)/1023*t})),o=t[256],s=Math.log((1-o)/o),u=a[256],c=t[768],l=Math.log((1-c)/c),d=a[768],v=Math.round(4*(d-u)/(s-l)),f=Math.round(u+v*s/4);return[Math.round(f-v/2),Math.round(f+v/2)]}var Un=new Map;function jn(e){Un.set(e.Name,e)}function Nn(e){return Un.get(e)}function Fn(){return Array.from(Un.keys())}function Gn(e){if(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 Wn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1024,r=Ht(e.lower,e.upper),n=r.windowWidth,i=r.windowCenter,a=gr(Array(t+2).keys()).map((function(e){return e/(t+2)})).slice(1,-1).reduce((function(e,t){var r=function(e,t,r){return t-r/4*Math.log((1-e)/e)}(t,i,n);return e.concat(r,t,t,t,.5,0)}),[]),o=_n().newInstance();return o.buildFunctionFromArray(ie().newInstance({values:a,numberOfComponents:6})),o}function Bn(e,t){for(var r=t.colorTransfer.split(" ").splice(1).map(parseFloat),n=function(e){for(var t=1/0,r=-1/0,n=0;n<e.length;n+=4)t=Math.min(t,e[n]),r=Math.max(r,e[n]);var i=(r-t)/2;return{shiftRange:[-i,i],min:t,max:r}}(r),i=n.shiftRange,a=i[0],o=i[1]-i[0],s=_n().newInstance(),u=[],c=0;c<r.length;c+=4){var l=r[c],d=r[c+1],v=r[c+2],f=r[c+3];l=(l-a)/o,u.push([l,d,v,f])}!function(e,t,r){var n=t[1]-t[0],i=e.map((function(e){var r=Tn(e,4),i=r[0],a=r[1],o=r[2],s=r[3];return[i*n+t[0],a,o,s]}));r.removeAllPoints(),i.forEach((function(e){var t=Tn(e,4),n=t[0],i=t[1],a=t[2],o=t[3];return r.addRGBPoint(n,i,a,o)}))}(u,i,s),e.getProperty().setRGBTransferFunction(0,s);for(var g=t.scalarOpacity.split(" ").splice(1).map(parseFloat),p=Vn().newInstance(),h=[],m=0;m<g.length;m+=2){var w=g[m],y=g[m+1];w=(w-a)/o,h.push([w,y])}!function(e,t,r){var n=t[1]-t[0],i=e.map((function(e){var r=Tn(e,2),i=r[0],a=r[1];return[i*n+t[0],a]}));r.removeAllPoints(),i.forEach((function(e){var t=Tn(e,2),n=t[0],i=t[1];return r.addPoint(n,i)}))}(h,i,p),e.getProperty().setScalarOpacity(0,p);var I=Tn(t.gradientOpacity.split(" ").splice(1).map(parseFloat),4),C=I[0],b=I[1],E=I[2],R=I[3];e.getProperty().setUseGradientOpacity(0,!0),e.getProperty().setGradientOpacityMinimumValue(0,C),e.getProperty().setGradientOpacityMinimumOpacity(0,b),e.getProperty().setGradientOpacityMaximumValue(0,E),e.getProperty().setGradientOpacityMaximumOpacity(0,R),"1"===t.interpolation&&e.getProperty().setInterpolationTypeToFastLinear();var k=parseFloat(t.ambient),P=parseFloat(t.diffuse),O=parseFloat(t.specular),A=parseFloat(t.specularPower);e.getProperty().setAmbient(k),e.getProperty().setDiffuse(P),e.getProperty().setSpecular(O),e.getProperty().setSpecularPower(A)}var qn=Z(8847),zn=Z.n(qn);function Hn(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]]]}var Kn=F*F,Yn=function(e){return Math.abs(Math.abs(e)-1)<Kn},Xn=function(e,t){return Yn(e[t])||Yn(e[t+1])||Yn(e[t+2])},Zn=function(e){return Xn(e,0)&&Xn(e,3)&&Xn(e,6)};function $n(e,t,r){var n,i=e.getMapper().getInputData(),a=i.getDirection();if(Zn(a))n=Hn(e);else{var o=Tn(i.getDimensions(),3),s=o[0],u=o[1],c=o[2];n=[[0,0,0],[s-1,0,0],[0,u-1,0],[s-1,u-1,0],[0,0,c-1],[s-1,0,c-1],[0,u-1,c-1],[s-1,u-1,c-1]].map((function(e){return i.indexToWorld(e)}))}var l=zn().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);n.forEach((function(e){return l.apply(e)}));var d=gr(r);l.apply(d);for(var v=d[0],f=1/0,g=-1/0,p=0;p<8;p++){var h=n[p][0];h>g&&(g=h),h<f&&(f=h)}return{min:f,max:g,current:v,actor:e,viewPlaneNormal:t,focalPoint:r}}var Qn=1+F,Jn=function(e){return!!mt().find((function(t){return(n=t)===(r=e.volumeId).substring(0,Math.min(r.length,n.length));var r,n}))};function ei(e,t,r){var n=t.viewPlaneNormal,i=e.getActors();if(!i||!i.length)return{spacingInNormalDirection:null,imageVolume:null,actorUID:null};var a=i.map((function(e){var t,r=null!==(t=e.referenceId)&&void 0!==t?t:e.uid;return rt.getVolume(r)})).filter((function(e){return!!e}));if(r){var o=a.findIndex((function(e){return e.volumeId===r})),s=a[o],u=i[o].uid;return{imageVolume:s,spacingInNormalDirection:On(s,n),actorUID:u}}if(!a.length)return{spacingInNormalDirection:null,imageVolume:null,actorUID:null};for(var c={spacingInNormalDirection:1/0,imageVolume:null,actorUID:null},l=a.find(Jn),d=0;d<a.length;d++){var v=a[d];if(!l||Jn(v)){var f=On(v,n);f*Qn<c.spacingInNormalDirection&&(c.spacingInNormalDirection=f,c.imageVolume=v,c.actorUID=i[d].uid)}}return c}var ti=function(e){var t=e.getCamera(),r=ei(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 u=$n(s.actor,a,o),c=u.min,l=u.max,d=u.current,v=Math.round((l-c)/n)+1,f=(d-c)/(l-c)*v;return(f=Math.floor(f))>v-1?f=v-1:f<0&&(f=0),{numberOfSlices:v,imageIndex:f}}},ri={},ni=Z(8807),ii=Z.n(ni);function ai(e,t,r){var n=Tn(e,3),i=n[0],a=n[1],o=n[2],s=Tn(t,3),u=s[0],c=s[1],l=s[2],d=Tn(r,4),v=d[0],f=d[1],g=d[2],p=u-i,h=c-a,m=l-o,w=-1*(v*i+f*a+g*o-d[3])/(v*p+f*h+g*m);return[p*w+i,h*w+a,m*w+o]}function oi(e,t){var r=Tn(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 si(e,t,r){var n=Tn(e,4),i=n[0],a=n[1],o=n[2],s=n[3],u=Tn(t,4),c=u[0],l=u[1],d=u[2],v=u[3],f=Tn(r,4),g=f[0],p=f[1],h=f[2],m=f[3],w=En.mat3.fromValues(i,c,g,a,l,p,o,d,h),y=En.mat3.fromValues(s,v,m,a,l,p,o,d,h),I=En.mat3.fromValues(i,c,g,s,v,m,o,d,h),C=En.mat3.fromValues(i,c,g,a,l,p,s,v,m);return[En.mat3.determinant(y)/En.mat3.determinant(w),En.mat3.determinant(I)/En.mat3.determinant(w),En.mat3.determinant(C)/En.mat3.determinant(w)]}function ui(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=Tn(e,4),i=n[0],a=n[1],o=n[2],s=n[3],u=Tn(t,3),c=i*u[0]+a*u[1]+o*u[2]-s,l=Math.abs(c)/Math.sqrt(i*i+a*a+o*o);return(r?Math.sign(c):1)*l}function ci(e){return Array.isArray(e)?e.some((function(e){return Number.isNaN(e)})):Number.isNaN(e)}function li(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?li(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):li(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function vi(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 fi=function(){function e(t){se(this,e),ee(this,"id",void 0),ee(this,"element",void 0),ee(this,"canvas",void 0),ee(this,"renderingEngineId",void 0),ee(this,"type",void 0),ee(this,"flipHorizontal",!1),ee(this,"flipVertical",!1),ee(this,"isDisabled",void 0),ee(this,"viewportStatus",L.NO_DATA),ee(this,"sx",void 0),ee(this,"sy",void 0),ee(this,"sWidth",void 0),ee(this,"sHeight",void 0),ee(this,"_actors",void 0),ee(this,"defaultOptions",void 0),ee(this,"options",void 0),ee(this,"_suppressCameraModifiedEvents",!1),ee(this,"suppressEvents",void 0),ee(this,"hasPixelSpacing",!0),ee(this,"calibration",void 0),ee(this,"initialCamera",void 0),ee(this,"fitToCanvasCamera",void 0),ee(this,"getRotation",void 0),ee(this,"getFrameOfReferenceUID",void 0),ee(this,"canvasToWorld",void 0),ee(this,"worldToCanvas",void 0),ee(this,"customRenderViewportToCanvas",void 0),ee(this,"resize",void 0),ee(this,"getProperties",void 0),ee(this,"updateRenderingPipeline",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=oe()(t.defaultOptions),this.suppressEvents=!!t.defaultOptions.suppressEvents&&t.defaultOptions.suppressEvents,this.options=oe()(t.defaultOptions),this.isDisabled=!1}return ce(e,[{key:"setRendered",value:function(){this.viewportStatus!==L.NO_DATA&&this.viewportStatus!==L.LOADING&&(this.viewportStatus=L.RENDERED)}},{key:"getRenderingEngine",value:function(){return ye.get(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,r,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.options=oe()(e),null!==(t=this.options)&&void 0!==t&&t.displayArea&&this.setDisplayArea(null===(r=this.options)||void 0===r?void 0:r.displayArea),n&&this.render()}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.options=oe()(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,u=i.position,c=En.vec3.cross(En.vec3.create(),a,o),l=En.vec3.copy(En.vec3.create(),o),d=En.vec3.negate(En.vec3.create(),a),v=En.vec3.distance(u,s),f=n.getDimensions().map((function(e){return Math.floor(e/2)})),g=[f[0],f[1],f[2]],p=n.indexToWorld(g,En.vec3.create()),h=this._getFocalPointForResetCamera(p,i,{resetPan:!0,resetToCenter:!1}),m=En.vec3.subtract(En.vec3.create(),s,h),w=En.vec3.length(m),y=function(e){var t=En.vec3.scale(En.vec3.create(),e,2*En.vec3.dot(m,e));return En.vec3.subtract(t,t,m),En.vec3.normalize(t,t),t};if(t){var I=y(l),C=En.vec3.scaleAndAdd(En.vec3.create(),h,I,w),b=En.vec3.scaleAndAdd(En.vec3.create(),C,d,v);this.setCamera({viewPlaneNormal:d,position:b,focalPoint:C}),this.flipHorizontal=!this.flipHorizontal}if(r){l=En.vec3.negate(l,o);var E=y(c),R=En.vec3.scaleAndAdd(En.vec3.create(),h,E,w),k=En.vec3.scaleAndAdd(En.vec3.create(),R,d,v);this.setCamera({focalPoint:R,viewPlaneNormal:d,viewUp:l,position:k}),this.flipVertical=!this.flipVertical}this.render()}}},{key:"getDefaultImageData",value:function(){var e=this.getDefaultActor();if(e&&kn(e))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],u=e.getBounds(),c=[],l=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 vi(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)?vi(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(u));try{for(l.s();!(n=l.n()).done;){var d=Tn(n.value,2),v=Tn(d[0],3),f=v[0],g=v[1],p=v[2],h=Tn(d[1],3),m=h[0],w=h[1],y=h[2];if(i*(m-f)+a*(w-g)+o*(y-p)!=0){var I=ai([f,g,p],[m,w,y],[i,a,o,s]);this._isInBounds(I,u)&&c.push(I)}}}catch(e){l.e(e)}finally{l.f()}return c}},{key:"setDisplayArea",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.storeAsInitialCamera;this.setCamera(this.fitToCanvasCamera,!1);var n=e.imageArea,i=e.imageCanvasPoint;if(n){var a=Tn(n,2),o=a[0],s=a[1],u=Math.min(this.getZoom()/o,this.getZoom()/s);this.setZoom(u,r)}var c=this.getDefaultImageData();if(i&&c){var l,v=i.imagePoint,f=Tn(i.canvasPoint,2),g=f[0],p=f[1],h=(null===(l=window)||void 0===l?void 0:l.devicePixelRatio)||1,m=this.sWidth/h*(g-.5),w=this.sHeight/h*(p-.5),y=c.getDimensions(),I=this.worldToCanvas([0,0,0]),C=this.worldToCanvas(y),b=[C[0]-I[0],C[1]-I[1]],E=b[0],R=b[1],k=Tn(v,2),P=[E*(.5-k[0])+m,R*(.5-k[1])+w];this.setPan(P,r)}if(r&&(this.options.displayArea=e),!t){var O={viewportId:this.id,displayArea:e,storeAsInitialCamera:r};Je(this.element,d.DISPLAY_AREA_MODIFIED,O)}}},{key:"getDisplayArea",value:function(){var e;return null===(e=this.options)||void 0===e?void 0:e.displayArea}},{key:"resetCamera",value:function(){var e,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],i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=this.getRenderer();this.setCamera({flipHorizontal:!1,flipVertical:!1});var o=oe()(this.getCamera()),s=a.computeVisiblePropBounds(),u=[0,0,0],c=this.getDefaultImageData();if(c){var l=c.getSpacing();s[0]=s[0]+l[0]/2,s[1]=s[1]-l[0]/2,s[2]=s[2]+l[1]/2,s[3]=s[3]-l[1]/2,s[4]=s[4]+l[2]/2,s[5]=s[5]-l[2]/2}var d=this.getVtkActiveCamera(),v=d.getViewPlaneNormal(),f=d.getViewUp();if(u[0]=(s[0]+s[1])/2,u[1]=(s[2]+s[3])/2,u[2]=(s[4]+s[5])/2,c){var g=c.getDimensions().map((function(e){return Math.floor(e/2)})),p=[g[0],g[1],g[2]];c.indexToWorld(p,u)}var h,m=this._getWorldDistanceViewUpAndViewRight(s,f,v),w=m.widthWorld,y=m.heightWorld,I=[this.sWidth,this.sHeight],C=w/y,b=I[0]/I[1],E=1.1*(h=C<b?y/2:y*(C/b)/2),R=s[1]-s[0],k=s[3]-s[2],P=s[5]-s[4];h=0==(h=(R*=R)+(k*=k)+(P*=P))?1:h;var O=1.1*(h=.5*Math.sqrt(h)),A=Math.abs(ii().dot(f,v))>.999?[-f[2],f[0],f[1]]:f,T=this._getFocalPointForResetCamera(u,o,{resetPan:t,resetToCenter:n}),S=[T[0]+O*v[0],T[1]+O*v[1],T[2]+O*v[2]];a.resetCameraClippingRange(s);var _=[-N.MAXIMUM_RAY_DISTANCE,N.MAXIMUM_RAY_DISTANCE];d.setPhysicalScale(h),d.setPhysicalTranslation(-T[0],-T[1],-T[2]),this.setCamera({parallelScale:r?E:o.parallelScale,focalPoint:T,position:S,viewAngle:90,viewUp:A,clippingRange:_});var x=oe()(this.getCamera());this.setFitToCanvasCamera(oe()(this.getCamera())),i&&this.setInitialCamera(x);var D,M={type:"ResetCameraEvent",renderer:a};return a.invokeEvent(M),this.triggerCameraModifiedEventIfNecessary(o,x),c&&null!==(e=this.options)&&void 0!==e&&e.displayArea&&r&&t&&n&&this.setDisplayArea(null===(D=this.options)||void 0===D?void 0:D.displayArea),!0}},{key:"setInitialCamera",value:function(e){this.initialCamera=e}},{key:"setFitToCanvasCamera",value:function(e){this.fitToCanvasCamera=e}},{key:"getPan",value:function(){var e=this.getVtkActiveCamera().getFocalPoint(),t=this.canvasToWorld([0,0]),r=this.worldToCanvas(En.vec3.subtract(En.vec3.create(),this.initialCamera.focalPoint,t)),n=this.worldToCanvas(En.vec3.subtract(En.vec3.create(),e,t));return En.vec2.subtract(En.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=En.vec2.subtract(En.vec2.create(),e,this.getPan());if(!(Math.abs(o[0])<1&&Math.abs(o[1])<1)||t){var s=En.vec3.subtract(En.vec3.create(),this.canvasToWorld(o),a),u=En.vec3.subtract(En.vec3.create(),n,s),c=En.vec3.subtract(En.vec3.create(),i,s);this.setCamera(di(di({},r),{},{focalPoint:u,position:c}),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/e;(r.parallelScale!==n||t)&&this.setCamera(di(di({},r),{},{parallelScale:n}),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=Tn(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=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.getVtkActiveCamera(),n=oe()(this.getCamera()),i=Object.assign({},n,e),a=e.viewUp,o=e.viewPlaneNormal,s=e.position,u=e.focalPoint,c=e.parallelScale,l=e.viewAngle,d=e.flipHorizontal,v=e.flipVertical,f=e.clippingRange;if(void 0!==d){var g=d&&!this.flipHorizontal||!d&&this.flipHorizontal;g&&this.flip({flipHorizontal:g})}if(void 0!==v){var p=v&&!this.flipVertical||!v&&this.flipVertical;p&&this.flip({flipVertical:p})}void 0!==a&&r.setViewUp(a),void 0!==o&&r.setDirectionOfProjection(-o[0],-o[1],-o[2]),void 0!==s&&r.setPosition.apply(r,gr(s)),void 0!==u&&r.setFocalPoint.apply(r,gr(u)),void 0!==c&&r.setParallelScale(c),void 0!==l&&r.setViewAngle(l),void 0!==f&&r.setClippingRange(f);var h=this.getDefaultActor();h&&h.actor&&(Pn(h,"vtkImageSlice")?this.getRenderer().resetCameraClippingRange():this.updateClippingPlanesForActors(i),t&&this.setInitialCamera(i),this.triggerCameraModifiedEventIfNecessary(n,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.getRotation()};Je(this.element,d.CAMERA_MODIFIED,r)}}},{key:"updateClippingPlanesForActors",value:function(e){var t=this;this.getActors().forEach((function(r){if(r.actor){var n=r.actor.getMapper().getClippingPlanes(),i=N.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]];ii().multiplyScalar(i,t),e[0].setNormal(r);var a=[0,0,0];ii().subtract(n,i,a),e[0].setOrigin(a),e[1].setNormal(-r[0],-r[1],-r[2]);var o=[0,0,0];ii().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=En.vec3.cross(En.vec3.create(),t,r),o=zn().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);n.forEach((function(e){return o.apply(e)}));for(var s=1/0,u=-1/0,c=0;c<8;c++){var l=n[c][0];l>u&&(u=l),l<s&&(s=l)}o=zn().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,v=-1/0,f=0;f<8;f++){var g=i[f][0];g>v&&(v=g),g<d&&(d=g)}return{widthWorld:v-d,heightWorld:u-s}}},{key:"_shouldUseNativeDataType",value:function(){var e=qe().rendering,t=e.useNorm16Texture,r=e.preferSizeOverAccuracy;return t||r}},{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 ci(t.focalPoint)?e:t.focalPoint;if(!o&&i){var s=t,u=s.focalPoint,c=s.viewPlaneNormal,l=En.vec3.subtract(En.vec3.create(),e,u),d=En.vec3.dot(l,c),v=En.vec3.scaleAndAdd(En.vec3.create(),e,c,-1*d);return[v[0],v[1],v[2]]}return i||o?void 0:ci(t.focalPoint)?e:t.focalPoint}},{key:"_isInBounds",value:function(e,t){var r=Tn(t,6),n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],u=r[5],c=Tn(e,3),l=c[0],d=c[1],v=c[2];return!(l<n||l>i||d<a||d>o||v<s||v>u)}},{key:"_getEdges",value:function(e){var t=Tn(this._getCorners(e),8),r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7];return[[r,n],[r,o],[r,i],[n,a],[n,s],[i,a],[i,u],[a,c],[o,u],[o,s],[s,c],[u,c]]}}],[{key:"useCustomRenderingPipeline",get:function(){return!1}}]),e}(),gi=fi,pi=Z(9821),hi=Z.n(pi),mi={isPerformingCoordinateTransformation:!1};function wi(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,mi,r),hi().extend(e,t,r),ve().setGet(e,t,["isPerformingCoordinateTransformation"]),function(e,t){t.classHierarchy.push("vtkSlabCamera");var r=En.mat4.identity(new Float64Array(16)),n=new Float64Array(3);e.getProjectionMatrix=function(e,i,a){var o=En.mat4.create();if(t.projectionMatrix){var s=1/t.physicalScale;return En.vec3.set(n,s,s,s),En.mat4.copy(o,t.projectionMatrix),En.mat4.scale(o,o,n),En.mat4.transpose(o,o),o}En.mat4.identity(r);var u=t.clippingRange[0],c=t.clippingRange[1];t.isPerformingCoordinateTransformation&&(u=t.distance,c=t.distance+.1);var l=c-u,d=[u+(i+1)*l/2,u+(a+1)*l/2];if(t.parallelProjection){var v=t.parallelScale*e,f=t.parallelScale,g=(t.windowCenter[0]-1)*v,p=(t.windowCenter[0]+1)*v,h=(t.windowCenter[1]-1)*f,m=(t.windowCenter[1]+1)*f;En.mat4.ortho(r,g,p,h,m,d[0],d[1]),En.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(ii().radiansFromDegrees(t.viewAngle)/2);!0===t.useHorizontalViewAngle?(w=u*I,y=u*I/e):(w=u*I*e,y=u*I);var C=(t.windowCenter[0]-1)*w,b=(t.windowCenter[0]+1)*w,E=(t.windowCenter[1]-1)*y,R=(t.windowCenter[1]+1)*y,k=d[0],P=d[1];r[0]=2*k/(b-C),r[5]=2*k/(R-E),r[2]=(C+b)/(b-C),r[6]=(E+R)/(R-E),r[10]=-(k+P)/(P-k),r[14]=-1,r[11]=-2*k*P/(P-k),r[15]=0}return En.mat4.copy(o,r),o}}(e,t)}var yi={newInstance:ve().newInstance(wi,"vtkSlabCamera"),extend:wi};function Ii(e,t){return e.worldToIndex(t).map(Math.round)}var Ci=function(e){yn(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=hn(i);if(a){var r=hn(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return In(this,e)});function s(e){var t;if(se(this,s),ee(pn(t=o.call(this,e)),"useCPURendering",!1),ee(pn(t),"use16BitTexture",!1),ee(pn(t),"_FrameOfReferenceUID",void 0),ee(pn(t),"inverted",!1),ee(pn(t),"VOILUTFunction",void 0),ee(pn(t),"getProperties",(function(){var e=t.getActors().map((function(e){var r=e.actor,n=e.uid;if(!Rn.getVolume(n))return null;var i=r.getProperty().getRGBTransferFunction(0),a=Tn("SIGMOID"===t.VOILUTFunction?Ln(i):i.getRange(),2);return{volumeId:n,voiRange:{lower:a[0],upper:a[1]}}})).filter(Boolean);return{voiRange:e.length?e[0].voiRange:null,VOILUTFunction:t.VOILUTFunction,invert:t.inverted}})),ee(pn(t),"getFrameOfReferenceUID",(function(){return t._FrameOfReferenceUID})),ee(pn(t),"canvasToWorld",(function(e){var r,n,i=t.getVtkActiveCamera();null===(r=i.setIsPerformingCoordinateTransformation)||void 0===r||r.call(i,!0);var a=t.getRenderer(),o=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),s=o.getSize(),u=window.devicePixelRatio||1,c=[e[0]*u,e[1]*u],l=[c[0]+t.sx,c[1]+t.sy];l[1]=s[1]-l[1];var d=o.displayToWorld(l[0],l[1],0,a);return null===(n=i.setIsPerformingCoordinateTransformation)||void 0===n||n.call(i,!1),[d[0],d[1],d[2]]})),ee(pn(t),"worldToCanvas",(function(e){var r,n,i=t.getVtkActiveCamera();null===(r=i.setIsPerformingCoordinateTransformation)||void 0===r||r.call(i,!0);var a=t.getRenderer(),o=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),s=o.getSize(),u=o.worldToDisplay.apply(o,gr(e).concat([a]));u[1]=s[1]-u[1];var c=[u[0]-t.sx,u[1]-t.sy],l=window.devicePixelRatio||1,d=[c[0]/l,c[1]/l];return null===(n=i.setIsPerformingCoordinateTransformation)||void 0===n||n.call(i,!1),d})),ee(pn(t),"hasImageURI",(function(e){return t.getActors().filter((function(e){return Pn(e,"vtkVolume")})).some((function(t){var r=t.uid,n=Rn.getVolume(r);return!(!n||!n.imageIds)&&n.imageIds.map(le).includes(e)}))})),ee(pn(t),"getImageIds",(function(e){var r=t._getApplicableVolumeActor(e);if(!r)throw new Error("No actor found for the given volumeId: ".concat(e));var n=r.volumeId,i=Rn.getVolume(n);if(!i)throw new Error("imageVolume with id: ".concat(n," does not exist in cache"));return i.imageIds})),t.useCPURendering=Ne(),t.use16BitTexture=t._shouldUseNativeDataType(),t.useCPURendering)throw new Error("VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.");var r=t.getRenderer(),n=yi.newInstance();switch(r.setActiveCamera(n),t.type){case p.ORTHOGRAPHIC:case p.VOLUME_3D:n.setParallelProjection(!0);break;case p.PERSPECTIVE:n.setParallelProjection(!1);break;default:throw new Error("Unrecognized viewport type: ".concat(t.type))}return t.initializeVolumeNewImageEventDispatcher(),t}return ce(s,[{key:"applyViewOrientation",value:function(e){var t=this._getOrientationVectors(e),r=t.viewPlaneNormal,n=t.viewUp,i=this.getVtkActiveCamera();i.setDirectionOfProjection(-r[0],-r[1],-r[2]),i.setViewUpFrom(n),this.resetCamera()}},{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=Ie(r).getViewport(n);if(!(i instanceof bi))throw new Error("volumeNewImageEventDispatcher: viewport is not a BaseVolumeViewport");void 0===ri[i.id]&&(ri[i.id]=0);var a=ti(i);if(a){var o=a.numberOfSlices,s=a.imageIndex;if(ri[i.id]!==s){ri[i.id]=s;var u={imageIndex:s,viewportId:n,renderingEngineId:r,numberOfSlices:o};Je(i.element,d.VOLUME_NEW_IMAGE,u)}}else console.warn("volumeNewImageEventDispatcher: sliceData is undefined for viewport ".concat(i.id))}(e)}.bind(this),t=function(r){var n=r.detail.viewportId;n===this.id&&(this.element.removeEventListener(d.CAMERA_MODIFIED,e),Qe.removeEventListener(d.ELEMENT_DISABLED,t),function(e){void 0!==ri[e]&&delete ri[e]}(n))}.bind(this);this.element.removeEventListener(d.CAMERA_MODIFIED,e),this.element.addEventListener(d.CAMERA_MODIFIED,e),Qe.addEventListener(d.ELEMENT_DISABLED,t)}},{key:"resetVolumeViewportClippingRange",value:function(){var e=this.getVtkActiveCamera();e.getParallelProjection()?e.setClippingRange(-N.MAXIMUM_RAY_DISTANCE,N.MAXIMUM_RAY_DISTANCE):e.setClippingRange(N.MINIMUM_SLAB_THICKNESS,N.MAXIMUM_RAY_DISTANCE)}},{key:"setVOILUTFunction",value:function(e,t,r){-1===Object.values(_).indexOf(e)&&(e=_.LINEAR);var n=this.getProperties().voiRange;this.VOILUTFunction=e,this.setVOI(n,t,r)}},{key:"setColormap",value:function(e,t,r){var n=this._getApplicableVolumeActor(t);if(n){var i=n.volumeActor;i.getMapper().setSampleDistance(1);var a=_n().newInstance(),o=Nn(e.name),s=e.name;if(o||(o=Dn().getPresetByName(s)),!o)throw new Error("Colormap ".concat(e," not found"));var u=i.getProperty().getRGBTransferFunction(0).getRange();a.applyColorMap(o),a.setMappingRange(u[0],u[1]),i.getProperty().setRGBTransferFunction(0,a)}}},{key:"setOpacity",value:function(e,t){var r=this._getApplicableVolumeActor(t);if(r){var n=r.volumeActor,i=Vn().newInstance();if("number"==typeof e.opacity){var a=n.getProperty().getRGBTransferFunction(0).getRange();i.addPoint(a[0],e.opacity),i.addPoint(a[1],e.opacity)}else e.opacity.forEach((function(e){var t=e.opacity,r=e.value;i.addPoint(r,t)}));n.getProperty().setScalarOpacity(0,i)}}},{key:"setInvert",value:function(e,t,r){var n=this._getApplicableVolumeActor(t);if(n){var i=n.volumeId;Gn(this._getOrCreateColorTransferFunction(i)),this.inverted=e;var a=this.getProperties().voiRange;if(!r){var o={viewportId:this.id,range:a,volumeId:i,VOILUTFunction:this.VOILUTFunction,invert:this.inverted,invertStateChanged:!0};Je(this.element,d.VOI_MODIFIED,o)}}}},{key:"_getOrCreateColorTransferFunction",value:function(e){var t=this._getApplicableVolumeActor(e);if(!t)return null;var r=t.volumeActor,n=r.getProperty().getRGBTransferFunction(0);if(n)return n;var i=_n().newInstance();return r.getProperty().setRGBTransferFunction(0,i),i}},{key:"setInterpolationType",value:function(e,t){var r=this._getApplicableVolumeActor(t);r&&r.volumeActor.getProperty().setInterpolationType(e)}},{key:"setVOI",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this._getApplicableVolumeActor(t);if(n){var i=n.volumeActor,a=n.volumeId,o=e;if(void 0===o){var s=i.getMapper().getInputData().getPointData().getScalars().getRange();o={lower:s[0],upper:s[1]}}if(this.VOILUTFunction===_.SAMPLED_SIGMOID){var u=Wn(o);i.getProperty().setRGBTransferFunction(0,u)}else{var c=o,l=c.lower,v=c.upper;i.getProperty().getRGBTransferFunction(0).setRange(l,v)}if(!r){var f={viewportId:this.id,range:e,volumeId:a,VOILUTFunction:this.VOILUTFunction};Je(this.element,d.VOI_MODIFIED,f)}}}},{key:"setProperties",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.voiRange,r=e.VOILUTFunction,n=e.invert,i=e.colormap,a=e.preset,o=e.interpolationType,s=arguments.length>1?arguments[1]:void 0,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];null!=i&&i.name&&this.setColormap(i,s,u),null!=(null==i?void 0:i.opacity)&&this.setOpacity(i,s),void 0!==t&&this.setVOI(t,s,u),void 0!==o&&this.setInterpolationType(o),void 0!==r&&this.setVOILUTFunction(r,s,u),void 0!==n&&this.inverted!==n&&this.setInvert(n,s,u),void 0!==a&&this.setPreset(a,s,u)}},{key:"setPreset",value:function(e,t,r){var n=this._getApplicableVolumeActor(t);if(n){var i=n.volumeActor,a=q.find((function(t){return t.name===e}));a&&Bn(i,a)}}},{key:"setVolumes",value:(n=H(Y().mark((function e(t){var r,n,i,a,o,s,u,c,l,v,f,g,p=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=p.length>1&&void 0!==p[1]&&p[1],n=p.length>2&&void 0!==p[2]&&p[2],i=Rn.getVolume(t[0].volumeId)){e.next=5;break}throw new Error("imageVolume with id: ".concat(i.volumeId," does not exist"));case 5:return a=i.metadata.FrameOfReferenceUID,e.next=8,this._isValidVolumeInputArray(t,a);case 8:this._FrameOfReferenceUID=a,o=[],s=0;case 11:if(!(s<t.length)){e.next=21;break}return u=t[s],c=u.volumeId,l=u.actorUID,v=u.slabThickness,e.next=15,ur(t[s],this.element,this.id,n,this.use16BitTexture);case 15:f=e.sent,g=l||c,o.push({uid:g,actor:f,slabThickness:v,referenceId:c});case 18:s++,e.next=11;break;case 21:this._setVolumeActors(o),this.viewportStatus=L.PRE_RENDER,Je(this.element,d.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=H(Y().mark((function e(t){var r,n,i,a,o,s,u,c,l,d,v,f,g=arguments;return Y().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=Rn.getVolume(t[0].volumeId)){e.next=5;break}throw new Error("imageVolume with id: ".concat(i.volumeId," does not exist"));case 5:return a=[],e.next=8,this._isValidVolumeInputArray(t,this._FrameOfReferenceUID);case 8:o=0;case 9:if(!(o<t.length)){e.next=20;break}return s=t[o],u=s.volumeId,c=s.visibility,l=s.actorUID,d=s.slabThickness,e.next=13,ur(t[o],this.element,this.id,n,this.use16BitTexture);case 13:v=e.sent,!1===c&&v.setVisibility(!1),f=l||u,a.push({uid:f,actor:v,slabThickness:d,referenceId:u});case 17:o++,e.next=9;break;case 20:this.addActors(a),r&&this.render();case 22: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){console.warn('Method "setOrientation" needs implementation')}},{key:"_getApplicableVolumeActor",value:function(e){if(void 0===e||this.getActor(e)){var t,r,n=this.getActors();if(n.length)return e&&(t=null===(r=this.getActor(e))||void 0===r?void 0:r.actor),t||(t=n[0].actor,e=n[0].uid),{volumeActor:t,volumeId:e}}}},{key:"_isValidVolumeInputArray",value:(t=H(Y().mark((function e(t,r){var n,i,a,o;return Y().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,lt(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:"getBounds",value:function(){return this.getRenderer().computeVisiblePropBounds()}},{key:"flip",value:function(e){mn(hn(s.prototype),"flip",this).call(this,e)}},{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);if(Pn(a,"vtkVolume")){var o=a.actor,s=Rn.getVolume(e),u=o.getMapper().getInputData();return{dimensions:u.getDimensions(),spacing:u.getSpacing(),origin:u.getOrigin(),direction:u.getDirection(),scalarData:u.getPointData().getScalars().isDeleted()?null:u.getPointData().getScalars().getData(),imageData:o.getMapper().getInputData(),metadata:{Modality:null==s||null===(r=s.metadata)||void 0===r?void 0:r.Modality},scaling:null==s?void 0:s.scaling,hasPixelSpacing:!0}}}}},{key:"_setVolumeActors",value:function(e){this.inverted=!1,this.setActors(e)}},{key:"_getOrientationVectors",value:function(e){if("object"===G(e)){if(e.viewPlaneNormal&&e.viewUp)return e;throw new Error("Invalid orientation object. It must contain viewPlaneNormal and viewUp")}if("string"==typeof e&&B[e])return B[e];throw new Error("Invalid orientation: ".concat(e,". Valid orientations are: ").concat(Object.keys(B).join(", ")))}},{key:"getSlabThickness",value:function(){var e=this.getActors(),t=N.MINIMUM_SLAB_THICKNESS;return e.forEach((function(e){e.slabThickness>t&&(t=e.slabThickness)})),t}},{key:"getIntensityFromWorld",value:function(e){var t=this.getDefaultActor();if(Pn(t,"vtkVolume")){var r=t.actor,n=t.uid,i=r.getMapper().getInputData(),a=Rn.getVolume(n),o=a.dimensions,s=Ii(i,e),u=s[2]*o[0]*o[1]+s[1]*o[0]+s[0];return a.getScalarData()[u]}}}],[{key:"useCustomRenderingPipeline",get:function(){return!1}}]),s}(gi),bi=Ci;var Ei=function(e){yn(o,e);var t,r,n,i,a=(n=o,i=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=hn(n);if(i){var r=hn(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return In(this,e)});function o(e){var t;se(this,o),ee(pn(t=a.call(this,e)),"_useAcquisitionPlaneForViewPlane",!1),ee(pn(t),"getCurrentImageIdIndex",(function(){var e=t.getCamera(),r=e.viewPlaneNormal,n=e.focalPoint,i=t.getImageData(),a=i.origin,o=i.spacing[2],s=En.vec3.create();En.vec3.sub(s,n,a);var u=En.vec3.dot(s,r);return Math.round(Math.abs(u)/o)})),ee(pn(t),"getCurrentImageId",(function(){t.getActors().length>1&&console.warn("Using the first/default actor of ".concat(t.getActors().length," actors for getCurrentImageId."));var e=t.getDefaultActor();if(e&&Pn(e,"vtkVolume")){var r=e.uid,n=Rn.getVolume(r);if(n){var i=t.getCamera(),a=i.viewPlaneNormal;return An(n,i.focalPoint,a)}}})),ee(pn(t),"getRotation",(function(){return 0}));var r=t.options.orientation;return r&&r!==E.ACQUISITION?(t.applyViewOrientation(r),In(t)):(t._useAcquisitionPlaneForViewPlane=!0,t)}return ce(o,[{key:"setVolumes",value:(r=H(Y().mark((function e(t){var r,n,i,a=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.length>1&&void 0!==a[1]&&a[1],n=a.length>2&&void 0!==a[2]&&a[2],i=Rn.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),e.abrupt("return",mn(hn(o.prototype),"setVolumes",this).call(this,t,r,n));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"addVolumes",value:(t=H(Y().mark((function e(t){var r,n,i,a=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.length>1&&void 0!==a[1]&&a[1],n=a.length>2&&void 0!==a[2]&&a[2],i=Rn.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),e.abrupt("return",mn(hn(o.prototype),"addVolumes",this).call(this,t,r,n));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"setOrientation",value:function(e){var t,r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(B[e]){var i=B[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:"_getAcquisitionPlaneOrientation",value:function(){var e=this.getDefaultActor();if(e){var t=e.uid,r=Rn.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:"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:"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];mn(hn(o.prototype),"resetCamera",this).call(this,t,r,n),this.resetVolumeViewportClippingRange();var i=this.getVtkActiveCamera(),a=i.getViewPlaneNormal(),s=i.getFocalPoint();return this.getActors().forEach((function(t){if(t.actor){var r=t.actor.getMapper();if(0===r.getClippingPlanes().length){var n=bn().newInstance(),i=bn().newInstance(),o=[n,i],u=N.MINIMUM_SLAB_THICKNESS;t.slabThickness&&(u=t.slabThickness),e.setOrientationOfClippingPlanes(o,u,a,s),r.addClippingPlane(n),r.addClippingPlane(i)}}})),!0}},{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){Pn(t,"vtkVolume")&&(t.slabThickness=e)}));var n=this.getCamera();this.updateClippingPlanesForActors(n),this.triggerCameraModifiedEventIfNecessary(n,n)}},{key:"resetProperties",value:function(e){this._resetProperties(e)}},{key:"_resetProperties",value:function(e){var t=e?this.getActor(e):this.getDefaultActor();if(!t)throw new Error("No actor found for the given volumeId: ".concat(e));var r=Rn.getVolume(t.uid);if(!r)throw new Error("imageVolume with id: ".concat(t.uid," does not exist in cache"));ar(t.actor,r,!1);var n=t.actor.getProperty().getRGBTransferFunction(0).getMappingRange(),i={viewportId:t.uid,range:{lower:n[0],upper:n[1]},volumeId:t.uid};Je(this.element,d.VOI_MODIFIED,i)}}]),o}(bi),Ri=Ei,ki=Z(7896),Pi=Z.n(ki),Oi=Z(9861),Ai=Z.n(Oi);function Ti(e,t,r){return Math.abs(e-t)<=r}function Si(e){return"number"==typeof e}function _i(e){return"length"in e&&"number"==typeof e[0]}function xi(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;return G(e)===G(t)&&null!==e&&null!==t&&(Si(e)&&Si(t)?Ti(e,t,r):!(!_i(e)||!_i(t))&&function(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(!Ti(e[n],t[n],r))return!1;return!0}(e,t,r))}function Di(){return window.performance?performance.now():Date.now()}function Mi(e,t,r){return r?function(e){var t=Math.max.apply(Math,gr(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){var n=255*((r-(t-.5))/(e-1)+.5);return Math.min(Math.max(n,0),255)}}(e,t)}var Vi=function(){function e(){se(this,e),ee(this,"m",void 0),this.reset()}return ce(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 Li(e,t){var r=new Vi;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 u=e.canvas.height/(s*a),c=e.canvas.width/(o*i);i=a=Math.min(c,u),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 Ui(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=Li(e,r).getMatrix();t.setTransform(n[0],n[1],n[2],n[3],n[4],n[5])}function ji(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 Ni(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 Fi(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 Gi(e,t,r){var n=!0===e.renderingTools.lastRenderedIsColor;e.renderingTools.renderCanvas&&n||(e.renderingTools.renderCanvas=document.createElement("canvas"));var i=e.renderingTools.renderCanvas,a=e.viewport.voi,o=a.windowWidth,s=a.windowCenter;if((256===o||255===o)&&(128===s||127===s)&&!1===e.viewport.invert&&t.getCanvas&&t.getCanvas())return t.getCanvas();if(!1===ji(e,t)&&!0!==r)return i;i.width===t.width&&i.height===t.height||Ni(e,t);var u=Di(),c=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 u=a-s+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(u)}var c=e.cachedLut.lutArray,l=Mi(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r,void 0);if(!0===n)for(var d=o;d<=a;d++)c[d+-s]=255-l(d);else for(var v=o;v<=a;v++)c[v+-s]=l(v)}(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=Di()-u;var l=e.renderingTools.renderCanvasData,d=e.renderingTools.renderCanvasContext;return t.rgba?function(e,t,r){var n=Di(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Di()-n;var a=e.minPixelValue,o=0,s=0,u=i.length;if(n=Di(),a<0)for(;s<u;)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<u;)r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o++]=i[s++];e.stats.lastStoredPixelDataToCanvasImageDataTime=Di()-n}(t,c,l.data):function(e,t,r){var n=Di(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Di()-n;var a=e.minPixelValue,o=0,s=0,u=i.length;if(n=Di(),a<0)for(;s<u;)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<u;)r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o]=t[i[s]],s+=2,o+=2;e.stats.lastStoredPixelDataToCanvasImageDataTime=Di()-n}(t,c,l.data),u=Di(),d.putImageData(l,0,0),t.stats.lastPutImageDataTime=Di()-u,i}function Wi(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,Ui(e,n);var i=Gi(e,r,t),a=e.viewport.displayedArea.tlhc.x-1,o=e.viewport.displayedArea.tlhc.y-1,s=e.viewport.displayedArea.brhc.x-a,u=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,u,0,0,s,u),e.renderingTools=Fi(e)}function Bi(e,t){return!e&&!t||!(!e||!t)&&e.id===t.id}function qi(e,t,r){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&Bi(e.cachedLut.modalityLUT,t.modalityLUT)&&Bi(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,u=Math.min(s,0);if(void 0===e.cachedLut){var c=o-u+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(c)}var l=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),v=Mi(t,r,a);if(e.isPreScaled)if(!0===n)for(var f=s;f<=o;f++)l[f+-u]=255-v(f);else for(var g=s;g<=o;g++)l[g+-u]=v(g);else if(!0===n)for(var p=s;p<=o;p++)l[p+-u]=255-v(d(p));else for(var h=s;h<=o;h++)l[h+-u]=v(d(h))}(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 zi(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,Ui(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"),Ni(e,t));var a=e.renderingTools.renderCanvas;if(!1===ji(e,t)&&!0!==r)return a;a.width===t.width&&a.height===t.height||Ni(e,t),t.stats=t.stats||{};var o=e.renderingTools.renderCanvasData,s=e.renderingTools.renderCanvasContext,u=Di();t.stats.lastLutGenerateTime=Di()-u;var c=e.viewport;if("PT"===c.modality&&t.isPreScaled){var l=c.voi,d=l.windowWidth,v=l.windowCenter,f=v-d/2,g=255/(v+d/2-f);!function(e,t,r){var n=Di(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Di()-n;var a=i.length,o=3,s=0;for(n=Di();s<a;)r[o]=t(i[s++]),o+=4;e.stats.lastStoredPixelDataToCanvasImageDataTime=Di()-n}(t,c.invert?function(e){return 255-(e-f)*g}:function(e){return(e-f)*g},o.data)}else{var p=qi(t,c,r);n?function(e,t,r){var n=Di(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Di()-n;var a=i.length,o=e.minPixelValue,s=3,u=0;if(n=Di(),i instanceof Int16Array)if(o<0)for(;u<a;)r[s]=t[i[u++]+-o],s+=4;else for(;u<a;)r[s]=t[i[u++]],s+=4;else if(i instanceof Uint16Array)for(;u<a;)r[s]=t[i[u++]],s+=4;else if(o<0)for(;u<a;)r[s]=t[i[u++]+-o],s+=4;else for(;u<a;)r[s]=t[i[u++]],s+=4;e.stats.lastStoredPixelDataToCanvasImageDataTime=Di()-n}(t,p,o.data):function(e,t,r){var n=Di(),i=e.getPixelData();e.stats.lastGetPixelDataTime=Di()-n;var a,o=i.length,s=e.minPixelValue,u=0,c=0;if(n=Di(),i instanceof Int16Array)if(s<0)for(;c<o;)a=t[i[c++]+-s],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;else for(;c<o;)a=t[i[c++]],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;else if(i instanceof Uint16Array)for(;c<o;)a=t[i[c++]],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;else if(s<0)for(;c<o;)a=t[i[c++]+-s],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;else for(;c<o;)a=t[i[c++]],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;e.stats.lastStoredPixelDataToCanvasImageDataTime=Di()-n}(t,p,o.data)}return u=Di(),s.putImageData(o,0,0),t.stats.lastPutImageDataTime=Di()-u,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,u=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,u,0,0,s,u),e.renderingTools=Fi(e)}function Hi(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),u=r*(1-t*(1-a));switch(i){case 0:case 6:n[0]=r,n[1]=u,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]=u;break;case 3:n[0]=o,n[1]=s,n[2]=r;break;case 4:n[0]=u,n[1]=o,n[2]=r;break;case 5:n[0]=r,n[1]=o,n[2]=s}return n}var Ki=function(){function e(){se(this,e),ee(this,"NumberOfColors",void 0),ee(this,"Ramp",void 0),ee(this,"TableRange",void 0),ee(this,"HueRange",void 0),ee(this,"SaturationRange",void 0),ee(this,"ValueRange",void 0),ee(this,"AlphaRange",void 0),ee(this,"NaNColor",void 0),ee(this,"BelowRangeColor",void 0),ee(this,"UseBelowRangeColor",void 0),ee(this,"AboveRangeColor",void 0),ee(this,"UseAboveRangeColor",void 0),ee(this,"InputRange",void 0),ee(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 ce(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,u=this.SaturationRange[0]+o*r,c=this.ValueRange[0]+o*n,l=this.AlphaRange[0]+o*i,d=Hi(s,u,c),v=[0,0,0,0];switch(this.Ramp){case"scurve":v[0]=Math.floor(127.5*(1+Math.cos((1-d[0])*Math.PI))),v[1]=Math.floor(127.5*(1+Math.cos((1-d[1])*Math.PI))),v[2]=Math.floor(127.5*(1+Math.cos((1-d[2])*Math.PI))),v[3]=Math.floor(255*l);break;case"linear":v[0]=Math.floor(255*d[0]+.5),v[1]=Math.floor(255*d[1]+.5),v[2]=Math.floor(255*d[2]+.5),v[3]=Math.floor(255*l+.5);break;case"sqrt":v[0]=Math.floor(255*Math.sqrt(d[0])+.5),v[1]=Math.floor(255*Math.sqrt(d[1])+.5),v[2]=Math.floor(255*Math.sqrt(d[2])+.5),v[3]=Math.floor(255*Math.sqrt(l)+.5);break;default:throw new Error("Invalid Ramp value (".concat(this.Ramp,")"))}this.Table.push(v)}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}(),Yi=Ki,Xi=function(e,t,r,n){var i=Di(),a=e.getPixelData();e.stats.lastGetPixelDataTime=Di()-i;var o,s,u=a.length,c=e.minPixelValue,l=0,d=0;if(i=Di(),s=r instanceof Yi?r.Table:r,c<0)for(;d<u;)o=s[t[a[d++]+-c]],n[l++]=o[0],n[l++]=o[1],n[l++]=o[2],n[l++]=o[3];else for(;d<u;)o=s[t[a[d++]]],n[l++]=o[0],n[l++]=o[1],n[l++]=o[2],n[l++]=o[3];e.stats.lastStoredPixelDataToCanvasImageDataTime=Di()-i},Zi=function(e,t,r,n){var i=Di(),a=e.getPixelData();e.stats.lastGetPixelDataTime=Di()-i;var o,s,u=a.length,c=e.minPixelValue,l=0,d=0;if(i=Di(),s=r instanceof Yi?r.Table:r,c<0)for(;d<u;)o=s[t(a[d++]+-c)],n[l++]=o[0],n[l++]=o[1],n[l++]=o[2],n[l++]=o[3];else for(;d<u;)o=s[t(a[d++])],n[l++]=o[0],n[l++]=o[1],n[l++]=o[2],n[l++]=o[3];e.stats.lastStoredPixelDataToCanvasImageDataTime=Di()-i},$i=[0,0,0,0];function Qi(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 Ji(e,t,r){var n,i=[],a=[],o=[],s=[];for(r=null===r?1:r,n=0;n<t.length;n++){var u=t[n];i.push((e-1)*u[0]),a.push(u[1]),o.push(u[1])}var c=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++)c[n]=(e-1)*Math.pow(c[n],r);var l=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]=Qi(e,t[r]);return n}(i,c);for(n=1;n<e-1;n++){var d=l[n],v=(c[n]-i[d-1])/(i[d]-i[d-1]),f=a[d]-o[d-1];s[n]=v*f+o[d-1]}return s[0]=o[0],s[e-1]=a[t.length-1],s}function ea(e,t){var r=U[e];return r||(r=U[e]=t||{name:"",colors:[]}),!r.colors&&r.segmentedData&&(r.colors=function(e,t,r){var n,i=[];r=null===r?1:r;var a=Ji(t=null===t?256:t,e.red,r),o=Ji(t,e.green,r),s=Ji(t,e.blue,r);for(n=0;n<t;n++){var u=[Math.round(255*a[n]),Math.round(255*o[n]),Math.round(255*s[n]),255];i.push(u)}return i}(r.segmentedData,r.numColors,r.gamma)),{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($i);r.colors.length=e},getColor:function(e){return this.isValidIndex(e)?r.colors[e]:$i},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 Yi;return this.buildLookupTable(e),e},isValidIndex:function(e){return e>=0&&e<r.colors.length}}}function ta(e,t,r){return Math.max(t,Math.min(r,e))}function ra(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,Ui(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=ea(i)),!i)throw new Error("renderPseudoColorImage: colormap not found.");var a=i.getId();if(!1===ji(e,t)&&!0!==r&&e.renderingTools.colormapId===a)return n;n.width===t.width&&n.height===t.height||Ni(e,t);var o=Di();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,u=e.renderingTools.renderCanvasContext,c=e.viewport,l=e.renderingTools.colorLUT;if("PT"===c.modality){var d,v=c.voi,f=v.windowWidth,g=v.windowCenter,p=g-f/2,h=255/(g+f/2-p);d=c.invert?function(e){return ta(Math.floor(255-(e-p)*h),0,255)}:function(e){return ta(Math.floor((e-p)*h),0,255)},Zi(t,d,l,s.data)}else{var m=qi(t,e.viewport,r);t.stats=t.stats||{},t.stats.lastLutGenerateTime=Di()-o,Xi(t,m,l,s.data)}return o=Di(),u.putImageData(s,0,0),t.stats.lastPutImageDataTime=Di()-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,u=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,u,0,0,s,u),e.renderingTools=Fi(e)}function na(e,t){var r=e.image;if(e.canvas&&e.image){var n=Di();if(r.stats={lastGetPixelDataTime:-1,lastStoredPixelDataToCanvasImageDataTime:-1,lastPutImageDataTime:-1,lastRenderTime:-1,lastLutGenerateTime:-1},r){var i=r.render;i||(i=e.viewport.colormap?ra:r.color?Wi:zi),i(e,t)}var a=Di()-n;r.stats.lastRenderTime=a,e.invalid=!1,e.needsRedraw=!1}}function ia(e){return Li(e)}function aa(e,t){var r=ia(e);return r.invert(),r.transformPoint(t)}function oa(e,t){return ia(e).transformPoint(t)}var sa={viewport:{}};function ua(e,t){if(null==e)throw new Error(t)}function ca(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return ua(e,"getImageSize: parameter image must not be undefined"),ua(e.width,"getImageSize: parameter image must have width"),ua(e.height,"getImageSize: parameter image must have height"),function(e){return!(null==e||0===e||180===e)}(t)?{height:e.width,width:e.height}:{width:e.width,height:e.height}}function la(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;ua(e,"getImageScale: parameter canvas must not be undefined"),ua(t,"getImageScale: parameter image must not be undefined");var n=ca(t,r),i=t.rowPixelSpacing||1,a=t.columnPixelSpacing||1,o=1,s=1;i<a?s=a/i:o=i/a;var u=e.height/n.height/o,c=e.width/n.width/s;return{verticalScale:u,horizontalScale:c,scaleFactor:Math.min(c,u)}}function da(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,sa.viewport);var i,a,o=la(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 va(e){var t=_n().newInstance(),r=0,n=1024;return e&&void 0!==e.lower&&void 0!==e.upper&&(r=e.lower,n=e.upper),t.addRGBPoint(r,0,0,0),t.addRGBPoint(n,1,1,1),t}function fa(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 ga(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?fa(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fa(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var pa=function(e){yn(u,e);var t,r,n,i,a,o,s=(a=u,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=hn(a);if(o){var r=hn(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return In(this,e)});function u(e){var t,r,n,i,a,o,c,l,d,v,f;return se(this,u),ee(pn(f=s.call(this,e)),"imageIds",void 0),ee(pn(f),"currentImageIdIndex",void 0),ee(pn(f),"targetImageIdIndex",void 0),ee(pn(f),"debouncedTimeout",void 0),ee(pn(f),"voiRange",void 0),ee(pn(f),"voiUpdatedWithSetProperties",!1),ee(pn(f),"VOILUTFunction",void 0),ee(pn(f),"invert",!1),ee(pn(f),"initialInvert",!1),ee(pn(f),"interpolationType",void 0),ee(pn(f),"_imageData",void 0),ee(pn(f),"cameraFocalPointOnRender",void 0),ee(pn(f),"stackInvalidated",!1),ee(pn(f),"_publishCalibratedEvent",!1),ee(pn(f),"_calibrationEvent",void 0),ee(pn(f),"_cpuFallbackEnabledElement",void 0),ee(pn(f),"useCPURendering",void 0),ee(pn(f),"useNativeDataType",!1),ee(pn(f),"cpuImagePixelData",void 0),ee(pn(f),"cpuRenderingInvalidated",void 0),ee(pn(f),"csImage",void 0),ee(pn(f),"modality",void 0),ee(pn(f),"scaling",void 0),ee(pn(f),"initialViewUp",void 0),ee(pn(f),"updateRenderingPipeline",(function(){f._configureRenderingPipeline()})),ee(pn(f),"getImageData",void 0),ee(pn(f),"setColormap",void 0),ee(pn(f),"getCamera",void 0),ee(pn(f),"setCamera",void 0),ee(pn(f),"getRotation",void 0),ee(pn(f),"unsetColormap",void 0),ee(pn(f),"resetCamera",void 0),ee(pn(f),"canvasToWorld",void 0),ee(pn(f),"worldToCanvas",void 0),ee(pn(f),"getRenderer",void 0),ee(pn(f),"getDefaultActor",void 0),ee(pn(f),"getActors",void 0),ee(pn(f),"getActor",void 0),ee(pn(f),"setActors",void 0),ee(pn(f),"addActors",void 0),ee(pn(f),"addActor",void 0),ee(pn(f),"removeAllActors",void 0),ee(pn(f),"setVOI",void 0),ee(pn(f),"setInterpolationType",void 0),ee(pn(f),"setInvertColor",void 0),ee(pn(f),"resize",(function(){f.useCPURendering&&f._resizeCPU()})),ee(pn(f),"_resizeCPU",(function(){f._cpuFallbackEnabledElement.viewport&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.canvas.width,n=e.canvas.height;!function(e){var t=e.canvas,r=t.clientWidth,n=t.clientHeight;t.width===r&&t.height===n||(t.width=r,t.height=n)}(e),void 0!==e.image&&(t||function(e,t,r){var n=e.viewport.scale,i=ca(e.image,e.viewport.rotation),a=Math.round(i.width*n),o=Math.round(i.height*n),s=e.viewport.translation.x,u=e.viewport.translation.y;return a===t&&o<=r||a<=t&&o===r&&0===s&&0===u}(e,r,n)?function(e){var t=e.image;e.viewport.scale=la(e.canvas,t,e.viewport.rotation).scaleFactor,e.viewport.translation.x=0,e.viewport.translation.y=0}(e):function(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}(e,r,n))}(f._cpuFallbackEnabledElement)})),ee(pn(f),"getFrameOfReferenceUID",(function(){var e=f.getCurrentImageId();if(e){var t=zt("imagePlaneModule",e);if(t)return t.frameOfReferenceUID}})),ee(pn(f),"getCornerstoneImage",(function(){return f.csImage})),ee(pn(f),"createActorMapper",(function(e){var t=Pi().newInstance();t.setInputData(e);var r=Ai().newInstance();return r.setMapper(t),qe().rendering.preferSizeOverAccuracy&&t.setPreferSizeOverAccuracy(!0),e.getPointData().getNumberOfComponents()>1&&r.getProperty().setIndependentComponents(!1),r})),ee(pn(f),"getProperties",(function(){var e=pn(f),t=e.voiRange,r=e.VOILUTFunction,n=e.interpolationType,i=e.invert,a=e.voiUpdatedWithSetProperties;return{voiRange:t,VOILUTFunction:r,interpolationType:n,invert:i,rotation:f.getRotation(),isComputedVOI:!a}})),ee(pn(f),"getRotationCPU",(function(){return f._cpuFallbackEnabledElement.viewport.rotation})),ee(pn(f),"getRotationGPU",(function(){var e=f.getCamera(),t=e.viewUp,r=e.viewPlaneNormal,n=e.flipVertical?En.vec3.negate(En.vec3.create(),f.initialViewUp):f.initialViewUp,i=180*En.vec3.angle(n,t)/Math.PI,a=En.vec3.cross(En.vec3.create(),n,t);return En.vec3.dot(a,r)>=0?i:(360-i)%360})),ee(pn(f),"renderImageObject",(function(e){f._setCSImage(e),(f.useCPURendering?f._updateToDisplayImageCPU:f._updateActorToDisplayImageId).call(pn(f),e)})),ee(pn(f),"_setCSImage",(function(e){var t;e.isPreScaled=null===(t=e.preScale)||void 0===t?void 0:t.scaled,f.csImage=e})),ee(pn(f),"canvasToWorldCPU",(function(e){if(f._cpuFallbackEnabledElement.image){var t=Tn(aa(f._cpuFallbackEnabledElement,e),2),r=t[0],n=t[1],i=f.getImageData(),a=i.origin,o=i.spacing,s=i.direction,u=En.vec3.fromValues(0,0,0),c=s.slice(0,3),l=s.slice(3,6);return En.vec3.scaleAndAdd(u,a,c,r*o[0]),En.vec3.scaleAndAdd(u,u,l,n*o[1]),[u[0],u[1],u[2]]}})),ee(pn(f),"worldToCanvasCPU",(function(e){var t=f.getImageData(),r=t.spacing,n=t.direction,i=t.origin,a=n.slice(0,3),o=n.slice(3,6),s=En.vec3.subtract(En.vec3.create(),e,i),u=[En.vec3.dot(s,a)/r[0],En.vec3.dot(s,o)/r[1]];return oa(f._cpuFallbackEnabledElement,u)})),ee(pn(f),"canvasToWorldGPU",(function(e){var t=f.getRenderer(),r=f.getVtkActiveCamera(),n=r.getClippingRange(),i=r.getDistance();r.setClippingRange(i,i+.1);var a=f.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),o=a.getSize(),s=window.devicePixelRatio||1,u=[e[0]*s,e[1]*s],c=[u[0]+f.sx,u[1]+f.sy];c[1]=o[1]-c[1];var l=a.displayToWorld(c[0],c[1],0,t);return r.setClippingRange(n[0],n[1]),[l[0],l[1],l[2]]})),ee(pn(f),"worldToCanvasGPU",(function(e){var t=f.getRenderer(),r=f.getVtkActiveCamera(),n=r.getClippingRange(),i=r.getDistance();r.setClippingRange(i,i+.1);var a=f.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),o=a.getSize(),s=a.worldToDisplay.apply(a,gr(e).concat([t]));s[1]=o[1]-s[1];var u=[s[0]-f.sx,s[1]-f.sy];r.setClippingRange(n[0],n[1]);var c=window.devicePixelRatio||1;return[u[0]/c,u[1]/c]})),ee(pn(f),"getCurrentImageIdIndex",(function(){return f.currentImageIdIndex})),ee(pn(f),"getTargetImageIdIndex",(function(){return f.targetImageIdIndex})),ee(pn(f),"getImageIds",(function(){return f.imageIds})),ee(pn(f),"getCurrentImageId",(function(){return f.imageIds[f.currentImageIdIndex]})),ee(pn(f),"hasImageId",(function(e){return f.imageIds.includes(e)})),ee(pn(f),"hasImageURI",(function(e){for(var t=f.imageIds,r=0;r<t.length;r++)if(le(t[r])===e)return!0;return!1})),ee(pn(f),"customRenderViewportToCanvas",(function(){if(!f.useCPURendering)throw new Error("Custom cpu rendering pipeline should only be hit in CPU rendering mode");return f._cpuFallbackEnabledElement.image?(na(f._cpuFallbackEnabledElement,f.cpuRenderingInvalidated),f.cpuRenderingInvalidated=!1):f.fillWithBackgroundColor(),{canvas:f.canvas,element:f.element,viewportId:f.id,renderingEngineId:f.renderingEngineId,viewportStatus:f.viewportStatus}})),ee(pn(f),"renderingPipelineFunctions",{getImageData:{cpu:f.getImageDataCPU,gpu:f.getImageDataGPU},setColormap:{cpu:f.setColormapCPU,gpu:f.setColormapGPU},getCamera:{cpu:f.getCameraCPU,gpu:mn((t=pn(f),hn(u.prototype)),"getCamera",t)},setCamera:{cpu:f.setCameraCPU,gpu:mn((r=pn(f),hn(u.prototype)),"setCamera",r)},setVOI:{cpu:f.setVOICPU,gpu:f.setVOIGPU},getRotation:{cpu:f.getRotationCPU,gpu:f.getRotationGPU},setInterpolationType:{cpu:f.setInterpolationTypeCPU,gpu:f.setInterpolationTypeGPU},setInvertColor:{cpu:f.setInvertColorCPU,gpu:f.setInvertColorGPU},resetCamera:{cpu:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return f.resetCameraCPU(e,t),!0},gpu:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return f.resetCameraGPU(e,t),!0}},canvasToWorld:{cpu:f.canvasToWorldCPU,gpu:f.canvasToWorldGPU},worldToCanvas:{cpu:f.worldToCanvasCPU,gpu:f.worldToCanvasGPU},getRenderer:{cpu:function(){return f.getCPUFallbackError("getRenderer")},gpu:mn((n=pn(f),hn(u.prototype)),"getRenderer",n)},getDefaultActor:{cpu:function(){return f.getCPUFallbackError("getDefaultActor")},gpu:mn((i=pn(f),hn(u.prototype)),"getDefaultActor",i)},getActors:{cpu:function(){return f.getCPUFallbackError("getActors")},gpu:mn((a=pn(f),hn(u.prototype)),"getActors",a)},getActor:{cpu:function(){return f.getCPUFallbackError("getActor")},gpu:mn((o=pn(f),hn(u.prototype)),"getActor",o)},setActors:{cpu:function(){return f.getCPUFallbackError("setActors")},gpu:mn((c=pn(f),hn(u.prototype)),"setActors",c)},addActors:{cpu:function(){return f.getCPUFallbackError("addActors")},gpu:mn((l=pn(f),hn(u.prototype)),"addActors",l)},addActor:{cpu:function(){return f.getCPUFallbackError("addActor")},gpu:mn((d=pn(f),hn(u.prototype)),"addActor",d)},removeAllActors:{cpu:function(){return f.getCPUFallbackError("removeAllActors")},gpu:mn((v=pn(f),hn(u.prototype)),"removeAllActors",v)},unsetColormap:{cpu:f.unsetColormapCPU,gpu:f.unsetColormapGPU}}),f.scaling={},f.modality=null,f.useCPURendering=Ne(),f.useNativeDataType=f._shouldUseNativeDataType(),f._configureRenderingPipeline(),f.useCPURendering?f._resetCPUFallbackElement():f._resetGPUViewport(),f.imageIds=[],f.currentImageIdIndex=0,f.targetImageIdIndex=0,f.cameraFocalPointOnRender=[0,0,0],f.resetCamera(),f.initializeElementDisabledHandler(),f}return ce(u,[{key:"setUseCPURendering",value:function(e){this.useCPURendering=e,this._configureRenderingPipeline()}},{key:"_configureRenderingPipeline",value:function(){this.useNativeDataType=this._shouldUseNativeDataType(),this.useCPURendering=Ne();for(var e=0,t=Object.entries(this.renderingPipelineFunctions);e<t.length;e++){var r=Tn(t[e],2),n=r[0],i=r[1];this[n]=this.useCPURendering?i.cpu:i.gpu}this.useCPURendering?this._resetCPUFallbackElement():this._resetGPUViewport()}},{key:"_resetCPUFallbackElement",value:function(){this._cpuFallbackEnabledElement={canvas:this.canvas,renderingTools:{},transform:new Vi,viewport:{rotation:0}}}},{key:"_resetGPUViewport",value:function(){var e=this.getRenderer(),t=hi().newInstance();e.setActiveCamera(t);var r=[0,0,-1];this.initialViewUp=[0,-1,0],t.setDirectionOfProjection(-r[0],-r[1],-r[2]),t.setViewUp.apply(t,gr(this.initialViewUp)),t.setParallelProjection(!0),t.setThicknessFromFocalPoint(.1),t.setFreezeFocalPoint(!0)}},{key:"initializeElementDisabledHandler",value:function(){Qe.addEventListener(d.ELEMENT_DISABLED,(function e(){clearTimeout(this.debouncedTimeout),Qe.removeEventListener(d.ELEMENT_DISABLED,e)}))}},{key:"getImageDataGPU",value:function(){var e=this.getDefaultActor();if(e&&kn(e)){var t=e.actor,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,calibration:this.calibration,preScale:ga({},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=aa(e._cpuFallbackEnabledElement,r);return[n[0],n[1],0]},indexToWorld:function(t){var r=oa(e._cpuFallbackEnabledElement,[t[0],t[1]]);return e.canvasToWorldCPU(r)}},scalarData:this.cpuImagePixelData,hasPixelSpacing:this.hasPixelSpacing,calibration:this.calibration,preScale:ga({},this.csImage.preScale)}}},{key:"buildMetadata",value:function(e){var t=e.imageId,r=zt("imagePixelModule",t),n=r.pixelRepresentation,i=r.bitsAllocated,a=r.bitsStored,o=r.highBit,s=r.photometricInterpretation,u=r.samplesPerPixel,c=e.windowWidth,l=e.windowCenter,d=e.voiLUTFunction,v=zt("generalSeriesModule",t).modality,f=zt("scalingModule",t);"PT"===v&&f&&this._addScalingToViewport(f),this.modality=v;var g=this._getValidVOILUTFunction(d);this.VOILUTFunction=g,this.calibration=null;var p=this._getImagePlaneModule(t);return this.useCPURendering||(p=this.calibrateIfNecessary(t,p)),{imagePlaneModule:p,imagePixelModule:{bitsAllocated:i,bitsStored:a,samplesPerPixel:u,highBit:o,photometricInterpretation:s,pixelRepresentation:n,windowWidth:c,windowCenter:l,modality:v,voiLUTFunction:g}}}},{key:"calibrateIfNecessary",value:function(e,t){var r=zt("calibratedPixelSpacing",e),n=this.calibration!==r,i=(r||{}).scale;return this.hasPixelSpacing=i>0||t.rowPixelSpacing>0,t.calibration=r,n?(this.calibration=r,this._publishCalibratedEvent=!0,this._calibrationEvent={scale:i,calibration:r},t):t}},{key:"setProperties",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.voiRange,r=e.VOILUTFunction,n=e.invert,i=e.interpolationType,a=e.rotation,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.viewportStatus=this.csImage?L.PRE_RENDER:L.LOADING,void 0!==t&&this.setVOI(t,{suppressEvents:o,voiUpdatedWithSetProperties:!0}),void 0!==r&&this.setVOILUTFunction(r,o),void 0!==n&&this.setInvertColor(n),void 0!==i&&this.setInterpolationType(i),void 0!==a&&this.getRotation()!==a&&this.setRotation(a)}},{key:"resetProperties",value:function(){this.cpuRenderingInvalidated=!0,this.voiUpdatedWithSetProperties=!1,this.viewportStatus=L.PRE_RENDER,this.fillWithBackgroundColor(),this.useCPURendering&&(this._cpuFallbackEnabledElement.renderingTools={}),this._resetProperties(),this.render()}},{key:"_resetProperties",value:function(){var e;e=this._isCurrentImagePTPrescaled()?this._getDefaultPTPrescaledVOIRange():this._getVOIRangeForCurrentImage(),this.setVOI(e),0!==this.getRotation()&&this.setRotation(0),this.setInterpolationType(m.LINEAR),this.setInvertColor(this.initialInvert)}},{key:"_setPropertiesFromCache",value:function(){var e,t=this.interpolationType,r=this.invert;if(this.voiUpdatedWithSetProperties)e=this.voiRange;else if(this._isCurrentImagePTPrescaled())e=this._getDefaultPTPrescaledVOIRange();else{var n;e=null!==(n=this._getVOIRangeForCurrentImage())&&void 0!==n?n:this.voiRange}this.setVOI(e),this.setInterpolationType(t),this.setInvertColor(r)}},{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(r.rotation){var o=En.mat4.fromRotation(En.mat4.create(),r.rotation*Math.PI/180,i);a=En.vec3.transformMat4(En.vec3.create(),a,o)}var s=[this.element.clientWidth/2,this.element.clientHeight/2],u=this.canvasToWorld(s),c=this.canvasToWorld([0,0]),l=this.canvasToWorld([0,this.element.clientHeight]);return{parallelProjection:!0,focalPoint:u,position:[0,0,0],parallelScale:En.vec3.distance(c,l)/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,u=e.flipHorizontal,c=e.flipVertical,l=this.element.clientHeight;if(a){var v=this.worldToCanvasCPU(a),f=aa(this._cpuFallbackEnabledElement,v),g=this.worldToCanvasCPU(i.focalPoint),p=aa(this._cpuFallbackEnabledElement,g),h=En.vec2.create();En.vec2.subtract(h,En.vec2.fromValues(f[0],f[1]),En.vec2.fromValues(p[0],p[1]));var m=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),u=e.x*o-e.y*s,c=e.x*s+e.y*o;e.x=u,e.y=c}return e}({x:h[0],y:h[1]},r);r.translation.x-=m.x,r.translation.y-=m.y}if(o){var w=l*n.rowPixelSpacing*.5/o;r.scale=w,r.parallelScale=o}if(s){var y=n.rowPixelSpacing;r.scale=s,r.parallelScale=l*y*.5/s}void 0===u&&void 0===c||this.setFlipCPU({flipHorizontal:u,flipVertical:c}),this._cpuFallbackEnabledElement.transform=Li(this._cpuFallbackEnabledElement);var I={previousCamera:i,camera:this.getCamera(),element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:this.getRotation()};Je(this.element,d.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:"setRotation",value:function(e){var t=this.getCamera();this.useCPURendering?this.setRotationCPU(e):this.setRotationGPU(e);var r={previousCamera:t,camera:this.getCamera(),element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:e};Je(this.element,d.CAMERA_MODIFIED,r)}},{key:"setVOILUTFunction",value:function(e,t){if(this.useCPURendering)throw new Error("VOI LUT function is not supported in CPU rendering");var r=this._getValidVOILUTFunction(e),n=!1;this.VOILUTFunction!==_.LINEAR&&r===_.LINEAR&&(n=!0),this.VOILUTFunction=r;var i=this.getProperties().voiRange;this.setVOI(i,{suppressEvents:t,forceRecreateLUTFunction:n})}},{key:"setRotationCPU",value:function(e){this._cpuFallbackEnabledElement.viewport.rotation=e}},{key:"setRotationGPU",value:function(e){var t=this.getCamera().flipVertical?En.vec3.negate(En.vec3.create(),this.initialViewUp):this.initialViewUp;this.setCameraNoEvent({viewUp:t}),this.getVtkActiveCamera().roll(-e)}},{key:"setInterpolationTypeGPU",value:function(e){var t=this.getDefaultActor();t&&kn(t)&&(t.actor.getProperty().setInterpolationType(e),this.interpolationType=e)}},{key:"setInterpolationTypeCPU",value:function(e){this._cpuFallbackEnabledElement.viewport.pixelReplication=e!==m.LINEAR,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&&kn(t))if(Pn(t,"vtkVolume")){var r=t.actor.getProperty().getRGBTransferFunction(0);(!this.invert&&e||this.invert&&!e)&&Gn(r),this.invert=e}else if(Pn(t,"vtkImageSlice")){var n=t.actor.getProperty().getRGBTransferFunction(0);(!this.invert&&e||this.invert&&!e)&&Gn(n),this.invert=e}}},{key:"setVOICPU",value:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).suppressEvents,r=void 0!==t&&t,n=this._cpuFallbackEnabledElement,i=n.viewport,a=n.image;if(i&&a){if(void 0===e){var o=a.windowWidth,s=a.windowCenter,u=Array.isArray(o)?o[0]:o,c=Array.isArray(s)?s[0]:s;i.voi={windowWidth:u,windowCenter:c};var l=Kt(u,c);e={lower:l.lower,upper:l.upper}}else{var v=e,f=Ht(v.lower,v.upper),g=f.windowCenter,p=f.windowWidth;i.voi||(i.voi={windowWidth:0,windowCenter:0}),i.voi.windowWidth=p,i.voi.windowCenter=g}this.voiRange=e;var h={viewportId:this.id,range:e};r||Je(this.element,d.VOI_MODIFIED,h)}}},{key:"setVOIGPU",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.suppressEvents,n=void 0!==r&&r,i=t.forceRecreateLUTFunction,a=void 0!==i&&i,o=t.voiUpdatedWithSetProperties,s=void 0!==o&&o;if(!e||!this.voiRange||this.voiRange.lower!==e.lower||this.voiRange.upper!==e.upper||a||this.stackInvalidated){var u=this.getDefaultActor();if(u&&kn(u)){var c=u.actor,l=e;if(void 0===l){var v=c.getMapper().getInputData().getPointData().getScalars().getRange();l={lower:v[0],upper:v[1]}}c.getProperty().setUseLookupTableScalarRange(!0);var f=c.getProperty().getRGBTransferFunction(0),g=this.VOILUTFunction===_.SAMPLED_SIGMOID;if((g||!f||a)&&(f=(g?Wn:va)(l),this.invert&&Gn(f),c.getProperty().setRGBTransferFunction(0,f)),g||f.setRange(l.lower,l.upper),this.voiRange=l,this.voiUpdatedWithSetProperties||(this.voiUpdatedWithSetProperties=s),!n){var p={viewportId:this.id,range:l,VOILUTFunction:this.VOILUTFunction};Je(this.element,d.VOI_MODIFIED,p)}}}}},{key:"_addScalingToViewport",value:function(e){if(!this.scaling.PT){var t=e.suvbw,r=e.suvlbm,n=e.suvbsa,i={};r&&(i.suvbwToSuvlbm=r/t),n&&(i.suvbwToSuvbsa=n/t),this.scaling.PT=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),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=En.vec3.fromValues(t[0],t[1],t[2]),s=En.vec3.fromValues(r[0],r[1],r[2]),u=En.vec3.create();En.vec3.cross(u,o,s);var c=i.imagePositionPatient;null==c&&(c=[0,0,0]);var l=i.columnPixelSpacing||e.columnPixelSpacing,d=i.rowPixelSpacing||e.rowPixelSpacing,v=e.columns,f=e.rows,g=e.numComps||this._getNumCompsFromPhotometricInterpretation(a.photometricInterpretation);return{bitsAllocated:a.bitsAllocated,numComps:g,origin:c,direction:[].concat(gr(o),gr(s),gr(u)),dimensions:[v,f,1],spacing:[l,d,1],numVoxels:v*f*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=e.origin,r=e.direction,n=e.dimensions,i=e.spacing,a=e.numComps,o=e.pixelArray,s=new o.constructor(o.length),u=ie().newInstance({name:"Pixels",numberOfComponents:a,values:s});this._imageData=re().newInstance(),this._imageData.setDimensions(n),this._imageData.setSpacing(i),this._imageData.setDirection(r),this._imageData.setOrigin(t),this._imageData.getPointData().setScalars(u)}},{key:"setStack",value:(i=H(Y().mark((function e(t){var r,n,i,a=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:0,this._throwIfDestroyed(),this.imageIds=t,this.currentImageIdIndex=r,this.targetImageIdIndex=r,this.stackInvalidated=!0,this.flipVertical=!1,this.flipHorizontal=!1,this.voiRange=null,this.interpolationType=m.LINEAR,this.invert=!1,this.viewportStatus=L.LOADING,this.fillWithBackgroundColor(),this.useCPURendering&&(this._cpuFallbackEnabledElement.renderingTools={},delete this._cpuFallbackEnabledElement.viewport.colormap),e.next=16,this._setImageIdIndex(r);case 16:return n=e.sent,i={imageIds:t,viewportId:this.id,element:this.element,currentImageIdIndex:r},Je(Qe,d.STACK_VIEWPORT_NEW_STACK,i),e.abrupt("return",n);case 20:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"_throwIfDestroyed",value:function(){if(this.isDisabled)throw new Error("The stack viewport has been destroyed and is no longer usable. Renderings will not be performed. If you are using the same viewportId and have re-enabled the viewport, you need to grab the new viewport instance using renderingEngine.getViewport(viewportId), instead of using your lexical scoped reference to the viewport instance.")}},{key:"_checkVTKImageDataMatchesCornerstoneImage",value:function(e,t){if(!t)return!1;var r=Tn(t.getSpacing(),2),n=r[0],i=r[1],a=Tn(t.getDimensions(),2),o=a[0],s=a[1],u=this._getImagePlaneModule(e.imageId),c=t.getDirection(),l=c.slice(0,3),d=c.slice(3,6),v=t.getPointData().getScalars().getDataType(),f=xi(n,e.columnPixelSpacing),g=xi(i,e.rowPixelSpacing);return(f||null===e.columnPixelSpacing&&1===n)&&(g||null===e.rowPixelSpacing&&1===i)&&o===e.columns&&s===e.rows&&xi(u.rowCosines,l)&&xi(u.columnCosines,d)&&(!this.useNativeDataType||v===e.getPixelData().constructor.name)}},{key:"_updateVTKImageDataFromCornerstoneImage",value:function(e){var t=this._getImagePlaneModule(e.imageId).imagePositionPatient;null==t&&(t=[0,0,0]),this._imageData.setOrigin(t),this._updatePixelData(e)}},{key:"_updatePixelData",value:function(e){var t=e.getPixelData(),r=this._imageData.getPointData().getScalars().getData();if(e.color&&e.rgba){for(var n=new Uint8Array(e.columns*e.rows*3),i=0;i<e.columns*e.rows;i++)n[3*i]=t[4*i],n[3*i+1]=t[4*i+1],n[3*i+2]=t[4*i+2];e.rgba=!1,e.getPixelData=function(){return n},r.set(n)}else r.set(t);this._imageData.modified()}},{key:"_loadAndDisplayImage",value:(n=H(Y().mark((function e(t,r){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.useCPURendering?this._loadAndDisplayImageCPU(t,r):this._loadAndDisplayImageGPU(t,r);case 2:return e.abrupt("return",t);case 3: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){if(this.currentImageIdIndex===t){var i=e.getPixelData(),a=e.preScale,o=null==a?void 0:a.scalingParameters,s=(null==a?void 0:a.scaled)&&(null==o?void 0:o.rescaleIntercept)%1!=0||(null==o?void 0:o.rescaleSlope)%1!=0;if(i instanceof Float32Array&&s){for(var u={min:e.maxPixelValue,max:e.minPixelValue},c=Math.abs(u.max-u.min)/65535,l=u.min,v=i.length,f=new Uint16Array(v),g=65535,p=0,h=0;h<v;h++){var m=Math.floor((i[h]-l)/c);f[h]=m,g=Math.min(g,m),p=Math.max(p,m)}e.minPixelValue=g,e.maxPixelValue=p,e.slope=c,e.intercept=l,e.getPixelData=function(){return f},e.preScale=ga(ga({},e.preScale),{},{scaled:!1})}this._setCSImage(e),this.viewportStatus=L.PRE_RENDER;var w={image:e,imageId:r,imageIdIndex:t,viewportId:this.id,renderingEngineId:this.renderingEngineId};Je(this.element,d.STACK_NEW_IMAGE,w),this._updateToDisplayImageCPU(e),this.render(),this.currentImageIdIndex=t,n(r)}}function o(e,t,r){var n={error:e,imageIdIndex:t,imageId:r};this.suppressEvents||Je(Qe,d.IMAGE_LOAD_ERROR,n),i(e)}var s=f.Interaction,u={imageId:e},c={imageId:e,imageIdIndex:t,viewportId:r.id,renderingEngineId:r.renderingEngineId};Je(r.element,d.PRE_STACK_NEW_IMAGE,c),Tt.addRequest(function(e,t,r){var n=this;return Dt(e,r).then((function(r){a.call(n,r,t,e)}),(function(r){o.call(n,r,t,e)}))}.bind(r,e,t,{preScale:{enabled:!0},useRGBA:!0}),s,u,-5)}))}},{key:"_loadAndDisplayImageGPU",value:function(e,t){var r=this;return new Promise((function(n,i){function a(e,t,r){var i,a;if(this.currentImageIdIndex===t){var o=null===(i=this.csImage)||void 0===i?void 0:i.imageFrame,s=null==e?void 0:e.imageFrame;(null==o?void 0:o.photometricInterpretation)===(null==s?void 0:s.photometricInterpretation)&&(null===(a=this.csImage)||void 0===a?void 0:a.photometricInterpretation)===(null==e?void 0:e.photometricInterpretation)||(this.stackInvalidated=!0),this._setCSImage(e);var u={image:e,imageId:r,imageIdIndex:t,viewportId:this.id,renderingEngineId:this.renderingEngineId};Je(this.element,d.STACK_NEW_IMAGE,u),this._updateActorToDisplayImageId(e),this.render(),this.currentImageIdIndex=t,n(r)}}function o(e,t,r){var n={error:e,imageIdIndex:t,imageId:r};Je(Qe,d.IMAGE_LOAD_ERROR,n),i(e)}var s=f.Interaction,u={imageId:e},c={targetBuffer:{type:r.useNativeDataType?void 0:"Float32Array"},preScale:{enabled:!0},useRGBA:!1},l={imageId:e,imageIdIndex:t,viewportId:r.id,renderingEngineId:r.renderingEngineId};Je(r.element,d.PRE_STACK_NEW_IMAGE,l),Tt.addRequest(function(e,t,r){var n=this;return Dt(e,r).then((function(r){a.call(n,r,t,e)}),(function(r){o.call(n,r,t,e)}))}.bind(r,e,t,c),s,u,-5)}))}},{key:"_updateToDisplayImageCPU",value:function(e){var t=this._getImageDataMetadata(e),r=da(this.canvas,e,this.modality,this._cpuFallbackEnabledElement.viewport.colormap),n=r.voi,i=n.windowCenter,a=n.windowWidth;this.voiRange=Kt(a,i),this._cpuFallbackEnabledElement.image=e,this._cpuFallbackEnabledElement.metadata=ga({},t),this.cpuImagePixelData=e.getPixelData();var o=Object.assign({},r,this._cpuFallbackEnabledElement.viewport);this._cpuFallbackEnabledElement.viewport=this.stackInvalidated?r:o,this.stackInvalidated=!1,this.cpuRenderingInvalidated=!0,this._cpuFallbackEnabledElement.transform=Li(this._cpuFallbackEnabledElement)}},{key:"_updateActorToDisplayImageId",value:function(e){var t=this._checkVTKImageDataMatchesCornerstoneImage(e,this._imageData),r=this.getRenderer().getActiveCamera(),n=oe()(this.getCamera());if(t&&!this.stackInvalidated){this._updateVTKImageDataFromCornerstoneImage(e);var i=this.getCamera(),a=En.vec3.subtract(En.vec3.create(),this.cameraFocalPointOnRender,i.focalPoint);this.resetCameraNoEvent(),this.setCameraNoEvent({flipHorizontal:n.flipHorizontal,flipVertical:n.flipVertical,viewUp:n.viewUp});var o=this.getCamera().focalPoint;return this.cameraFocalPointOnRender=o,r.setFreezeFocalPoint(!0),this._restoreCameraProps(i,n,a),void this._setPropertiesFromCache()}var s=this._getImageDataMetadata(e),u=s.origin,c=s.direction,l=s.dimensions,d=s.spacing,v=s.numComps,f=s.imagePixelModule;this._createVTKImageData({origin:u,direction:c,dimensions:l,spacing:d,numComps:v,pixelArray:e.getPixelData()}),this._updateVTKImageDataFromCornerstoneImage(e);var g=this.createActorMapper(this._imageData),p=[];p.push({uid:this.id,actor:g}),this.setActors(p);var h=this._getCameraOrientation(c),m=h.viewPlaneNormal,w=h.viewUp;this.setCameraNoEvent({viewUp:w,viewPlaneNormal:m}),this.initialViewUp=w,this.resetCameraNoEvent(),this.triggerCameraEvent(this.getCamera(),n),r.setFreezeFocalPoint(!0);var y="MONOCHROME1"===f.photometricInterpretation;this.stackInvalidated=!0,this.setVOI(this._getInitialVOIRange(e),{forceRecreateLUTFunction:!!y}),this.initialInvert=!!y,this.setInvertColor(this.invert||this.initialInvert),this.cameraFocalPointOnRender=this.getCamera().focalPoint,this.stackInvalidated=!1,this._publishCalibratedEvent&&this.triggerCalibrationEvent()}},{key:"_getInitialVOIRange",value:function(e){if(this.voiRange&&this.voiUpdatedWithSetProperties)return this.voiRange;var t=e.windowCenter,r=e.windowWidth,n=this._getVOIRangeFromWindowLevel(r,t);return this._getPTPreScaledRange()||n}},{key:"_getPTPreScaledRange",value:function(){if(this._isCurrentImagePTPrescaled())return this._getDefaultPTPrescaledVOIRange()}},{key:"_isCurrentImagePTPrescaled",value:function(){var e,t;return!("PT"!==this.modality||!this.csImage.isPreScaled||null===(e=this.csImage.preScale)||void 0===e||null===(t=e.scalingParameters)||void 0===t||!t.suvbw)}},{key:"_getDefaultPTPrescaledVOIRange",value:function(){return{lower:0,upper:5}}},{key:"_getVOIRangeFromWindowLevel",value:function(e,t){var r,n;if("number"==typeof t&&"number"==typeof e?(r=t,n=e):Array.isArray(t)&&Array.isArray(e)&&(r=t[0],n=e[0]),void 0!==r&&void 0!==n)return Kt(n,r)}},{key:"_setImageIdIndex",value:(r=H(Y().mark((function e(t){var r;return Y().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,this.viewportStatus=L.PRE_RENDER,e.next=7,this._loadAndDisplayImage(this.imageIds[t],t);case 7:return r=e.sent,e.abrupt("return",r);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{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=la(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.setCamera({flipHorizontal:!1,flipVertical:!1,viewUp:this.initialViewUp}),mn(hn(u.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 u=i[s];Rn.isLoaded(u)||!r?this.setImageIdIndex(s):(clearTimeout(this.debouncedTimeout),this.debouncedTimeout=window.setTimeout((function(){t.setImageIdIndex(s)}),40));var c={newImageIdIndex:s,imageId:u,direction:e};s!==a&&Je(this.element,d.STACK_VIEWPORT_SCROLL,c)}},{key:"setImageIdIndex",value:(t=H(Y().mark((function e(t){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._throwIfDestroyed(),this.currentImageIdIndex!==t){e.next=3;break}return e.abrupt("return",this.getCurrentImageId());case 3:return r=this._setImageIdIndex(t),e.abrupt("return",r);case 5: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,u=En.vec3.subtract(En.vec3.create(),o,r),c=En.vec3.subtract(En.vec3.create(),s,r);this.setCameraNoEvent({parallelScale:n,position:u,focalPoint:c});var l=this.getCamera();this.triggerCameraEvent(l,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||Je(this.element,d.CAMERA_MODIFIED,r)}},{key:"triggerCalibrationEvent",value:function(){var e=this.getImageData().imageData,t=ga({element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,imageId:this.getCurrentImageId(),imageData:e,worldToIndex:e.getWorldToIndex()},this._calibrationEvent);this.suppressEvents||Je(this.element,d.IMAGE_SPACING_CALIBRATED,t),this._publishCalibratedEvent=!1}},{key:"_getVOIRangeForCurrentImage",value:function(){var e=this.csImage,t=e.windowCenter,r=e.windowWidth;return this._getVOIRangeFromWindowLevel(r,t)}},{key:"_getValidVOILUTFunction",value:function(e){return-1===Object.values(_).indexOf(e)&&(e=_.LINEAR),e}},{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:"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=ea(e.name,e);this._cpuFallbackEnabledElement.viewport.colormap=t,this._cpuFallbackEnabledElement.renderingTools={},this.fillWithBackgroundColor(),this.cpuRenderingInvalidated=!0,this.render()}},{key:"setColormapGPU",value:function(e){var t=this.getDefaultActor().actor.getProperty(),r=t.getRGBTransferFunction();if(r)r.applyColorMap(e),t.setRGBTransferFunction(0,r);else{var n=_n().newInstance(),i=this._getVOIRangeForCurrentImage();n.applyColorMap(e),n.setMappingRange(i.lower,i.upper),t.setRGBTransferFunction(0,n)}this.render()}},{key:"unsetColormapGPU",value:function(){throw new Error("unsetColormapGPU not implemented.")}},{key:"_getImagePlaneModule",value:function(e){var t=zt("imagePlaneModule",e);zt("calibratedPixelSpacing",e),this.calibration||(this.calibration=t.calibration);var r,n,i=ga({},t);return i.columnPixelSpacing||(i.columnPixelSpacing=1,this.hasPixelSpacing=(null===(r=this.calibration)||void 0===r?void 0:r.scale)>0),i.rowPixelSpacing||(i.rowPixelSpacing=1,this.hasPixelSpacing=(null===(n=this.calibration)||void 0===n?void 0:n.scale)>0),i.columnCosines||(i.columnCosines=[0,1,0]),i.rowCosines||(i.rowCosines=[1,0,0]),i.imagePositionPatient||(i.imagePositionPatient=[0,0,0]),i.imageOrientationPatient||(i.imageOrientationPatient=new Float32Array([1,0,0,0,1,0])),i}}],[{key:"useCustomRenderingPipeline",get:function(){return Ne()}}]),u}(gi),ha=pa;var ma,wa=function(e){yn(i,e);var t,r,n=(t=i,r=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,n=hn(t);if(r){var i=hn(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return In(this,e)});function i(e){var t;se(this,i),ee(pn(t=n.call(this,e)),"getRotation",(function(){return 0})),ee(pn(t),"getCurrentImageIdIndex",(function(){})),ee(pn(t),"getCurrentImageId",(function(){return null}));var r=t.options,a=r.parallelProjection,o=r.orientation,s=t.getVtkActiveCamera();return null!=a&&s.setParallelProjection(a),o&&o!==E.ACQUISITION&&t.applyViewOrientation(o),t}return ce(i,[{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];mn(hn(i.prototype),"resetCamera",this).call(this,e,t,r),this.resetVolumeViewportClippingRange()}},{key:"setSlabThickness",value:function(e,t){return null}},{key:"setBlendMode",value:function(e,t,r){return null}},{key:"resetProperties",value:function(e){return null}}]),i}(bi),ya=wa,Ia=(ee(ma={},p.ORTHOGRAPHIC,Ri),ee(ma,p.PERSPECTIVE,Ri),ee(ma,p.STACK,ha),ee(ma,p.VOLUME_3D,ya),ma);function Ca(e){return Ia[e].useCustomRenderingPipeline}function ba(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 Ea(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ba(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ba(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Ra=function(){function e(t){var r=this;if(se(this,e),ee(this,"id",void 0),ee(this,"hasBeenDestroyed",void 0),ee(this,"offscreenMultiRenderWindow",void 0),ee(this,"offScreenCanvasContainer",void 0),ee(this,"_viewports",void 0),ee(this,"_needsRender",new Set),ee(this,"_animationFrameSet",!1),ee(this,"_animationFrameHandle",null),ee(this,"useCPURendering",void 0),ee(this,"renderFrameOfReference",(function(e){var t=r._getViewportsAsArray().map((function(t){if(t.getFrameOfReferenceUID()===e)return t.id}));return r.renderViewports(t)})),ee(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),i.setRendered(),r._needsRender.delete(i.id),0===r._needsRender.size)break}}r._animationFrameSet=!1,r._animationFrameHandle=null,t.forEach((function(e){null!=e&&e.element&&Je(e.element,d.IMAGE_RENDERED,e)}))})),this.id=t||nt(),this.useCPURendering=Ne(),ye.set(this),!Be())throw new Error("@cornerstonejs/core is not initialized, run init() first");this.useCPURendering||(this.offscreenMultiRenderWindow=gn.newInstance(),this.offScreenCanvasContainer=document.createElement("div"),this.offscreenMultiRenderWindow.setContainer(this.offScreenCanvasContainer)),this._viewports=new Map,this.hasBeenDestroyed=!1}return ce(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)&&(console.log("Viewport already exists, disabling it first"),this.disableElement(n),console.log("Viewport ".concat(n," disabled")));var i=Ca(t.type);this.useCPURendering||i?this.addCustomViewport(t):this.enableVTKjsDrivenViewport(t);var a=dr(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),Ca(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||Ca(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){Ca(e.type)?i.push(e):n.push(e)})),n.length&&this._resizeVTKViewports(n,t,e),i.length&&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 ha}))}},{key:"getVolumeViewports",value:function(){return this._throwIfDestroyed(),this.getViewports().filter((function(e){return e instanceof bi}))}},{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(),ye.delete(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,displayArea:null},t===p.ORTHOGRAPHIC&&(r=Ea(Ea({},r),{},{orientation:E.AXIAL}))),Ea(Ea({},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=dr(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===Ca(e.type)})),r=t.map((function(e){return e.canvas})),n=dr(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,u=o.offScreenCanvasHeight,c=this._resize(t,s,u),l=Ea(Ea({},e),{},{canvas:n});this.addVtkjsDrivenViewport(l,{offScreenCanvasWidth:s,offScreenCanvasHeight:u,xOffset:c})}},{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,u=t.offScreenCanvasHeight,c=t.xOffset,l=this._getViewportCoordsOnOffScreenCanvas(e,s,u,c),v=l.sxStartDisplayCoords,f=l.syStartDisplayCoords,g=l.sxEndDisplayCoords,h=l.syEndDisplayCoords,m=l.sx,w=l.sy,y=l.sWidth,I=l.sHeight;this.offscreenMultiRenderWindow.addRenderer({viewport:[v,f,g,h],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:m,sy:w,sWidth:y,sHeight:I,defaultOptions:o||{}};if(a===p.STACK)C=new ha(b);else if(a===p.ORTHOGRAPHIC||a===p.PERSPECTIVE)C=new Ri(b);else{if(a!==p.VOLUME_3D)throw new Error("Viewport Type ".concat(a," is not supported"));C=new ya(b)}this._viewports.set(i,C);var E={element:r,viewportId:i,renderingEngineId:this.id};C.suppressEvents||Je(Qe,d.ELEMENT_ENABLED,E)}},{key:"addCustomViewport",value:function(e){var t=e.element,r=e.viewportId,n=e.type,i=e.defaultOptions;t.tabIndex=-1;var a=dr(t),o=a.clientWidth,s=a.clientHeight;a.width===o&&a.height===s||(a.width=o,a.height=s);var u={id:r,renderingEngineId:this.id,element:t,type:n,canvas:a,sx:0,sy:0,sWidth:o,sHeight:s,defaultOptions:i||{}};if(n!==p.STACK)throw new Error("Support for fully custom viewports not yet implemented");var c=new ha(u);this._viewports.set(r,c);var l={element:t,viewportId:r,renderingEngineId:this.id};Je(Qe,d.ELEMENT_ENABLED,l)}},{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 dr(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],u=t[o],c=Ea(Ea({},s),{},{canvas:u});this.addVtkjsDrivenViewport(c,{offScreenCanvasWidth:n,offScreenCanvasHeight:i,xOffset:a}),a+=u.width}}}},{key:"_resizeOffScreenCanvas",value:function(e){var t=this.offScreenCanvasContainer,r=this.offscreenMultiRenderWindow,n=window.devicePixelRatio||1,i=Math.max.apply(Math,gr(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),u=s.sxStartDisplayCoords,c=s.syStartDisplayCoords,l=s.sxEndDisplayCoords,d=s.syEndDisplayCoords,v=s.sx,f=s.sy,g=s.sWidth,p=s.sHeight;n+=o.canvas.clientWidth*i,o.sx=v,o.sy=f,o.sWidth=g,o.sHeight=p,this.offscreenMultiRenderWindow.getRenderer(o.id).setViewport([u,c,l,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,u=o*s,c=a*s,l=n/t,d=0+(r-u)/r;return{sxStartDisplayCoords:l,syStartDisplayCoords:d,sxEndDisplayCoords:l+c/t,syEndDisplayCoords:d+u/r,sx:n,sy:0,sWidth:c,sHeight:u}}},{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(!(e.sWidth<2||e.sHeight<2)){if(!0===Ca(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}console.log("Viewport is too small",e.sWidth,e.sHeight)}},{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,u=e.id,c=e.renderingEngineId,l=e.suppressEvents,d=n.width,v=n.height;return n.getContext("2d").drawImage(t,i,a,o,s,0,0,d,v),{element:r,suppressEvents:l,viewportId:u,renderingEngineId:c,viewportStatus:e.viewportStatus}}},{key:"_resetViewport",value:function(e){var t=this.id,r=e.element,n=e.canvas,i={element:r,viewportId:e.id,renderingEngineId:t};Je(Qe,d.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,u=o.height;o.getContext("2d").drawImage(i,t,r,n,a,0,0,s,u)})),a}}]),e}(),ka=Ra,Pa=new Pt("imageRetrievalPool");Pa.setMaxSimultaneousRequests(f.Interaction,200),Pa.setMaxSimultaneousRequests(f.Thumbnail,200),Pa.setMaxSimultaneousRequests(f.Prefetch,200),Pa.grabDelay=0;var Oa=Pa;function Aa(e){if(e){var t=e.dataset;return Ta(t.viewportUid,t.renderingEngineUid)}}function Ta(e,t){if(t&&e){var r=be(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 Sa(){var e=[];return Ce().forEach((function(t){t.getViewports().forEach((function(t){var r=t.element;e.push(Aa(r))}))})),e}var _a=Symbol("DefaultSettings"),xa=Symbol("RuntimeSettings"),Da=Symbol("ObjectSettingsMap"),Ma=Symbol("Dictionary"),Va=function(){function e(t){se(this,e);var r=Object.create(t instanceof e&&Ma in t?t[Ma]:null);Object.seal(Object.defineProperty(this,Ma,{value:r}))}return ce(e,[{key:"set",value:function(e,t){return Ua(this[Ma],e,t,null)}},{key:"get",value:function(e){return function(e,t){return e[t]}(this[Ma],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[Ma],e+"")}},{key:"forEach",value:function(e){La(this[Ma],e)}},{key:"extend",value:function(){return new e(this)}},{key:"import",value:function(e){var t=this;ja(e)&&Object.keys(e).forEach((function(r){Ua(t[Ma],r,e[r],null)}))}},{key:"dump",value:function(){var e={};return La(this[Ma],(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[_a];if(r instanceof e||(r=new e,e[_a]=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[xa];return t instanceof e||(t=new e(e.getDefaultSettings()),e[xa]=t),t}},{key:"getObjectSettings",value:function(t,r){var n=null;if(t instanceof e)n=t;else if("object"===G(t)&&null!==t){var i=e[Da];i instanceof WeakMap||(i=new WeakMap,e[Da]=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 La(e,t){for(var r in e)t(r,e[r])}function Ua(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)&&(ja(r)?function(e,t,r,n){var i;if(n.has(r))return Ua(e,t,null,n);for(var a in n.add(r),i=0,r)Object.prototype.hasOwnProperty.call(r,a)&&(Ua(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 ja(e){if("object"===G(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"!==G(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}Va.getDefaultSettings().set("useCursors",!0),Z(6914);var Fa=function(){function e(t){se(this,e),ee(this,"id",void 0),ee(this,"sizeInBytes",void 0),ee(this,"points",void 0),ee(this,"color",void 0),ee(this,"type",void 0),ee(this,"segmentIndex",void 0);var r=t.data,n=r.points,i=r.type;this.id=t.id,this.points=n,this.type=i,this.color=t.color,this.segmentIndex=t.segmentIndex,this.sizeInBytes=this._getSizeInBytes()}return ce(e,[{key:"_getSizeInBytes",value:function(){return 0+3*this.points.length}},{key:"getPoints",value:function(){return this.points}},{key:"getFlatPointsArray",value:function(){return this.points.map((function(e){return gr(e)})).flat()}},{key:"getColor",value:function(){return this.color}},{key:"getType",value:function(){return this.type}}]),e}(),Ga=function(){function e(t){var r;se(this,e),ee(this,"id",void 0),ee(this,"sizeInBytes",void 0),ee(this,"frameOfReferenceUID",void 0),ee(this,"color",[200,0,0]),ee(this,"segmentIndex",void 0),ee(this,"polyData",void 0),ee(this,"centroid",void 0),ee(this,"contours",void 0),this.id=t.id,this.contours=[],this.color=null!==(r=t.color)&&void 0!==r?r:this.color,this.frameOfReferenceUID=t.frameOfReferenceUID,this.segmentIndex=t.segmentIndex,this._createEachContour(t.data),this.sizeInBytes=this._getSizeInBytes()}return ce(e,[{key:"_createEachContour",value:function(e){var t=this;e.forEach((function(e){var r=e.points,n=e.type,i=e.color,a=new Fa({id:"".concat(t.id,"-segment-").concat(t.segmentIndex),data:{points:r,type:n,segmentIndex:t.segmentIndex,color:null!=i?i:t.color},segmentIndex:t.segmentIndex,color:null!=i?i:t.color});t.contours.push(a)})),this._updateContourSetCentroid()}},{key:"_updateContourSetCentroid",value:function(){var e=this,t=this.getTotalNumberOfPoints(),r=this.getFlatPointsArray(),n=r.reduce((function(e,t){return[e[0]+t[0],e[1]+t[1],e[2]+t[2]]}),[0,0,0]),i=[n[0]/t,n[1]/t,n[2]/t],a=r.reduce((function(t,r){return e._getDistance(i,r)<e._getDistance(i,t)?r:t}),r[0]);this.centroid=a}},{key:"_getSizeInBytes",value:function(){return this.contours.reduce((function(e,t){return e+t.sizeInBytes}),0)}},{key:"getCentroid",value:function(){return this.centroid}},{key:"getSegmentIndex",value:function(){return this.segmentIndex}},{key:"getColor",value:function(){return this.color}},{key:"getContours",value:function(){return this.contours}},{key:"getSizeInBytes",value:function(){return this.sizeInBytes}},{key:"getFlatPointsArray",value:function(){return this.contours.map((function(e){return e.getPoints()})).flat()}},{key:"getNumberOfContours",value:function(){return this.contours.length}},{key:"getTotalNumberOfPoints",value:function(){return this.contours.reduce((function(e,t){return e+t.getPoints().length}),0)}},{key:"getNumberOfPointsArray",value:function(){var e=this;return this.contours.reduce((function(t,r,n){return t[n]=e.getNumberOfPointsInAContour(n),t}),[])}},{key:"getPointsInContour",value:function(e){return this.contours[e].getPoints()}},{key:"getNumberOfPointsInAContour",value:function(e){return this.getPointsInContour(e).length}},{key:"_getDistance",value:function(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))}}]),e}();function Wa(e,t){return Ba.apply(this,arguments)}function Ba(){return(Ba=H(Y().mark((function e(t,r){var n,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=Rn.getGeometry(t))){e.next=3;break}return e.abrupt("return",n);case 3:if(r.type!==O.CONTOUR){e.next=7;break}n=qa(t,r.geometryData),e.next=8;break;case 7:throw new Error("Unknown geometry type, Only CONTOUR is supported");case 8:return i={promise:Promise.resolve(n)},e.next=11,Rn.putGeometryLoadObject(t,i);case 11:return e.abrupt("return",n);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qa(e,t){if(!t||0===t.data.length)throw new Error("Invalid contour set data, see publicContourSetData type for more info");if(!t.id)throw new Error("Invalid contour set data, each contour set must have an id");if(!t.data||!Array.isArray(t.data))throw new Error("Invalid contour set data, each contour set must have an array of contours");t.data.forEach((function(e){if(!e.points||!Array.isArray(e.points))throw new Error("Invalid contour set data, each contour must have an array of points");e.points.forEach((function(e){if(!e||!Array.isArray(e)||3!==e.length)throw new Error("Invalid contour set data, each point must be an array of length 3")}))}));var r=new Ga({id:t.id,data:t.data,color:t.color,frameOfReferenceUID:t.frameOfReferenceUID,segmentIndex:t.segmentIndex});return{id:e,type:O.CONTOUR,data:r,sizeInBytes:r.getSizeInBytes()}}function za(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)}}var Ha=Symbol("LastRuntimeId"),Ka={},Ya=4294967295,Xa="-";function Za(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"===G(e)?e:Ka,Ha,("number"==typeof r&&r>0?r:Ya)>>>0).join("string"==typeof t?t:Xa)}var $a={},Qa={add:function(e,t){var r=le(e);$a[r]=t},get:function(e,t){if("calibratedPixelSpacing"===e){var r=le(t);return $a[r]}}};function Ja(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 eo=function(e){if(!We())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)},to=function(e){if(!We())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)},ro=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(2*e);return new Uint16Array(t)},no=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(2*e);return new Int16Array(t)};function io(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 ao(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 oo=function(e,t){var r;r=t?[Ie(t)]:Ce();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 ao(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)?ao(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},so=function(e,t){var r;r=t?[Ie(t)]:Ce();var n=[];return r.forEach((function(t){var r=t.getVolumeViewports().filter((function(t){return t.hasVolumeId(e)}));n.push.apply(n,gr(r))})),n},uo=function(e){var t,r;return(null===(t=e.preScale)||void 0===t?void 0:t.scaled)&&(null===(r=e.preScale.scalingParameters)||void 0===r?void 0:r.suvbw)};function co(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"_thumbnails";if(!(e&&e instanceof HTMLCanvasElement))throw new Error("canvas element is required");var i=t.imageId,a="renderGPUViewport-".concat(i),o=t.imageId,s=document.createElement("div");s.style.width="".concat(e.width,"px"),s.style.height="".concat(e.height,"px"),s.style.visibility="hidden",s.style.position="absolute";var u=window.devicePixelRatio||1,c=e.width,l=e.height;e.width=c*u,e.height=l*u,e.style.width="".concat(c,"px"),e.style.height="".concat(l,"px"),document.body.appendChild(s);var v=a.split(":").join("-");s.setAttribute("viewport-id-for-remove",v);var f=Ie(n)||new ka(n),g=f.getViewport(a);if(!g){var h={viewportId:a,type:p.STACK,element:s,defaultOptions:{suppressEvents:!0}};f.enableElement(h),g=f.getViewport(a)}return new Promise((function(n){var i=!1;s.addEventListener(d.IMAGE_RENDERED,(function t(r){if(!i){var u=dr(s);e.getContext("2d").drawImage(u,0,0,u.width,u.height,0,0,e.width,e.height),i=!0,s.removeEventListener(d.IMAGE_RENDERED,t),setTimeout((function(){f.disableElement(a),document.querySelectorAll('[viewport-id-for-remove="'.concat(v,'"]')).forEach((function(e){e.remove()}))}),0),n(o)}})),g.renderImageObject(t),g.resetCamera(),"PT"!==r||uo(t)||g.setProperties({voiRange:{lower:t.minPixelValue,upper:t.maxPixelValue}}),g.render()}))}function lo(e,t,r,n){var i={canvas:e,viewport:da(e,t,r),image:t,renderingTools:{}};return i.transform=Li(i),new Promise((function(e,r){na(i,!0),e(t.imageId)}))}function vo(e){var t=e.canvas,r=e.imageId,n=e.requestType,i=void 0===n?f.Thumbnail:n,a=e.priority,o=void 0===a?-5:a,s=e.renderingEngineId,u=void 0===s?"_thumbnails":s,c=e.useCPURendering,l=void 0!==c&&c,d=l?lo:co;return new Promise((function(e,n){function a(r,n){var i,a=(zt("generalSeriesModule",n)||{}).modality;r.isPreScaled=r.isPreScaled||(null===(i=r.preScale)||void 0===i?void 0:i.scaled),d(t,r,a,u).then((function(){e(n)}))}function s(e,t){console.error(e,t),n(e)}var c={targetBuffer:{type:qe().rendering.useNorm16Texture?void 0:"Float32Array"},preScale:{enabled:!0},useRGBA:!!l,requestType:i};Tt.addRequest(function(e,t,r){var n=this;return Dt(e,r).then((function(t){a.call(n,t,e)}),(function(t){s.call(n,t,e)}))}.bind(null,r,null,c),i,{imageId:r},o)}))}var fo=function(e,t){var r=zt("imagePlaneModule",e);if(!r)throw new Error("No imagePlaneModule found for imageId: ".concat(e));var n=r.columnCosines,i=r.rowCosines,a=r.imagePositionPatient,o=r.columnPixelSpacing,s=r.rowPixelSpacing;o||(o=1),s||(s=1);var u=En.vec3.create();En.vec3.scaleAndAdd(u,a,n,-o/2),En.vec3.scaleAndAdd(u,u,i,-s/2);var c=En.vec3.create();return En.vec3.sub(c,t,u),[En.vec3.dot(c,i)/s,En.vec3.dot(c,n)/o]};function go(e,t){var r=zt("imagePlaneModule",e);if(!r)throw new Error("No imagePlaneModule found for imageId: ".concat(e));var n=r.columnCosines,i=r.rowCosines,a=r.imagePositionPatient,o=r.columnPixelSpacing,s=r.rowPixelSpacing;o||(o=1),s||(s=1);var u=En.vec3.create();return En.vec3.scaleAndAdd(u,a,i,s*(t[0]-.5)),En.vec3.scaleAndAdd(u,u,n,o*(t[1]-.5)),Array.from(u)}var po=function(e,t){var r=e.getCamera(),n=r.focalPoint,i=r.viewPlaneNormal,a=ei(e,r,t),o=a.spacingInNormalDirection,s=a.actorUID;if(!s)throw new Error("Could not find image volume with id ".concat(t," in the viewport"));var u=e.getActor(s);return u?{sliceRange:$n(u.actor,i,n),spacingInNormalDirection:o,camera:r}:(console.warn("No actor found for with actorUID of",s),null)},ho=function(e,t){var r=po(e,t),n=r.sliceRange,i=r.spacingInNormalDirection,a=r.camera,o=n.min,s=n.max,u=n.current,c=Math.round((s-o)/i),l=(u-o)/(s-o)*c;return{numScrollSteps:c,currentStepIndex:Math.round(l),sliceRangeInfo:{sliceRange:n,spacingInNormalDirection:i,camera:a}}};function mo(e,t,r,n,i,a){var o=r.min,s=r.max,u=r.current,c=En.vec3.create();En.vec3.sub(c,t,e);var l=Math.round((s-o)/i),d=(u-o)/(s-o)*l,v=Math.round(d),f=[e[0]-n[0]*d*i,e[1]-n[1]*d*i,e[2]-n[2]*d*i];(v+=a)>l?v=l:v<0&&(v=0);var g=v*i;return{newFocalPoint:f=[f[0]+n[0]*g,f[1]+n[1]*g,f[2]+n[2]*g],newPosition:[f[0]+c[0],f[1]+c[1],f[2]+c[2]]}}function wo(e,t){var r;r=t?[be(t)]:Ce();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,gr(r).concat(gr(i)))})),n}function yo(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=zt("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=En.vec3.set.apply(En.vec3,[En.vec3.create()].concat(gr(r))),o=En.vec3.set.apply(En.vec3,[En.vec3.create()].concat(gr(n)));return{rowCosines:r,columnCosines:n,imagePositionPatient:i,planeNormal:En.vec3.cross(En.vec3.create(),a,o)}}(t);return r?ui(oi(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),u=0;u<s.length;u++){var c=a(s[u]);if(null!==c){if(!(c<=o.distance))break;o.distance=c,o.index=u+i+1}}for(var l=n.slice(0,i),d=l.length-1;d>=0;d--){var v=a(l[d]);if(null!==v&&v!==o.distance){if(!(v<o.distance))break;o.distance=v,o.index=d}}return o.distance===1/0?null:o}(e,t);return r?r.index:null}var Io={},Co={add:function(e,t){var r=Tn(e,2),n=r[0],i=r[1],a="".concat(n,"_").concat(i);Io[a]||(Io[a]={}),Io[a]=t},get:function(e,t){if("spatialRegistrationModule"===e){var r=Tn(t,2),n=r[0],i=r[1],a="".concat(n,"_").concat(i);if(Io[a])return Io[a];var o="".concat(i,"_").concat(n);return Io[o]?En.mat4.invert(En.mat4.create(),Io[o]):void 0}}};Wt(Co.get.bind(Co));var bo=Co,Eo=function(e,t){var r=e.getCurrentImageId(),n=t.getCurrentImageId(),i=zt("imagePlaneModule",r),a=zt("imagePlaneModule",n);if(i&&a){var o=a.imageOrientationPatient;if(i.imageOrientationPatient.every((function(e,t){return Math.abs(e-o[t])<.05}))){var s=i.imagePositionPatient,u=a.imagePositionPatient,c=En.vec3.subtract(En.vec3.create(),s,u),l=En.mat4.fromTranslation(En.mat4.create(),c);bo.add([e.id,t.id],l)}else console.log("Viewport spatial registration only supported for same orientation (hence translation only) for now",null==i?void 0:i.imageOrientationPatient,null==a?void 0:a.imageOrientationPatient)}else console.log("Viewport spatial registration requires image plane module")};function Ro(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],u=e.canvasToWorld([0,0]),c=e.canvasToWorld(a),l=e.canvasToWorld(o),d=e.canvasToWorld(s),v=r.worldToIndex(u),f=r.worldToIndex(c),g=r.worldToIndex(l),p=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,u=e.bottomRightWorld,c=e.bottomLeftWorld,l=ko(e.topLeftImage,t)?o:r.indexToWorld([0,0,0]),d=ko(n,t)?s:r.indexToWorld([t[0]-1,0,0]),v=ko(i,t)?u:r.indexToWorld([t[0]-1,t[1]-1,0]);return[l,d,ko(a,t)?c:r.indexToWorld([0,t[1]-1,0]),v]}({dimensions:n,imageData:r,topLeftImage:v,topRightImage:f,bottomRightImage:g,bottomLeftImage:p,topLeftWorld:u,topRightWorld:c,bottomRightWorld:l,bottomLeftWorld:d})}function ko(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 Po(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 Oo(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Po(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Po(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ao(e){var t=zt("modalityLutModule",e)||{},r=(zt("generalSeriesModule",e)||{}).modality,n={rescaleSlope:t.rescaleSlope,rescaleIntercept:t.rescaleIntercept,modality:r},i=zt("scalingModule",e)||{};return Oo(Oo({},n),"PT"===r&&{suvbw:i.suvbw,suvbsa:i.suvbsa,suvlbm:i.suvlbm})}function To(e,t){var r;if(t&&t instanceof Uint8Array)r="Uint8Array";else if(t instanceof Float32Array)r="Float32Array";else if(t instanceof Int16Array)r="Int16Array";else{if(!(t instanceof Uint16Array))throw new Error("Unsupported array type");r="Uint16Array"}return r}var So=function(e){var t=Aa(e);if(t){var r=t.viewport;if(!(r instanceof ha))throw new Error("An image can only be fetched for a stack viewport and not for a viewport of type: ".concat(r.type));return r.getCornerstoneImage()}};function _o(){return _o=H(Y().mark((function e(t,r,n){var i,a,o,s=arguments;return Y().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 bi))throw new Error("setVolumesForViewports only supports VolumeViewport and VolumeViewport3D")})),o=n.map(function(){var e=H(Y().mark((function e(n){var o;return Y().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)}))),_o.apply(this,arguments)}var xo=function(e,t,r){return _o.apply(this,arguments)};function Do(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 Mo(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)?Mo(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 Mo(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 Vo(){return Vo=H(Y().mark((function e(t,r,n){var i,a,o,s,u,c,l,d=arguments;return Y().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=Do(n),e.prev=3,o.s();case 5:if((s=o.n()).done){e.next=15;break}if(u=s.value,c=t.getViewport(u)){e.next=10;break}throw new Error("Viewport with Id ".concat(u," does not exist"));case 10:if(c instanceof bi){e.next=13;break}return console.warn("Viewport with Id ".concat(u," is not a BaseVolumeViewport. 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 l=n.map(function(){var e=H(Y().mark((function e(n){var o;return Y().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(l);case 26:return e.abrupt("return");case 27:case"end":return e.stop()}}),e,null,[[3,17,20,23]])}))),Vo.apply(this,arguments)}var Lo=function(e,t,r){return Vo.apply(this,arguments)}}(),$}()}));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("detect-gpu"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@kitware/vtk.js/Common/DataModel/PiecewiseFunction"),require("@kitware/vtk.js/macros"),require("@kitware/vtk.js/Rendering/Core/Camera"),require("gl-matrix"),require("@kitware/vtk.js/Common/Core/Math"),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/Common/Core/HalfFloat"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Rendering/Core/Volume"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/Rendering/Core/ImageMapper"),require("@kitware/vtk.js/Rendering/Core/ImageSlice"),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"),require("@kitware/vtk.js/Rendering/Profiles/Geometry")):"function"==typeof define&&define.amd?define(["detect-gpu","@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants","@kitware/vtk.js/Rendering/Core/ColorTransferFunction","@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps","@kitware/vtk.js/Common/DataModel/PiecewiseFunction","@kitware/vtk.js/macros","@kitware/vtk.js/Rendering/Core/Camera","gl-matrix","@kitware/vtk.js/Common/Core/Math","@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/Common/Core/HalfFloat","@kitware/vtk.js/Common/Core/MatrixBuilder","@kitware/vtk.js/Rendering/Core/Volume","@kitware/vtk.js/Rendering/Core/VolumeMapper","@kitware/vtk.js/Common/DataModel/Plane","@kitware/vtk.js/Rendering/Core/ImageMapper","@kitware/vtk.js/Rendering/Core/ImageSlice","@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","@kitware/vtk.js/Rendering/Profiles/Geometry"],t):"object"==typeof exports?exports.cornerstone3D=t(require("detect-gpu"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@kitware/vtk.js/Common/DataModel/PiecewiseFunction"),require("@kitware/vtk.js/macros"),require("@kitware/vtk.js/Rendering/Core/Camera"),require("gl-matrix"),require("@kitware/vtk.js/Common/Core/Math"),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/Common/Core/HalfFloat"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Rendering/Core/Volume"),require("@kitware/vtk.js/Rendering/Core/VolumeMapper"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/Rendering/Core/ImageMapper"),require("@kitware/vtk.js/Rendering/Core/ImageSlice"),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"),require("@kitware/vtk.js/Rendering/Profiles/Geometry")):e.cornerstone3D=t(e.window,e["@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"],e["@kitware/vtk.js/Common/DataModel/PiecewiseFunction"],e["@kitware/vtk.js/macros"],e["@kitware/vtk.js/Rendering/Core/Camera"],e.window,e["@kitware/vtk.js/Common/Core/Math"],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/Common/Core/HalfFloat"],e["@kitware/vtk.js/Common/Core/MatrixBuilder"],e["@kitware/vtk.js/Rendering/Core/Volume"],e["@kitware/vtk.js/Rendering/Core/VolumeMapper"],e["@kitware/vtk.js/Common/DataModel/Plane"],e["@kitware/vtk.js/Rendering/Core/ImageMapper"],e["@kitware/vtk.js/Rendering/Core/ImageSlice"],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"],e["@kitware/vtk.js/Rendering/Profiles/Geometry"])}(self,(function(e,t,r,n,i,a,o,s,u,c,l,d,v,f,g,p,h,m,w,y,I,C,b,E,R,k,P,O,A,T,S,_,x,D,M,V,L,U,j,N,F,G,W,B,q,z,H){return function(){var K={785:function(e){"use strict";e.exports=d},3948:function(e){"use strict";e.exports=q},7903:function(e){"use strict";e.exports=f},8807:function(e){"use strict";e.exports=u},8847:function(e){"use strict";e.exports=g},2348:function(e){"use strict";e.exports=E},7283:function(e){"use strict";e.exports=l},1441:function(e){"use strict";e.exports=i},1864:function(e){"use strict";e.exports=m},2070:function(e){"use strict";e.exports=R},7474:function(e){"use strict";e.exports=k},9821:function(e){"use strict";e.exports=o},4795:function(e){"use strict";e.exports=r},1038:function(e){"use strict";e.exports=n},7896:function(e){"use strict";e.exports=w},9861:function(e){"use strict";e.exports=y},6610:function(e){"use strict";e.exports=P},6478:function(e){"use strict";e.exports=z},2329:function(e){"use strict";e.exports=C},673:function(e){"use strict";e.exports=b},8281:function(e){"use strict";e.exports=I},3739:function(e){"use strict";e.exports=p},6009:function(e){"use strict";e.exports=h},7468:function(e){"use strict";e.exports=t},6643:function(e){"use strict";e.exports=A},1128:function(e){"use strict";e.exports=T},7664:function(e){"use strict";e.exports=S},1474:function(e){"use strict";e.exports=_},2394:function(e){"use strict";e.exports=x},582:function(e){"use strict";e.exports=D},7482:function(e){"use strict";e.exports=M},6343:function(e){"use strict";e.exports=V},8021:function(e){"use strict";e.exports=O},4363:function(e){"use strict";e.exports=L},3982:function(e){"use strict";e.exports=U},6130:function(e){"use strict";e.exports=j},298:function(e){"use strict";e.exports=N},7953:function(e){"use strict";e.exports=v},9395:function(e){"use strict";e.exports=B},2398:function(e){"use strict";e.exports=F},4388:function(e){"use strict";e.exports=G},6914:function(e){"use strict";e.exports=H},6215:function(e){"use strict";e.exports=c},2643:function(e){"use strict";e.exports=W},8197:function(e){"use strict";e.exports=a},9199:function(t){"use strict";t.exports=e},2976:function(e){"use strict";e.exports=s},7609:function(e,t,r){var n=r(7425).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=Object.defineProperty||function(e,t,r){e[t]=r.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag";function d(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,r){return e[t]=r}}function v(e,t,r,n){var i=t&&t.prototype instanceof p?t:p,a=Object.create(i.prototype),s=new A(n||[]);return o(a,"_invoke",{value:R(e,r,s)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=v;var g={};function p(){}function h(){}function m(){}var w={};d(w,u,(function(){return this}));var y=Object.getPrototypeOf,I=y&&y(y(T([])));I&&I!==r&&a.call(I,u)&&(w=I);var C=m.prototype=p.prototype=Object.create(w);function b(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function r(i,o,s,u){var c=f(e[i],e,o);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==n(d)&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){r("next",e,s,u)}),(function(e){r("throw",e,s,u)})):t.resolve(d).then((function(e){l.value=e,s(l)}),(function(e){return r("throw",e,s,u)}))}u(c.arg)}var i;o(this,"_invoke",{value: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 R(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===g)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 u=f(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===g)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=f(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,g;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,g):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function P(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 O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function T(e){if(e){var t=e[u];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:S}}function S(){return{value:void 0,done:!0}}return h.prototype=m,o(C,"constructor",{value:m,configurable:!0}),o(m,"constructor",{value:h,configurable:!0}),h.displayName=d(m,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,d(e,l,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},b(E.prototype),d(E.prototype,c,(function(){return this})),t.AsyncIterator=E,t.async=function(e,r,n,i,a){void 0===a&&(a=Promise);var o=new E(v(e,r,n,i),a);return t.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},b(C),d(C,l,"Generator"),d(C,u,(function(){return this})),d(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=T,A.prototype={constructor:A,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(O),!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"),u=a.call(i,"finallyLoc");if(s&&u){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(!u)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,g):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),g},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),O(r),g}},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;O(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:T(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),g}},t}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},7425: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},2841:function(e,t,r){var n=r(7609)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},Y={};function X(e){var t=Y[e];if(void 0!==t)return t.exports;var r=Y[e]={exports:{}};return K[e](r,r.exports,X),r.exports}X.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return X.d(t,{a:t}),t},X.d=function(e,t){for(var r in t)X.o(t,r)&&!X.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},X.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},X.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var Z={};return function(){"use strict";X.r(Z),X.d(Z,{BaseVolumeViewport:function(){return Ii},CONSTANTS:function(){return t},EVENTS:function(){return d},Enums:function(){return e},ImageVolume:function(){return Xe},RenderingEngine:function(){return Ea},Settings:function(){return Da},StackViewport:function(){return ga},Viewport:function(){return vi},VolumeViewport:function(){return bi},VolumeViewport3D:function(){return ma},addVolumesToViewports:function(){return Mo},cache:function(){return bn},createVolumeActor:function(){return or},createVolumeMapper:function(){return bt},eventTarget:function(){return Ze},geometryLoader:function(){return u},getConfiguration:function(){return We},getEnabledElement:function(){return Pa},getEnabledElementByIds:function(){return Oa},getEnabledElements:function(){return Aa},getOrCreateCanvas:function(){return cr},getRenderingEngine:function(){return we},getRenderingEngines:function(){return ye},getShouldUseCPURendering:function(){return Ue},getShouldUseSharedArrayBuffer:function(){return Fe},imageLoadPoolManager:function(){return Ot},imageLoader:function(){return n},imageRetrievalPoolManager:function(){return ka},init:function(){return xe},isCornerstoneInitialized:function(){return Ge},metaData:function(){return i},registerImageLoader:function(){return Lt},requestPoolManager:function(){return Ot},resetUseCPURendering:function(){return Le},resetUseSharedArrayBuffer:function(){return Ne},setConfiguration:function(){return Be},setPreferSizeOverAccuracy:function(){return Ve},setUseCPURendering:function(){return Me},setUseSharedArrayBuffer:function(){return je},setVolumesForViewports:function(){return So},triggerEvent:function(){return $e},utilities:function(){return c},volumeLoader:function(){return r}});var e={};X.r(e),X.d(e,{BlendModes:function(){return C},CalibrationTypes:function(){return M},ContourType:function(){return T},DynamicOperatorType:function(){return D},Events:function(){return d},GeometryType:function(){return O},InterpolationType:function(){return m},OrientationAxis:function(){return E},RequestType:function(){return f},SharedArrayBufferModes:function(){return k},VOILUTFunctionType:function(){return _},ViewportStatus:function(){return L},ViewportType:function(){return p}});var t={};X.r(t),X.d(t,{CPU_COLORMAPS:function(){return U},EPSILON:function(){return F},MPR_CAMERA_VALUES:function(){return B},RENDERING_DEFAULTS:function(){return N},VIEWPORT_PRESETS:function(){return q}});var r={};X.r(r),X.d(r,{createAndCacheDerivedVolume:function(){return dt},createAndCacheVolume:function(){return ct},createLocalVolume:function(){return ft},getVolumeLoaderSchemes:function(){return pt},loadVolume:function(){return ut},registerUnknownVolumeLoader:function(){return ht},registerVolumeLoader:function(){return gt}});var n={};X.r(n),X.d(n,{cancelLoadAll:function(){return Vt},cancelLoadImage:function(){return Dt},cancelLoadImages:function(){return Mt},loadAndCacheImage:function(){return _t},loadAndCacheImages:function(){return xt},loadImage:function(){return St},registerImageLoader:function(){return Lt},registerUnknownImageLoader:function(){return Ut},unregisterAllImageLoaders:function(){return jt}});var i={};X.r(i),X.d(i,{addProvider:function(){return Ft},get:function(){return Bt},removeAllProviders:function(){return Wt},removeProvider:function(){return Gt}});var a={};X.r(a),X.d(a,{toLowHighRange:function(){return zt},toWindowLevel:function(){return qt}});var o={};X.r(o),X.d(o,{getColormap:function(){return Un},getColormapNames:function(){return jn},registerColormap:function(){return Ln}});var s={};X.r(s),X.d(s,{linePlaneIntersection:function(){return ni},planeDistanceToPoint:function(){return oi},planeEquation:function(){return ii},threePlaneIntersection:function(){return ai}});var u={};X.r(u),X.d(u,{createAndCacheGeometry:function(){return Fa}});var c={};X.r(c),X.d(c,{actorIsA:function(){return Rn},applyPreset:function(){return Gn},calculateViewportsSpatialRegistration:function(){return Co},calibratedPixelSpacingMetadataProvider:function(){return Za},colormap:function(){return o},createFloat32SharedArray:function(){return Ja},createInt16SharedArray:function(){return to},createLinearRGBTransferFunction:function(){return la},createSigmoidRGBTransferFunction:function(){return Fn},createUint16SharedArray:function(){return eo},createUint8SharedArray:function(){return Qa},deepMerge:function(){return ke},getClosestImageId:function(){return Pn},getClosestStackImageIndexForPoint:function(){return mo},getImageLegacy:function(){return Ao},getImageSliceDataForVolumeViewport:function(){return Jn},getMinMax:function(){return Ht},getRuntimeId:function(){return Ya},getScalarDataType:function(){return Oo},getScalingParameters:function(){return Po},getSliceRange:function(){return Xn},getSpacingInNormalDirection:function(){return kn},getTargetVolumeAndSpacingInNormalDir:function(){return Qn},getViewportImageCornersInWorld:function(){return bo},getViewportsWithImageURI:function(){return ho},getViewportsWithVolumeId:function(){return ao},getVoiFromSigmoidRGBTransferFunction:function(){return Mn},getVolumeActorCorners:function(){return qn},getVolumeSliceRangeInfo:function(){return fo},getVolumeViewportScrollInfo:function(){return go},getVolumeViewportsContainingSameVolumes:function(){return io},hasNaNValues:function(){return si},imageIdToURI:function(){return ue},imageToWorldCoords:function(){return vo},indexWithinDimensions:function(){return ro},invertRgbTransferFunction:function(){return Nn},isEqual:function(){return Si},isImageActor:function(){return En},isOpposite:function(){return $a},isPTPrescaledWithSUV:function(){return oo},loadImageToCanvas:function(){return co},planar:function(){return s},renderToCanvasCPU:function(){return uo},renderToCanvasGPU:function(){return so},scaleRgbTransferFunction:function(){return Ba},snapFocalPointToSlice:function(){return po},spatialRegistrationMetadataProvider:function(){return Io},transformWorldToIndex:function(){return wi},triggerEvent:function(){return $e},uuidv4:function(){return tt},windowLevel:function(){return a},worldToImageCoords:function(){return lo}});var l=function(e){return 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.DISPLAY_AREA_MODIFIED="CORNERSTONE_DISPLAY_AREA_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_VOLUME_LOADING_COMPLETED="CORNERSTONE_IMAGE_VOLUME_LOADING_COMPLETED",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",e.GEOMETRY_CACHE_GEOMETRY_ADDED="CORNERSTONE_GEOMETRY_CACHE_GEOMETRY_ADDED",e.VOLUME_SCROLL_OUT_OF_BOUNDS="CORNERSTONE_VOLUME_SCROLL_OUT_OF_BOUNDS",e}(l||{}),d=l,v=function(e){return e.Interaction="interaction",e.Thumbnail="thumbnail",e.Prefetch="prefetch",e}(v||{}),f=v,g=function(e){return e.STACK="stack",e.ORTHOGRAPHIC="orthographic",e.PERSPECTIVE="perspective",e.VOLUME_3D="volume3d",e}(g||{}),p=g,h=function(e){return e[e.NEAREST=0]="NEAREST",e[e.LINEAR=1]="LINEAR",e[e.FAST_LINEAR=2]="FAST_LINEAR",e}(h||{}),m=h,w=X(7468),y=X.n(w)().BlendMode,I=function(e){return e[e.COMPOSITE=y.COMPOSITE_BLEND]="COMPOSITE",e[e.MAXIMUM_INTENSITY_BLEND=y.MAXIMUM_INTENSITY_BLEND]="MAXIMUM_INTENSITY_BLEND",e[e.MINIMUM_INTENSITY_BLEND=y.MINIMUM_INTENSITY_BLEND]="MINIMUM_INTENSITY_BLEND",e[e.AVERAGE_INTENSITY_BLEND=y.AVERAGE_INTENSITY_BLEND]="AVERAGE_INTENSITY_BLEND",e}(I||{}),C=I,b=function(e){return e.AXIAL="axial",e.CORONAL="coronal",e.SAGITTAL="sagittal",e.ACQUISITION="acquisition",e}(b||{}),E=b,R=function(e){return e.TRUE="true",e.FALSE="false",e.AUTO="auto",e}(R||{}),k=R,P=function(e){return e.CONTOUR="contour",e}(P||{}),O=P,A=function(e){return e.CLOSED_PLANAR="CLOSED_PLANAR",e.OPEN_PLANAR="OPEN_PLANAR",e}(A||{}),T=A,S=function(e){return e.LINEAR="LINEAR",e.SAMPLED_SIGMOID="SIGMOID",e}(S||{}),_=S,x=function(e){return e.SUM="SUM",e.AVERAGE="AVERAGE",e.SUBTRACT="SUBTRACT",e}(x||{}),D=x,M=function(e){return e.NOT_APPLICABLE="",e.ERMF="ERMF",e.USER="User",e.PROJECTION="Proj",e.REGION="Region",e.ERROR="Error",e.UNCALIBRATED="Uncalibrated",e}({}),V=function(e){return e.NO_DATA="noData",e.LOADING="loading",e.PRE_RENDER="preRender",e.RESIZE="resize",e.RENDERED="rendered",e}(V||{}),L=V,U={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]]}}},j={MINIMUM_SLAB_THICKNESS:.05,MAXIMUM_RAY_DISTANCE:1e6};Object.freeze(j);var N=j,F=.001;function G(e){return G="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},G(e)}function W(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 B=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 W(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)?W(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"===G(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]}}),q=[{name:"CT-AAA",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"12 -3024 0 143.556 0 166.222 0.686275 214.389 0.696078 419.736 0.833333 3071 0.803922",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"24 -3024 0 0 0 143.556 0.615686 0.356863 0.184314 166.222 0.882353 0.603922 0.290196 214.389 1 1 1 419.736 1 0.937033 0.954531 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-AAA2",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"16 -3024 0 129.542 0 145.244 0.166667 157.02 0.5 169.918 0.627451 395.575 0.8125 1578.73 0.8125 3071 0.8125",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"32 -3024 0 0 0 129.542 0.54902 0.25098 0.14902 145.244 0.6 0.627451 0.843137 157.02 0.890196 0.47451 0.6 169.918 0.992157 0.870588 0.392157 395.575 1 0.886275 0.658824 1578.73 1 0.829256 0.957922 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Bone",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"8 -3024 0 -16.4458 0 641.385 0.715686 3071 0.705882",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"16 -3024 0 0 0 -16.4458 0.729412 0.254902 0.301961 641.385 0.905882 0.815686 0.552941 3071 1 1 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Bones",gradientOpacity:"4 0 1 985.12 1",specularPower:"1",scalarOpacity:"8 -1000 0 152.19 0 278.93 0.190476 952 0.2",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"20 -1000 0.3 0.3 1 -488 0.3 1 0.3 463.28 1 0 0 659.15 1 0.912535 0.0374849 953 1 0.3 0.3",diffuse:"1",interpolation:"1"},{name:"CT-Cardiac",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"12 -3024 0 -77.6875 0 94.9518 0.285714 179.052 0.553571 260.439 0.848214 3071 0.875",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"24 -3024 0 0 0 -77.6875 0.54902 0.25098 0.14902 94.9518 0.882353 0.603922 0.290196 179.052 1 0.937033 0.954531 260.439 0.615686 0 0 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Cardiac2",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"12 -3024 0 42.8964 0 163.488 0.428571 277.642 0.776786 1587 0.754902 3071 0.754902",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"24 -3024 0 0 0 42.8964 0.54902 0.25098 0.14902 163.488 0.917647 0.639216 0.0588235 277.642 1 0.878431 0.623529 1587 1 1 1 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Cardiac3",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"14 -3024 0 -86.9767 0 45.3791 0.169643 139.919 0.589286 347.907 0.607143 1224.16 0.607143 3071 0.616071",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"28 -3024 0 0 0 -86.9767 0 0.25098 1 45.3791 1 0 0 139.919 1 0.894893 0.894893 347.907 1 1 0.25098 1224.16 1 1 1 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Chest-Contrast-Enhanced",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"10 -3024 0 67.0106 0 251.105 0.446429 439.291 0.625 3071 0.616071",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"20 -3024 0 0 0 67.0106 0.54902 0.25098 0.14902 251.105 0.882353 0.603922 0.290196 439.291 1 0.937033 0.954531 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Chest-Vessels",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"10 -3024 0 -1278.35 0 22.8277 0.428571 439.291 0.625 3071 0.616071",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"20 -3024 0 0 0 -1278.35 0.54902 0.25098 0.14902 22.8277 0.882353 0.603922 0.290196 439.291 1 0.937033 0.954531 3071 0.827451 0.658824 1",diffuse:"1",interpolation:"1"},{name:"CT-Coronary-Arteries",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"12 -2048 0 136.47 0 159.215 0.258929 318.43 0.571429 478.693 0.776786 3661 1",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"24 -2048 0 0 0 136.47 0 0 0 159.215 0.159804 0.159804 0.159804 318.43 0.764706 0.764706 0.764706 478.693 1 1 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Coronary-Arteries-2",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"14 -2048 0 142.677 0 145.016 0.116071 192.174 0.5625 217.24 0.776786 384.347 0.830357 3661 0.830357",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"28 -2048 0 0 0 142.677 0 0 0 145.016 0.615686 0 0.0156863 192.174 0.909804 0.454902 0 217.24 0.972549 0.807843 0.611765 384.347 0.909804 0.909804 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Coronary-Arteries-3",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"14 -2048 0 128.643 0 129.982 0.0982143 173.636 0.669643 255.884 0.857143 584.878 0.866071 3661 1",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"28 -2048 0 0 0 128.643 0 0 0 129.982 0.615686 0 0.0156863 173.636 0.909804 0.454902 0 255.884 0.886275 0.886275 0.886275 584.878 0.968627 0.968627 0.968627 3661 1 1 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Cropped-Volume-Bone",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"10 -2048 0 -451 0 -450 1 1050 1 3661 1",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"20 -2048 0 0 0 -451 0 0 0 -450 0.0556356 0.0556356 0.0556356 1050 1 1 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Fat",gradientOpacity:"6 0 1 985.12 1 988 1",specularPower:"1",scalarOpacity:"14 -1000 0 -100 0 -99 0.15 -60 0.15 -59 0 101.2 0 952 0",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"36 -1000 0.3 0.3 1 -497.5 0.3 1 0.3 -99 0 0 1 -76.946 0 1 0 -65.481 0.835431 0.888889 0.0165387 83.89 1 0 0 463.28 1 0 0 659.15 1 0.912535 0.0374849 2952 1 0.300267 0.299886",diffuse:"1",interpolation:"1"},{name:"CT-Liver-Vasculature",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"14 -2048 0 149.113 0 157.884 0.482143 339.96 0.660714 388.526 0.830357 1197.95 0.839286 3661 0.848214",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"28 -2048 0 0 0 149.113 0 0 0 157.884 0.501961 0.25098 0 339.96 0.695386 0.59603 0.36886 388.526 0.854902 0.85098 0.827451 1197.95 1 1 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Lung",gradientOpacity:"6 0 1 985.12 1 988 1",specularPower:"1",scalarOpacity:"12 -1000 0 -600 0 -599 0.15 -400 0.15 -399 0 2952 0",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"24 -1000 0.3 0.3 1 -600 0 0 1 -530 0.134704 0.781726 0.0724558 -460 0.929244 1 0.109473 -400 0.888889 0.254949 0.0240258 2952 1 0.3 0.3",diffuse:"1",interpolation:"1"},{name:"CT-MIP",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"8 -3024 0 -637.62 0 700 1 3071 1",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"16 -3024 0 0 0 -637.62 1 1 1 700 1 1 1 3071 1 1 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Muscle",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"10 -3024 0 -155.407 0 217.641 0.676471 419.736 0.833333 3071 0.803922",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"20 -3024 0 0 0 -155.407 0.54902 0.25098 0.14902 217.641 0.882353 0.603922 0.290196 419.736 1 0.937033 0.954531 3071 0.827451 0.658824 1",diffuse:"0.9",interpolation:"1"},{name:"CT-Pulmonary-Arteries",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"14 -2048 0 -568.625 0 -364.081 0.0714286 -244.813 0.401786 18.2775 0.607143 447.798 0.830357 3592.73 0.839286",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"28 -2048 0 0 0 -568.625 0 0 0 -364.081 0.396078 0.301961 0.180392 -244.813 0.611765 0.352941 0.0705882 18.2775 0.843137 0.0156863 0.156863 447.798 0.752941 0.752941 0.752941 3592.73 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Soft-Tissue",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"10 -2048 0 -167.01 0 -160 1 240 1 3661 1",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"20 -2048 0 0 0 -167.01 0 0 0 -160 0.0556356 0.0556356 0.0556356 240 1 1 1 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"CT-Air",gradientOpacity:"4 0 1 255 1",specularPower:"10",scalarOpacity:"8 -3024 0.705882 -900.0 0.715686 -500.0 0 3071 0",specular:"0.2",shade:"1",ambient:"0.1",colorTransfer:"16 -3024 1 1 1 -900.0 0.2 1.0 1.0 -500.0 0.3 0.3 1.0 3071 0 0 0 ",diffuse:"0.9",interpolation:"1"},{name:"MR-Angio",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"12 -2048 0 151.354 0 158.279 0.4375 190.112 0.580357 200.873 0.732143 3661 0.741071",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"24 -2048 0 0 0 151.354 0 0 0 158.279 0.74902 0.376471 0 190.112 1 0.866667 0.733333 200.873 0.937255 0.937255 0.937255 3661 1 1 1",diffuse:"1",interpolation:"1"},{name:"MR-Default",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"12 0 0 20 0 40 0.15 120 0.3 220 0.375 1024 0.5",specular:"0",shade:"1",ambient:"0.2",colorTransfer:"24 0 0 0 0 20 0.168627 0 0 40 0.403922 0.145098 0.0784314 120 0.780392 0.607843 0.380392 220 0.847059 0.835294 0.788235 1024 1 1 1",diffuse:"1",interpolation:"1"},{name:"MR-MIP",gradientOpacity:"4 0 1 255 1",specularPower:"1",scalarOpacity:"8 0 0 98.3725 0 416.637 1 2800 1",specular:"0",shade:"0",ambient:"0.2",colorTransfer:"16 0 1 1 1 98.3725 1 1 1 416.637 1 1 1 2800 1 1 1",diffuse:"1",interpolation:"1"},{name:"MR-T2-Brain",gradientOpacity:"4 0 1 160.25 1",specularPower:"40",scalarOpacity:"10 0 0 36.05 0 218.302 0.171429 412.406 1 641 1",specular:"0.5",shade:"1",ambient:"0.3",colorTransfer:"16 0 0 0 0 98.7223 0.956863 0.839216 0.192157 412.406 0 0.592157 0.807843 641 1 1 1",diffuse:"0.6",interpolation:"1"},{name:"DTI-FA-Brain",gradientOpacity:"4 0 1 0.9950 1",specularPower:"40",scalarOpacity:"16 0 0 0 0 0.3501 0.0158 0.49379 0.7619 0.6419 1 0.9920 1 0.9950 0 0.9950 0",specular:"0.5",shade:"1",ambient:"0.3",colorTransfer:"28 0 1 0 0 0 1 0 0 0.24974 0.4941 1 0 0.49949 0 0.9882 1 0.7492 0.51764 0 1 0.9950 1 0 0 0.9950 1 0 0",diffuse:"0.9",interpolation:"1"}];function z(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function H(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function o(e){z(a,n,i,o,s,"next",e)}function s(e){z(a,n,i,o,s,"throw",e)}o(void 0)}))}}var K=X(2841),Y=X.n(K),$=X(3739),Q=X.n($);function J(e){var t=function(e,t){if("object"!==G(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!==G(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===G(t)?t:String(t)}function ee(e,t,r){return(t=J(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}X(6215);var te=X(7283),re=X.n(te),ne=X(785),ie=X.n(ne);function ae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oe(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,J(n.key),n)}}function se(e,t,r){return t&&oe(e.prototype,t),r&&oe(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ue(e){var t=e.indexOf(":");return e.substring(t+1)}var ce=X(8197),le=X.n(ce),de=X(7953),ve=X.n(de),fe=X(7903),ge=X.n(fe),pe=X(9199),he={},me={get:function(e){return he[e]},set:function(e){var t=e.id;he[t]=e},delete:function(e){return delete he[e]},getAll:function(){var e=Object.keys(he).map((function(e){return he[e]}));return e.sort((function(e,t){return"_"===e.id[0]&&"_"!==t.id[0]?1:"_"!==e.id[0]&&"_"===t.id[0]?-1:0})),e}};function we(e){return me.get(e)}function ye(){return me.getAll()}var Ie=we,Ce=function(e){return e&&"object"===G(e)&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)},be=function(e,t){var r;return t&&!0===t.clone&&Ce(e)?Re((r=e,Array.isArray(r)?[]:{}),e,t):e},Ee=function(e,t,r){var n=e.slice();return t.forEach((function(t,i){void 0===n[i]?n[i]=be(t,r):Ce(t)?n[i]=Re(e[i],t,r):-1===e.indexOf(t)&&n.push(be(t,r))})),n},Re=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]:void 0,n=Array.isArray(t),i=(r||{arrayMerge:Ee}).arrayMerge||Ee;return n?Array.isArray(e)?i(e,t,r):be(t,r):function(e,t,r){var n={};return Ce(e)&&Object.keys(e).forEach((function(t){n[t]=be(e[t],r)})),Object.keys(t).forEach((function(i){Ce(t[i])&&e[i]?n[i]=Re(e[i],t[i],r):n[i]=be(t[i],r)})),n}(e,t,r)},ke=Re,Pe=!1,Oe=!0,Ae=k.TRUE,Te={gpuTier:void 0,detectGPUConfig:{},rendering:{useCPURendering:!1,preferSizeOverAccuracy:!1,useNorm16Texture:!1,strictZSpacingForVolumeViewport:!0}},Se={gpuTier:void 0,detectGPUConfig:{},rendering:{useCPURendering:!1,preferSizeOverAccuracy:!1,useNorm16Texture:!1,strictZSpacingForVolumeViewport:!0}};function _e(){var e,t=(e=document.createElement("canvas")).getContext("webgl2")||e.getContext("webgl")||e.getContext("experimental-webgl");return t instanceof WebGLRenderingContext||t instanceof WebGL2RenderingContext}function xe(){return De.apply(this,arguments)}function De(){return De=H(Y().mark((function e(){var t,r=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.length>0&&void 0!==r[0]?r[0]:Se,!Pe){e.next=3;break}return e.abrupt("return",Pe);case 3:if(Se=ke(Te,t),_e()){e.next=10;break}console.log("CornerstoneRender: GPU not detected, using CPU rendering"),Se.rendering.useCPURendering=!0,e.next=18;break;case 10:if(e.t0=Se.gpuTier,e.t0){e.next=15;break}return e.next=14,(0,pe.getGPUTier)(Se.detectGPUConfig);case 14:e.t0=e.sent;case 15:Se.gpuTier=e.t0,console.log("CornerstoneRender: Using detect-gpu to get the GPU benchmark:",Se.gpuTier),Se.gpuTier.tier<1?(console.log("CornerstoneRender: GPU is not powerful enough, using CPU rendering"),Se.rendering.useCPURendering=!0):console.log("CornerstoneRender: using GPU rendering");case 18:return je(Ae),Pe=!0,e.abrupt("return",Pe);case 21:case"end":return e.stop()}}),e)}))),De.apply(this,arguments)}function Me(e){Se.rendering.useCPURendering=e,Pe=!0,qe()}function Ve(e){Se.rendering.preferSizeOverAccuracy=e,Pe=!0,qe()}function Le(){Se.rendering.useCPURendering=!_e(),qe()}function Ue(){return Se.rendering.useCPURendering}function je(e){return e==k.AUTO?(Ae=k.AUTO,void(function(){try{return!!new SharedArrayBuffer(0)}catch(e){return!1}}()?(Oe=!0,console.log("CornerstoneRender: using SharedArrayBuffer")):(Oe=!1,console.warn("CornerstoneRender: SharedArray Buffer not allowed, performance may be slower.\n Try ensuring page is cross-origin isolated to enable SharedArrayBuffer.")))):e==k.TRUE||1==e?(Ae=k.TRUE,void(Oe=!0)):e==k.FALSE||0==e?(Ae=k.FALSE,void(Oe=!1)):void 0}function Ne(){je(Ae)}function Fe(){return Oe}function Ge(){return Pe}function We(){return Se}function Be(e){Se=e,qe()}function qe(){ye().forEach((function(e){return e.getViewports().forEach((function(e){var t;return null===(t=e.updateRenderingPipeline)||void 0===t?void 0:t.call(e)}))}))}var ze={updatedFrames:[]};function He(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,ze,r),ve().extend(e,t,r),function(e,t){t.classHierarchy.push("vtkStreamingOpenGLTexture");var r=e.create3DFilterableFromRaw;e.create3DFilterableFromRaw=function(e,n,i,a,o,s,u){t.inputDataType=o,t.inputNumComps=a,r(e,n,i,a,o,s,u)},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 Uint16Array)i=2,a=Uint16Array;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){var a=e.buffer,o=r*(t.width*t.height*t.components*n),s=t.width*t.components,u=t.context,c=u.getParameter(u.MAX_TEXTURE_SIZE),l=Math.floor(n*c/t.width);l=Math.min(l,t.height);var d=We().rendering,v=d.useNorm16Texture,f=d.preferSizeOverAccuracy;v&&!f&&(l=1);for(var g=s*l,p=g*n,h=Math.floor(t.height/l),m=t.height%l,w=s*m,y=0;y<h;y++){var I=y*l,C=new i(a,o+y*p,g);if(t.useHalfFloat&&(i===Uint16Array||i===Int16Array)){for(var b=0;b<C.length;b++)C[b]=ge().toHalf(C[b]);i===Int16Array&&(C=new Uint16Array(C))}u.texSubImage3D(t.target,0,0,I,r,t.width,l,1,t.format,t.openGLDataType,C)}if(0!==m){var E=h*l,R=new i(a,o+h*p,w);u.texSubImage3D(t.target,0,0,E,r,t.width,m,1,t.format,t.openGLDataType,R)}},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}}(e,t)}var Ke={newInstance:le().newInstance(He,"vtkStreamingOpenGLTexture"),extend:He},Ye=function(){function e(t){ae(this,e),ee(this,"_imageIds",void 0),ee(this,"_imageIdsIndexMap",new Map),ee(this,"_imageURIsIndexMap",new Map),ee(this,"scalarData",void 0),ee(this,"volumeId",void 0),ee(this,"isPreScaled",!1),ee(this,"dimensions",void 0),ee(this,"direction",void 0),ee(this,"metadata",void 0),ee(this,"origin",void 0),ee(this,"scaling",void 0),ee(this,"sizeInBytes",void 0),ee(this,"spacing",void 0),ee(this,"numVoxels",void 0),ee(this,"imageData",void 0),ee(this,"vtkOpenGLTexture",void 0),ee(this,"loadStatus",void 0),ee(this,"referencedVolumeId",void 0),ee(this,"hasPixelSpacing",void 0),ee(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=Ke.newInstance(),this.numVoxels=this.dimensions[0]*this.dimensions[1]*this.dimensions[2],t.scaling&&(this.scaling=t.scaling),t.referencedVolumeId&&(this.referencedVolumeId=t.referencedVolumeId)}return se(e,[{key:"imageIds",get:function(){return this._imageIds},set:function(e){this._imageIds=e,this._reprocessImageIds()}},{key:"_reprocessImageIds",value:function(){var e=this;this._imageIdsIndexMap.clear(),this._imageURIsIndexMap.clear(),this._imageIds.forEach((function(t,r){var n=ue(t);e._imageIdsIndexMap.set(t,r),e._imageURIsIndexMap.set(n,r)}))}},{key:"isDynamicVolume",value:function(){return!1}},{key:"getScalarData",value:function(){if((e=this.scalarData)instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)return this.scalarData;var e;throw new Error("Unknow scalar data type")}},{key:"getImageIdIndex",value:function(e){return this._imageIdsIndexMap.get(e)}},{key:"getImageURIIndex",value:function(e){return this._imageURIsIndexMap.get(e)}},{key:"destroy",value:function(){this.imageData.delete(),this.imageData=null,this.scalarData=null,this.vtkOpenGLTexture.releaseGraphicsResources(),this.vtkOpenGLTexture.delete()}}]),e}(),Xe=Ye,Ze=new(function(){function e(){ae(this,e),ee(this,"listeners",void 0),this.listeners={}}return se(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}());function $e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ze,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 Qe(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 Je(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)?Je(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 Je(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 et=new(function(){function e(){var t=this;ae(this,e),ee(this,"_imageCache",new Map),ee(this,"_volumeCache",new Map),ee(this,"_geometryCache",void 0),ee(this,"_imageCacheSize",0),ee(this,"_volumeCacheSize",0),ee(this,"_maxCacheSize",3221225472),ee(this,"_maxInstanceSize",2147483640),ee(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})),ee(this,"isCacheable",(function(e){return!(e>t._maxInstanceSize)&&t.getBytesAvailable()+t._imageCacheSize>e})),ee(this,"getMaxCacheSize",(function(){return t._maxCacheSize})),ee(this,"getMaxInstanceSize",(function(){return t._maxInstanceSize})),ee(this,"getCacheSize",(function(){return t._imageCacheSize+t._volumeCacheSize})),ee(this,"_decacheImage",(function(e){var r=t._imageCache.get(e).imageLoadObject;r.cancelFn&&r.cancelFn(),r.decache&&r.decache(),t._imageCache.delete(e)})),ee(this,"_decacheVolume",(function(e){var r=t._volumeCache.get(e),n=r.volumeLoadObject,i=r.volume;i.cancelLoading&&i.cancelLoading(),i.imageData&&i.imageData.delete(),n.cancelFn&&n.cancelFn(),n.decache&&n.decache(),t._volumeCache.delete(e)})),ee(this,"purgeCache",(function(){for(var e=t._imageCache.keys();;){var r=e.next(),n=r.value;if(r.done)break;t.removeImageLoadObject(n),$e(Ze,d.IMAGE_CACHE_IMAGE_REMOVED,{imageId:n})}t.purgeVolumeCache()})),ee(this,"purgeVolumeCache",(function(){for(var e=t._volumeCache.keys();;){var r=e.next(),n=r.value;if(r.done)break;t.removeVolumeLoadObject(n),$e(Ze,d.VOLUME_CACHE_VOLUME_REMOVED,{volumeId:n})}})),ee(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})),ee(this,"getGeometry",(function(e){if(null==e)throw new Error("getGeometry: geometryId must not be undefined");var r=t._geometryCache.get(e);if(void 0!==r)return r.timeStamp=Date.now(),r.geometry})),ee(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})),ee(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};$e(Ze,d.IMAGE_CACHE_IMAGE_REMOVED,n),t._decacheImage(e)})),ee(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};$e(Ze,d.VOLUME_CACHE_VOLUME_REMOVED,n),t._decacheVolume(e)})),ee(this,"putGeometryLoadObject",(function(e,r){if(null==e)throw new Error("putGeometryLoadObject: geometryId must not be undefined");if(t._geometryCache.has(e))throw new Error("putGeometryLoadObject: geometryId already present in geometryCache");var n={geometryId:e,geometryLoadObject:r,loaded:!1,timeStamp:Date.now(),sizeInBytes:0};return t._geometryCache.set(e,n),r.promise.then((function(r){if(t._geometryCache.has(e)){if(Number.isNaN(r.sizeInBytes))throw new Error("putGeometryLoadObject: geometry.sizeInBytes is not a number");n.loaded=!0,n.geometry=r,n.sizeInBytes=r.sizeInBytes;var i={geometry:r,geometryId:e};$e(Ze,d.GEOMETRY_CACHE_GEOMETRY_ADDED,i)}else console.warn("putGeometryLoadObject: geometryId was removed from geometryCache")})).catch((function(r){throw t._geometryCache.delete(e),r}))})),ee(this,"_incrementImageCacheSize",(function(e){t._imageCacheSize+=e})),ee(this,"_incrementVolumeCacheSize",(function(e){t._volumeCacheSize+=e})),this._geometryCache=new Map}return se(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=Qe(a);try{for(s.s();!(o=s.n()).done;){var u=o.value;if(this.removeImageLoadObject(u),$e(Ze,d.IMAGE_CACHE_IMAGE_REMOVED,{imageId:u}),(r=this.getBytesAvailable())>=e)return r}}catch(e){s.e(e)}finally{s.f()}var c,l=Qe(i=(n=Array.from(this._imageCache.values())).map((function(e){return e.imageId})));try{for(l.s();!(c=l.n()).done;){var v=c.value;if(this.removeImageLoadObject(v),$e(Ze,d.IMAGE_CACHE_IMAGE_REMOVED,{imageId:v}),(r=this.getBytesAvailable())>=e)return r}}catch(e){l.e(e)}finally{l.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(Number.isNaN(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(d.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};$e(Ze,d.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:"isLoaded",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=ue(e),n=0,i=t;n<i.length;n++){var a,o=i[n],s=this._volumeCache.get(o).volume;if(null==s||null===(a=s.imageIds)||void 0===a||!a.length)return;var u=s.getImageURIIndex(r);if(u>-1)return{volume:s,imageIdIndex:u}}}},{key:"getCachedImageBasedOnImageURI",value:function(e){var t=ue(e),r=Array.from(this._imageCache.keys()).find((function(e){return ue(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(Number.isNaN(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};$e(Ze,d.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 tt(){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 rt(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 nt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?rt(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):rt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function it(e){var t=e.dimensions,r=e.metadata,n=e.spacing,i=e.direction,a=e.origin,o=1;"RGB"===r.PhotometricInterpretation&&(o=3);var s=re().newInstance(),u={numberOfComponents:o};return s.setDimensions(t),s.setSpacing(n),s.setDirection(i),s.setOrigin(a),e.isDynamicVolume()?function(e,t,r){t.forEach((function(t,n){var i=ie().newInstance(nt({name:"timePoint-".concat(n),values:t},r));e.getPointData().addArray(i)})),e.getPointData().setActiveScalars("timePoint-0")}(s,e.getScalarDataArrays(),u):function(e,t,r){var n=ie().newInstance(nt({name:"Pixels",values:t},r));e.getPointData().setScalars(n)}(s,e.getScalarData(),u),s}var at,ot={};function st(e,t){var r=e.indexOf(":"),n=e.substring(0,r),i=ot[n];if(null==i){if(void 0!==at)return at(e,t);throw new Error("loadVolumeFromVolumeLoader: no volume loader for volumeId")}var a=i(e,t);return a.promise.then((function(e){$e(Ze,d.VOLUME_LOADED,{volume:e})}),(function(t){var r={volumeId:e,error:t};$e(Ze,d.VOLUME_LOADED_FAILED,r)})),a}function ut(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=et.getVolumeLoadObject(e);return void 0!==r?r.promise:(r=st(e,t)).promise.then((function(e){return e.imageData=it(e),e}))}function ct(e,t){return lt.apply(this,arguments)}function lt(){return(lt=H(Y().mark((function e(t,r){var n;return Y().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=et.getVolumeLoadObject(t))){e.next=5;break}return e.abrupt("return",n.promise);case 5:return(n=st(t,r)).promise.then((function(e){e.imageData=it(e)})),et.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 dt(e,t){return vt.apply(this,arguments)}function vt(){return(vt=H(Y().mark((function e(t,r){var n,i,a,o,s,u,c,l,v,f,g,p,h,m,w,y,I,C,b;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=et.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=tt()),o=n.metadata,s=n.dimensions,u=n.spacing,c=n.origin,l=n.direction,v=n.getScalarData(),f=v.length,h=We().rendering.useNorm16Texture,!a){e.next=34;break}if("Float32Array"!==a.type){e.next=16;break}g=4*f,p=Float32Array,e.next=32;break;case 16:if("Uint8Array"!==a.type){e.next=21;break}g=f,p=Uint8Array,e.next=32;break;case 21:if(!h||"Uint16Array"!==a.type){e.next=26;break}g=2*f,p=Uint16Array,e.next=32;break;case 26:if(!h||"Int16Array"!==a.type){e.next=31;break}g=2*f,p=Uint16Array,e.next=32;break;case 31:throw new Error("TargetBuffer should be Float32Array or Uint8Array");case 32:e.next=36;break;case 34:g=4*f,p=Float32Array;case 36:if(et.isCacheable(g)){e.next=39;break}throw new Error(d.CACHE_SIZE_EXCEEDED);case 39:return null!=a&&a.sharedArrayBuffer?(w=new SharedArrayBuffer(g),m=new p(w)):m=new p(f),y=ie().newInstance({name:"Pixels",numberOfComponents:1,values:m}),(I=re().newInstance()).setDimensions(s),I.setSpacing(u),I.setDirection(l),I.setOrigin(c),I.getPointData().setScalars(y),C=new Ye({volumeId:i,metadata:structuredClone(o),dimensions:[s[0],s[1],s[2]],spacing:u,origin:c,direction:l,imageData:I,scalarData:m,sizeInBytes:g,referencedVolumeId:t}),b={promise:Promise.resolve(C)},e.next=51,et.putVolumeLoadObject(i,b);case 51:return e.abrupt("return",C);case 52:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ft(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,u=e.direction;if(!n||!(n instanceof Uint8Array||n instanceof Float32Array||n instanceof Uint16Array||n instanceof Int16Array))throw new Error("To use createLocalVolume you should pass scalarData of type Uint8Array, Uint16Array, Int16Array or Float32Array");void 0===t&&(t=tt());var c=et.getVolume(t);if(c)return c;var l=a[0]*a[1]*a[2],v=n?n.buffer.byteLength:4*l;if(!et.isCacheable(v))throw new Error(d.CACHE_SIZE_EXCEEDED);var f=ie().newInstance({name:"Pixels",numberOfComponents:1,values:n}),g=re().newInstance();g.setDimensions(a),g.setSpacing(o),g.setDirection(u),g.setOrigin(s),g.getPointData().setScalars(f);var p=new Ye({volumeId:t,metadata:structuredClone(i),dimensions:[a[0],a[1],a[2]],spacing:o,origin:s,direction:u,imageData:g,scalarData:n,sizeInBytes:v});if(r)return p;var h={promise:Promise.resolve(p)};return et.putVolumeLoadObject(t,h),p}function gt(e,t){ot[e]=t}function pt(){return Object.keys(ot)}function ht(e){var t=at;return at=e,t}var mt=X(6009),wt=X.n(mt),yt={scalarTexture:null};function It(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,yt,r),wt().extend(e,t,r),le().setGet(e,t,["scalarTexture"]),function(e,t){t.classHierarchy.push("vtkSharedVolumeMapper");var r=e.delete;e.delete=function(){t.scalarTexture=null,r()}}(e,t)}var Ct={newInstance:le().newInstance(It,"vtkSharedVolumeMapper"),extend:It};function bt(e,t){var r=Ct.newInstance();We().rendering.preferSizeOverAccuracy&&r.setPreferSizeOverAccuracy(!0),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 Et(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 Rt=function(){function e(t){ae(this,e),ee(this,"id",void 0),ee(this,"awake",void 0),ee(this,"requestPool",void 0),ee(this,"numRequests",{interaction:0,thumbnail:0,prefetch:0}),ee(this,"maxNumRequests",void 0),ee(this,"grabDelay",void 0),ee(this,"timeoutHandle",void 0),this.id=t||tt(),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 se(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 Et(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)?Et(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||(this.timeoutHandle=window.setTimeout((function(){e.timeoutHandle=null,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((function(e,t){return e-t}))}},{key:"getRequestPool",value:function(){return this.requestPool}}]),e}(),kt=(new Rt,new Rt("imageLoadPool"));kt.grabDelay=0,kt.setMaxSimultaneousRequests(f.Interaction,1e3),kt.setMaxSimultaneousRequests(f.Thumbnail,1e3),kt.setMaxSimultaneousRequests(f.Prefetch,1e3);var Pt,Ot=kt,At={};function Tt(e,t){var r=et.getImageLoadObject(e);if(void 0!==r)return r;var n=et.getVolumeContainingImageId(e);if(n&&n.volume.loadStatus.loaded){var i=n.volume,a=n.imageIdIndex;return i.convertToCornerstoneImage(e,a)}var o=et.getCachedImageBasedOnImageURI(e);return o?r=o.imageLoadObject:(r=function(e,t){var r=e.indexOf(":"),n=e.substring(0,r),i=At[n];if(null==i){if(void 0!==Pt)return Pt(e);throw new Error("loadImageFromImageLoader: no image loader for imageId")}var a=i(e,t);return a.promise.then((function(e){$e(Ze,d.IMAGE_LOADED,{image:e})}),(function(t){var r={imageId:e,error:t};$e(Ze,d.IMAGE_LOAD_FAILED,r)})),a}(e,t),r)}function St(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 Tt(e,t).promise}function _t(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=Tt(e,t);return et.getImageLoadObject(e)||et.putImageLoadObject(e,r).catch((function(e){console.warn(e)})),r.promise}function xt(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");return e.map((function(e){return _t(e,t)}))}function Dt(e){Ot.filterRequests((function(t){var r=t.additionalDetails;return!r.imageId||r.imageId!==e}));var t=et.getImageLoadObject(e);t&&t.cancelFn()}function Mt(e){e.forEach((function(e){return Dt(e)}))}function Vt(){var e=Ot.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=et.getImageLoadObject(i):a&&(t=et.getVolumeLoadObject(a)),t&&t.cancel()})),Ot.clearRequestStack(t)}))}function Lt(e,t){At[e]=t}function Ut(e){var t=Pt;return Pt=e,t}function jt(){Object.keys(At).forEach((function(e){return delete At[e]})),Pt=void 0}var Nt=[];function Ft(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(t=0;t<Nt.length&&!(Nt[t].priority<=r);t++);Nt.splice(t,0,{priority:r,provider:e})}function Gt(e){for(var t=0;t<Nt.length;t++)if(Nt[t].provider===e){Nt.splice(t,1);break}}function Wt(){for(;Nt.length>0;)Nt.pop()}function Bt(e,t){for(var r=0;r<Nt.length;r++){var n=Nt[r].provider(e,t);if(void 0!==n)return n}}function qt(e,t){return{windowWidth:Math.abs(t-e)+1,windowCenter:(e+t+1)/2}}function zt(e,t){return{lower:t-.5-(e-1)/2,upper:t-.5+(e-1)/2}}function Ht(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 Kt(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 Yt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Kt(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Kt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Xt=0,Zt=f.Prefetch;function $t(){return($t=H(Y().mark((function e(t,r,n){var i,a,o,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=Jt(r)){e.next=5;break}return e.next=4,er(r,n);case 4:i=e.sent;case 5:if(i&&void 0!==i.lower&&void 0!==i.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:i=Qt(r,i),o=(a=i).lower,s=a.upper,t.getProperty().getRGBTransferFunction(0).setMappingRange(o,s);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qt(e,t){var r=e.imageIds;return function(e,t){var r;return!("PT"!==e||!t.isPreScaled)&&!(null===(r=t.scaling)||void 0===r||!r.PT.suvbw)}((Bt("generalSeriesModule",r[Math.floor(r.length/2)])||{}).modality,e)?{lower:0,upper:5}:t}function Jt(e){var t=e.imageIds,r=Bt("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=zt(Number(a.windowWidth),Number(a.windowCenter));return{lower:o.lower,upper:o.upper}}}function er(e,t){return tr.apply(this,arguments)}function tr(){return(tr=H(Y().mark((function e(t,r){var n,i,a,o,s,u,c,l,d,v,f,g,p,h,m,w,y,I,C,b,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.imageIds,i=t.getScalarData(),a=Math.floor(n.length/2),o=t.imageIds[a],s=Bt("generalSeriesModule",o)||{},u=s.modality,c=Bt("modalityLutModule",o)||{},l=n.length,d=i.byteLength/l,v=i.length/l,f=i.BYTES_PER_ELEMENT,g={rescaleSlope:c.rescaleSlope,rescaleIntercept:c.rescaleIntercept,modality:u},"PT"===u&&(h=Bt("scalingModule",o))&&(p=Yt(Yt({},g),{},{suvbw:h.suvbw})),m=a*d,w={targetBuffer:{type:r?void 0:"Float32Array"},priority:Xt,requestType:Zt,preScale:{enabled:!0,scalingParameters:p}},e.next=17,_t(o,w);case 17:return y=e.sent,I=y?y.getPixelData():rr(t,m,f,v),C=Ht(I),b=C.min,E=C.max,e.abrupt("return",{lower:b,upper:E});case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rr(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),u=new o(a,t,n);return s.set(u),s}var nr=function(e,t,r){return $t.apply(this,arguments)};function ir(){return ir=H(Y().mark((function e(t,r,n){var i,a,o,s,u,c,l,d,v,f,g=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=g.length>3&&void 0!==g[3]&&g[3],a=g.length>4&&void 0!==g[4]&&g[4],o=t.volumeId,s=t.callback,u=t.blendMode,e.next=5,ut(o);case 5:if(c=e.sent){e.next=8;break}throw new Error("imageVolume with id: ".concat(c.volumeId," does not exist"));case 8:if(l=c.imageData,d=c.vtkOpenGLTexture,v=bt(l,d),u&&v.setBlendMode(u),(f=Q().newInstance()).setMapper(v),3===l.getPointData().getScalars().getNumberOfComponents()&&f.getProperty().setIndependentComponents(!1),!c.imageIds){e.next=18;break}return e.next=18,nr(f,c,a);case 18:return s&&s({volumeActor:f,volumeId:o}),i||ar(r,n,f,o),e.abrupt("return",f);case 21:case"end":return e.stop()}}),e)}))),ir.apply(this,arguments)}function ar(e,t,r,n){var i=r.getProperty().getRGBTransferFunction(0).getRange(),a={viewportId:t,range:{lower:i[0],upper:i[1]},volumeId:n};$e(e,d.VOI_MODIFIED,a)}var or=function(e,t,r){return ir.apply(this,arguments)},sr="viewport-element",ur="cornerstone-canvas";function cr(e){var t="canvas.".concat(ur),r="div.".concat(sr),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(sr),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(ur),e.appendChild(t),t}(n)}function lr(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 dr(e,t){if(e){if("string"==typeof e)return lr(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)?lr(e,t):void 0}}function vr(e){return function(e){if(Array.isArray(e))return lr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||dr(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 fr=X(8021),gr=X.n(fr),pr=X(6643),hr=X.n(pr),mr=X(1128),wr=X.n(mr),yr=X(7664),Ir=X.n(yr),Cr=X(1474),br=X.n(Cr),Er=X(2394),Rr=X.n(Er),kr=X(582),Pr=X.n(kr),Or=X(7482),Ar=X.n(Or),Tr=X(6343),Sr=X.n(Tr),_r=X(4363),xr=X.n(_r),Dr=X(3982),Mr=X.n(Dr),Vr=X(6130),Lr=X.n(Vr),Ur=X(298),jr=X.n(Ur),Nr=X(2398),Fr=X.n(Nr),Gr=X(4388),Wr=X.n(Gr),Br=X(2643),qr=X.n(Br),zr=X(9395),Hr=X(3948),Kr=X(6478);le().vtkWarningMacro;var Yr={};function Xr(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,Yr,r),Wr().extend(e,t,r),t.scalarTexture=r.scalarTexture,t.previousState={},function(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(zr.Filter.LINEAR),t.jitterTexture.setMagnificationFilter(zr.Filter.LINEAR),t.jitterTexture.create2DFromRaw(32,32,1,Hr.VtkDataTypes.UNSIGNED_CHAR,o)}var u=i.getNumberOfComponents(),c=a.getIndependentComponents()?u:1,l="".concat(a.getMTime());if(t.opacityTextureString!==l){for(var d=1024,v=2048*c,f=new Float32Array(v),g=new Float32Array(d),p=0;p<c;++p){var h=a.getScalarOpacity(p),m=t.renderable.getSampleDistance()/a.getScalarOpacityUnitDistance(p),w=h.getRange();h.getTable(w[0],w[1],d,g,1);for(var y=0;y<d;++y)f[p*d*2+y]=1-Math.pow(1-g[y],m),f[p*d*2+y+d]=f[p*d*2+y]}if(t.opacityTexture.releaseGraphicsResources(t._openGLRenderWindow),t.opacityTexture.setMinificationFilter(zr.Filter.LINEAR),t.opacityTexture.setMagnificationFilter(zr.Filter.LINEAR),t._openGLRenderWindow.getWebgl2()||t.context.getExtension("OES_texture_float")&&t.context.getExtension("OES_texture_float_linear"))t.opacityTexture.create2DFromRaw(d,2*c,1,Hr.VtkDataTypes.FLOAT,f);else{for(var I=new Uint8Array(v),C=0;C<v;++C)I[C]=255*f[C];t.opacityTexture.create2DFromRaw(d,2*c,1,Hr.VtkDataTypes.UNSIGNED_CHAR,I)}t.opacityTextureString=l}if(l="".concat(a.getMTime()),t.colorTextureString!==l){for(var b=1024,E=new Uint8Array(2048*c*3),R=new Float32Array(3072),k=0;k<c;++k){var P=a.getRGBTransferFunction(k),O=P.getRange();P.getTable(O[0],O[1],b,R,1);for(var A=0;A<3072;++A)E[k*b*6+A]=255*R[A],E[k*b*6+A+3072]=255*R[A]}t.colorTexture.releaseGraphicsResources(t._openGLRenderWindow),t.colorTexture.setMinificationFilter(zr.Filter.LINEAR),t.colorTexture.setMagnificationFilter(zr.Filter.LINEAR),t.colorTexture.create2DFromRaw(b,2*c,3,Hr.VtkDataTypes.UNSIGNED_CHAR,E),t.colorTextureString=l}if(l="".concat(n.getMTime()),t.scalarTextureString!==l){var T=n.getDimensions(),S=t.scalarTexture.getTextureParameters(),_=n.getPointData().getScalars().getDataType(),x=n.getPointData().getScalars().getData(),D=!0;if(S.dataType&&S.dataType===_){var M=S.width*S.height*S.depth*S.numComps;x.length===M&&(D=!1)}D?(t.scalarTexture.setOglNorm16Ext(t.context.getExtension("EXT_texture_norm16")),t.scalarTexture.releaseGraphicsResources(t._openGLRenderWindow),t.scalarTexture.resetFormatAndType(),t.scalarTexture.create3DFilterableFromRaw(T[0],T[1],T[2],u,i.getDataType(),i.getData(),t.renderable.getPreferSizeOverAccuracy())):(t.scalarTexture.deactivate(),t.scalarTexture.update3DFromRaw(x)),t.scalarTextureString=l}if(!t.tris.getCABO().getElementCount()){for(var V=new Float32Array(12),L=0;L<4;L++)V[3*L]=L%2*2-1,V[3*L+1]=L>1?1:-1,V[3*L+2]=-1;var U=new Uint16Array(8);U[0]=3,U[1]=0,U[2]=1,U[3]=3,U[4]=3,U[5]=0,U[6]=3,U[7]=2;var j=ie().newInstance({numberOfComponents:3,values:V});j.setName("points");var N=ie().newInstance({numberOfComponents:1,values:U});t.tris.getCABO().createVBO(N,"polys",Kr.Representation.SURFACE,{points:j,cellOffset:0})}t.VBOBuildTime.modified()}}},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]}}(e,t)}var Zr={newInstance:le().newInstance(Xr,"vtkStreamingOpenGLVolumeMapper"),extend:Xr},$r={};function Qr(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,$r,r),qr().extend(e,t,r),function(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),u=t.overrides[i](s);return u.setMyFactory(e),u},t.getModelInitialValues=function(e){var t={};return"vtkSharedVolumeMapper"===e.getClassName()&&(t.scalarTexture=e.getScalarTexture()),t}}(e,t),e.registerOverride("vtkActor",hr().newInstance),e.registerOverride("vtkActor2D",wr().newInstance),e.registerOverride("vtkCamera",Ir().newInstance),e.registerOverride("vtkGlyph3DMapper",br().newInstance),e.registerOverride("vtkImageMapper",Rr().newInstance),e.registerOverride("vtkImageSlice",Pr().newInstance),e.registerOverride("vtkMapper",Sr().newInstance),e.registerOverride("vtkPixelSpaceCallbackMapper",Ar().newInstance),e.registerOverride("vtkRenderer",xr().newInstance),e.registerOverride("vtkSkybox",Mr().newInstance),e.registerOverride("vtkSphereMapper",Lr().newInstance),e.registerOverride("vtkStickMapper",jr().newInstance),e.registerOverride("vtkTexture",ve().newInstance),e.registerOverride("vtkVolume",Fr().newInstance),e.registerOverride("vtkVolumeMapper",Wr().newInstance),e.registerOverride("vtkSharedVolumeMapper",Zr.newInstance)}var Jr={newInstance:le().newInstance(Qr,"vtkStreamingOpenGLViewNodeFactory"),extend:Qr};function en(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,r),gr().extend(e,t,r),t.myFactory=Jr.newInstance(),t.myFactory.registerOverride("vtkRenderWindow",tn),function(e,t){t.classHierarchy.push("vtkStreamingOpenGLRenderWindow")}(0,t)}var tn=le().newInstance(en,"vtkStreamingOpenGLRenderWindow"),rn={newInstance:tn,extend:en},nn=X(8281),an=X.n(nn),on=X(2329),sn=X.n(on),un=X(673),cn=X.n(un);X(2348),X(2070),X(7474),X(6610);var ln={background:[0,0,0],container:null};function dn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,ln,r),le().obj(e,t),le().get(e,t,["renderWindow","openGLRenderWindow","interactor","container"]),le().event(e,t,"resize"),function(e,t){var r=e.invokeResize;delete e.invokeResize,t.renderWindow=sn().newInstance(),t.rendererMap={},t.openGLRenderWindow=rn.newInstance(),t.renderWindow.addView(t.openGLRenderWindow),t.interactor=cn().newInstance(),t.interactor.setView(t.openGLRenderWindow),t.interactor.initialize(),e.addRenderer=function(e){var r=e.viewport,n=e.id,i=e.background,a=an().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=le().chain(e.setContainer,e.destroy,t.openGLRenderWindow.delete,e.delete),e.resize()}(e,t)}var vn={newInstance:le().newInstance(dn),extend:dn};function fn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gn(e){return gn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},gn(e)}function pn(){return pn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=gn(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}},pn.apply(this,arguments)}function hn(e,t){return hn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},hn(e,t)}function mn(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&&hn(e,t)}function wn(e,t){if(t&&("object"===G(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return fn(e)}var yn=X(1864),In=X.n(yn),Cn=X(2976),bn=et;function En(e){return Rn(e,"vtkVolume")||Rn(e,"vtkImageSlice")}function Rn(e,t){return!!e.actor.isA(t)}function kn(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=[Cn.vec3.dot(i,t),Cn.vec3.dot(a,t),Cn.vec3.dot(o,t)],u=Cn.vec3.create();return Cn.vec3.set(u,s[0]*n[0],s[1]*n[1],s[2]*n[2]),Cn.vec3.length(u)}function Pn(e,t,r){if(e){var n=e.direction,i=e.imageIds;if(i&&i.length){var a=n.slice(6,9),o=Cn.vec3.dot(a,r);if(!(Math.abs(o)<1-F)){for(var s,u=kn(e,r)/2,c=0;c<i.length;c++){var l=i[c],d=Bt("imagePlaneModule",l).imagePositionPatient,v=Cn.vec3.create();Cn.vec3.sub(v,t,d);var f=Cn.vec3.dot(v,r);Math.abs(f)<u&&(s=l)}return s}}}}function On(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,s=[],u=!0,c=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw i}}return s}}(e,t)||dr(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 An=X(4795),Tn=X.n(An),Sn=X(1038),_n=X.n(Sn),xn=X(1441),Dn=X.n(xn);function Mn(e){var t=[],r=On(e.getRange(),2),n=r[0],i=r[1];e.getTable(n,i,1024,t),t=t.filter((function(e,t){return t%3==0}));var a=vr(Array(1024).keys()).map((function(e,t){return n+(i-n)/1023*t})),o=t[256],s=Math.log((1-o)/o),u=a[256],c=t[768],l=Math.log((1-c)/c),d=a[768],v=Math.round(4*(d-u)/(s-l)),f=Math.round(u+v*s/4);return[Math.round(f-v/2),Math.round(f+v/2)]}var Vn=new Map;function Ln(e){Vn.set(e.Name,e)}function Un(e){return Vn.get(e)}function jn(){return Array.from(Vn.keys())}function Nn(e){if(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 Fn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1024,r=qt(e.lower,e.upper),n=r.windowWidth,i=r.windowCenter,a=vr(Array(t+2).keys()).map((function(e){return e/(t+2)})).slice(1,-1).reduce((function(e,t){var r=function(e,t,r){return t-r/4*Math.log((1-e)/e)}(t,i,n);return e.concat(r,t,t,t,.5,0)}),[]),o=Tn().newInstance();return o.buildFunctionFromArray(ie().newInstance({values:a,numberOfComponents:6})),o}function Gn(e,t){for(var r=t.colorTransfer.split(" ").splice(1).map(parseFloat),n=function(e){for(var t=1/0,r=-1/0,n=0;n<e.length;n+=4)t=Math.min(t,e[n]),r=Math.max(r,e[n]);var i=(r-t)/2;return{shiftRange:[-i,i],min:t,max:r}}(r),i=n.shiftRange,a=i[0],o=i[1]-i[0],s=Tn().newInstance(),u=[],c=0;c<r.length;c+=4){var l=r[c],d=r[c+1],v=r[c+2],f=r[c+3];l=(l-a)/o,u.push([l,d,v,f])}!function(e,t,r){var n=t[1]-t[0],i=e.map((function(e){var r=On(e,4),i=r[0],a=r[1],o=r[2],s=r[3];return[i*n+t[0],a,o,s]}));r.removeAllPoints(),i.forEach((function(e){var t=On(e,4),n=t[0],i=t[1],a=t[2],o=t[3];return r.addRGBPoint(n,i,a,o)}))}(u,i,s),e.getProperty().setRGBTransferFunction(0,s);for(var g=t.scalarOpacity.split(" ").splice(1).map(parseFloat),p=Dn().newInstance(),h=[],m=0;m<g.length;m+=2){var w=g[m],y=g[m+1];w=(w-a)/o,h.push([w,y])}!function(e,t,r){var n=t[1]-t[0],i=e.map((function(e){var r=On(e,2),i=r[0],a=r[1];return[i*n+t[0],a]}));r.removeAllPoints(),i.forEach((function(e){var t=On(e,2),n=t[0],i=t[1];return r.addPoint(n,i)}))}(h,i,p),e.getProperty().setScalarOpacity(0,p);var I=On(t.gradientOpacity.split(" ").splice(1).map(parseFloat),4),C=I[0],b=I[1],E=I[2],R=I[3];e.getProperty().setUseGradientOpacity(0,!0),e.getProperty().setGradientOpacityMinimumValue(0,C),e.getProperty().setGradientOpacityMinimumOpacity(0,b),e.getProperty().setGradientOpacityMaximumValue(0,E),e.getProperty().setGradientOpacityMaximumOpacity(0,R),"1"===t.interpolation&&e.getProperty().setInterpolationTypeToFastLinear();var k=parseFloat(t.ambient),P=parseFloat(t.diffuse),O=parseFloat(t.specular),A=parseFloat(t.specularPower);e.getProperty().setAmbient(k),e.getProperty().setDiffuse(P),e.getProperty().setSpecular(O),e.getProperty().setSpecularPower(A)}var Wn=X(8847),Bn=X.n(Wn);function qn(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]]]}var zn=F*F,Hn=function(e){return Math.abs(Math.abs(e)-1)<zn},Kn=function(e,t){return Hn(e[t])||Hn(e[t+1])||Hn(e[t+2])},Yn=function(e){return Kn(e,0)&&Kn(e,3)&&Kn(e,6)};function Xn(e,t,r){var n,i=e.getMapper().getInputData(),a=i.getDirection();if(Yn(a))n=qn(e);else{var o=On(i.getDimensions(),3),s=o[0],u=o[1],c=o[2];n=[[0,0,0],[s-1,0,0],[0,u-1,0],[s-1,u-1,0],[0,0,c-1],[s-1,0,c-1],[0,u-1,c-1],[s-1,u-1,c-1]].map((function(e){return i.indexToWorld(e)}))}var l=Bn().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);n.forEach((function(e){return l.apply(e)}));var d=vr(r);l.apply(d);for(var v=d[0],f=1/0,g=-1/0,p=0;p<8;p++){var h=n[p][0];h>g&&(g=h),h<f&&(f=h)}return{min:f,max:g,current:v,actor:e,viewPlaneNormal:t,focalPoint:r}}var Zn=1+F,$n=function(e){return!!pt().find((function(t){return(n=t)===(r=e.volumeId).substring(0,Math.min(r.length,n.length));var r,n}))};function Qn(e,t,r){var n=t.viewPlaneNormal,i=e.getActors();if(!i||!i.length)return{spacingInNormalDirection:null,imageVolume:null,actorUID:null};var a=i.map((function(e){var t,r=null!==(t=e.referenceId)&&void 0!==t?t:e.uid;return et.getVolume(r)})).filter((function(e){return!!e}));if(r){var o=a.findIndex((function(e){return e.volumeId===r})),s=a[o],u=i[o].uid;return{imageVolume:s,spacingInNormalDirection:kn(s,n),actorUID:u}}if(!a.length)return{spacingInNormalDirection:null,imageVolume:null,actorUID:null};for(var c={spacingInNormalDirection:1/0,imageVolume:null,actorUID:null},l=a.find($n),d=0;d<a.length;d++){var v=a[d];if(!l||$n(v)){var f=kn(v,n);f*Zn<c.spacingInNormalDirection&&(c.spacingInNormalDirection=f,c.imageVolume=v,c.actorUID=i[d].uid)}}return c}var Jn=function(e){var t=e.getCamera(),r=Qn(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 u=Xn(s.actor,a,o),c=u.min,l=u.max,d=u.current,v=Math.round((l-c)/n)+1,f=(d-c)/(l-c)*v;return(f=Math.floor(f))>v-1?f=v-1:f<0&&(f=0),{numberOfSlices:v,imageIndex:f}}},ei={},ti=X(8807),ri=X.n(ti);function ni(e,t,r){var n=On(e,3),i=n[0],a=n[1],o=n[2],s=On(t,3),u=s[0],c=s[1],l=s[2],d=On(r,4),v=d[0],f=d[1],g=d[2],p=u-i,h=c-a,m=l-o,w=-1*(v*i+f*a+g*o-d[3])/(v*p+f*h+g*m);return[p*w+i,h*w+a,m*w+o]}function ii(e,t){var r=On(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 ai(e,t,r){var n=On(e,4),i=n[0],a=n[1],o=n[2],s=n[3],u=On(t,4),c=u[0],l=u[1],d=u[2],v=u[3],f=On(r,4),g=f[0],p=f[1],h=f[2],m=f[3],w=Cn.mat3.fromValues(i,c,g,a,l,p,o,d,h),y=Cn.mat3.fromValues(s,v,m,a,l,p,o,d,h),I=Cn.mat3.fromValues(i,c,g,s,v,m,o,d,h),C=Cn.mat3.fromValues(i,c,g,a,l,p,s,v,m);return[Cn.mat3.determinant(y)/Cn.mat3.determinant(w),Cn.mat3.determinant(I)/Cn.mat3.determinant(w),Cn.mat3.determinant(C)/Cn.mat3.determinant(w)]}function oi(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=On(e,4),i=n[0],a=n[1],o=n[2],s=n[3],u=On(t,3),c=i*u[0]+a*u[1]+o*u[2]-s,l=Math.abs(c)/Math.sqrt(i*i+a*a+o*o);return(r?Math.sign(c):1)*l}function si(e){return Array.isArray(e)?e.some((function(e){return Number.isNaN(e)})):Number.isNaN(e)}function ui(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 ci(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ui(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ui(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function li(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 di=function(){function e(t){ae(this,e),ee(this,"id",void 0),ee(this,"element",void 0),ee(this,"canvas",void 0),ee(this,"renderingEngineId",void 0),ee(this,"type",void 0),ee(this,"flipHorizontal",!1),ee(this,"flipVertical",!1),ee(this,"isDisabled",void 0),ee(this,"viewportStatus",L.NO_DATA),ee(this,"sx",void 0),ee(this,"sy",void 0),ee(this,"sWidth",void 0),ee(this,"sHeight",void 0),ee(this,"_actors",void 0),ee(this,"defaultOptions",void 0),ee(this,"options",void 0),ee(this,"_suppressCameraModifiedEvents",!1),ee(this,"suppressEvents",void 0),ee(this,"hasPixelSpacing",!0),ee(this,"calibration",void 0),ee(this,"initialCamera",void 0),ee(this,"fitToCanvasCamera",void 0),ee(this,"getRotation",void 0),ee(this,"getFrameOfReferenceUID",void 0),ee(this,"canvasToWorld",void 0),ee(this,"worldToCanvas",void 0),ee(this,"customRenderViewportToCanvas",void 0),ee(this,"resize",void 0),ee(this,"getProperties",void 0),ee(this,"updateRenderingPipeline",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=structuredClone(t.defaultOptions),this.suppressEvents=!!t.defaultOptions.suppressEvents&&t.defaultOptions.suppressEvents,this.options=structuredClone(t.defaultOptions),this.isDisabled=!1}return se(e,[{key:"setRendered",value:function(){this.viewportStatus!==L.NO_DATA&&this.viewportStatus!==L.LOADING&&(this.viewportStatus=L.RENDERED)}},{key:"getRenderingEngine",value:function(){return me.get(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,r,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.options=structuredClone(e),null!==(t=this.options)&&void 0!==t&&t.displayArea&&this.setDisplayArea(null===(r=this.options)||void 0===r?void 0:r.displayArea),n&&this.render()}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.options=structuredClone(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,u=i.position,c=Cn.vec3.cross(Cn.vec3.create(),a,o),l=Cn.vec3.copy(Cn.vec3.create(),o),d=Cn.vec3.negate(Cn.vec3.create(),a),v=Cn.vec3.distance(u,s),f=n.getDimensions().map((function(e){return Math.floor(e/2)})),g=[f[0],f[1],f[2]],p=n.indexToWorld(g,Cn.vec3.create()),h=this._getFocalPointForResetCamera(p,i,{resetPan:!0,resetToCenter:!1}),m=Cn.vec3.subtract(Cn.vec3.create(),s,h),w=Cn.vec3.length(m),y=function(e){var t=Cn.vec3.scale(Cn.vec3.create(),e,2*Cn.vec3.dot(m,e));return Cn.vec3.subtract(t,t,m),Cn.vec3.normalize(t,t),t};if(t){var I=y(l),C=Cn.vec3.scaleAndAdd(Cn.vec3.create(),h,I,w),b=Cn.vec3.scaleAndAdd(Cn.vec3.create(),C,d,v);this.setCamera({viewPlaneNormal:d,position:b,focalPoint:C}),this.flipHorizontal=!this.flipHorizontal}if(r){l=Cn.vec3.negate(l,o);var E=y(c),R=Cn.vec3.scaleAndAdd(Cn.vec3.create(),h,E,w),k=Cn.vec3.scaleAndAdd(Cn.vec3.create(),R,d,v);this.setCamera({focalPoint:R,viewPlaneNormal:d,viewUp:l,position:k}),this.flipVertical=!this.flipVertical}this.render()}}},{key:"getDefaultImageData",value:function(){var e=this.getDefaultActor();if(e&&En(e))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],u=e.getBounds(),c=[],l=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 li(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)?li(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(u));try{for(l.s();!(n=l.n()).done;){var d=On(n.value,2),v=On(d[0],3),f=v[0],g=v[1],p=v[2],h=On(d[1],3),m=h[0],w=h[1],y=h[2];if(i*(m-f)+a*(w-g)+o*(y-p)!=0){var I=ni([f,g,p],[m,w,y],[i,a,o,s]);this._isInBounds(I,u)&&c.push(I)}}}catch(e){l.e(e)}finally{l.f()}return c}},{key:"setDisplayArea",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.storeAsInitialCamera;this.setCamera(this.fitToCanvasCamera,!1);var n=e.imageArea,i=e.imageCanvasPoint;if(n){var a=On(n,2),o=a[0],s=a[1],u=Math.min(this.getZoom()/o,this.getZoom()/s);this.setZoom(u,r)}var c=this.getDefaultImageData();if(i&&c){var l,v=i.imagePoint,f=On(i.canvasPoint,2),g=f[0],p=f[1],h=(null===(l=window)||void 0===l?void 0:l.devicePixelRatio)||1,m=this.sWidth/h*(g-.5),w=this.sHeight/h*(p-.5),y=c.getDimensions(),I=this.worldToCanvas([0,0,0]),C=this.worldToCanvas(y),b=[C[0]-I[0],C[1]-I[1]],E=b[0],R=b[1],k=On(v,2),P=[E*(.5-k[0])+m,R*(.5-k[1])+w];this.setPan(P,r)}if(r&&(this.options.displayArea=e),!t){var O={viewportId:this.id,displayArea:e,storeAsInitialCamera:r};$e(this.element,d.DISPLAY_AREA_MODIFIED,O)}}},{key:"getDisplayArea",value:function(){var e;return null===(e=this.options)||void 0===e?void 0:e.displayArea}},{key:"resetCamera",value:function(){var e,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],i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=this.getRenderer();this.setCamera({flipHorizontal:!1,flipVertical:!1});var o=structuredClone(this.getCamera()),s=a.computeVisiblePropBounds(),u=[0,0,0],c=this.getDefaultImageData();if(c){var l=c.getSpacing();s[0]=s[0]+l[0]/2,s[1]=s[1]-l[0]/2,s[2]=s[2]+l[1]/2,s[3]=s[3]-l[1]/2,s[4]=s[4]+l[2]/2,s[5]=s[5]-l[2]/2}var d=this.getVtkActiveCamera(),v=d.getViewPlaneNormal(),f=d.getViewUp();if(u[0]=(s[0]+s[1])/2,u[1]=(s[2]+s[3])/2,u[2]=(s[4]+s[5])/2,c){var g=c.getDimensions().map((function(e){return Math.floor(e/2)})),p=[g[0],g[1],g[2]];c.indexToWorld(p,u)}var h,m=this._getWorldDistanceViewUpAndViewRight(s,f,v),w=m.widthWorld,y=m.heightWorld,I=[this.sWidth,this.sHeight],C=w/y,b=I[0]/I[1],E=1.1*(h=C<b?y/2:y*(C/b)/2),R=s[1]-s[0],k=s[3]-s[2],P=s[5]-s[4];h=0==(h=(R*=R)+(k*=k)+(P*=P))?1:h;var O=1.1*(h=.5*Math.sqrt(h)),A=Math.abs(ri().dot(f,v))>.999?[-f[2],f[0],f[1]]:f,T=this._getFocalPointForResetCamera(u,o,{resetPan:t,resetToCenter:n}),S=[T[0]+O*v[0],T[1]+O*v[1],T[2]+O*v[2]];a.resetCameraClippingRange(s);var _=[-N.MAXIMUM_RAY_DISTANCE,N.MAXIMUM_RAY_DISTANCE];d.setPhysicalScale(h),d.setPhysicalTranslation(-T[0],-T[1],-T[2]),this.setCamera({parallelScale:r?E:o.parallelScale,focalPoint:T,position:S,viewAngle:90,viewUp:A,clippingRange:_});var x=structuredClone(this.getCamera());this.setFitToCanvasCamera(structuredClone(this.getCamera())),i&&this.setInitialCamera(x);var D,M={type:"ResetCameraEvent",renderer:a};return a.invokeEvent(M),this.triggerCameraModifiedEventIfNecessary(o,x),c&&null!==(e=this.options)&&void 0!==e&&e.displayArea&&r&&t&&n&&this.setDisplayArea(null===(D=this.options)||void 0===D?void 0:D.displayArea),!0}},{key:"setInitialCamera",value:function(e){this.initialCamera=e}},{key:"setFitToCanvasCamera",value:function(e){this.fitToCanvasCamera=e}},{key:"getPan",value:function(){var e=this.getVtkActiveCamera().getFocalPoint(),t=this.canvasToWorld([0,0]),r=this.worldToCanvas(Cn.vec3.subtract(Cn.vec3.create(),this.initialCamera.focalPoint,t)),n=this.worldToCanvas(Cn.vec3.subtract(Cn.vec3.create(),e,t));return Cn.vec2.subtract(Cn.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=Cn.vec2.subtract(Cn.vec2.create(),e,this.getPan());if(!(Math.abs(o[0])<1&&Math.abs(o[1])<1)||t){var s=Cn.vec3.subtract(Cn.vec3.create(),this.canvasToWorld(o),a),u=Cn.vec3.subtract(Cn.vec3.create(),n,s),c=Cn.vec3.subtract(Cn.vec3.create(),i,s);this.setCamera(ci(ci({},r),{},{focalPoint:u,position:c}),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/e;(r.parallelScale!==n||t)&&this.setCamera(ci(ci({},r),{},{parallelScale:n}),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=On(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=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.getVtkActiveCamera(),n=structuredClone(this.getCamera()),i=Object.assign({},n,e),a=e.viewUp,o=e.viewPlaneNormal,s=e.position,u=e.focalPoint,c=e.parallelScale,l=e.viewAngle,d=e.flipHorizontal,v=e.flipVertical,f=e.clippingRange;if(void 0!==d){var g=d&&!this.flipHorizontal||!d&&this.flipHorizontal;g&&this.flip({flipHorizontal:g})}if(void 0!==v){var p=v&&!this.flipVertical||!v&&this.flipVertical;p&&this.flip({flipVertical:p})}void 0!==a&&r.setViewUp(a),void 0!==o&&r.setDirectionOfProjection(-o[0],-o[1],-o[2]),void 0!==s&&r.setPosition.apply(r,vr(s)),void 0!==u&&r.setFocalPoint.apply(r,vr(u)),void 0!==c&&r.setParallelScale(c),void 0!==l&&r.setViewAngle(l),void 0!==f&&r.setClippingRange(f);var h=this.getDefaultActor();h&&h.actor&&(Rn(h,"vtkImageSlice")?this.getRenderer().resetCameraClippingRange():this.updateClippingPlanesForActors(i),t&&this.setInitialCamera(i),this.triggerCameraModifiedEventIfNecessary(n,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.getRotation()};$e(this.element,d.CAMERA_MODIFIED,r)}}},{key:"updateClippingPlanesForActors",value:function(e){var t=this;this.getActors().forEach((function(r){if(r.actor){var n=r.actor.getMapper().getClippingPlanes(),i=N.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]];ri().multiplyScalar(i,t),e[0].setNormal(r);var a=[0,0,0];ri().subtract(n,i,a),e[0].setOrigin(a),e[1].setNormal(-r[0],-r[1],-r[2]);var o=[0,0,0];ri().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=Cn.vec3.cross(Cn.vec3.create(),t,r),o=Bn().buildFromDegree().identity().rotateFromDirections(t,[1,0,0]);n.forEach((function(e){return o.apply(e)}));for(var s=1/0,u=-1/0,c=0;c<8;c++){var l=n[c][0];l>u&&(u=l),l<s&&(s=l)}o=Bn().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,v=-1/0,f=0;f<8;f++){var g=i[f][0];g>v&&(v=g),g<d&&(d=g)}return{widthWorld:v-d,heightWorld:u-s}}},{key:"_shouldUseNativeDataType",value:function(){var e=We().rendering,t=e.useNorm16Texture,r=e.preferSizeOverAccuracy;return t||r}},{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 si(t.focalPoint)?e:t.focalPoint;if(!o&&i){var s=t,u=s.focalPoint,c=s.viewPlaneNormal,l=Cn.vec3.subtract(Cn.vec3.create(),e,u),d=Cn.vec3.dot(l,c),v=Cn.vec3.scaleAndAdd(Cn.vec3.create(),e,c,-1*d);return[v[0],v[1],v[2]]}return i||o?void 0:si(t.focalPoint)?e:t.focalPoint}},{key:"_isInBounds",value:function(e,t){var r=On(t,6),n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],u=r[5],c=On(e,3),l=c[0],d=c[1],v=c[2];return!(l<n||l>i||d<a||d>o||v<s||v>u)}},{key:"_getEdges",value:function(e){var t=On(this._getCorners(e),8),r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7];return[[r,n],[r,o],[r,i],[n,a],[n,s],[i,a],[i,u],[a,c],[o,u],[o,s],[s,c],[u,c]]}}],[{key:"useCustomRenderingPipeline",get:function(){return!1}}]),e}(),vi=di,fi=X(9821),gi=X.n(fi),pi={isPerformingCoordinateTransformation:!1};function hi(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.assign(t,pi,r),gi().extend(e,t,r),le().setGet(e,t,["isPerformingCoordinateTransformation"]),function(e,t){t.classHierarchy.push("vtkSlabCamera");var r=Cn.mat4.identity(new Float64Array(16)),n=new Float64Array(3);e.getProjectionMatrix=function(e,i,a){var o=Cn.mat4.create();if(t.projectionMatrix){var s=1/t.physicalScale;return Cn.vec3.set(n,s,s,s),Cn.mat4.copy(o,t.projectionMatrix),Cn.mat4.scale(o,o,n),Cn.mat4.transpose(o,o),o}Cn.mat4.identity(r);var u=t.clippingRange[0],c=t.clippingRange[1];t.isPerformingCoordinateTransformation&&(u=t.distance,c=t.distance+.1);var l=c-u,d=[u+(i+1)*l/2,u+(a+1)*l/2];if(t.parallelProjection){var v=t.parallelScale*e,f=t.parallelScale,g=(t.windowCenter[0]-1)*v,p=(t.windowCenter[0]+1)*v,h=(t.windowCenter[1]-1)*f,m=(t.windowCenter[1]+1)*f;Cn.mat4.ortho(r,g,p,h,m,d[0],d[1]),Cn.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(ri().radiansFromDegrees(t.viewAngle)/2);!0===t.useHorizontalViewAngle?(w=u*I,y=u*I/e):(w=u*I*e,y=u*I);var C=(t.windowCenter[0]-1)*w,b=(t.windowCenter[0]+1)*w,E=(t.windowCenter[1]-1)*y,R=(t.windowCenter[1]+1)*y,k=d[0],P=d[1];r[0]=2*k/(b-C),r[5]=2*k/(R-E),r[2]=(C+b)/(b-C),r[6]=(E+R)/(R-E),r[10]=-(k+P)/(P-k),r[14]=-1,r[11]=-2*k*P/(P-k),r[15]=0}return Cn.mat4.copy(o,r),o}}(e,t)}var mi={newInstance:le().newInstance(hi,"vtkSlabCamera"),extend:hi};function wi(e,t){return e.worldToIndex(t).map(Math.round)}var yi=function(e){mn(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=gn(i);if(a){var r=gn(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return wn(this,e)});function s(e){var t;if(ae(this,s),ee(fn(t=o.call(this,e)),"useCPURendering",!1),ee(fn(t),"use16BitTexture",!1),ee(fn(t),"_FrameOfReferenceUID",void 0),ee(fn(t),"inverted",!1),ee(fn(t),"VOILUTFunction",void 0),ee(fn(t),"getProperties",(function(){var e=t.getActors().map((function(e){var r=e.actor,n=e.uid;if(!bn.getVolume(n))return null;var i=r.getProperty().getRGBTransferFunction(0),a=On("SIGMOID"===t.VOILUTFunction?Mn(i):i.getRange(),2);return{volumeId:n,voiRange:{lower:a[0],upper:a[1]}}})).filter(Boolean);return{voiRange:e.length?e[0].voiRange:null,VOILUTFunction:t.VOILUTFunction,invert:t.inverted}})),ee(fn(t),"getFrameOfReferenceUID",(function(){return t._FrameOfReferenceUID})),ee(fn(t),"canvasToWorld",(function(e){var r,n,i=t.getVtkActiveCamera();null===(r=i.setIsPerformingCoordinateTransformation)||void 0===r||r.call(i,!0);var a=t.getRenderer(),o=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),s=o.getSize(),u=window.devicePixelRatio||1,c=[e[0]*u,e[1]*u],l=[c[0]+t.sx,c[1]+t.sy];l[1]=s[1]-l[1];var d=o.displayToWorld(l[0],l[1],0,a);return null===(n=i.setIsPerformingCoordinateTransformation)||void 0===n||n.call(i,!1),[d[0],d[1],d[2]]})),ee(fn(t),"worldToCanvas",(function(e){var r,n,i=t.getVtkActiveCamera();null===(r=i.setIsPerformingCoordinateTransformation)||void 0===r||r.call(i,!0);var a=t.getRenderer(),o=t.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),s=o.getSize(),u=o.worldToDisplay.apply(o,vr(e).concat([a]));u[1]=s[1]-u[1];var c=[u[0]-t.sx,u[1]-t.sy],l=window.devicePixelRatio||1,d=[c[0]/l,c[1]/l];return null===(n=i.setIsPerformingCoordinateTransformation)||void 0===n||n.call(i,!1),d})),ee(fn(t),"hasImageURI",(function(e){return t.getActors().filter((function(e){return Rn(e,"vtkVolume")})).some((function(t){var r=t.uid,n=bn.getVolume(r);return!(!n||!n.imageIds)&&n.imageIds.map(ue).includes(e)}))})),ee(fn(t),"getImageIds",(function(e){var r=t._getApplicableVolumeActor(e);if(!r)throw new Error("No actor found for the given volumeId: ".concat(e));var n=r.volumeId,i=bn.getVolume(n);if(!i)throw new Error("imageVolume with id: ".concat(n," does not exist in cache"));return i.imageIds})),t.useCPURendering=Ue(),t.use16BitTexture=t._shouldUseNativeDataType(),t.useCPURendering)throw new Error("VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.");var r=t.getRenderer(),n=mi.newInstance();switch(r.setActiveCamera(n),t.type){case p.ORTHOGRAPHIC:case p.VOLUME_3D:n.setParallelProjection(!0);break;case p.PERSPECTIVE:n.setParallelProjection(!1);break;default:throw new Error("Unrecognized viewport type: ".concat(t.type))}return t.initializeVolumeNewImageEventDispatcher(),t}return se(s,[{key:"applyViewOrientation",value:function(e){var t=this._getOrientationVectors(e),r=t.viewPlaneNormal,n=t.viewUp,i=this.getVtkActiveCamera();i.setDirectionOfProjection(-r[0],-r[1],-r[2]),i.setViewUpFrom(n),this.resetCamera()}},{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=we(r).getViewport(n);if(!(i instanceof Ii))throw new Error("volumeNewImageEventDispatcher: viewport is not a BaseVolumeViewport");void 0===ei[i.id]&&(ei[i.id]=0);var a=Jn(i);if(a){var o=a.numberOfSlices,s=a.imageIndex;if(ei[i.id]!==s){ei[i.id]=s;var u={imageIndex:s,viewportId:n,renderingEngineId:r,numberOfSlices:o};$e(i.element,d.VOLUME_NEW_IMAGE,u)}}else console.warn("volumeNewImageEventDispatcher: sliceData is undefined for viewport ".concat(i.id))}(e)}.bind(this),t=function(r){var n=r.detail.viewportId;n===this.id&&(this.element.removeEventListener(d.CAMERA_MODIFIED,e),Ze.removeEventListener(d.ELEMENT_DISABLED,t),function(e){void 0!==ei[e]&&delete ei[e]}(n))}.bind(this);this.element.removeEventListener(d.CAMERA_MODIFIED,e),this.element.addEventListener(d.CAMERA_MODIFIED,e),Ze.addEventListener(d.ELEMENT_DISABLED,t)}},{key:"resetVolumeViewportClippingRange",value:function(){var e=this.getVtkActiveCamera();e.getParallelProjection()?e.setClippingRange(-N.MAXIMUM_RAY_DISTANCE,N.MAXIMUM_RAY_DISTANCE):e.setClippingRange(N.MINIMUM_SLAB_THICKNESS,N.MAXIMUM_RAY_DISTANCE)}},{key:"setVOILUTFunction",value:function(e,t,r){-1===Object.values(_).indexOf(e)&&(e=_.LINEAR);var n=this.getProperties().voiRange;this.VOILUTFunction=e,this.setVOI(n,t,r)}},{key:"setColormap",value:function(e,t,r){var n=this._getApplicableVolumeActor(t);if(n){var i=n.volumeActor;i.getMapper().setSampleDistance(1);var a=Tn().newInstance(),o=Un(e.name),s=e.name;if(o||(o=_n().getPresetByName(s)),!o)throw new Error("Colormap ".concat(e," not found"));var u=i.getProperty().getRGBTransferFunction(0).getRange();a.applyColorMap(o),a.setMappingRange(u[0],u[1]),i.getProperty().setRGBTransferFunction(0,a)}}},{key:"setOpacity",value:function(e,t){var r=this._getApplicableVolumeActor(t);if(r){var n=r.volumeActor,i=Dn().newInstance();if("number"==typeof e.opacity){var a=n.getProperty().getRGBTransferFunction(0).getRange();i.addPoint(a[0],e.opacity),i.addPoint(a[1],e.opacity)}else e.opacity.forEach((function(e){var t=e.opacity,r=e.value;i.addPoint(r,t)}));n.getProperty().setScalarOpacity(0,i)}}},{key:"setInvert",value:function(e,t,r){var n=this._getApplicableVolumeActor(t);if(n){var i=n.volumeId;Nn(this._getOrCreateColorTransferFunction(i)),this.inverted=e;var a=this.getProperties().voiRange;if(!r){var o={viewportId:this.id,range:a,volumeId:i,VOILUTFunction:this.VOILUTFunction,invert:this.inverted,invertStateChanged:!0};$e(this.element,d.VOI_MODIFIED,o)}}}},{key:"_getOrCreateColorTransferFunction",value:function(e){var t=this._getApplicableVolumeActor(e);if(!t)return null;var r=t.volumeActor,n=r.getProperty().getRGBTransferFunction(0);if(n)return n;var i=Tn().newInstance();return r.getProperty().setRGBTransferFunction(0,i),i}},{key:"setInterpolationType",value:function(e,t){var r=this._getApplicableVolumeActor(t);r&&r.volumeActor.getProperty().setInterpolationType(e)}},{key:"setVOI",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this._getApplicableVolumeActor(t);if(n){var i=n.volumeActor,a=n.volumeId,o=e;if(void 0===o){var s=i.getMapper().getInputData().getPointData().getScalars().getRange();o={lower:s[0],upper:s[1]}}if(this.VOILUTFunction===_.SAMPLED_SIGMOID){var u=Fn(o);i.getProperty().setRGBTransferFunction(0,u)}else{var c=o,l=c.lower,v=c.upper;i.getProperty().getRGBTransferFunction(0).setRange(l,v)}if(!r){var f={viewportId:this.id,range:e,volumeId:a,VOILUTFunction:this.VOILUTFunction};$e(this.element,d.VOI_MODIFIED,f)}}}},{key:"setProperties",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.voiRange,r=e.VOILUTFunction,n=e.invert,i=e.colormap,a=e.preset,o=e.interpolationType,s=arguments.length>1?arguments[1]:void 0,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];null!=i&&i.name&&this.setColormap(i,s,u),null!=(null==i?void 0:i.opacity)&&this.setOpacity(i,s),void 0!==t&&this.setVOI(t,s,u),void 0!==o&&this.setInterpolationType(o),void 0!==r&&this.setVOILUTFunction(r,s,u),void 0!==n&&this.inverted!==n&&this.setInvert(n,s,u),void 0!==a&&this.setPreset(a,s,u)}},{key:"setPreset",value:function(e,t,r){var n=this._getApplicableVolumeActor(t);if(n){var i=n.volumeActor,a=q.find((function(t){return t.name===e}));a&&Gn(i,a)}}},{key:"setVolumes",value:(n=H(Y().mark((function e(t){var r,n,i,a,o,s,u,c,l,v,f,g,p=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=p.length>1&&void 0!==p[1]&&p[1],n=p.length>2&&void 0!==p[2]&&p[2],i=bn.getVolume(t[0].volumeId)){e.next=5;break}throw new Error("imageVolume with id: ".concat(i.volumeId," does not exist"));case 5:return a=i.metadata.FrameOfReferenceUID,e.next=8,this._isValidVolumeInputArray(t,a);case 8:this._FrameOfReferenceUID=a,o=[],s=0;case 11:if(!(s<t.length)){e.next=21;break}return u=t[s],c=u.volumeId,l=u.actorUID,v=u.slabThickness,e.next=15,or(t[s],this.element,this.id,n,this.use16BitTexture);case 15:f=e.sent,g=l||c,o.push({uid:g,actor:f,slabThickness:v,referenceId:c});case 18:s++,e.next=11;break;case 21:this._setVolumeActors(o),this.viewportStatus=L.PRE_RENDER,$e(this.element,d.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=H(Y().mark((function e(t){var r,n,i,a,o,s,u,c,l,d,v,f,g=arguments;return Y().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=bn.getVolume(t[0].volumeId)){e.next=5;break}throw new Error("imageVolume with id: ".concat(i.volumeId," does not exist"));case 5:return a=[],e.next=8,this._isValidVolumeInputArray(t,this._FrameOfReferenceUID);case 8:o=0;case 9:if(!(o<t.length)){e.next=20;break}return s=t[o],u=s.volumeId,c=s.visibility,l=s.actorUID,d=s.slabThickness,e.next=13,or(t[o],this.element,this.id,n,this.use16BitTexture);case 13:v=e.sent,!1===c&&v.setVisibility(!1),f=l||u,a.push({uid:f,actor:v,slabThickness:d,referenceId:u});case 17:o++,e.next=9;break;case 20:this.addActors(a),r&&this.render();case 22: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){console.warn('Method "setOrientation" needs implementation')}},{key:"_getApplicableVolumeActor",value:function(e){if(void 0===e||this.getActor(e)){var t,r,n=this.getActors();if(n.length)return e&&(t=null===(r=this.getActor(e))||void 0===r?void 0:r.actor),t||(t=n[0].actor,e=n[0].uid),{volumeActor:t,volumeId:e}}}},{key:"_isValidVolumeInputArray",value:(t=H(Y().mark((function e(t,r){var n,i,a,o;return Y().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,ut(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:"getBounds",value:function(){return this.getRenderer().computeVisiblePropBounds()}},{key:"flip",value:function(e){pn(gn(s.prototype),"flip",this).call(this,e)}},{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);if(Rn(a,"vtkVolume")){var o=a.actor,s=bn.getVolume(e),u=o.getMapper().getInputData();return{dimensions:u.getDimensions(),spacing:u.getSpacing(),origin:u.getOrigin(),direction:u.getDirection(),scalarData:u.getPointData().getScalars().isDeleted()?null:u.getPointData().getScalars().getData(),imageData:o.getMapper().getInputData(),metadata:{Modality:null==s||null===(r=s.metadata)||void 0===r?void 0:r.Modality},scaling:null==s?void 0:s.scaling,hasPixelSpacing:!0}}}}},{key:"_setVolumeActors",value:function(e){this.inverted=!1,this.setActors(e)}},{key:"_getOrientationVectors",value:function(e){if("object"===G(e)){if(e.viewPlaneNormal&&e.viewUp)return e;throw new Error("Invalid orientation object. It must contain viewPlaneNormal and viewUp")}if("string"==typeof e&&B[e])return B[e];throw new Error("Invalid orientation: ".concat(e,". Valid orientations are: ").concat(Object.keys(B).join(", ")))}},{key:"getSlabThickness",value:function(){var e=this.getActors(),t=N.MINIMUM_SLAB_THICKNESS;return e.forEach((function(e){e.slabThickness>t&&(t=e.slabThickness)})),t}},{key:"getIntensityFromWorld",value:function(e){var t=this.getDefaultActor();if(Rn(t,"vtkVolume")){var r=t.actor,n=t.uid,i=r.getMapper().getInputData(),a=bn.getVolume(n),o=a.dimensions,s=wi(i,e),u=s[2]*o[0]*o[1]+s[1]*o[0]+s[0];return a.getScalarData()[u]}}}],[{key:"useCustomRenderingPipeline",get:function(){return!1}}]),s}(vi),Ii=yi;var Ci=function(e){mn(o,e);var t,r,n,i,a=(n=o,i=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=gn(n);if(i){var r=gn(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return wn(this,e)});function o(e){var t;ae(this,o),ee(fn(t=a.call(this,e)),"_useAcquisitionPlaneForViewPlane",!1),ee(fn(t),"getCurrentImageIdIndex",(function(){var e=t.getCamera(),r=e.viewPlaneNormal,n=e.focalPoint,i=t.getImageData(),a=i.origin,o=i.spacing[2],s=Cn.vec3.create();Cn.vec3.sub(s,n,a);var u=Cn.vec3.dot(s,r);return Math.round(Math.abs(u)/o)})),ee(fn(t),"getCurrentImageId",(function(){t.getActors().length>1&&console.warn("Using the first/default actor of ".concat(t.getActors().length," actors for getCurrentImageId."));var e=t.getDefaultActor();if(e&&Rn(e,"vtkVolume")){var r=e.uid,n=bn.getVolume(r);if(n){var i=t.getCamera(),a=i.viewPlaneNormal;return Pn(n,i.focalPoint,a)}}})),ee(fn(t),"getRotation",(function(){return 0}));var r=t.options.orientation;return r&&r!==E.ACQUISITION?(t.applyViewOrientation(r),wn(t)):(t._useAcquisitionPlaneForViewPlane=!0,t)}return se(o,[{key:"setVolumes",value:(r=H(Y().mark((function e(t){var r,n,i,a=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.length>1&&void 0!==a[1]&&a[1],n=a.length>2&&void 0!==a[2]&&a[2],i=bn.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),e.abrupt("return",pn(gn(o.prototype),"setVolumes",this).call(this,t,r,n));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"addVolumes",value:(t=H(Y().mark((function e(t){var r,n,i,a=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.length>1&&void 0!==a[1]&&a[1],n=a.length>2&&void 0!==a[2]&&a[2],i=bn.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),e.abrupt("return",pn(gn(o.prototype),"addVolumes",this).call(this,t,r,n));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"setOrientation",value:function(e){var t,r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(B[e]){var i=B[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:"_getAcquisitionPlaneOrientation",value:function(){var e=this.getDefaultActor();if(e){var t=e.uid,r=bn.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:"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:"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];pn(gn(o.prototype),"resetCamera",this).call(this,t,r,n),this.resetVolumeViewportClippingRange();var i=this.getVtkActiveCamera(),a=i.getViewPlaneNormal(),s=i.getFocalPoint();return this.getActors().forEach((function(t){if(t.actor){var r=t.actor.getMapper();if(0===r.getClippingPlanes().length){var n=In().newInstance(),i=In().newInstance(),o=[n,i],u=N.MINIMUM_SLAB_THICKNESS;t.slabThickness&&(u=t.slabThickness),e.setOrientationOfClippingPlanes(o,u,a,s),r.addClippingPlane(n),r.addClippingPlane(i)}}})),!0}},{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){Rn(t,"vtkVolume")&&(t.slabThickness=e)}));var n=this.getCamera();this.updateClippingPlanesForActors(n),this.triggerCameraModifiedEventIfNecessary(n,n)}},{key:"resetProperties",value:function(e){this._resetProperties(e)}},{key:"_resetProperties",value:function(e){var t=e?this.getActor(e):this.getDefaultActor();if(!t)throw new Error("No actor found for the given volumeId: ".concat(e));var r=bn.getVolume(t.uid);if(!r)throw new Error("imageVolume with id: ".concat(t.uid," does not exist in cache"));nr(t.actor,r,!1);var n=t.actor.getProperty().getRGBTransferFunction(0).getMappingRange(),i={viewportId:t.uid,range:{lower:n[0],upper:n[1]},volumeId:t.uid};$e(this.element,d.VOI_MODIFIED,i)}}]),o}(Ii),bi=Ci,Ei=X(7896),Ri=X.n(Ei),ki=X(9861),Pi=X.n(ki);function Oi(e,t,r){return Math.abs(e-t)<=r}function Ai(e){return"number"==typeof e}function Ti(e){return"length"in e&&"number"==typeof e[0]}function Si(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;return G(e)===G(t)&&null!==e&&null!==t&&(Ai(e)&&Ai(t)?Oi(e,t,r):!(!Ti(e)||!Ti(t))&&function(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(!Oi(e[n],t[n],r))return!1;return!0}(e,t,r))}function _i(){return window.performance?performance.now():Date.now()}function xi(e,t,r){return r?function(e){var t=Math.max.apply(Math,vr(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){var n=255*((r-(t-.5))/(e-1)+.5);return Math.min(Math.max(n,0),255)}}(e,t)}var Di=function(){function e(){ae(this,e),ee(this,"m",void 0),this.reset()}return se(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 Mi(e,t){var r=new Di;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 u=e.canvas.height/(s*a),c=e.canvas.width/(o*i);i=a=Math.min(c,u),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 Vi(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=Mi(e,r).getMatrix();t.setTransform(n[0],n[1],n[2],n[3],n[4],n[5])}function Li(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 Ui(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 ji(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 Ni(e,t,r){var n=!0===e.renderingTools.lastRenderedIsColor;e.renderingTools.renderCanvas&&n||(e.renderingTools.renderCanvas=document.createElement("canvas"));var i=e.renderingTools.renderCanvas,a=e.viewport.voi,o=a.windowWidth,s=a.windowCenter;if((256===o||255===o)&&(128===s||127===s)&&!1===e.viewport.invert&&t.getCanvas&&t.getCanvas())return t.getCanvas();if(!1===Li(e,t)&&!0!==r)return i;i.width===t.width&&i.height===t.height||Ui(e,t);var u=_i(),c=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 u=a-s+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(u)}var c=e.cachedLut.lutArray,l=xi(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r,void 0);if(!0===n)for(var d=o;d<=a;d++)c[d+-s]=255-l(d);else for(var v=o;v<=a;v++)c[v+-s]=l(v)}(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=_i()-u;var l=e.renderingTools.renderCanvasData,d=e.renderingTools.renderCanvasContext;return t.rgba?function(e,t,r){var n=_i(),i=e.getPixelData();e.stats.lastGetPixelDataTime=_i()-n;var a=e.minPixelValue,o=0,s=0,u=i.length;if(n=_i(),a<0)for(;s<u;)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<u;)r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o++]=i[s++];e.stats.lastStoredPixelDataToCanvasImageDataTime=_i()-n}(t,c,l.data):function(e,t,r){var n=_i(),i=e.getPixelData();e.stats.lastGetPixelDataTime=_i()-n;var a=e.minPixelValue,o=0,s=0,u=i.length;if(n=_i(),a<0)for(;s<u;)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<u;)r[o++]=t[i[s++]],r[o++]=t[i[s++]],r[o]=t[i[s]],s+=2,o+=2;e.stats.lastStoredPixelDataToCanvasImageDataTime=_i()-n}(t,c,l.data),u=_i(),d.putImageData(l,0,0),t.stats.lastPutImageDataTime=_i()-u,i}function Fi(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,Vi(e,n);var i=Ni(e,r,t),a=e.viewport.displayedArea.tlhc.x-1,o=e.viewport.displayedArea.tlhc.y-1,s=e.viewport.displayedArea.brhc.x-a,u=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,u,0,0,s,u),e.renderingTools=ji(e)}function Gi(e,t){return!e&&!t||!(!e||!t)&&e.id===t.id}function Wi(e,t,r){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&Gi(e.cachedLut.modalityLUT,t.modalityLUT)&&Gi(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,u=Math.min(s,0);if(void 0===e.cachedLut){var c=o-u+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(c)}var l=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),v=xi(t,r,a);if(e.isPreScaled)if(!0===n)for(var f=s;f<=o;f++)l[f+-u]=255-v(f);else for(var g=s;g<=o;g++)l[g+-u]=v(g);else if(!0===n)for(var p=s;p<=o;p++)l[p+-u]=255-v(d(p));else for(var h=s;h<=o;h++)l[h+-u]=v(d(h))}(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 Bi(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,Vi(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"),Ui(e,t));var a=e.renderingTools.renderCanvas;if(!1===Li(e,t)&&!0!==r)return a;a.width===t.width&&a.height===t.height||Ui(e,t),t.stats=t.stats||{};var o=e.renderingTools.renderCanvasData,s=e.renderingTools.renderCanvasContext,u=_i();t.stats.lastLutGenerateTime=_i()-u;var c=e.viewport;if("PT"===c.modality&&t.isPreScaled){var l=c.voi,d=l.windowWidth,v=l.windowCenter,f=v-d/2,g=255/(v+d/2-f);!function(e,t,r){var n=_i(),i=e.getPixelData();e.stats.lastGetPixelDataTime=_i()-n;var a=i.length,o=3,s=0;for(n=_i();s<a;)r[o]=t(i[s++]),o+=4;e.stats.lastStoredPixelDataToCanvasImageDataTime=_i()-n}(t,c.invert?function(e){return 255-(e-f)*g}:function(e){return(e-f)*g},o.data)}else{var p=Wi(t,c,r);n?function(e,t,r){var n=_i(),i=e.getPixelData();e.stats.lastGetPixelDataTime=_i()-n;var a=i.length,o=e.minPixelValue,s=3,u=0;if(n=_i(),i instanceof Int16Array)if(o<0)for(;u<a;)r[s]=t[i[u++]+-o],s+=4;else for(;u<a;)r[s]=t[i[u++]],s+=4;else if(i instanceof Uint16Array)for(;u<a;)r[s]=t[i[u++]],s+=4;else if(o<0)for(;u<a;)r[s]=t[i[u++]+-o],s+=4;else for(;u<a;)r[s]=t[i[u++]],s+=4;e.stats.lastStoredPixelDataToCanvasImageDataTime=_i()-n}(t,p,o.data):function(e,t,r){var n=_i(),i=e.getPixelData();e.stats.lastGetPixelDataTime=_i()-n;var a,o=i.length,s=e.minPixelValue,u=0,c=0;if(n=_i(),i instanceof Int16Array)if(s<0)for(;c<o;)a=t[i[c++]+-s],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;else for(;c<o;)a=t[i[c++]],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;else if(i instanceof Uint16Array)for(;c<o;)a=t[i[c++]],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;else if(s<0)for(;c<o;)a=t[i[c++]+-s],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;else for(;c<o;)a=t[i[c++]],r[u++]=a,r[u++]=a,r[u++]=a,r[u++]=255;e.stats.lastStoredPixelDataToCanvasImageDataTime=_i()-n}(t,p,o.data)}return u=_i(),s.putImageData(o,0,0),t.stats.lastPutImageDataTime=_i()-u,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,u=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,u,0,0,s,u),e.renderingTools=ji(e)}function qi(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),u=r*(1-t*(1-a));switch(i){case 0:case 6:n[0]=r,n[1]=u,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]=u;break;case 3:n[0]=o,n[1]=s,n[2]=r;break;case 4:n[0]=u,n[1]=o,n[2]=r;break;case 5:n[0]=r,n[1]=o,n[2]=s}return n}var zi=function(){function e(){ae(this,e),ee(this,"NumberOfColors",void 0),ee(this,"Ramp",void 0),ee(this,"TableRange",void 0),ee(this,"HueRange",void 0),ee(this,"SaturationRange",void 0),ee(this,"ValueRange",void 0),ee(this,"AlphaRange",void 0),ee(this,"NaNColor",void 0),ee(this,"BelowRangeColor",void 0),ee(this,"UseBelowRangeColor",void 0),ee(this,"AboveRangeColor",void 0),ee(this,"UseAboveRangeColor",void 0),ee(this,"InputRange",void 0),ee(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 se(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,u=this.SaturationRange[0]+o*r,c=this.ValueRange[0]+o*n,l=this.AlphaRange[0]+o*i,d=qi(s,u,c),v=[0,0,0,0];switch(this.Ramp){case"scurve":v[0]=Math.floor(127.5*(1+Math.cos((1-d[0])*Math.PI))),v[1]=Math.floor(127.5*(1+Math.cos((1-d[1])*Math.PI))),v[2]=Math.floor(127.5*(1+Math.cos((1-d[2])*Math.PI))),v[3]=Math.floor(255*l);break;case"linear":v[0]=Math.floor(255*d[0]+.5),v[1]=Math.floor(255*d[1]+.5),v[2]=Math.floor(255*d[2]+.5),v[3]=Math.floor(255*l+.5);break;case"sqrt":v[0]=Math.floor(255*Math.sqrt(d[0])+.5),v[1]=Math.floor(255*Math.sqrt(d[1])+.5),v[2]=Math.floor(255*Math.sqrt(d[2])+.5),v[3]=Math.floor(255*Math.sqrt(l)+.5);break;default:throw new Error("Invalid Ramp value (".concat(this.Ramp,")"))}this.Table.push(v)}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}(),Hi=zi,Ki=function(e,t,r,n){var i=_i(),a=e.getPixelData();e.stats.lastGetPixelDataTime=_i()-i;var o,s,u=a.length,c=e.minPixelValue,l=0,d=0;if(i=_i(),s=r instanceof Hi?r.Table:r,c<0)for(;d<u;)o=s[t[a[d++]+-c]],n[l++]=o[0],n[l++]=o[1],n[l++]=o[2],n[l++]=o[3];else for(;d<u;)o=s[t[a[d++]]],n[l++]=o[0],n[l++]=o[1],n[l++]=o[2],n[l++]=o[3];e.stats.lastStoredPixelDataToCanvasImageDataTime=_i()-i},Yi=function(e,t,r,n){var i=_i(),a=e.getPixelData();e.stats.lastGetPixelDataTime=_i()-i;var o,s,u=a.length,c=e.minPixelValue,l=0,d=0;if(i=_i(),s=r instanceof Hi?r.Table:r,c<0)for(;d<u;)o=s[t(a[d++]+-c)],n[l++]=o[0],n[l++]=o[1],n[l++]=o[2],n[l++]=o[3];else for(;d<u;)o=s[t(a[d++])],n[l++]=o[0],n[l++]=o[1],n[l++]=o[2],n[l++]=o[3];e.stats.lastStoredPixelDataToCanvasImageDataTime=_i()-i},Xi=[0,0,0,0];function Zi(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 $i(e,t,r){var n,i=[],a=[],o=[],s=[];for(r=null===r?1:r,n=0;n<t.length;n++){var u=t[n];i.push((e-1)*u[0]),a.push(u[1]),o.push(u[1])}var c=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++)c[n]=(e-1)*Math.pow(c[n],r);var l=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]=Zi(e,t[r]);return n}(i,c);for(n=1;n<e-1;n++){var d=l[n],v=(c[n]-i[d-1])/(i[d]-i[d-1]),f=a[d]-o[d-1];s[n]=v*f+o[d-1]}return s[0]=o[0],s[e-1]=a[t.length-1],s}function Qi(e,t){var r=U[e];return r||(r=U[e]=t||{name:"",colors:[]}),!r.colors&&r.segmentedData&&(r.colors=function(e,t,r){var n,i=[];r=null===r?1:r;var a=$i(t=null===t?256:t,e.red,r),o=$i(t,e.green,r),s=$i(t,e.blue,r);for(n=0;n<t;n++){var u=[Math.round(255*a[n]),Math.round(255*o[n]),Math.round(255*s[n]),255];i.push(u)}return i}(r.segmentedData,r.numColors,r.gamma)),{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(Xi);r.colors.length=e},getColor:function(e){return this.isValidIndex(e)?r.colors[e]:Xi},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 Hi;return this.buildLookupTable(e),e},isValidIndex:function(e){return e>=0&&e<r.colors.length}}}function Ji(e,t,r){return Math.max(t,Math.min(r,e))}function ea(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,Vi(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=Qi(i)),!i)throw new Error("renderPseudoColorImage: colormap not found.");var a=i.getId();if(!1===Li(e,t)&&!0!==r&&e.renderingTools.colormapId===a)return n;n.width===t.width&&n.height===t.height||Ui(e,t);var o=_i();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,u=e.renderingTools.renderCanvasContext,c=e.viewport,l=e.renderingTools.colorLUT;if("PT"===c.modality){var d,v=c.voi,f=v.windowWidth,g=v.windowCenter,p=g-f/2,h=255/(g+f/2-p);d=c.invert?function(e){return Ji(Math.floor(255-(e-p)*h),0,255)}:function(e){return Ji(Math.floor((e-p)*h),0,255)},Yi(t,d,l,s.data)}else{var m=Wi(t,e.viewport,r);t.stats=t.stats||{},t.stats.lastLutGenerateTime=_i()-o,Ki(t,m,l,s.data)}return o=_i(),u.putImageData(s,0,0),t.stats.lastPutImageDataTime=_i()-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,u=e.viewport.displayedArea.brhc.y-o;n.drawImage(i,a,o,s,u,0,0,s,u),e.renderingTools=ji(e)}function ta(e,t){var r=e.image;if(e.canvas&&e.image){var n=_i();if(r.stats={lastGetPixelDataTime:-1,lastStoredPixelDataToCanvasImageDataTime:-1,lastPutImageDataTime:-1,lastRenderTime:-1,lastLutGenerateTime:-1},r){var i=r.render;i||(i=e.viewport.colormap?ea:r.color?Fi:Bi),i(e,t)}var a=_i()-n;r.stats.lastRenderTime=a,e.invalid=!1,e.needsRedraw=!1}}function ra(e){return Mi(e)}function na(e,t){var r=ra(e);return r.invert(),r.transformPoint(t)}function ia(e,t){return ra(e).transformPoint(t)}var aa={viewport:{}};function oa(e,t){if(null==e)throw new Error(t)}function sa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return oa(e,"getImageSize: parameter image must not be undefined"),oa(e.width,"getImageSize: parameter image must have width"),oa(e.height,"getImageSize: parameter image must have height"),function(e){return!(null==e||0===e||180===e)}(t)?{height:e.width,width:e.height}:{width:e.width,height:e.height}}function ua(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;oa(e,"getImageScale: parameter canvas must not be undefined"),oa(t,"getImageScale: parameter image must not be undefined");var n=sa(t,r),i=t.rowPixelSpacing||1,a=t.columnPixelSpacing||1,o=1,s=1;i<a?s=a/i:o=i/a;var u=e.height/n.height/o,c=e.width/n.width/s;return{verticalScale:u,horizontalScale:c,scaleFactor:Math.min(c,u)}}function ca(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,aa.viewport);var i,a,o=ua(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 la(e){var t=Tn().newInstance(),r=0,n=1024;return e&&void 0!==e.lower&&void 0!==e.upper&&(r=e.lower,n=e.upper),t.addRGBPoint(r,0,0,0),t.addRGBPoint(n,1,1,1),t}function da(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 va(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?da(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):da(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var fa=function(e){mn(u,e);var t,r,n,i,a,o,s=(a=u,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=gn(a);if(o){var r=gn(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return wn(this,e)});function u(e){var t,r,n,i,a,o,c,l,d,v,f;return ae(this,u),ee(fn(f=s.call(this,e)),"imageIds",void 0),ee(fn(f),"currentImageIdIndex",void 0),ee(fn(f),"targetImageIdIndex",void 0),ee(fn(f),"debouncedTimeout",void 0),ee(fn(f),"voiRange",void 0),ee(fn(f),"voiUpdatedWithSetProperties",!1),ee(fn(f),"VOILUTFunction",void 0),ee(fn(f),"invert",!1),ee(fn(f),"initialInvert",!1),ee(fn(f),"interpolationType",void 0),ee(fn(f),"_imageData",void 0),ee(fn(f),"cameraFocalPointOnRender",void 0),ee(fn(f),"stackInvalidated",!1),ee(fn(f),"_publishCalibratedEvent",!1),ee(fn(f),"_calibrationEvent",void 0),ee(fn(f),"_cpuFallbackEnabledElement",void 0),ee(fn(f),"useCPURendering",void 0),ee(fn(f),"useNativeDataType",!1),ee(fn(f),"cpuImagePixelData",void 0),ee(fn(f),"cpuRenderingInvalidated",void 0),ee(fn(f),"csImage",void 0),ee(fn(f),"modality",void 0),ee(fn(f),"scaling",void 0),ee(fn(f),"initialViewUp",void 0),ee(fn(f),"updateRenderingPipeline",(function(){f._configureRenderingPipeline()})),ee(fn(f),"getImageData",void 0),ee(fn(f),"setColormap",void 0),ee(fn(f),"getCamera",void 0),ee(fn(f),"setCamera",void 0),ee(fn(f),"getRotation",void 0),ee(fn(f),"unsetColormap",void 0),ee(fn(f),"resetCamera",void 0),ee(fn(f),"canvasToWorld",void 0),ee(fn(f),"worldToCanvas",void 0),ee(fn(f),"getRenderer",void 0),ee(fn(f),"getDefaultActor",void 0),ee(fn(f),"getActors",void 0),ee(fn(f),"getActor",void 0),ee(fn(f),"setActors",void 0),ee(fn(f),"addActors",void 0),ee(fn(f),"addActor",void 0),ee(fn(f),"removeAllActors",void 0),ee(fn(f),"setVOI",void 0),ee(fn(f),"setInterpolationType",void 0),ee(fn(f),"setInvertColor",void 0),ee(fn(f),"resize",(function(){f.useCPURendering&&f._resizeCPU()})),ee(fn(f),"_resizeCPU",(function(){f._cpuFallbackEnabledElement.viewport&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.canvas.width,n=e.canvas.height;!function(e){var t=e.canvas,r=t.clientWidth,n=t.clientHeight;t.width===r&&t.height===n||(t.width=r,t.height=n)}(e),void 0!==e.image&&(t||function(e,t,r){var n=e.viewport.scale,i=sa(e.image,e.viewport.rotation),a=Math.round(i.width*n),o=Math.round(i.height*n),s=e.viewport.translation.x,u=e.viewport.translation.y;return a===t&&o<=r||a<=t&&o===r&&0===s&&0===u}(e,r,n)?function(e){var t=e.image;e.viewport.scale=ua(e.canvas,t,e.viewport.rotation).scaleFactor,e.viewport.translation.x=0,e.viewport.translation.y=0}(e):function(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}(e,r,n))}(f._cpuFallbackEnabledElement)})),ee(fn(f),"getFrameOfReferenceUID",(function(){var e=f.getCurrentImageId();if(e){var t=Bt("imagePlaneModule",e);if(t)return t.frameOfReferenceUID}})),ee(fn(f),"getCornerstoneImage",(function(){return f.csImage})),ee(fn(f),"createActorMapper",(function(e){var t=Ri().newInstance();t.setInputData(e);var r=Pi().newInstance();return r.setMapper(t),We().rendering.preferSizeOverAccuracy&&t.setPreferSizeOverAccuracy(!0),e.getPointData().getNumberOfComponents()>1&&r.getProperty().setIndependentComponents(!1),r})),ee(fn(f),"getProperties",(function(){var e=fn(f),t=e.voiRange,r=e.VOILUTFunction,n=e.interpolationType,i=e.invert,a=e.voiUpdatedWithSetProperties;return{voiRange:t,VOILUTFunction:r,interpolationType:n,invert:i,rotation:f.getRotation(),isComputedVOI:!a}})),ee(fn(f),"getRotationCPU",(function(){return f._cpuFallbackEnabledElement.viewport.rotation})),ee(fn(f),"getRotationGPU",(function(){var e=f.getCamera(),t=e.viewUp,r=e.viewPlaneNormal,n=e.flipVertical?Cn.vec3.negate(Cn.vec3.create(),f.initialViewUp):f.initialViewUp,i=180*Cn.vec3.angle(n,t)/Math.PI,a=Cn.vec3.cross(Cn.vec3.create(),n,t);return Cn.vec3.dot(a,r)>=0?i:(360-i)%360})),ee(fn(f),"renderImageObject",(function(e){f._setCSImage(e),(f.useCPURendering?f._updateToDisplayImageCPU:f._updateActorToDisplayImageId).call(fn(f),e)})),ee(fn(f),"_setCSImage",(function(e){var t;e.isPreScaled=null===(t=e.preScale)||void 0===t?void 0:t.scaled,f.csImage=e})),ee(fn(f),"canvasToWorldCPU",(function(e){if(f._cpuFallbackEnabledElement.image){var t=On(na(f._cpuFallbackEnabledElement,e),2),r=t[0],n=t[1],i=f.getImageData(),a=i.origin,o=i.spacing,s=i.direction,u=Cn.vec3.fromValues(0,0,0),c=s.slice(0,3),l=s.slice(3,6);return Cn.vec3.scaleAndAdd(u,a,c,r*o[0]),Cn.vec3.scaleAndAdd(u,u,l,n*o[1]),[u[0],u[1],u[2]]}})),ee(fn(f),"worldToCanvasCPU",(function(e){var t=f.getImageData(),r=t.spacing,n=t.direction,i=t.origin,a=n.slice(0,3),o=n.slice(3,6),s=Cn.vec3.subtract(Cn.vec3.create(),e,i),u=[Cn.vec3.dot(s,a)/r[0],Cn.vec3.dot(s,o)/r[1]];return ia(f._cpuFallbackEnabledElement,u)})),ee(fn(f),"canvasToWorldGPU",(function(e){var t=f.getRenderer(),r=f.getVtkActiveCamera(),n=r.getClippingRange(),i=r.getDistance();r.setClippingRange(i,i+.1);var a=f.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),o=a.getSize(),s=window.devicePixelRatio||1,u=[e[0]*s,e[1]*s],c=[u[0]+f.sx,u[1]+f.sy];c[1]=o[1]-c[1];var l=a.displayToWorld(c[0],c[1],0,t);return r.setClippingRange(n[0],n[1]),[l[0],l[1],l[2]]})),ee(fn(f),"worldToCanvasGPU",(function(e){var t=f.getRenderer(),r=f.getVtkActiveCamera(),n=r.getClippingRange(),i=r.getDistance();r.setClippingRange(i,i+.1);var a=f.getRenderingEngine().offscreenMultiRenderWindow.getOpenGLRenderWindow(),o=a.getSize(),s=a.worldToDisplay.apply(a,vr(e).concat([t]));s[1]=o[1]-s[1];var u=[s[0]-f.sx,s[1]-f.sy];r.setClippingRange(n[0],n[1]);var c=window.devicePixelRatio||1;return[u[0]/c,u[1]/c]})),ee(fn(f),"getCurrentImageIdIndex",(function(){return f.currentImageIdIndex})),ee(fn(f),"getTargetImageIdIndex",(function(){return f.targetImageIdIndex})),ee(fn(f),"getImageIds",(function(){return f.imageIds})),ee(fn(f),"getCurrentImageId",(function(){return f.imageIds[f.currentImageIdIndex]})),ee(fn(f),"hasImageId",(function(e){return f.imageIds.includes(e)})),ee(fn(f),"hasImageURI",(function(e){for(var t=f.imageIds,r=0;r<t.length;r++)if(ue(t[r])===e)return!0;return!1})),ee(fn(f),"customRenderViewportToCanvas",(function(){if(!f.useCPURendering)throw new Error("Custom cpu rendering pipeline should only be hit in CPU rendering mode");return f._cpuFallbackEnabledElement.image?(ta(f._cpuFallbackEnabledElement,f.cpuRenderingInvalidated),f.cpuRenderingInvalidated=!1):f.fillWithBackgroundColor(),{canvas:f.canvas,element:f.element,viewportId:f.id,renderingEngineId:f.renderingEngineId,viewportStatus:f.viewportStatus}})),ee(fn(f),"renderingPipelineFunctions",{getImageData:{cpu:f.getImageDataCPU,gpu:f.getImageDataGPU},setColormap:{cpu:f.setColormapCPU,gpu:f.setColormapGPU},getCamera:{cpu:f.getCameraCPU,gpu:pn((t=fn(f),gn(u.prototype)),"getCamera",t)},setCamera:{cpu:f.setCameraCPU,gpu:pn((r=fn(f),gn(u.prototype)),"setCamera",r)},setVOI:{cpu:f.setVOICPU,gpu:f.setVOIGPU},getRotation:{cpu:f.getRotationCPU,gpu:f.getRotationGPU},setInterpolationType:{cpu:f.setInterpolationTypeCPU,gpu:f.setInterpolationTypeGPU},setInvertColor:{cpu:f.setInvertColorCPU,gpu:f.setInvertColorGPU},resetCamera:{cpu:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return f.resetCameraCPU(e,t),!0},gpu:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return f.resetCameraGPU(e,t),!0}},canvasToWorld:{cpu:f.canvasToWorldCPU,gpu:f.canvasToWorldGPU},worldToCanvas:{cpu:f.worldToCanvasCPU,gpu:f.worldToCanvasGPU},getRenderer:{cpu:function(){return f.getCPUFallbackError("getRenderer")},gpu:pn((n=fn(f),gn(u.prototype)),"getRenderer",n)},getDefaultActor:{cpu:function(){return f.getCPUFallbackError("getDefaultActor")},gpu:pn((i=fn(f),gn(u.prototype)),"getDefaultActor",i)},getActors:{cpu:function(){return f.getCPUFallbackError("getActors")},gpu:pn((a=fn(f),gn(u.prototype)),"getActors",a)},getActor:{cpu:function(){return f.getCPUFallbackError("getActor")},gpu:pn((o=fn(f),gn(u.prototype)),"getActor",o)},setActors:{cpu:function(){return f.getCPUFallbackError("setActors")},gpu:pn((c=fn(f),gn(u.prototype)),"setActors",c)},addActors:{cpu:function(){return f.getCPUFallbackError("addActors")},gpu:pn((l=fn(f),gn(u.prototype)),"addActors",l)},addActor:{cpu:function(){return f.getCPUFallbackError("addActor")},gpu:pn((d=fn(f),gn(u.prototype)),"addActor",d)},removeAllActors:{cpu:function(){return f.getCPUFallbackError("removeAllActors")},gpu:pn((v=fn(f),gn(u.prototype)),"removeAllActors",v)},unsetColormap:{cpu:f.unsetColormapCPU,gpu:f.unsetColormapGPU}}),f.scaling={},f.modality=null,f.useCPURendering=Ue(),f.useNativeDataType=f._shouldUseNativeDataType(),f._configureRenderingPipeline(),f.useCPURendering?f._resetCPUFallbackElement():f._resetGPUViewport(),f.imageIds=[],f.currentImageIdIndex=0,f.targetImageIdIndex=0,f.cameraFocalPointOnRender=[0,0,0],f.resetCamera(),f.initializeElementDisabledHandler(),f}return se(u,[{key:"setUseCPURendering",value:function(e){this.useCPURendering=e,this._configureRenderingPipeline()}},{key:"_configureRenderingPipeline",value:function(){this.useNativeDataType=this._shouldUseNativeDataType(),this.useCPURendering=Ue();for(var e=0,t=Object.entries(this.renderingPipelineFunctions);e<t.length;e++){var r=On(t[e],2),n=r[0],i=r[1];this[n]=this.useCPURendering?i.cpu:i.gpu}this.useCPURendering?this._resetCPUFallbackElement():this._resetGPUViewport()}},{key:"_resetCPUFallbackElement",value:function(){this._cpuFallbackEnabledElement={canvas:this.canvas,renderingTools:{},transform:new Di,viewport:{rotation:0}}}},{key:"_resetGPUViewport",value:function(){var e=this.getRenderer(),t=gi().newInstance();e.setActiveCamera(t);var r=[0,0,-1];this.initialViewUp=[0,-1,0],t.setDirectionOfProjection(-r[0],-r[1],-r[2]),t.setViewUp.apply(t,vr(this.initialViewUp)),t.setParallelProjection(!0),t.setThicknessFromFocalPoint(.1),t.setFreezeFocalPoint(!0)}},{key:"initializeElementDisabledHandler",value:function(){Ze.addEventListener(d.ELEMENT_DISABLED,(function e(){clearTimeout(this.debouncedTimeout),Ze.removeEventListener(d.ELEMENT_DISABLED,e)}))}},{key:"getImageDataGPU",value:function(){var e=this.getDefaultActor();if(e&&En(e)){var t=e.actor,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,calibration:this.calibration,preScale:va({},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=na(e._cpuFallbackEnabledElement,r);return[n[0],n[1],0]},indexToWorld:function(t){var r=ia(e._cpuFallbackEnabledElement,[t[0],t[1]]);return e.canvasToWorldCPU(r)}},scalarData:this.cpuImagePixelData,hasPixelSpacing:this.hasPixelSpacing,calibration:this.calibration,preScale:va({},this.csImage.preScale)}}},{key:"buildMetadata",value:function(e){var t=e.imageId,r=Bt("imagePixelModule",t),n=r.pixelRepresentation,i=r.bitsAllocated,a=r.bitsStored,o=r.highBit,s=r.photometricInterpretation,u=r.samplesPerPixel,c=e.windowWidth,l=e.windowCenter,d=e.voiLUTFunction,v=Bt("generalSeriesModule",t).modality,f=Bt("scalingModule",t);"PT"===v&&f&&this._addScalingToViewport(f),this.modality=v;var g=this._getValidVOILUTFunction(d);this.VOILUTFunction=g,this.calibration=null;var p=this._getImagePlaneModule(t);return this.useCPURendering||(p=this.calibrateIfNecessary(t,p)),{imagePlaneModule:p,imagePixelModule:{bitsAllocated:i,bitsStored:a,samplesPerPixel:u,highBit:o,photometricInterpretation:s,pixelRepresentation:n,windowWidth:c,windowCenter:l,modality:v,voiLUTFunction:g}}}},{key:"calibrateIfNecessary",value:function(e,t){var r=Bt("calibratedPixelSpacing",e),n=this.calibration!==r,i=(r||{}).scale;return this.hasPixelSpacing=i>0||t.rowPixelSpacing>0,t.calibration=r,n?(this.calibration=r,this._publishCalibratedEvent=!0,this._calibrationEvent={scale:i,calibration:r},t):t}},{key:"setProperties",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.voiRange,r=e.VOILUTFunction,n=e.invert,i=e.interpolationType,a=e.rotation,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.viewportStatus=this.csImage?L.PRE_RENDER:L.LOADING,void 0!==t&&this.setVOI(t,{suppressEvents:o,voiUpdatedWithSetProperties:!0}),void 0!==r&&this.setVOILUTFunction(r,o),void 0!==n&&this.setInvertColor(n),void 0!==i&&this.setInterpolationType(i),void 0!==a&&this.getRotation()!==a&&this.setRotation(a)}},{key:"resetProperties",value:function(){this.cpuRenderingInvalidated=!0,this.voiUpdatedWithSetProperties=!1,this.viewportStatus=L.PRE_RENDER,this.fillWithBackgroundColor(),this.useCPURendering&&(this._cpuFallbackEnabledElement.renderingTools={}),this._resetProperties(),this.render()}},{key:"_resetProperties",value:function(){var e;e=this._isCurrentImagePTPrescaled()?this._getDefaultPTPrescaledVOIRange():this._getVOIRangeForCurrentImage(),this.setVOI(e),0!==this.getRotation()&&this.setRotation(0),this.setInterpolationType(m.LINEAR),this.setInvertColor(this.initialInvert)}},{key:"_setPropertiesFromCache",value:function(){var e,t=this.interpolationType,r=this.invert;if(this.voiUpdatedWithSetProperties)e=this.voiRange;else if(this._isCurrentImagePTPrescaled())e=this._getDefaultPTPrescaledVOIRange();else{var n;e=null!==(n=this._getVOIRangeForCurrentImage())&&void 0!==n?n:this.voiRange}this.setVOI(e),this.setInterpolationType(t),this.setInvertColor(r)}},{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(r.rotation){var o=Cn.mat4.fromRotation(Cn.mat4.create(),r.rotation*Math.PI/180,i);a=Cn.vec3.transformMat4(Cn.vec3.create(),a,o)}var s=[this.element.clientWidth/2,this.element.clientHeight/2],u=this.canvasToWorld(s),c=this.canvasToWorld([0,0]),l=this.canvasToWorld([0,this.element.clientHeight]);return{parallelProjection:!0,focalPoint:u,position:[0,0,0],parallelScale:Cn.vec3.distance(c,l)/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,u=e.flipHorizontal,c=e.flipVertical,l=this.element.clientHeight;if(a){var v=this.worldToCanvasCPU(a),f=na(this._cpuFallbackEnabledElement,v),g=this.worldToCanvasCPU(i.focalPoint),p=na(this._cpuFallbackEnabledElement,g),h=Cn.vec2.create();Cn.vec2.subtract(h,Cn.vec2.fromValues(f[0],f[1]),Cn.vec2.fromValues(p[0],p[1]));var m=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),u=e.x*o-e.y*s,c=e.x*s+e.y*o;e.x=u,e.y=c}return e}({x:h[0],y:h[1]},r);r.translation.x-=m.x,r.translation.y-=m.y}if(o){var w=l*n.rowPixelSpacing*.5/o;r.scale=w,r.parallelScale=o}if(s){var y=n.rowPixelSpacing;r.scale=s,r.parallelScale=l*y*.5/s}void 0===u&&void 0===c||this.setFlipCPU({flipHorizontal:u,flipVertical:c}),this._cpuFallbackEnabledElement.transform=Mi(this._cpuFallbackEnabledElement);var I={previousCamera:i,camera:this.getCamera(),element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:this.getRotation()};$e(this.element,d.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:"setRotation",value:function(e){var t=this.getCamera();this.useCPURendering?this.setRotationCPU(e):this.setRotationGPU(e);var r={previousCamera:t,camera:this.getCamera(),element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,rotation:e};$e(this.element,d.CAMERA_MODIFIED,r)}},{key:"setVOILUTFunction",value:function(e,t){if(this.useCPURendering)throw new Error("VOI LUT function is not supported in CPU rendering");var r=this._getValidVOILUTFunction(e),n=!1;this.VOILUTFunction!==_.LINEAR&&r===_.LINEAR&&(n=!0),this.VOILUTFunction=r;var i=this.getProperties().voiRange;this.setVOI(i,{suppressEvents:t,forceRecreateLUTFunction:n})}},{key:"setRotationCPU",value:function(e){this._cpuFallbackEnabledElement.viewport.rotation=e}},{key:"setRotationGPU",value:function(e){var t=this.getCamera().flipVertical?Cn.vec3.negate(Cn.vec3.create(),this.initialViewUp):this.initialViewUp;this.setCameraNoEvent({viewUp:t}),this.getVtkActiveCamera().roll(-e)}},{key:"setInterpolationTypeGPU",value:function(e){var t=this.getDefaultActor();t&&En(t)&&(t.actor.getProperty().setInterpolationType(e),this.interpolationType=e)}},{key:"setInterpolationTypeCPU",value:function(e){this._cpuFallbackEnabledElement.viewport.pixelReplication=e!==m.LINEAR,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&&En(t))if(Rn(t,"vtkVolume")){var r=t.actor.getProperty().getRGBTransferFunction(0);(!this.invert&&e||this.invert&&!e)&&Nn(r),this.invert=e}else if(Rn(t,"vtkImageSlice")){var n=t.actor.getProperty().getRGBTransferFunction(0);(!this.invert&&e||this.invert&&!e)&&Nn(n),this.invert=e}}},{key:"setVOICPU",value:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).suppressEvents,r=void 0!==t&&t,n=this._cpuFallbackEnabledElement,i=n.viewport,a=n.image;if(i&&a){if(void 0===e){var o=a.windowWidth,s=a.windowCenter,u=Array.isArray(o)?o[0]:o,c=Array.isArray(s)?s[0]:s;i.voi={windowWidth:u,windowCenter:c};var l=zt(u,c);e={lower:l.lower,upper:l.upper}}else{var v=e,f=qt(v.lower,v.upper),g=f.windowCenter,p=f.windowWidth;i.voi||(i.voi={windowWidth:0,windowCenter:0}),i.voi.windowWidth=p,i.voi.windowCenter=g}this.voiRange=e;var h={viewportId:this.id,range:e};r||$e(this.element,d.VOI_MODIFIED,h)}}},{key:"setVOIGPU",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.suppressEvents,n=void 0!==r&&r,i=t.forceRecreateLUTFunction,a=void 0!==i&&i,o=t.voiUpdatedWithSetProperties,s=void 0!==o&&o;if(!e||!this.voiRange||this.voiRange.lower!==e.lower||this.voiRange.upper!==e.upper||a||this.stackInvalidated){var u=this.getDefaultActor();if(u&&En(u)){var c=u.actor,l=e;if(void 0===l){var v=c.getMapper().getInputData().getPointData().getScalars().getRange();l={lower:v[0],upper:v[1]}}c.getProperty().setUseLookupTableScalarRange(!0);var f=c.getProperty().getRGBTransferFunction(0),g=this.VOILUTFunction===_.SAMPLED_SIGMOID;if((g||!f||a)&&(f=(g?Fn:la)(l),this.invert&&Nn(f),c.getProperty().setRGBTransferFunction(0,f)),g||f.setRange(l.lower,l.upper),this.voiRange=l,this.voiUpdatedWithSetProperties||(this.voiUpdatedWithSetProperties=s),!n){var p={viewportId:this.id,range:l,VOILUTFunction:this.VOILUTFunction};$e(this.element,d.VOI_MODIFIED,p)}}}}},{key:"_addScalingToViewport",value:function(e){if(!this.scaling.PT){var t=e.suvbw,r=e.suvlbm,n=e.suvbsa,i={};r&&(i.suvbwToSuvlbm=r/t),n&&(i.suvbwToSuvbsa=n/t),this.scaling.PT=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),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=Cn.vec3.fromValues(t[0],t[1],t[2]),s=Cn.vec3.fromValues(r[0],r[1],r[2]),u=Cn.vec3.create();Cn.vec3.cross(u,o,s);var c=i.imagePositionPatient;null==c&&(c=[0,0,0]);var l=i.columnPixelSpacing||e.columnPixelSpacing,d=i.rowPixelSpacing||e.rowPixelSpacing,v=e.columns,f=e.rows,g=e.numComps||this._getNumCompsFromPhotometricInterpretation(a.photometricInterpretation);return{bitsAllocated:a.bitsAllocated,numComps:g,origin:c,direction:[].concat(vr(o),vr(s),vr(u)),dimensions:[v,f,1],spacing:[l,d,1],numVoxels:v*f*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=e.origin,r=e.direction,n=e.dimensions,i=e.spacing,a=e.numComps,o=e.pixelArray,s=new o.constructor(o.length),u=ie().newInstance({name:"Pixels",numberOfComponents:a,values:s});this._imageData=re().newInstance(),this._imageData.setDimensions(n),this._imageData.setSpacing(i),this._imageData.setDirection(r),this._imageData.setOrigin(t),this._imageData.getPointData().setScalars(u)}},{key:"setStack",value:(i=H(Y().mark((function e(t){var r,n,i,a=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:0,this._throwIfDestroyed(),this.imageIds=t,this.currentImageIdIndex=r,this.targetImageIdIndex=r,this.stackInvalidated=!0,this.flipVertical=!1,this.flipHorizontal=!1,this.voiRange=null,this.interpolationType=m.LINEAR,this.invert=!1,this.viewportStatus=L.LOADING,this.fillWithBackgroundColor(),this.useCPURendering&&(this._cpuFallbackEnabledElement.renderingTools={},delete this._cpuFallbackEnabledElement.viewport.colormap),e.next=16,this._setImageIdIndex(r);case 16:return n=e.sent,i={imageIds:t,viewportId:this.id,element:this.element,currentImageIdIndex:r},$e(Ze,d.STACK_VIEWPORT_NEW_STACK,i),e.abrupt("return",n);case 20:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"_throwIfDestroyed",value:function(){if(this.isDisabled)throw new Error("The stack viewport has been destroyed and is no longer usable. Renderings will not be performed. If you are using the same viewportId and have re-enabled the viewport, you need to grab the new viewport instance using renderingEngine.getViewport(viewportId), instead of using your lexical scoped reference to the viewport instance.")}},{key:"_checkVTKImageDataMatchesCornerstoneImage",value:function(e,t){if(!t)return!1;var r=On(t.getSpacing(),2),n=r[0],i=r[1],a=On(t.getDimensions(),2),o=a[0],s=a[1],u=this._getImagePlaneModule(e.imageId),c=t.getDirection(),l=c.slice(0,3),d=c.slice(3,6),v=t.getPointData().getScalars().getDataType(),f=Si(n,e.columnPixelSpacing),g=Si(i,e.rowPixelSpacing);return(f||null===e.columnPixelSpacing&&1===n)&&(g||null===e.rowPixelSpacing&&1===i)&&o===e.columns&&s===e.rows&&Si(u.rowCosines,l)&&Si(u.columnCosines,d)&&(!this.useNativeDataType||v===e.getPixelData().constructor.name)}},{key:"_updateVTKImageDataFromCornerstoneImage",value:function(e){var t=this._getImagePlaneModule(e.imageId).imagePositionPatient;null==t&&(t=[0,0,0]),this._imageData.setOrigin(t),this._updatePixelData(e)}},{key:"_updatePixelData",value:function(e){var t=e.getPixelData(),r=this._imageData.getPointData().getScalars().getData();if(e.color&&e.rgba){for(var n=new Uint8Array(e.columns*e.rows*3),i=0;i<e.columns*e.rows;i++)n[3*i]=t[4*i],n[3*i+1]=t[4*i+1],n[3*i+2]=t[4*i+2];e.rgba=!1,e.getPixelData=function(){return n},r.set(n)}else r.set(t);this._imageData.modified()}},{key:"_loadAndDisplayImage",value:(n=H(Y().mark((function e(t,r){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.useCPURendering?this._loadAndDisplayImageCPU(t,r):this._loadAndDisplayImageGPU(t,r);case 2:return e.abrupt("return",t);case 3: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){if(this.currentImageIdIndex===t){var i=e.getPixelData(),a=e.preScale,o=null==a?void 0:a.scalingParameters,s=(null==a?void 0:a.scaled)&&(null==o?void 0:o.rescaleIntercept)%1!=0||(null==o?void 0:o.rescaleSlope)%1!=0;if(i instanceof Float32Array&&s){for(var u={min:e.maxPixelValue,max:e.minPixelValue},c=Math.abs(u.max-u.min)/65535,l=u.min,v=i.length,f=new Uint16Array(v),g=65535,p=0,h=0;h<v;h++){var m=Math.floor((i[h]-l)/c);f[h]=m,g=Math.min(g,m),p=Math.max(p,m)}e.minPixelValue=g,e.maxPixelValue=p,e.slope=c,e.intercept=l,e.getPixelData=function(){return f},e.preScale=va(va({},e.preScale),{},{scaled:!1})}this._setCSImage(e),this.viewportStatus=L.PRE_RENDER;var w={image:e,imageId:r,imageIdIndex:t,viewportId:this.id,renderingEngineId:this.renderingEngineId};$e(this.element,d.STACK_NEW_IMAGE,w),this._updateToDisplayImageCPU(e),this.render(),this.currentImageIdIndex=t,n(r)}}function o(e,t,r){var n={error:e,imageIdIndex:t,imageId:r};this.suppressEvents||$e(Ze,d.IMAGE_LOAD_ERROR,n),i(e)}var s=f.Interaction,u={imageId:e},c={imageId:e,imageIdIndex:t,viewportId:r.id,renderingEngineId:r.renderingEngineId};$e(r.element,d.PRE_STACK_NEW_IMAGE,c),Ot.addRequest(function(e,t,r){var n=this;return _t(e,r).then((function(r){a.call(n,r,t,e)}),(function(r){o.call(n,r,t,e)}))}.bind(r,e,t,{preScale:{enabled:!0},useRGBA:!0}),s,u,-5)}))}},{key:"_loadAndDisplayImageGPU",value:function(e,t){var r=this;return new Promise((function(n,i){function a(e,t,r){var i,a;if(this.currentImageIdIndex===t){var o=null===(i=this.csImage)||void 0===i?void 0:i.imageFrame,s=null==e?void 0:e.imageFrame;(null==o?void 0:o.photometricInterpretation)===(null==s?void 0:s.photometricInterpretation)&&(null===(a=this.csImage)||void 0===a?void 0:a.photometricInterpretation)===(null==e?void 0:e.photometricInterpretation)||(this.stackInvalidated=!0),this._setCSImage(e);var u={image:e,imageId:r,imageIdIndex:t,viewportId:this.id,renderingEngineId:this.renderingEngineId};$e(this.element,d.STACK_NEW_IMAGE,u),this._updateActorToDisplayImageId(e),this.render(),this.currentImageIdIndex=t,n(r)}}function o(e,t,r){var n={error:e,imageIdIndex:t,imageId:r};$e(Ze,d.IMAGE_LOAD_ERROR,n),i(e)}var s=f.Interaction,u={imageId:e},c={targetBuffer:{type:r.useNativeDataType?void 0:"Float32Array"},preScale:{enabled:!0},useRGBA:!1},l={imageId:e,imageIdIndex:t,viewportId:r.id,renderingEngineId:r.renderingEngineId};$e(r.element,d.PRE_STACK_NEW_IMAGE,l),Ot.addRequest(function(e,t,r){var n=this;return _t(e,r).then((function(r){a.call(n,r,t,e)}),(function(r){o.call(n,r,t,e)}))}.bind(r,e,t,c),s,u,-5)}))}},{key:"_updateToDisplayImageCPU",value:function(e){var t=this._getImageDataMetadata(e),r=ca(this.canvas,e,this.modality,this._cpuFallbackEnabledElement.viewport.colormap),n=r.voi,i=n.windowCenter,a=n.windowWidth;this.voiRange=zt(a,i),this._cpuFallbackEnabledElement.image=e,this._cpuFallbackEnabledElement.metadata=va({},t),this.cpuImagePixelData=e.getPixelData();var o=Object.assign({},r,this._cpuFallbackEnabledElement.viewport);this._cpuFallbackEnabledElement.viewport=this.stackInvalidated?r:o,this.stackInvalidated=!1,this.cpuRenderingInvalidated=!0,this._cpuFallbackEnabledElement.transform=Mi(this._cpuFallbackEnabledElement)}},{key:"_updateActorToDisplayImageId",value:function(e){var t=this._checkVTKImageDataMatchesCornerstoneImage(e,this._imageData),r=this.getRenderer().getActiveCamera(),n=structuredClone(this.getCamera());if(t&&!this.stackInvalidated){this._updateVTKImageDataFromCornerstoneImage(e);var i=this.getCamera(),a=Cn.vec3.subtract(Cn.vec3.create(),this.cameraFocalPointOnRender,i.focalPoint);this.resetCameraNoEvent(),this.setCameraNoEvent({flipHorizontal:n.flipHorizontal,flipVertical:n.flipVertical,viewUp:n.viewUp});var o=this.getCamera().focalPoint;return this.cameraFocalPointOnRender=o,r.setFreezeFocalPoint(!0),this._restoreCameraProps(i,n,a),void this._setPropertiesFromCache()}var s=this._getImageDataMetadata(e),u=s.origin,c=s.direction,l=s.dimensions,d=s.spacing,v=s.numComps,f=s.imagePixelModule;this._createVTKImageData({origin:u,direction:c,dimensions:l,spacing:d,numComps:v,pixelArray:e.getPixelData()}),this._updateVTKImageDataFromCornerstoneImage(e);var g=this.createActorMapper(this._imageData),p=[];p.push({uid:this.id,actor:g}),this.setActors(p);var h=this._getCameraOrientation(c),m=h.viewPlaneNormal,w=h.viewUp;this.setCameraNoEvent({viewUp:w,viewPlaneNormal:m}),this.initialViewUp=w,this.resetCameraNoEvent(),this.triggerCameraEvent(this.getCamera(),n),r.setFreezeFocalPoint(!0);var y="MONOCHROME1"===f.photometricInterpretation;this.stackInvalidated=!0,this.setVOI(this._getInitialVOIRange(e),{forceRecreateLUTFunction:!!y}),this.initialInvert=!!y,this.setInvertColor(this.invert||this.initialInvert),this.cameraFocalPointOnRender=this.getCamera().focalPoint,this.stackInvalidated=!1,this._publishCalibratedEvent&&this.triggerCalibrationEvent()}},{key:"_getInitialVOIRange",value:function(e){if(this.voiRange&&this.voiUpdatedWithSetProperties)return this.voiRange;var t=e.windowCenter,r=e.windowWidth,n=this._getVOIRangeFromWindowLevel(r,t);return this._getPTPreScaledRange()||n}},{key:"_getPTPreScaledRange",value:function(){if(this._isCurrentImagePTPrescaled())return this._getDefaultPTPrescaledVOIRange()}},{key:"_isCurrentImagePTPrescaled",value:function(){var e,t;return!("PT"!==this.modality||!this.csImage.isPreScaled||null===(e=this.csImage.preScale)||void 0===e||null===(t=e.scalingParameters)||void 0===t||!t.suvbw)}},{key:"_getDefaultPTPrescaledVOIRange",value:function(){return{lower:0,upper:5}}},{key:"_getVOIRangeFromWindowLevel",value:function(e,t){var r,n;if("number"==typeof t&&"number"==typeof e?(r=t,n=e):Array.isArray(t)&&Array.isArray(e)&&(r=t[0],n=e[0]),void 0!==r&&void 0!==n)return zt(n,r)}},{key:"_setImageIdIndex",value:(r=H(Y().mark((function e(t){var r;return Y().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,this.viewportStatus=L.PRE_RENDER,e.next=7,this._loadAndDisplayImage(this.imageIds[t],t);case 7:return r=e.sent,e.abrupt("return",r);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{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=ua(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.setCamera({flipHorizontal:!1,flipVertical:!1,viewUp:this.initialViewUp}),pn(gn(u.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 u=i[s];bn.isLoaded(u)||!r?this.setImageIdIndex(s):(clearTimeout(this.debouncedTimeout),this.debouncedTimeout=window.setTimeout((function(){t.setImageIdIndex(s)}),40));var c={newImageIdIndex:s,imageId:u,direction:e};s!==a&&$e(this.element,d.STACK_VIEWPORT_SCROLL,c)}},{key:"setImageIdIndex",value:(t=H(Y().mark((function e(t){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._throwIfDestroyed(),this.currentImageIdIndex!==t){e.next=3;break}return e.abrupt("return",this.getCurrentImageId());case 3:return r=this._setImageIdIndex(t),e.abrupt("return",r);case 5: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,u=Cn.vec3.subtract(Cn.vec3.create(),o,r),c=Cn.vec3.subtract(Cn.vec3.create(),s,r);this.setCameraNoEvent({parallelScale:n,position:u,focalPoint:c});var l=this.getCamera();this.triggerCameraEvent(l,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||$e(this.element,d.CAMERA_MODIFIED,r)}},{key:"triggerCalibrationEvent",value:function(){var e=this.getImageData().imageData,t=va({element:this.element,viewportId:this.id,renderingEngineId:this.renderingEngineId,imageId:this.getCurrentImageId(),imageData:e,worldToIndex:e.getWorldToIndex()},this._calibrationEvent);this.suppressEvents||$e(this.element,d.IMAGE_SPACING_CALIBRATED,t),this._publishCalibratedEvent=!1}},{key:"_getVOIRangeForCurrentImage",value:function(){var e=this.csImage,t=e.windowCenter,r=e.windowWidth;return this._getVOIRangeFromWindowLevel(r,t)}},{key:"_getValidVOILUTFunction",value:function(e){return-1===Object.values(_).indexOf(e)&&(e=_.LINEAR),e}},{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:"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=Qi(e.name,e);this._cpuFallbackEnabledElement.viewport.colormap=t,this._cpuFallbackEnabledElement.renderingTools={},this.fillWithBackgroundColor(),this.cpuRenderingInvalidated=!0,this.render()}},{key:"setColormapGPU",value:function(e){var t=this.getDefaultActor().actor.getProperty(),r=t.getRGBTransferFunction();if(r)r.applyColorMap(e),t.setRGBTransferFunction(0,r);else{var n=Tn().newInstance(),i=this._getVOIRangeForCurrentImage();n.applyColorMap(e),n.setMappingRange(i.lower,i.upper),t.setRGBTransferFunction(0,n)}this.render()}},{key:"unsetColormapGPU",value:function(){throw new Error("unsetColormapGPU not implemented.")}},{key:"_getImagePlaneModule",value:function(e){var t=Bt("imagePlaneModule",e);Bt("calibratedPixelSpacing",e),this.calibration||(this.calibration=t.calibration);var r,n,i=va({},t);return i.columnPixelSpacing||(i.columnPixelSpacing=1,this.hasPixelSpacing=(null===(r=this.calibration)||void 0===r?void 0:r.scale)>0),i.rowPixelSpacing||(i.rowPixelSpacing=1,this.hasPixelSpacing=(null===(n=this.calibration)||void 0===n?void 0:n.scale)>0),i.columnCosines||(i.columnCosines=[0,1,0]),i.rowCosines||(i.rowCosines=[1,0,0]),i.imagePositionPatient||(i.imagePositionPatient=[0,0,0]),i.imageOrientationPatient||(i.imageOrientationPatient=new Float32Array([1,0,0,0,1,0])),i}}],[{key:"useCustomRenderingPipeline",get:function(){return Ue()}}]),u}(vi),ga=fa;var pa,ha=function(e){mn(i,e);var t,r,n=(t=i,r=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,n=gn(t);if(r){var i=gn(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return wn(this,e)});function i(e){var t;ae(this,i),ee(fn(t=n.call(this,e)),"getRotation",(function(){return 0})),ee(fn(t),"getCurrentImageIdIndex",(function(){})),ee(fn(t),"getCurrentImageId",(function(){return null}));var r=t.options,a=r.parallelProjection,o=r.orientation,s=t.getVtkActiveCamera();return null!=a&&s.setParallelProjection(a),o&&o!==E.ACQUISITION&&t.applyViewOrientation(o),t}return se(i,[{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];pn(gn(i.prototype),"resetCamera",this).call(this,e,t,r),this.resetVolumeViewportClippingRange()}},{key:"setSlabThickness",value:function(e,t){return null}},{key:"setBlendMode",value:function(e,t,r){return null}},{key:"resetProperties",value:function(e){return null}}]),i}(Ii),ma=ha,wa=(ee(pa={},p.ORTHOGRAPHIC,bi),ee(pa,p.PERSPECTIVE,bi),ee(pa,p.STACK,ga),ee(pa,p.VOLUME_3D,ma),pa);function ya(e){return wa[e].useCustomRenderingPipeline}function Ia(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 Ca(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ia(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ia(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var ba=function(){function e(t){var r=this;if(ae(this,e),ee(this,"id",void 0),ee(this,"hasBeenDestroyed",void 0),ee(this,"offscreenMultiRenderWindow",void 0),ee(this,"offScreenCanvasContainer",void 0),ee(this,"_viewports",void 0),ee(this,"_needsRender",new Set),ee(this,"_animationFrameSet",!1),ee(this,"_animationFrameHandle",null),ee(this,"useCPURendering",void 0),ee(this,"renderFrameOfReference",(function(e){var t=r._getViewportsAsArray().map((function(t){if(t.getFrameOfReferenceUID()===e)return t.id}));return r.renderViewports(t)})),ee(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),i.setRendered(),r._needsRender.delete(i.id),0===r._needsRender.size)break}}r._animationFrameSet=!1,r._animationFrameHandle=null,t.forEach((function(e){null!=e&&e.element&&$e(e.element,d.IMAGE_RENDERED,e)}))})),this.id=t||tt(),this.useCPURendering=Ue(),me.set(this),!Ge())throw new Error("@cornerstonejs/core is not initialized, run init() first");this.useCPURendering||(this.offscreenMultiRenderWindow=vn.newInstance(),this.offScreenCanvasContainer=document.createElement("div"),this.offscreenMultiRenderWindow.setContainer(this.offScreenCanvasContainer)),this._viewports=new Map,this.hasBeenDestroyed=!1}return se(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)&&(console.log("Viewport already exists, disabling it first"),this.disableElement(n),console.log("Viewport ".concat(n," disabled")));var i=ya(t.type);this.useCPURendering||i?this.addCustomViewport(t):this.enableVTKjsDrivenViewport(t);var a=cr(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),ya(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||ya(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){ya(e.type)?i.push(e):n.push(e)})),n.length&&this._resizeVTKViewports(n,t,e),i.length&&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 ga}))}},{key:"getVolumeViewports",value:function(){return this._throwIfDestroyed(),this.getViewports().filter((function(e){return e instanceof Ii}))}},{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(),me.delete(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,displayArea:null},t===p.ORTHOGRAPHIC&&(r=Ca(Ca({},r),{},{orientation:E.AXIAL}))),Ca(Ca({},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=cr(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===ya(e.type)})),r=t.map((function(e){return e.canvas})),n=cr(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,u=o.offScreenCanvasHeight,c=this._resize(t,s,u),l=Ca(Ca({},e),{},{canvas:n});this.addVtkjsDrivenViewport(l,{offScreenCanvasWidth:s,offScreenCanvasHeight:u,xOffset:c})}},{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,u=t.offScreenCanvasHeight,c=t.xOffset,l=this._getViewportCoordsOnOffScreenCanvas(e,s,u,c),v=l.sxStartDisplayCoords,f=l.syStartDisplayCoords,g=l.sxEndDisplayCoords,h=l.syEndDisplayCoords,m=l.sx,w=l.sy,y=l.sWidth,I=l.sHeight;this.offscreenMultiRenderWindow.addRenderer({viewport:[v,f,g,h],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:m,sy:w,sWidth:y,sHeight:I,defaultOptions:o||{}};if(a===p.STACK)C=new ga(b);else if(a===p.ORTHOGRAPHIC||a===p.PERSPECTIVE)C=new bi(b);else{if(a!==p.VOLUME_3D)throw new Error("Viewport Type ".concat(a," is not supported"));C=new ma(b)}this._viewports.set(i,C);var E={element:r,viewportId:i,renderingEngineId:this.id};C.suppressEvents||$e(Ze,d.ELEMENT_ENABLED,E)}},{key:"addCustomViewport",value:function(e){var t=e.element,r=e.viewportId,n=e.type,i=e.defaultOptions;t.tabIndex=-1;var a=cr(t),o=a.clientWidth,s=a.clientHeight;a.width===o&&a.height===s||(a.width=o,a.height=s);var u={id:r,renderingEngineId:this.id,element:t,type:n,canvas:a,sx:0,sy:0,sWidth:o,sHeight:s,defaultOptions:i||{}};if(n!==p.STACK)throw new Error("Support for fully custom viewports not yet implemented");var c=new ga(u);this._viewports.set(r,c);var l={element:t,viewportId:r,renderingEngineId:this.id};$e(Ze,d.ELEMENT_ENABLED,l)}},{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 cr(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],u=t[o],c=Ca(Ca({},s),{},{canvas:u});this.addVtkjsDrivenViewport(c,{offScreenCanvasWidth:n,offScreenCanvasHeight:i,xOffset:a}),a+=u.width}}}},{key:"_resizeOffScreenCanvas",value:function(e){var t=this.offScreenCanvasContainer,r=this.offscreenMultiRenderWindow,n=window.devicePixelRatio||1,i=Math.max.apply(Math,vr(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),u=s.sxStartDisplayCoords,c=s.syStartDisplayCoords,l=s.sxEndDisplayCoords,d=s.syEndDisplayCoords,v=s.sx,f=s.sy,g=s.sWidth,p=s.sHeight;n+=o.canvas.clientWidth*i,o.sx=v,o.sy=f,o.sWidth=g,o.sHeight=p,this.offscreenMultiRenderWindow.getRenderer(o.id).setViewport([u,c,l,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,u=o*s,c=a*s,l=n/t,d=0+(r-u)/r;return{sxStartDisplayCoords:l,syStartDisplayCoords:d,sxEndDisplayCoords:l+c/t,syEndDisplayCoords:d+u/r,sx:n,sy:0,sWidth:c,sHeight:u}}},{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(!(e.sWidth<2||e.sHeight<2)){if(!0===ya(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}console.log("Viewport is too small",e.sWidth,e.sHeight)}},{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,u=e.id,c=e.renderingEngineId,l=e.suppressEvents,d=n.width,v=n.height;return n.getContext("2d").drawImage(t,i,a,o,s,0,0,d,v),{element:r,suppressEvents:l,viewportId:u,renderingEngineId:c,viewportStatus:e.viewportStatus}}},{key:"_resetViewport",value:function(e){var t=this.id,r=e.element,n=e.canvas,i={element:r,viewportId:e.id,renderingEngineId:t};$e(Ze,d.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,u=o.height;o.getContext("2d").drawImage(i,t,r,n,a,0,0,s,u)})),a}}]),e}(),Ea=ba,Ra=new Rt("imageRetrievalPool");Ra.setMaxSimultaneousRequests(f.Interaction,200),Ra.setMaxSimultaneousRequests(f.Thumbnail,200),Ra.setMaxSimultaneousRequests(f.Prefetch,200),Ra.grabDelay=0;var ka=Ra;function Pa(e){if(e){var t=e.dataset;return Oa(t.viewportUid,t.renderingEngineUid)}}function Oa(e,t){if(t&&e){var r=Ie(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 Aa(){var e=[];return ye().forEach((function(t){t.getViewports().forEach((function(t){var r=t.element;e.push(Pa(r))}))})),e}var Ta=Symbol("DefaultSettings"),Sa=Symbol("RuntimeSettings"),_a=Symbol("ObjectSettingsMap"),xa=Symbol("Dictionary"),Da=function(){function e(t){ae(this,e);var r=Object.create(t instanceof e&&xa in t?t[xa]:null);Object.seal(Object.defineProperty(this,xa,{value:r}))}return se(e,[{key:"set",value:function(e,t){return Va(this[xa],e,t,null)}},{key:"get",value:function(e){return function(e,t){return e[t]}(this[xa],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[xa],e+"")}},{key:"forEach",value:function(e){Ma(this[xa],e)}},{key:"extend",value:function(){return new e(this)}},{key:"import",value:function(e){var t=this;La(e)&&Object.keys(e).forEach((function(r){Va(t[xa],r,e[r],null)}))}},{key:"dump",value:function(){var e={};return Ma(this[xa],(function(t,r){void 0!==r&&Ua(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[Ta];if(r instanceof e||(r=new e,e[Ta]=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[Sa];return t instanceof e||(t=new e(e.getDefaultSettings()),e[Sa]=t),t}},{key:"getObjectSettings",value:function(t,r){var n=null;if(t instanceof e)n=t;else if("object"===G(t)&&null!==t){var i=e[_a];i instanceof WeakMap||(i=new WeakMap,e[_a]=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 Ma(e,t){for(var r in e)t(r,e[r])}function Va(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)&&(La(r)?function(e,t,r,n){var i;if(n.has(r))return Va(e,t,null,n);for(var a in n.add(r),i=0,r)Object.prototype.hasOwnProperty.call(r,a)&&(Va(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 La(e){if("object"===G(e)&&null!==e){var t=Object.getPrototypeOf(e);if(t===Object.prototype||null===t)return!0}return!1}function Ua(e,t,r){var n=t.indexOf(".");if(n>=0){var i=t.slice(0,n),a=e[i];if("object"!==G(a)||null===a){var o=a;a={},void 0!==o&&(a[""]=o),e[i]=a}Ua(a,t.slice(n+1,t.length),r)}else e[t]=r}Da.getDefaultSettings().set("useCursors",!0),X(6914);var ja=function(){function e(t){ae(this,e),ee(this,"id",void 0),ee(this,"sizeInBytes",void 0),ee(this,"points",void 0),ee(this,"color",void 0),ee(this,"type",void 0),ee(this,"segmentIndex",void 0);var r=t.data,n=r.points,i=r.type;this.id=t.id,this.points=n,this.type=i,this.color=t.color,this.segmentIndex=t.segmentIndex,this.sizeInBytes=this._getSizeInBytes()}return se(e,[{key:"_getSizeInBytes",value:function(){return 0+3*this.points.length}},{key:"getPoints",value:function(){return this.points}},{key:"getFlatPointsArray",value:function(){return this.points.map((function(e){return vr(e)})).flat()}},{key:"getColor",value:function(){return this.color}},{key:"getType",value:function(){return this.type}}]),e}(),Na=function(){function e(t){var r;ae(this,e),ee(this,"id",void 0),ee(this,"sizeInBytes",void 0),ee(this,"frameOfReferenceUID",void 0),ee(this,"color",[200,0,0]),ee(this,"segmentIndex",void 0),ee(this,"polyData",void 0),ee(this,"centroid",void 0),ee(this,"contours",void 0),this.id=t.id,this.contours=[],this.color=null!==(r=t.color)&&void 0!==r?r:this.color,this.frameOfReferenceUID=t.frameOfReferenceUID,this.segmentIndex=t.segmentIndex,this._createEachContour(t.data),this.sizeInBytes=this._getSizeInBytes()}return se(e,[{key:"_createEachContour",value:function(e){var t=this;e.forEach((function(e){var r=e.points,n=e.type,i=e.color,a=new ja({id:"".concat(t.id,"-segment-").concat(t.segmentIndex),data:{points:r,type:n,segmentIndex:t.segmentIndex,color:null!=i?i:t.color},segmentIndex:t.segmentIndex,color:null!=i?i:t.color});t.contours.push(a)})),this._updateContourSetCentroid()}},{key:"_updateContourSetCentroid",value:function(){var e=this,t=this.getTotalNumberOfPoints(),r=this.getFlatPointsArray(),n=r.reduce((function(e,t){return[e[0]+t[0],e[1]+t[1],e[2]+t[2]]}),[0,0,0]),i=[n[0]/t,n[1]/t,n[2]/t],a=r.reduce((function(t,r){return e._getDistance(i,r)<e._getDistance(i,t)?r:t}),r[0]);this.centroid=a}},{key:"_getSizeInBytes",value:function(){return this.contours.reduce((function(e,t){return e+t.sizeInBytes}),0)}},{key:"getCentroid",value:function(){return this.centroid}},{key:"getSegmentIndex",value:function(){return this.segmentIndex}},{key:"getColor",value:function(){return this.color}},{key:"getContours",value:function(){return this.contours}},{key:"getSizeInBytes",value:function(){return this.sizeInBytes}},{key:"getFlatPointsArray",value:function(){return this.contours.map((function(e){return e.getPoints()})).flat()}},{key:"getNumberOfContours",value:function(){return this.contours.length}},{key:"getTotalNumberOfPoints",value:function(){return this.contours.reduce((function(e,t){return e+t.getPoints().length}),0)}},{key:"getNumberOfPointsArray",value:function(){var e=this;return this.contours.reduce((function(t,r,n){return t[n]=e.getNumberOfPointsInAContour(n),t}),[])}},{key:"getPointsInContour",value:function(e){return this.contours[e].getPoints()}},{key:"getNumberOfPointsInAContour",value:function(e){return this.getPointsInContour(e).length}},{key:"_getDistance",value:function(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))}}]),e}();function Fa(e,t){return Ga.apply(this,arguments)}function Ga(){return(Ga=H(Y().mark((function e(t,r){var n,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=bn.getGeometry(t))){e.next=3;break}return e.abrupt("return",n);case 3:if(r.type!==O.CONTOUR){e.next=7;break}n=Wa(t,r.geometryData),e.next=8;break;case 7:throw new Error("Unknown geometry type, Only CONTOUR is supported");case 8:return i={promise:Promise.resolve(n)},e.next=11,bn.putGeometryLoadObject(t,i);case 11:return e.abrupt("return",n);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wa(e,t){if(!t||0===t.data.length)throw new Error("Invalid contour set data, see publicContourSetData type for more info");if(!t.id)throw new Error("Invalid contour set data, each contour set must have an id");if(!t.data||!Array.isArray(t.data))throw new Error("Invalid contour set data, each contour set must have an array of contours");t.data.forEach((function(e){if(!e.points||!Array.isArray(e.points))throw new Error("Invalid contour set data, each contour must have an array of points");e.points.forEach((function(e){if(!e||!Array.isArray(e)||3!==e.length)throw new Error("Invalid contour set data, each point must be an array of length 3")}))}));var r=new Na({id:t.id,data:t.data,color:t.color,frameOfReferenceUID:t.frameOfReferenceUID,segmentIndex:t.segmentIndex});return{id:e,type:O.CONTOUR,data:r,sizeInBytes:r.getSizeInBytes()}}function Ba(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)}}var qa=Symbol("LastRuntimeId"),za={},Ha=4294967295,Ka="-";function Ya(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"===G(e)?e:za,qa,("number"==typeof r&&r>0?r:Ha)>>>0).join("string"==typeof t?t:Ka)}var Xa={},Za={add:function(e,t){var r=ue(e);Xa[r]=t},get:function(e,t){if("calibratedPixelSpacing"===e){var r=ue(t);return Xa[r]}}};function $a(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 Qa=function(e){if(!Fe())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)},Ja=function(e){if(!Fe())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)},eo=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(2*e);return new Uint16Array(t)},to=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(2*e);return new Int16Array(t)};function ro(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 no(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 io=function(e,t){var r;r=t?[we(t)]:ye();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 no(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)?no(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},ao=function(e,t){var r;r=t?[we(t)]:ye();var n=[];return r.forEach((function(t){var r=t.getVolumeViewports().filter((function(t){return t.hasVolumeId(e)}));n.push.apply(n,vr(r))})),n},oo=function(e){var t,r;return(null===(t=e.preScale)||void 0===t?void 0:t.scaled)&&(null===(r=e.preScale.scalingParameters)||void 0===r?void 0:r.suvbw)};function so(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"_thumbnails";if(!(e&&e instanceof HTMLCanvasElement))throw new Error("canvas element is required");var i=t.imageId,a="renderGPUViewport-".concat(i),o=t.imageId,s=document.createElement("div");s.style.width="".concat(e.width,"px"),s.style.height="".concat(e.height,"px"),s.style.visibility="hidden",s.style.position="absolute";var u=window.devicePixelRatio||1,c=e.width,l=e.height;e.width=c*u,e.height=l*u,e.style.width="".concat(c,"px"),e.style.height="".concat(l,"px"),document.body.appendChild(s);var v=a.split(":").join("-");s.setAttribute("viewport-id-for-remove",v);var f=we(n)||new Ea(n),g=f.getViewport(a);if(!g){var h={viewportId:a,type:p.STACK,element:s,defaultOptions:{suppressEvents:!0}};f.enableElement(h),g=f.getViewport(a)}return new Promise((function(n){var i=!1;s.addEventListener(d.IMAGE_RENDERED,(function t(r){if(!i){var u=cr(s);e.getContext("2d").drawImage(u,0,0,u.width,u.height,0,0,e.width,e.height),i=!0,s.removeEventListener(d.IMAGE_RENDERED,t),setTimeout((function(){f.disableElement(a),document.querySelectorAll('[viewport-id-for-remove="'.concat(v,'"]')).forEach((function(e){e.remove()}))}),0),n(o)}})),g.renderImageObject(t),g.resetCamera(),"PT"!==r||oo(t)||g.setProperties({voiRange:{lower:t.minPixelValue,upper:t.maxPixelValue}}),g.render()}))}function uo(e,t,r,n){var i={canvas:e,viewport:ca(e,t,r),image:t,renderingTools:{}};return i.transform=Mi(i),new Promise((function(e,r){ta(i,!0),e(t.imageId)}))}function co(e){var t=e.canvas,r=e.imageId,n=e.requestType,i=void 0===n?f.Thumbnail:n,a=e.priority,o=void 0===a?-5:a,s=e.renderingEngineId,u=void 0===s?"_thumbnails":s,c=e.useCPURendering,l=void 0!==c&&c,d=l?uo:so;return new Promise((function(e,n){function a(r,n){var i,a=(Bt("generalSeriesModule",n)||{}).modality;r.isPreScaled=r.isPreScaled||(null===(i=r.preScale)||void 0===i?void 0:i.scaled),d(t,r,a,u).then((function(){e(n)}))}function s(e,t){console.error(e,t),n(e)}var c={targetBuffer:{type:We().rendering.useNorm16Texture?void 0:"Float32Array"},preScale:{enabled:!0},useRGBA:!!l,requestType:i};Ot.addRequest(function(e,t,r){var n=this;return _t(e,r).then((function(t){a.call(n,t,e)}),(function(t){s.call(n,t,e)}))}.bind(null,r,null,c),i,{imageId:r},o)}))}var lo=function(e,t){var r=Bt("imagePlaneModule",e);if(!r)throw new Error("No imagePlaneModule found for imageId: ".concat(e));var n=r.columnCosines,i=r.rowCosines,a=r.imagePositionPatient,o=r.columnPixelSpacing,s=r.rowPixelSpacing;o||(o=1),s||(s=1);var u=Cn.vec3.create();Cn.vec3.scaleAndAdd(u,a,n,-o/2),Cn.vec3.scaleAndAdd(u,u,i,-s/2);var c=Cn.vec3.create();return Cn.vec3.sub(c,t,u),[Cn.vec3.dot(c,i)/s,Cn.vec3.dot(c,n)/o]};function vo(e,t){var r=Bt("imagePlaneModule",e);if(!r)throw new Error("No imagePlaneModule found for imageId: ".concat(e));var n=r.columnCosines,i=r.rowCosines,a=r.imagePositionPatient,o=r.columnPixelSpacing,s=r.rowPixelSpacing;o||(o=1),s||(s=1);var u=Cn.vec3.create();return Cn.vec3.scaleAndAdd(u,a,i,s*(t[0]-.5)),Cn.vec3.scaleAndAdd(u,u,n,o*(t[1]-.5)),Array.from(u)}var fo=function(e,t){var r=e.getCamera(),n=r.focalPoint,i=r.viewPlaneNormal,a=Qn(e,r,t),o=a.spacingInNormalDirection,s=a.actorUID;if(!s)throw new Error("Could not find image volume with id ".concat(t," in the viewport"));var u=e.getActor(s);return u?{sliceRange:Xn(u.actor,i,n),spacingInNormalDirection:o,camera:r}:(console.warn("No actor found for with actorUID of",s),null)},go=function(e,t){var r=fo(e,t),n=r.sliceRange,i=r.spacingInNormalDirection,a=r.camera,o=n.min,s=n.max,u=n.current,c=Math.round((s-o)/i),l=(u-o)/(s-o)*c;return{numScrollSteps:c,currentStepIndex:Math.round(l),sliceRangeInfo:{sliceRange:n,spacingInNormalDirection:i,camera:a}}};function po(e,t,r,n,i,a){var o=r.min,s=r.max,u=r.current,c=Cn.vec3.create();Cn.vec3.sub(c,t,e);var l=Math.round((s-o)/i),d=(u-o)/(s-o)*l,v=Math.round(d),f=[e[0]-n[0]*d*i,e[1]-n[1]*d*i,e[2]-n[2]*d*i];(v+=a)>l?v=l:v<0&&(v=0);var g=v*i;return{newFocalPoint:f=[f[0]+n[0]*g,f[1]+n[1]*g,f[2]+n[2]*g],newPosition:[f[0]+c[0],f[1]+c[1],f[2]+c[2]]}}function ho(e,t){var r;r=t?[Ie(t)]:ye();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,vr(r).concat(vr(i)))})),n}function mo(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=Bt("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=Cn.vec3.set.apply(Cn.vec3,[Cn.vec3.create()].concat(vr(r))),o=Cn.vec3.set.apply(Cn.vec3,[Cn.vec3.create()].concat(vr(n)));return{rowCosines:r,columnCosines:n,imagePositionPatient:i,planeNormal:Cn.vec3.cross(Cn.vec3.create(),a,o)}}(t);return r?oi(ii(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),u=0;u<s.length;u++){var c=a(s[u]);if(null!==c){if(!(c<=o.distance))break;o.distance=c,o.index=u+i+1}}for(var l=n.slice(0,i),d=l.length-1;d>=0;d--){var v=a(l[d]);if(null!==v&&v!==o.distance){if(!(v<o.distance))break;o.distance=v,o.index=d}}return o.distance===1/0?null:o}(e,t);return r?r.index:null}var wo={},yo={add:function(e,t){var r=On(e,2),n=r[0],i=r[1],a="".concat(n,"_").concat(i);wo[a]||(wo[a]={}),wo[a]=t},get:function(e,t){if("spatialRegistrationModule"===e){var r=On(t,2),n=r[0],i=r[1],a="".concat(n,"_").concat(i);if(wo[a])return wo[a];var o="".concat(i,"_").concat(n);return wo[o]?Cn.mat4.invert(Cn.mat4.create(),wo[o]):void 0}}};Ft(yo.get.bind(yo));var Io=yo,Co=function(e,t){var r=e.getCurrentImageId(),n=t.getCurrentImageId(),i=Bt("imagePlaneModule",r),a=Bt("imagePlaneModule",n);if(i&&a){var o=a.imageOrientationPatient;if(i.imageOrientationPatient.every((function(e,t){return Math.abs(e-o[t])<.05}))){var s=i.imagePositionPatient,u=a.imagePositionPatient,c=Cn.vec3.subtract(Cn.vec3.create(),s,u),l=Cn.mat4.fromTranslation(Cn.mat4.create(),c);Io.add([e.id,t.id],l)}else console.log("Viewport spatial registration only supported for same orientation (hence translation only) for now",null==i?void 0:i.imageOrientationPatient,null==a?void 0:a.imageOrientationPatient)}else console.log("Viewport spatial registration requires image plane module")};function bo(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],u=e.canvasToWorld([0,0]),c=e.canvasToWorld(a),l=e.canvasToWorld(o),d=e.canvasToWorld(s),v=r.worldToIndex(u),f=r.worldToIndex(c),g=r.worldToIndex(l),p=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,u=e.bottomRightWorld,c=e.bottomLeftWorld,l=Eo(e.topLeftImage,t)?o:r.indexToWorld([0,0,0]),d=Eo(n,t)?s:r.indexToWorld([t[0]-1,0,0]),v=Eo(i,t)?u:r.indexToWorld([t[0]-1,t[1]-1,0]);return[l,d,Eo(a,t)?c:r.indexToWorld([0,t[1]-1,0]),v]}({dimensions:n,imageData:r,topLeftImage:v,topRightImage:f,bottomRightImage:g,bottomLeftImage:p,topLeftWorld:u,topRightWorld:c,bottomRightWorld:l,bottomLeftWorld:d})}function Eo(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 Ro(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 ko(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ro(Object(r),!0).forEach((function(t){ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ro(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Po(e){var t=Bt("modalityLutModule",e)||{},r=(Bt("generalSeriesModule",e)||{}).modality,n={rescaleSlope:t.rescaleSlope,rescaleIntercept:t.rescaleIntercept,modality:r},i=Bt("scalingModule",e)||{};return ko(ko({},n),"PT"===r&&{suvbw:i.suvbw,suvbsa:i.suvbsa,suvlbm:i.suvlbm})}function Oo(e,t){var r;if(t&&t instanceof Uint8Array)r="Uint8Array";else if(t instanceof Float32Array)r="Float32Array";else if(t instanceof Int16Array)r="Int16Array";else{if(!(t instanceof Uint16Array))throw new Error("Unsupported array type");r="Uint16Array"}return r}var Ao=function(e){var t=Pa(e);if(t){var r=t.viewport;if(!(r instanceof ga))throw new Error("An image can only be fetched for a stack viewport and not for a viewport of type: ".concat(r.type));return r.getCornerstoneImage()}};function To(){return To=H(Y().mark((function e(t,r,n){var i,a,o,s=arguments;return Y().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 Ii))throw new Error("setVolumesForViewports only supports VolumeViewport and VolumeViewport3D")})),o=n.map(function(){var e=H(Y().mark((function e(n){var o;return Y().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)}))),To.apply(this,arguments)}var So=function(e,t,r){return To.apply(this,arguments)};function _o(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 xo(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)?xo(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 xo(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 Do(){return Do=H(Y().mark((function e(t,r,n){var i,a,o,s,u,c,l,d=arguments;return Y().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=_o(n),e.prev=3,o.s();case 5:if((s=o.n()).done){e.next=15;break}if(u=s.value,c=t.getViewport(u)){e.next=10;break}throw new Error("Viewport with Id ".concat(u," does not exist"));case 10:if(c instanceof Ii){e.next=13;break}return console.warn("Viewport with Id ".concat(u," is not a BaseVolumeViewport. 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 l=n.map(function(){var e=H(Y().mark((function e(n){var o;return Y().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(l);case 26:return e.abrupt("return");case 27:case"end":return e.stop()}}),e,null,[[3,17,20,23]])}))),Do.apply(this,arguments)}var Mo=function(e,t,r){return Do.apply(this,arguments)}}(),Z}()}));
3
3
  //# sourceMappingURL=index.js.map