@cornerstonejs/core 2.0.0-beta.6 → 2.0.0-beta.8

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 (1422) hide show
  1. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +377 -37
  2. package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  3. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js +9 -0
  4. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js.map +1 -0
  5. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js +30 -0
  6. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js.map +1 -0
  7. package/dist/esm/RenderingEngine/CanvasActor/index.js +157 -0
  8. package/dist/esm/RenderingEngine/CanvasActor/index.js.map +1 -0
  9. package/dist/esm/RenderingEngine/RenderingEngine.js +47 -33
  10. package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
  11. package/dist/esm/RenderingEngine/StackViewport.js +396 -107
  12. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  13. package/dist/esm/RenderingEngine/VideoViewport.js +687 -0
  14. package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -0
  15. package/dist/esm/RenderingEngine/Viewport.js +321 -77
  16. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  17. package/dist/esm/RenderingEngine/VolumeViewport.js +142 -33
  18. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  19. package/dist/esm/RenderingEngine/VolumeViewport3D.js +3 -0
  20. package/dist/esm/RenderingEngine/VolumeViewport3D.js.map +1 -1
  21. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +19 -0
  22. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -0
  23. package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.js.map +1 -1
  24. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.js.map +1 -1
  25. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.js.map +1 -1
  26. package/dist/esm/RenderingEngine/helpers/cpuFallback/drawImageSync.js.map +1 -1
  27. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.js.map +1 -1
  28. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.js.map +1 -1
  29. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/correctShift.js.map +1 -1
  30. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.js.map +1 -1
  31. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js.map +1 -1
  32. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
  33. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.js.map +1 -1
  34. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.js.map +1 -1
  35. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.js.map +1 -1
  36. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.js.map +1 -1
  37. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.js.map +1 -1
  38. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.js.map +1 -1
  39. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/now.js.map +1 -1
  40. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js.map +1 -1
  41. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js.map +1 -1
  42. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +1 -3
  43. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js.map +1 -1
  44. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.js.map +1 -1
  45. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resize.js.map +1 -1
  46. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.js.map +1 -1
  47. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.js.map +1 -1
  48. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.js.map +1 -1
  49. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.js.map +1 -1
  50. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.js.map +1 -1
  51. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.js.map +1 -1
  52. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.js.map +1 -1
  53. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.js.map +1 -1
  54. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.js.map +1 -1
  55. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/validator.js.map +1 -1
  56. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +2 -4
  57. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  58. package/dist/esm/RenderingEngine/helpers/createVolumeMapper.js.map +1 -1
  59. package/dist/esm/RenderingEngine/helpers/getOrCreateCanvas.js +14 -1
  60. package/dist/esm/RenderingEngine/helpers/getOrCreateCanvas.js.map +1 -1
  61. package/dist/esm/RenderingEngine/helpers/index.js +2 -1
  62. package/dist/esm/RenderingEngine/helpers/index.js.map +1 -1
  63. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +41 -31
  64. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -1
  65. package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.js.map +1 -1
  66. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
  67. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +1 -1
  68. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +1 -1
  69. package/dist/esm/RenderingEngine/renderingEngineCache.js.map +1 -1
  70. package/dist/esm/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.js.map +1 -1
  71. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  72. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.js +2 -2
  73. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.js.map +1 -1
  74. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js.map +1 -1
  75. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +21 -16
  76. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js.map +1 -1
  77. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -2
  78. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  79. package/dist/esm/Settings.js +2 -2
  80. package/dist/esm/Settings.js.map +1 -1
  81. package/dist/esm/cache/cache.js +65 -7
  82. package/dist/esm/cache/cache.js.map +1 -1
  83. package/dist/esm/cache/classes/ContourSet.js.map +1 -1
  84. package/dist/esm/cache/classes/ImageVolume.js +302 -15
  85. package/dist/esm/cache/classes/ImageVolume.js.map +1 -1
  86. package/dist/esm/cache/classes/Surface.js +36 -0
  87. package/dist/esm/cache/classes/Surface.js.map +1 -0
  88. package/dist/esm/cache/index.js +2 -1
  89. package/dist/esm/cache/index.js.map +1 -1
  90. package/dist/esm/constants/backgroundColors.js +5 -0
  91. package/dist/esm/constants/backgroundColors.js.map +1 -0
  92. package/dist/esm/constants/index.js +2 -1
  93. package/dist/esm/constants/index.js.map +1 -1
  94. package/dist/esm/enums/BlendModes.js +4 -4
  95. package/dist/esm/enums/BlendModes.js.map +1 -1
  96. package/dist/esm/enums/Events.js +7 -1
  97. package/dist/esm/enums/Events.js.map +1 -1
  98. package/dist/esm/enums/GeometryType.js +1 -0
  99. package/dist/esm/enums/GeometryType.js.map +1 -1
  100. package/dist/esm/enums/MetadataModules.js +25 -0
  101. package/dist/esm/enums/MetadataModules.js.map +1 -0
  102. package/dist/esm/enums/RequestType.js +1 -0
  103. package/dist/esm/enums/RequestType.js.map +1 -1
  104. package/dist/esm/enums/VideoEnums.js +7 -0
  105. package/dist/esm/enums/VideoEnums.js.map +1 -0
  106. package/dist/esm/enums/ViewportType.js +1 -0
  107. package/dist/esm/enums/ViewportType.js.map +1 -1
  108. package/dist/esm/enums/index.js +3 -1
  109. package/dist/esm/enums/index.js.map +1 -1
  110. package/dist/esm/eventTarget.js +44 -1
  111. package/dist/esm/eventTarget.js.map +1 -1
  112. package/dist/esm/getEnabledElement.js +10 -0
  113. package/dist/esm/getEnabledElement.js.map +1 -1
  114. package/dist/esm/index.js +6 -5
  115. package/dist/esm/index.js.map +1 -1
  116. package/dist/esm/init.js +54 -2
  117. package/dist/esm/init.js.map +1 -1
  118. package/dist/esm/loaders/ProgressiveRetrieveImages.js.map +1 -1
  119. package/dist/esm/loaders/fillNearbyFrames.js.map +1 -1
  120. package/dist/esm/loaders/geometryLoader.js +6 -37
  121. package/dist/esm/loaders/geometryLoader.js.map +1 -1
  122. package/dist/esm/loaders/imageLoader.js +125 -3
  123. package/dist/esm/loaders/imageLoader.js.map +1 -1
  124. package/dist/esm/loaders/utils/contourSet/createContourSet.js +21 -0
  125. package/dist/esm/loaders/utils/contourSet/createContourSet.js.map +1 -0
  126. package/dist/esm/loaders/utils/contourSet/validateContourSet.js +22 -0
  127. package/dist/esm/loaders/utils/contourSet/validateContourSet.js.map +1 -0
  128. package/dist/esm/loaders/utils/surface/createSurface.js +23 -0
  129. package/dist/esm/loaders/utils/surface/createSurface.js.map +1 -0
  130. package/dist/esm/loaders/utils/surface/validateSurface.js +7 -0
  131. package/dist/esm/loaders/utils/surface/validateSurface.js.map +1 -0
  132. package/dist/esm/loaders/volumeLoader.js +116 -53
  133. package/dist/esm/loaders/volumeLoader.js.map +1 -1
  134. package/dist/esm/metaData.js +1 -2
  135. package/dist/esm/metaData.js.map +1 -1
  136. package/dist/esm/requestPool/requestPoolManager.js +28 -13
  137. package/dist/esm/requestPool/requestPoolManager.js.map +1 -1
  138. package/dist/esm/types/AABB2.js +2 -0
  139. package/dist/esm/types/AABB2.js.map +1 -0
  140. package/dist/esm/types/AABB3.js +2 -0
  141. package/dist/esm/types/AABB3.js.map +1 -0
  142. package/dist/esm/types/BoundsIJK.js +2 -0
  143. package/dist/esm/types/BoundsIJK.js.map +1 -0
  144. package/dist/esm/types/BoundsLPS.js +2 -0
  145. package/dist/esm/types/BoundsLPS.js.map +1 -0
  146. package/dist/esm/types/Color.js +2 -0
  147. package/dist/esm/types/Color.js.map +1 -0
  148. package/dist/esm/types/IStackInput.js +2 -0
  149. package/dist/esm/types/IStackInput.js.map +1 -0
  150. package/dist/esm/types/ISurface.js +2 -0
  151. package/dist/esm/types/ISurface.js.map +1 -0
  152. package/dist/esm/types/IVideoViewport.js +2 -0
  153. package/dist/esm/types/IVideoViewport.js.map +1 -0
  154. package/dist/esm/types/ImageVolumeProps.js +2 -0
  155. package/dist/esm/types/ImageVolumeProps.js.map +1 -0
  156. package/dist/esm/types/SurfaceData.js +2 -0
  157. package/dist/esm/types/SurfaceData.js.map +1 -0
  158. package/dist/esm/types/VideoViewportProperties.js +2 -0
  159. package/dist/esm/types/VideoViewportProperties.js.map +1 -0
  160. package/dist/esm/types/VideoViewportTypes.js +2 -0
  161. package/dist/esm/types/VideoViewportTypes.js.map +1 -0
  162. package/dist/esm/types/VolumeProps.js +2 -0
  163. package/dist/esm/types/VolumeProps.js.map +1 -0
  164. package/dist/esm/utilities/PointsManager.js +138 -0
  165. package/dist/esm/utilities/PointsManager.js.map +1 -0
  166. package/dist/esm/utilities/ProgressiveIterator.js.map +1 -1
  167. package/dist/esm/utilities/RLEVoxelMap.js +175 -0
  168. package/dist/esm/utilities/RLEVoxelMap.js.map +1 -0
  169. package/dist/esm/utilities/VoxelManager.js +241 -0
  170. package/dist/esm/utilities/VoxelManager.js.map +1 -0
  171. package/dist/esm/utilities/actorCheck.js +2 -2
  172. package/dist/esm/utilities/actorCheck.js.map +1 -1
  173. package/dist/esm/utilities/applyPreset.js +13 -11
  174. package/dist/esm/utilities/applyPreset.js.map +1 -1
  175. package/dist/esm/utilities/cacheUtils.js +79 -0
  176. package/dist/esm/utilities/cacheUtils.js.map +1 -0
  177. package/dist/esm/utilities/calculateViewportsSpatialRegistration.js.map +1 -1
  178. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.js.map +1 -1
  179. package/dist/esm/utilities/clamp.js +5 -0
  180. package/dist/esm/utilities/clamp.js.map +1 -0
  181. package/dist/esm/utilities/color.js +19 -0
  182. package/dist/esm/utilities/color.js.map +1 -0
  183. package/dist/esm/utilities/colormap.js +46 -1
  184. package/dist/esm/utilities/colormap.js.map +1 -1
  185. package/dist/esm/utilities/convertStackToVolumeViewport.js +51 -0
  186. package/dist/esm/utilities/convertStackToVolumeViewport.js.map +1 -0
  187. package/dist/esm/utilities/convertToGrayscale.js +25 -0
  188. package/dist/esm/utilities/convertToGrayscale.js.map +1 -0
  189. package/dist/esm/utilities/convertVolumeToStackViewport.js +58 -0
  190. package/dist/esm/utilities/convertVolumeToStackViewport.js.map +1 -0
  191. package/dist/esm/utilities/createFloat32SharedArray.js +17 -2
  192. package/dist/esm/utilities/createFloat32SharedArray.js.map +1 -1
  193. package/dist/esm/utilities/createInt16SharedArray.js.map +1 -1
  194. package/dist/esm/utilities/createLinearRGBTransferFunction.js.map +1 -1
  195. package/dist/esm/utilities/createSigmoidRGBTransferFunction.js +1 -1
  196. package/dist/esm/utilities/createSigmoidRGBTransferFunction.js.map +1 -1
  197. package/dist/esm/utilities/createUInt16SharedArray.js.map +1 -1
  198. package/dist/esm/utilities/createUint8SharedArray.js.map +1 -1
  199. package/dist/esm/utilities/decimate.js.map +1 -1
  200. package/dist/esm/utilities/deepFreeze.js.map +1 -1
  201. package/dist/esm/utilities/deepMerge.js +1 -1
  202. package/dist/esm/utilities/deepMerge.js.map +1 -1
  203. package/dist/esm/utilities/eventListener/MultiTargetEventListenerManager.js +32 -0
  204. package/dist/esm/utilities/eventListener/MultiTargetEventListenerManager.js.map +1 -0
  205. package/dist/esm/utilities/eventListener/TargetEventListeners.js +129 -0
  206. package/dist/esm/utilities/eventListener/TargetEventListeners.js.map +1 -0
  207. package/dist/esm/utilities/eventListener/index.js +3 -0
  208. package/dist/esm/utilities/eventListener/index.js.map +1 -0
  209. package/dist/esm/utilities/generateVolumePropsFromImageIds.js +119 -0
  210. package/dist/esm/utilities/generateVolumePropsFromImageIds.js.map +1 -0
  211. package/dist/esm/utilities/genericMetadataProvider.js +20 -0
  212. package/dist/esm/utilities/genericMetadataProvider.js.map +1 -0
  213. package/dist/esm/utilities/getBufferConfiguration.js +44 -0
  214. package/dist/esm/utilities/getBufferConfiguration.js.map +1 -0
  215. package/dist/esm/utilities/getClosestImageId.js.map +1 -1
  216. package/dist/esm/utilities/getClosestStackImageIndexForPoint.js.map +1 -1
  217. package/dist/esm/utilities/getCurrentVolumeViewportSlice.js +82 -0
  218. package/dist/esm/utilities/getCurrentVolumeViewportSlice.js.map +1 -0
  219. package/dist/esm/utilities/getImageLegacy.js.map +1 -1
  220. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js.map +1 -1
  221. package/dist/esm/utilities/getMinMax.js.map +1 -1
  222. package/dist/esm/utilities/getRandomSampleFromArray.js +16 -0
  223. package/dist/esm/utilities/getRandomSampleFromArray.js.map +1 -0
  224. package/dist/esm/utilities/getRuntimeId.js.map +1 -1
  225. package/dist/esm/utilities/getScalarDataType.js.map +1 -1
  226. package/dist/esm/utilities/getScalingParameters.js +2 -2
  227. package/dist/esm/utilities/getScalingParameters.js.map +1 -1
  228. package/dist/esm/utilities/getSliceRange.js.map +1 -1
  229. package/dist/esm/utilities/getSpacingInNormalDirection.js.map +1 -1
  230. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +15 -5
  231. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
  232. package/dist/esm/utilities/getViewportImageCornersInWorld.js +7 -3
  233. package/dist/esm/utilities/getViewportImageCornersInWorld.js.map +1 -1
  234. package/dist/esm/utilities/getViewportImageIds.js +15 -0
  235. package/dist/esm/utilities/getViewportImageIds.js.map +1 -0
  236. package/dist/esm/utilities/getViewportModality.js +16 -0
  237. package/dist/esm/utilities/getViewportModality.js.map +1 -0
  238. package/dist/esm/utilities/getViewportsWithImageURI.js +6 -5
  239. package/dist/esm/utilities/getViewportsWithImageURI.js.map +1 -1
  240. package/dist/esm/utilities/getViewportsWithVolumeId.js.map +1 -1
  241. package/dist/esm/utilities/getVolumeId.js +9 -0
  242. package/dist/esm/utilities/getVolumeId.js.map +1 -0
  243. package/dist/esm/utilities/getVolumeSliceRangeInfo.js +2 -2
  244. package/dist/esm/utilities/getVolumeSliceRangeInfo.js.map +1 -1
  245. package/dist/esm/utilities/getVolumeViewportScrollInfo.js +2 -2
  246. package/dist/esm/utilities/getVolumeViewportScrollInfo.js.map +1 -1
  247. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.js.map +1 -1
  248. package/dist/esm/utilities/hasFloatScalingParameters.js +5 -0
  249. package/dist/esm/utilities/hasFloatScalingParameters.js.map +1 -0
  250. package/dist/esm/utilities/hasNaNValues.js.map +1 -1
  251. package/dist/esm/utilities/imageRetrieveMetadataProvider.js +1 -4
  252. package/dist/esm/utilities/imageRetrieveMetadataProvider.js.map +1 -1
  253. package/dist/esm/utilities/imageToWorldCoords.js.map +1 -1
  254. package/dist/esm/utilities/index.js +29 -2
  255. package/dist/esm/utilities/index.js.map +1 -1
  256. package/dist/esm/utilities/indexWithinDimensions.js.map +1 -1
  257. package/dist/esm/utilities/invertRgbTransferFunction.js.map +1 -1
  258. package/dist/esm/utilities/isEqual.js +5 -0
  259. package/dist/esm/utilities/isEqual.js.map +1 -1
  260. package/dist/esm/utilities/isValidVolume.js +29 -0
  261. package/dist/esm/utilities/isValidVolume.js.map +1 -0
  262. package/dist/esm/utilities/isVideoTransferSyntax.js +26 -0
  263. package/dist/esm/utilities/isVideoTransferSyntax.js.map +1 -0
  264. package/dist/esm/utilities/loadImageToCanvas.js +37 -7
  265. package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
  266. package/dist/esm/utilities/makeVolumeMetadata.js +52 -0
  267. package/dist/esm/utilities/makeVolumeMetadata.js.map +1 -0
  268. package/dist/esm/utilities/planar.js +5 -1
  269. package/dist/esm/utilities/planar.js.map +1 -1
  270. package/dist/esm/utilities/renderToCanvasCPU.js +7 -2
  271. package/dist/esm/utilities/renderToCanvasCPU.js.map +1 -1
  272. package/dist/esm/utilities/renderToCanvasGPU.js +50 -18
  273. package/dist/esm/utilities/renderToCanvasGPU.js.map +1 -1
  274. package/dist/esm/utilities/roundNumber.js +34 -0
  275. package/dist/esm/utilities/roundNumber.js.map +1 -0
  276. package/dist/esm/utilities/scaleRgbTransferFunction.js.map +1 -1
  277. package/dist/esm/utilities/snapFocalPointToSlice.js.map +1 -1
  278. package/dist/esm/utilities/sortImageIdsAndGetSpacing.js +83 -0
  279. package/dist/esm/utilities/sortImageIdsAndGetSpacing.js.map +1 -0
  280. package/dist/esm/utilities/spatialRegistrationMetadataProvider.js +1 -2
  281. package/dist/esm/utilities/spatialRegistrationMetadataProvider.js.map +1 -1
  282. package/dist/esm/utilities/transferFunctionUtils.js +21 -0
  283. package/dist/esm/utilities/transferFunctionUtils.js.map +1 -0
  284. package/dist/esm/utilities/transformCanvasToIJK.js +7 -0
  285. package/dist/esm/utilities/transformCanvasToIJK.js.map +1 -0
  286. package/dist/esm/utilities/transformIJKToCanvas.js +7 -0
  287. package/dist/esm/utilities/transformIJKToCanvas.js.map +1 -0
  288. package/dist/esm/utilities/transformIndexToWorld.js +4 -0
  289. package/dist/esm/utilities/transformIndexToWorld.js.map +1 -0
  290. package/dist/esm/utilities/triggerEvent.js.map +1 -1
  291. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +27 -0
  292. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js.map +1 -0
  293. package/dist/esm/utilities/worldToImageCoords.js.map +1 -1
  294. package/dist/esm/webWorkerManager/webWorkerManager.js +147 -0
  295. package/dist/esm/webWorkerManager/webWorkerManager.js.map +1 -0
  296. package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts +31 -12
  297. package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts.map +1 -1
  298. package/dist/types/RenderingEngine/CanvasActor/CanvasMapper.d.ts +7 -0
  299. package/dist/types/RenderingEngine/CanvasActor/CanvasMapper.d.ts.map +1 -0
  300. package/dist/types/RenderingEngine/CanvasActor/CanvasProperties.d.ts +16 -0
  301. package/dist/types/RenderingEngine/CanvasActor/CanvasProperties.d.ts.map +1 -0
  302. package/dist/types/RenderingEngine/CanvasActor/index.d.ts +24 -0
  303. package/dist/types/RenderingEngine/CanvasActor/index.d.ts.map +1 -0
  304. package/dist/types/RenderingEngine/RenderingEngine.d.ts +5 -2
  305. package/dist/types/RenderingEngine/RenderingEngine.d.ts.map +1 -1
  306. package/dist/types/RenderingEngine/StackViewport.d.ts +53 -10
  307. package/dist/types/RenderingEngine/StackViewport.d.ts.map +1 -1
  308. package/dist/types/RenderingEngine/VideoViewport.d.ts +132 -0
  309. package/dist/types/RenderingEngine/VideoViewport.d.ts.map +1 -0
  310. package/dist/types/RenderingEngine/Viewport.d.ts +35 -9
  311. package/dist/types/RenderingEngine/Viewport.d.ts.map +1 -1
  312. package/dist/types/RenderingEngine/VolumeViewport.d.ts +19 -5
  313. package/dist/types/RenderingEngine/VolumeViewport.d.ts.map +1 -1
  314. package/dist/types/RenderingEngine/VolumeViewport3D.d.ts +1 -0
  315. package/dist/types/RenderingEngine/VolumeViewport3D.d.ts.map +1 -1
  316. package/dist/types/RenderingEngine/helpers/addImageSlicesToViewports.d.ts +4 -0
  317. package/dist/types/RenderingEngine/helpers/addImageSlicesToViewports.d.ts.map +1 -0
  318. package/dist/types/RenderingEngine/helpers/addVolumesToViewports.d.ts.map +1 -1
  319. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.d.ts.map +1 -1
  320. package/dist/types/RenderingEngine/helpers/createVolumeActor.d.ts +1 -1
  321. package/dist/types/RenderingEngine/helpers/createVolumeActor.d.ts.map +1 -1
  322. package/dist/types/RenderingEngine/helpers/getOrCreateCanvas.d.ts +1 -0
  323. package/dist/types/RenderingEngine/helpers/getOrCreateCanvas.d.ts.map +1 -1
  324. package/dist/types/RenderingEngine/helpers/index.d.ts +2 -1
  325. package/dist/types/RenderingEngine/helpers/index.d.ts.map +1 -1
  326. package/dist/types/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +1 -1
  327. package/dist/types/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts.map +1 -1
  328. package/dist/types/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
  329. package/dist/types/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts.map +1 -1
  330. package/dist/types/RenderingEngine/vtkClasses/index.d.ts +4 -4
  331. package/dist/types/RenderingEngine/vtkClasses/index.d.ts.map +1 -1
  332. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.d.ts.map +1 -1
  333. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts +1 -0
  334. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts.map +1 -1
  335. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts.map +1 -1
  336. package/dist/types/cache/cache.d.ts +9 -3
  337. package/dist/types/cache/cache.d.ts.map +1 -1
  338. package/dist/types/cache/classes/ImageVolume.d.ts +26 -5
  339. package/dist/types/cache/classes/ImageVolume.d.ts.map +1 -1
  340. package/dist/types/cache/classes/Surface.d.ts +26 -0
  341. package/dist/types/cache/classes/Surface.d.ts.map +1 -0
  342. package/dist/types/cache/index.d.ts +2 -1
  343. package/dist/types/cache/index.d.ts.map +1 -1
  344. package/dist/types/constants/backgroundColors.d.ts +5 -0
  345. package/dist/types/constants/backgroundColors.d.ts.map +1 -0
  346. package/dist/types/constants/index.d.ts +2 -1
  347. package/dist/types/constants/index.d.ts.map +1 -1
  348. package/dist/types/enums/BlendModes.d.ts +4 -4
  349. package/dist/types/enums/BlendModes.d.ts.map +1 -1
  350. package/dist/types/enums/Events.d.ts +7 -1
  351. package/dist/types/enums/Events.d.ts.map +1 -1
  352. package/dist/types/enums/GeometryType.d.ts +2 -1
  353. package/dist/types/enums/GeometryType.d.ts.map +1 -1
  354. package/dist/types/enums/MetadataModules.d.ts +24 -0
  355. package/dist/types/enums/MetadataModules.d.ts.map +1 -0
  356. package/dist/types/enums/RequestType.d.ts +2 -1
  357. package/dist/types/enums/RequestType.d.ts.map +1 -1
  358. package/dist/types/enums/VideoEnums.d.ts +6 -0
  359. package/dist/types/enums/VideoEnums.d.ts.map +1 -0
  360. package/dist/types/enums/ViewportType.d.ts +2 -1
  361. package/dist/types/enums/ViewportType.d.ts.map +1 -1
  362. package/dist/types/enums/index.d.ts +3 -1
  363. package/dist/types/enums/index.d.ts.map +1 -1
  364. package/dist/types/eventTarget.d.ts +4 -0
  365. package/dist/types/eventTarget.d.ts.map +1 -1
  366. package/dist/types/getEnabledElement.d.ts +1 -0
  367. package/dist/types/getEnabledElement.d.ts.map +1 -1
  368. package/dist/types/index.d.ts +6 -5
  369. package/dist/types/index.d.ts.map +1 -1
  370. package/dist/types/init.d.ts +3 -1
  371. package/dist/types/init.d.ts.map +1 -1
  372. package/dist/types/loaders/geometryLoader.d.ts +2 -2
  373. package/dist/types/loaders/geometryLoader.d.ts.map +1 -1
  374. package/dist/types/loaders/imageLoader.d.ts +29 -1
  375. package/dist/types/loaders/imageLoader.d.ts.map +1 -1
  376. package/dist/types/loaders/utils/contourSet/createContourSet.d.ts +3 -0
  377. package/dist/types/loaders/utils/contourSet/createContourSet.d.ts.map +1 -0
  378. package/dist/types/loaders/utils/contourSet/validateContourSet.d.ts +3 -0
  379. package/dist/types/loaders/utils/contourSet/validateContourSet.d.ts.map +1 -0
  380. package/dist/types/loaders/utils/surface/createSurface.d.ts +3 -0
  381. package/dist/types/loaders/utils/surface/createSurface.d.ts.map +1 -0
  382. package/dist/types/loaders/utils/surface/validateSurface.d.ts +3 -0
  383. package/dist/types/loaders/utils/surface/validateSurface.d.ts.map +1 -0
  384. package/dist/types/loaders/volumeLoader.d.ts +22 -10
  385. package/dist/types/loaders/volumeLoader.d.ts.map +1 -1
  386. package/dist/types/metaData.d.ts +1 -1
  387. package/dist/types/metaData.d.ts.map +1 -1
  388. package/dist/types/requestPool/requestPoolManager.d.ts +1 -2
  389. package/dist/types/requestPool/requestPoolManager.d.ts.map +1 -1
  390. package/dist/types/types/AABB2.d.ts +8 -0
  391. package/dist/types/types/AABB2.d.ts.map +1 -0
  392. package/dist/types/types/AABB3.d.ts +10 -0
  393. package/dist/types/types/AABB3.d.ts.map +1 -0
  394. package/dist/types/types/BoundsIJK.d.ts +4 -0
  395. package/dist/types/types/BoundsIJK.d.ts.map +1 -0
  396. package/dist/types/types/BoundsLPS.d.ts +4 -0
  397. package/dist/types/types/BoundsLPS.d.ts.map +1 -0
  398. package/dist/types/types/Color.d.ts +3 -0
  399. package/dist/types/types/Color.d.ts.map +1 -0
  400. package/dist/types/types/Colormap.d.ts +1 -1
  401. package/dist/types/types/Colormap.d.ts.map +1 -1
  402. package/dist/types/types/Cornerstone3DConfig.d.ts +2 -0
  403. package/dist/types/types/Cornerstone3DConfig.d.ts.map +1 -1
  404. package/dist/types/types/EventTypes.d.ts +18 -1
  405. package/dist/types/types/EventTypes.d.ts.map +1 -1
  406. package/dist/types/types/IActor.d.ts +9 -1
  407. package/dist/types/types/IActor.d.ts.map +1 -1
  408. package/dist/types/types/IDynamicImageVolume.d.ts +2 -2
  409. package/dist/types/types/IDynamicImageVolume.d.ts.map +1 -1
  410. package/dist/types/types/IEnabledElement.d.ts.map +1 -1
  411. package/dist/types/types/IGeometry.d.ts +2 -1
  412. package/dist/types/types/IGeometry.d.ts.map +1 -1
  413. package/dist/types/types/IImage.d.ts +12 -0
  414. package/dist/types/types/IImage.d.ts.map +1 -1
  415. package/dist/types/types/IImageVolume.d.ts +10 -2
  416. package/dist/types/types/IImageVolume.d.ts.map +1 -1
  417. package/dist/types/types/ILoadObject.d.ts +2 -2
  418. package/dist/types/types/ILoadObject.d.ts.map +1 -1
  419. package/dist/types/types/IRenderingEngine.d.ts +5 -2
  420. package/dist/types/types/IRenderingEngine.d.ts.map +1 -1
  421. package/dist/types/types/IStackInput.d.ts +13 -0
  422. package/dist/types/types/IStackInput.d.ts.map +1 -0
  423. package/dist/types/types/IStackViewport.d.ts +2 -44
  424. package/dist/types/types/IStackViewport.d.ts.map +1 -1
  425. package/dist/types/types/ISurface.d.ts +14 -0
  426. package/dist/types/types/ISurface.d.ts.map +1 -0
  427. package/dist/types/types/IVideoViewport.d.ts +20 -0
  428. package/dist/types/types/IVideoViewport.d.ts.map +1 -0
  429. package/dist/types/types/IViewport.d.ts +54 -0
  430. package/dist/types/types/IViewport.d.ts.map +1 -1
  431. package/dist/types/types/IVolume.d.ts +3 -26
  432. package/dist/types/types/IVolume.d.ts.map +1 -1
  433. package/dist/types/types/IVolumeViewport.d.ts +7 -3
  434. package/dist/types/types/IVolumeViewport.d.ts.map +1 -1
  435. package/dist/types/types/ImageVolumeProps.d.ts +7 -0
  436. package/dist/types/types/ImageVolumeProps.d.ts.map +1 -0
  437. package/dist/types/types/PixelDataTypedArray.d.ts +1 -0
  438. package/dist/types/types/PixelDataTypedArray.d.ts.map +1 -1
  439. package/dist/types/types/Point3.d.ts +6 -1
  440. package/dist/types/types/Point3.d.ts.map +1 -1
  441. package/dist/types/types/SurfaceData.d.ts +13 -0
  442. package/dist/types/types/SurfaceData.d.ts.map +1 -0
  443. package/dist/types/types/VideoViewportProperties.d.ts +11 -0
  444. package/dist/types/types/VideoViewportProperties.d.ts.map +1 -0
  445. package/dist/types/types/VideoViewportTypes.d.ts +19 -0
  446. package/dist/types/types/VideoViewportTypes.d.ts.map +1 -0
  447. package/dist/types/types/ViewportProperties.d.ts +4 -2
  448. package/dist/types/types/ViewportProperties.d.ts.map +1 -1
  449. package/dist/types/types/VolumeProps.d.ts +28 -0
  450. package/dist/types/types/VolumeProps.d.ts.map +1 -0
  451. package/dist/types/types/VolumeViewportProperties.d.ts +3 -2
  452. package/dist/types/types/VolumeViewportProperties.d.ts.map +1 -1
  453. package/dist/types/types/displayArea.d.ts +8 -4
  454. package/dist/types/types/displayArea.d.ts.map +1 -1
  455. package/dist/types/types/index.d.ts +20 -5
  456. package/dist/types/types/index.d.ts.map +1 -1
  457. package/dist/types/utilities/PointsManager.d.ts +34 -0
  458. package/dist/types/utilities/PointsManager.d.ts.map +1 -0
  459. package/dist/types/utilities/RLEVoxelMap.d.ts +27 -0
  460. package/dist/types/utilities/RLEVoxelMap.d.ts.map +1 -0
  461. package/dist/types/utilities/VoxelManager.d.ts +45 -0
  462. package/dist/types/utilities/VoxelManager.d.ts.map +1 -0
  463. package/dist/types/utilities/actorCheck.d.ts +1 -1
  464. package/dist/types/utilities/actorCheck.d.ts.map +1 -1
  465. package/dist/types/utilities/applyPreset.d.ts.map +1 -1
  466. package/dist/types/utilities/cacheUtils.d.ts +3 -0
  467. package/dist/types/utilities/cacheUtils.d.ts.map +1 -0
  468. package/dist/types/utilities/calculateViewportsSpatialRegistration.d.ts +2 -2
  469. package/dist/types/utilities/calculateViewportsSpatialRegistration.d.ts.map +1 -1
  470. package/dist/types/utilities/clamp.d.ts +3 -0
  471. package/dist/types/utilities/clamp.d.ts.map +1 -0
  472. package/dist/types/utilities/color.d.ts +8 -0
  473. package/dist/types/utilities/color.d.ts.map +1 -0
  474. package/dist/types/utilities/colormap.d.ts +3 -2
  475. package/dist/types/utilities/colormap.d.ts.map +1 -1
  476. package/dist/types/utilities/convertStackToVolumeViewport.d.ts +13 -0
  477. package/dist/types/utilities/convertStackToVolumeViewport.d.ts.map +1 -0
  478. package/dist/types/utilities/convertToGrayscale.d.ts +2 -0
  479. package/dist/types/utilities/convertToGrayscale.d.ts.map +1 -0
  480. package/dist/types/utilities/convertVolumeToStackViewport.d.ts +10 -0
  481. package/dist/types/utilities/convertVolumeToStackViewport.d.ts.map +1 -0
  482. package/dist/types/utilities/createFloat32SharedArray.d.ts.map +1 -1
  483. package/dist/types/utilities/deepMerge.d.ts.map +1 -1
  484. package/dist/types/utilities/eventListener/MultiTargetEventListenerManager.d.ts +8 -0
  485. package/dist/types/utilities/eventListener/MultiTargetEventListenerManager.d.ts.map +1 -0
  486. package/dist/types/utilities/eventListener/TargetEventListeners.d.ts +16 -0
  487. package/dist/types/utilities/eventListener/TargetEventListeners.d.ts.map +1 -0
  488. package/dist/types/utilities/eventListener/index.d.ts +3 -0
  489. package/dist/types/utilities/eventListener/index.d.ts.map +1 -0
  490. package/dist/types/utilities/generateVolumePropsFromImageIds.d.ts +4 -0
  491. package/dist/types/utilities/generateVolumePropsFromImageIds.d.ts.map +1 -0
  492. package/dist/types/utilities/genericMetadataProvider.d.ts +7 -0
  493. package/dist/types/utilities/genericMetadataProvider.d.ts.map +1 -0
  494. package/dist/types/utilities/getBufferConfiguration.d.ts +10 -0
  495. package/dist/types/utilities/getBufferConfiguration.d.ts.map +1 -0
  496. package/dist/types/utilities/getCurrentVolumeViewportSlice.d.ts +11 -0
  497. package/dist/types/utilities/getCurrentVolumeViewportSlice.d.ts.map +1 -0
  498. package/dist/types/utilities/getRandomSampleFromArray.d.ts +2 -0
  499. package/dist/types/utilities/getRandomSampleFromArray.d.ts.map +1 -0
  500. package/dist/types/utilities/getSpacingInNormalDirection.d.ts +5 -1
  501. package/dist/types/utilities/getSpacingInNormalDirection.d.ts.map +1 -1
  502. package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
  503. package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts.map +1 -1
  504. package/dist/types/utilities/getViewportImageCornersInWorld.d.ts.map +1 -1
  505. package/dist/types/utilities/getViewportImageIds.d.ts +4 -0
  506. package/dist/types/utilities/getViewportImageIds.d.ts.map +1 -0
  507. package/dist/types/utilities/getViewportModality.d.ts +4 -0
  508. package/dist/types/utilities/getViewportModality.d.ts.map +1 -0
  509. package/dist/types/utilities/getViewportsWithImageURI.d.ts.map +1 -1
  510. package/dist/types/utilities/getVolumeId.d.ts +2 -0
  511. package/dist/types/utilities/getVolumeId.d.ts.map +1 -0
  512. package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
  513. package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts.map +1 -1
  514. package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts +3 -3
  515. package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts.map +1 -1
  516. package/dist/types/utilities/hasFloatScalingParameters.d.ts +3 -0
  517. package/dist/types/utilities/hasFloatScalingParameters.d.ts.map +1 -0
  518. package/dist/types/utilities/imageRetrieveMetadataProvider.d.ts +1 -1
  519. package/dist/types/utilities/imageRetrieveMetadataProvider.d.ts.map +1 -1
  520. package/dist/types/utilities/index.d.ts +29 -2
  521. package/dist/types/utilities/index.d.ts.map +1 -1
  522. package/dist/types/utilities/isEqual.d.ts +3 -0
  523. package/dist/types/utilities/isEqual.d.ts.map +1 -1
  524. package/dist/types/utilities/isValidVolume.d.ts +3 -0
  525. package/dist/types/utilities/isValidVolume.d.ts.map +1 -0
  526. package/dist/types/utilities/isVideoTransferSyntax.d.ts +3 -0
  527. package/dist/types/utilities/isVideoTransferSyntax.d.ts.map +1 -0
  528. package/dist/types/utilities/loadImageToCanvas.d.ts +25 -5
  529. package/dist/types/utilities/loadImageToCanvas.d.ts.map +1 -1
  530. package/dist/types/utilities/makeVolumeMetadata.d.ts +3 -0
  531. package/dist/types/utilities/makeVolumeMetadata.d.ts.map +1 -0
  532. package/dist/types/utilities/planar.d.ts +1 -1
  533. package/dist/types/utilities/planar.d.ts.map +1 -1
  534. package/dist/types/utilities/renderToCanvasCPU.d.ts +3 -2
  535. package/dist/types/utilities/renderToCanvasCPU.d.ts.map +1 -1
  536. package/dist/types/utilities/renderToCanvasGPU.d.ts +5 -2
  537. package/dist/types/utilities/renderToCanvasGPU.d.ts.map +1 -1
  538. package/dist/types/utilities/roundNumber.d.ts +5 -0
  539. package/dist/types/utilities/roundNumber.d.ts.map +1 -0
  540. package/dist/types/utilities/sortImageIdsAndGetSpacing.d.ts +10 -0
  541. package/dist/types/utilities/sortImageIdsAndGetSpacing.d.ts.map +1 -0
  542. package/dist/types/utilities/spatialRegistrationMetadataProvider.d.ts +1 -1
  543. package/dist/types/utilities/spatialRegistrationMetadataProvider.d.ts.map +1 -1
  544. package/dist/types/utilities/transferFunctionUtils.d.ts +4 -0
  545. package/dist/types/utilities/transferFunctionUtils.d.ts.map +1 -0
  546. package/dist/types/utilities/transformCanvasToIJK.d.ts +3 -0
  547. package/dist/types/utilities/transformCanvasToIJK.d.ts.map +1 -0
  548. package/dist/types/utilities/transformIJKToCanvas.d.ts +3 -0
  549. package/dist/types/utilities/transformIJKToCanvas.d.ts.map +1 -0
  550. package/dist/types/utilities/transformIndexToWorld.d.ts +3 -0
  551. package/dist/types/utilities/transformIndexToWorld.d.ts.map +1 -0
  552. package/dist/types/utilities/updateVTKImageDataWithCornerstoneImage.d.ts +5 -0
  553. package/dist/types/utilities/updateVTKImageDataWithCornerstoneImage.d.ts.map +1 -0
  554. package/dist/types/webWorkerManager/webWorkerManager.d.ts +22 -0
  555. package/dist/types/webWorkerManager/webWorkerManager.d.ts.map +1 -0
  556. package/dist/umd/index.js +1 -2
  557. package/dist/umd/index.js.map +1 -1
  558. package/package.json +8 -9
  559. package/src/RenderingEngine/BaseVolumeViewport.ts +681 -47
  560. package/src/RenderingEngine/CanvasActor/CanvasMapper.ts +17 -0
  561. package/src/RenderingEngine/CanvasActor/CanvasProperties.ts +49 -0
  562. package/src/RenderingEngine/CanvasActor/index.ts +232 -0
  563. package/src/RenderingEngine/RenderingEngine.ts +91 -61
  564. package/src/RenderingEngine/StackViewport.ts +647 -185
  565. package/src/RenderingEngine/VideoViewport.ts +1116 -0
  566. package/src/RenderingEngine/Viewport.ts +603 -99
  567. package/src/RenderingEngine/VolumeViewport.ts +284 -52
  568. package/src/RenderingEngine/VolumeViewport3D.ts +4 -0
  569. package/src/RenderingEngine/helpers/addImageSlicesToViewports.ts +51 -0
  570. package/src/RenderingEngine/helpers/addVolumesToViewports.ts +6 -3
  571. package/src/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.ts +1 -4
  572. package/src/RenderingEngine/helpers/createVolumeActor.ts +2 -8
  573. package/src/RenderingEngine/helpers/getOrCreateCanvas.ts +32 -1
  574. package/src/RenderingEngine/helpers/index.ts +2 -0
  575. package/src/RenderingEngine/helpers/setDefaultVolumeVOI.ts +64 -52
  576. package/src/RenderingEngine/helpers/viewportTypeToViewportClass.ts +2 -0
  577. package/src/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.js +6 -5
  578. package/src/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +1 -1
  579. package/src/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +25 -32
  580. package/src/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +3 -26
  581. package/src/Settings.ts +3 -3
  582. package/src/cache/cache.ts +141 -8
  583. package/src/cache/classes/ImageVolume.ts +569 -22
  584. package/src/cache/classes/Surface.ts +61 -0
  585. package/src/cache/index.ts +2 -1
  586. package/src/constants/backgroundColors.ts +5 -0
  587. package/src/constants/index.ts +2 -0
  588. package/src/enums/Events.ts +33 -1
  589. package/src/enums/GeometryType.ts +1 -0
  590. package/src/enums/MetadataModules.ts +32 -0
  591. package/src/enums/RequestType.ts +3 -1
  592. package/src/enums/VideoEnums.ts +9 -0
  593. package/src/enums/ViewportType.ts +1 -0
  594. package/src/enums/index.ts +4 -0
  595. package/src/eventTarget.ts +78 -1
  596. package/src/getEnabledElement.ts +24 -2
  597. package/src/index.ts +12 -1
  598. package/src/init.ts +78 -19
  599. package/src/loaders/geometryLoader.ts +13 -63
  600. package/src/loaders/imageLoader.ts +292 -4
  601. package/src/loaders/utils/contourSet/createContourSet.ts +29 -0
  602. package/src/loaders/utils/contourSet/validateContourSet.ts +38 -0
  603. package/src/loaders/utils/surface/createSurface.ts +31 -0
  604. package/src/loaders/utils/surface/validateSurface.ts +9 -0
  605. package/src/loaders/volumeLoader.ts +276 -82
  606. package/src/metaData.ts +2 -3
  607. package/src/requestPool/requestPoolManager.ts +35 -16
  608. package/src/types/AABB2.ts +4 -0
  609. package/src/types/AABB3.ts +11 -0
  610. package/src/types/BoundsIJK.ts +5 -0
  611. package/src/types/BoundsLPS.ts +5 -0
  612. package/src/types/Color.ts +10 -0
  613. package/src/types/Colormap.ts +1 -1
  614. package/src/types/Cornerstone3DConfig.ts +17 -0
  615. package/src/types/EventTypes.ts +42 -0
  616. package/src/types/IActor.ts +15 -1
  617. package/src/types/IDynamicImageVolume.ts +2 -2
  618. package/src/types/IEnabledElement.ts +4 -1
  619. package/src/types/IGeometry.ts +2 -1
  620. package/src/types/IImage.ts +15 -0
  621. package/src/types/IImageVolume.ts +27 -2
  622. package/src/types/ILoadObject.ts +2 -2
  623. package/src/types/IRenderingEngine.ts +5 -2
  624. package/src/types/IStackInput.ts +30 -0
  625. package/src/types/IStackViewport.ts +2 -146
  626. package/src/types/ISurface.ts +14 -0
  627. package/src/types/IVideoViewport.ts +87 -0
  628. package/src/types/IViewport.ts +301 -2
  629. package/src/types/IVolume.ts +4 -41
  630. package/src/types/IVolumeViewport.ts +34 -6
  631. package/src/types/ImageVolumeProps.ts +15 -0
  632. package/src/types/PixelDataTypedArray.ts +8 -0
  633. package/src/types/Point3.ts +10 -1
  634. package/src/types/SurfaceData.ts +15 -0
  635. package/src/types/VideoViewportProperties.ts +15 -0
  636. package/src/types/VideoViewportTypes.ts +20 -0
  637. package/src/types/ViewportProperties.ts +6 -3
  638. package/src/types/VolumeProps.ts +57 -0
  639. package/src/types/VolumeViewportProperties.ts +5 -3
  640. package/src/types/displayArea.ts +36 -4
  641. package/src/types/index.ts +70 -5
  642. package/src/utilities/PointsManager.ts +260 -0
  643. package/src/utilities/RLEVoxelMap.ts +331 -0
  644. package/src/utilities/VoxelManager.ts +483 -0
  645. package/src/utilities/actorCheck.ts +3 -3
  646. package/src/utilities/applyPreset.ts +15 -12
  647. package/src/utilities/cacheUtils.ts +145 -0
  648. package/src/utilities/calculateViewportsSpatialRegistration.ts +3 -3
  649. package/src/utilities/clamp.ts +5 -0
  650. package/src/utilities/color.ts +33 -0
  651. package/src/utilities/colormap.ts +81 -2
  652. package/src/utilities/convertStackToVolumeViewport.ts +117 -0
  653. package/src/utilities/convertToGrayscale.ts +27 -0
  654. package/src/utilities/convertVolumeToStackViewport.ts +125 -0
  655. package/src/utilities/createFloat32SharedArray.ts +18 -3
  656. package/src/utilities/createSigmoidRGBTransferFunction.ts +1 -1
  657. package/src/utilities/deepMerge.ts +6 -1
  658. package/src/utilities/eventListener/MultiTargetEventListenerManager.ts +90 -0
  659. package/src/utilities/eventListener/TargetEventListeners.ts +278 -0
  660. package/src/utilities/eventListener/index.ts +2 -0
  661. package/src/utilities/generateVolumePropsFromImageIds.ts +186 -0
  662. package/src/utilities/genericMetadataProvider.ts +43 -0
  663. package/src/utilities/getBufferConfiguration.ts +69 -0
  664. package/src/utilities/getCurrentVolumeViewportSlice.ts +166 -0
  665. package/src/utilities/getRandomSampleFromArray.ts +30 -0
  666. package/src/utilities/getScalingParameters.ts +2 -2
  667. package/src/utilities/getSpacingInNormalDirection.ts +2 -2
  668. package/src/utilities/getTargetVolumeAndSpacingInNormalDir.ts +38 -14
  669. package/src/utilities/getViewportImageCornersInWorld.ts +10 -3
  670. package/src/utilities/getViewportImageIds.ts +22 -0
  671. package/src/utilities/getViewportModality.ts +22 -0
  672. package/src/utilities/getViewportsWithImageURI.ts +6 -13
  673. package/src/utilities/getVolumeId.ts +16 -0
  674. package/src/utilities/getVolumeSliceRangeInfo.ts +10 -2
  675. package/src/utilities/getVolumeViewportScrollInfo.ts +5 -2
  676. package/src/utilities/hasFloatScalingParameters.ts +15 -0
  677. package/src/utilities/imageRetrieveMetadataProvider.ts +1 -4
  678. package/src/utilities/index.ts +58 -1
  679. package/src/utilities/isEqual.ts +27 -0
  680. package/src/utilities/isValidVolume.ts +59 -0
  681. package/src/utilities/isVideoTransferSyntax.ts +26 -0
  682. package/src/utilities/loadImageToCanvas.ts +115 -16
  683. package/src/utilities/makeVolumeMetadata.ts +87 -0
  684. package/src/utilities/planar.ts +12 -1
  685. package/src/utilities/renderToCanvasCPU.ts +17 -5
  686. package/src/utilities/renderToCanvasGPU.ts +76 -33
  687. package/src/utilities/roundNumber.ts +57 -0
  688. package/src/utilities/sortImageIdsAndGetSpacing.ts +180 -0
  689. package/src/utilities/spatialRegistrationMetadataProvider.ts +1 -3
  690. package/src/utilities/transferFunctionUtils.ts +27 -0
  691. package/src/utilities/transformCanvasToIJK.ts +18 -0
  692. package/src/utilities/transformIJKToCanvas.ts +18 -0
  693. package/src/utilities/transformIndexToWorld.ts +14 -0
  694. package/src/utilities/updateVTKImageDataWithCornerstoneImage.ts +42 -0
  695. package/src/webWorkerManager/webWorkerManager.js +254 -0
  696. package/dist/cjs/RenderingEngine/BaseVolumeViewport.d.ts +0 -52
  697. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +0 -590
  698. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +0 -1
  699. package/dist/cjs/RenderingEngine/RenderingEngine.d.ts +0 -57
  700. package/dist/cjs/RenderingEngine/RenderingEngine.js +0 -627
  701. package/dist/cjs/RenderingEngine/RenderingEngine.js.map +0 -1
  702. package/dist/cjs/RenderingEngine/StackViewport.d.ts +0 -166
  703. package/dist/cjs/RenderingEngine/StackViewport.js +0 -1537
  704. package/dist/cjs/RenderingEngine/StackViewport.js.map +0 -1
  705. package/dist/cjs/RenderingEngine/Viewport.d.ts +0 -91
  706. package/dist/cjs/RenderingEngine/Viewport.js +0 -680
  707. package/dist/cjs/RenderingEngine/Viewport.js.map +0 -1
  708. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +0 -22
  709. package/dist/cjs/RenderingEngine/VolumeViewport.js +0 -237
  710. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +0 -1
  711. package/dist/cjs/RenderingEngine/VolumeViewport3D.d.ts +0 -14
  712. package/dist/cjs/RenderingEngine/VolumeViewport3D.js +0 -43
  713. package/dist/cjs/RenderingEngine/VolumeViewport3D.js.map +0 -1
  714. package/dist/cjs/RenderingEngine/getRenderingEngine.d.ts +0 -4
  715. package/dist/cjs/RenderingEngine/getRenderingEngine.js +0 -17
  716. package/dist/cjs/RenderingEngine/getRenderingEngine.js.map +0 -1
  717. package/dist/cjs/RenderingEngine/helpers/addVolumesToViewports.d.ts +0 -3
  718. package/dist/cjs/RenderingEngine/helpers/addVolumesToViewports.js +0 -37
  719. package/dist/cjs/RenderingEngine/helpers/addVolumesToViewports.js.map +0 -1
  720. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +0 -3
  721. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/colormap.js +0 -203
  722. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/colormap.js.map +0 -1
  723. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/index.d.ts +0 -3
  724. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/index.js +0 -12
  725. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/index.js.map +0 -1
  726. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts +0 -33
  727. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/lookupTable.js +0 -249
  728. package/dist/cjs/RenderingEngine/helpers/cpuFallback/colors/lookupTable.js.map +0 -1
  729. package/dist/cjs/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts +0 -2
  730. package/dist/cjs/RenderingEngine/helpers/cpuFallback/drawImageSync.js +0 -44
  731. package/dist/cjs/RenderingEngine/helpers/cpuFallback/drawImageSync.js.map +0 -1
  732. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts +0 -2
  733. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.js +0 -77
  734. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.js.map +0 -1
  735. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts +0 -2
  736. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.js +0 -13
  737. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.js.map +0 -1
  738. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.d.ts +0 -2
  739. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.js +0 -29
  740. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.js.map +0 -1
  741. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +0 -7
  742. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/correctShift.js +0 -19
  743. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/correctShift.js.map +0 -1
  744. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts +0 -2
  745. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/createViewport.js +0 -45
  746. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/createViewport.js.map +0 -1
  747. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts +0 -2
  748. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.js +0 -21
  749. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.js.map +0 -1
  750. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts +0 -2
  751. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.js +0 -14
  752. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.js.map +0 -1
  753. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts +0 -2
  754. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.js +0 -31
  755. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.js.map +0 -1
  756. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts +0 -2
  757. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +0 -47
  758. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js.map +0 -1
  759. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts +0 -2
  760. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +0 -66
  761. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +0 -1
  762. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts +0 -6
  763. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.js +0 -31
  764. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.js.map +0 -1
  765. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts +0 -5
  766. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.js +0 -26
  767. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.js.map +0 -1
  768. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts +0 -2
  769. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getLut.js +0 -29
  770. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getLut.js.map +0 -1
  771. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.d.ts +0 -1
  772. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.js +0 -27
  773. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.js.map +0 -1
  774. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts +0 -2
  775. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getTransform.js +0 -11
  776. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getTransform.js.map +0 -1
  777. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.d.ts +0 -1
  778. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.js +0 -33
  779. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.js.map +0 -1
  780. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts +0 -2
  781. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.js +0 -15
  782. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.js.map +0 -1
  783. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts +0 -1
  784. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.js +0 -13
  785. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.js.map +0 -1
  786. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/now.d.ts +0 -1
  787. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/now.js +0 -10
  788. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/now.js.map +0 -1
  789. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts +0 -2
  790. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.js +0 -12
  791. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.js.map +0 -1
  792. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts +0 -2
  793. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +0 -91
  794. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js.map +0 -1
  795. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts +0 -2
  796. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +0 -90
  797. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js.map +0 -1
  798. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.d.ts +0 -2
  799. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +0 -133
  800. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js.map +0 -1
  801. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +0 -2
  802. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.js +0 -25
  803. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.js.map +0 -1
  804. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts +0 -2
  805. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resize.js +0 -54
  806. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resize.js.map +0 -1
  807. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts +0 -2
  808. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.js +0 -23
  809. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.js.map +0 -1
  810. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts +0 -6
  811. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.js +0 -12
  812. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.js.map +0 -1
  813. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts +0 -2
  814. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.js +0 -19
  815. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.js.map +0 -1
  816. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts +0 -2
  817. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.js +0 -43
  818. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.js.map +0 -1
  819. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts +0 -2
  820. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.js +0 -56
  821. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.js.map +0 -1
  822. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.d.ts +0 -3
  823. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.js +0 -69
  824. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.js.map +0 -1
  825. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts +0 -2
  826. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.js +0 -22
  827. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.js.map +0 -1
  828. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.d.ts +0 -3
  829. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.js +0 -73
  830. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.js.map +0 -1
  831. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.d.ts +0 -3
  832. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.js +0 -72
  833. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.js.map +0 -1
  834. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts +0 -2
  835. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.js +0 -67
  836. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.js.map +0 -1
  837. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts +0 -2
  838. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.js +0 -43
  839. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.js.map +0 -1
  840. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts +0 -14
  841. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/transform.js +0 -85
  842. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/transform.js.map +0 -1
  843. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts +0 -2
  844. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/validator.js +0 -16
  845. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/validator.js.map +0 -1
  846. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.d.ts +0 -12
  847. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js +0 -70
  848. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js.map +0 -1
  849. package/dist/cjs/RenderingEngine/helpers/createVolumeMapper.d.ts +0 -1
  850. package/dist/cjs/RenderingEngine/helpers/createVolumeMapper.js +0 -19
  851. package/dist/cjs/RenderingEngine/helpers/createVolumeMapper.js.map +0 -1
  852. package/dist/cjs/RenderingEngine/helpers/getOrCreateCanvas.d.ts +0 -2
  853. package/dist/cjs/RenderingEngine/helpers/getOrCreateCanvas.js +0 -32
  854. package/dist/cjs/RenderingEngine/helpers/getOrCreateCanvas.js.map +0 -1
  855. package/dist/cjs/RenderingEngine/helpers/index.d.ts +0 -7
  856. package/dist/cjs/RenderingEngine/helpers/index.js +0 -19
  857. package/dist/cjs/RenderingEngine/helpers/index.js.map +0 -1
  858. package/dist/cjs/RenderingEngine/helpers/isRgbaSourceRgbDest.d.ts +0 -2
  859. package/dist/cjs/RenderingEngine/helpers/isRgbaSourceRgbDest.js +0 -4
  860. package/dist/cjs/RenderingEngine/helpers/isRgbaSourceRgbDest.js.map +0 -1
  861. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +0 -3
  862. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js +0 -166
  863. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +0 -1
  864. package/dist/cjs/RenderingEngine/helpers/setVolumesForViewports.d.ts +0 -3
  865. package/dist/cjs/RenderingEngine/helpers/setVolumesForViewports.js +0 -36
  866. package/dist/cjs/RenderingEngine/helpers/setVolumesForViewports.js.map +0 -1
  867. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +0 -10
  868. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.js +0 -17
  869. package/dist/cjs/RenderingEngine/helpers/viewportTypeToViewportClass.js.map +0 -1
  870. package/dist/cjs/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts +0 -1
  871. package/dist/cjs/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.js +0 -11
  872. package/dist/cjs/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.js.map +0 -1
  873. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +0 -4
  874. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +0 -47
  875. package/dist/cjs/RenderingEngine/helpers/volumeNewImageEventDispatcher.js.map +0 -1
  876. package/dist/cjs/RenderingEngine/index.d.ts +0 -8
  877. package/dist/cjs/RenderingEngine/index.js +0 -22
  878. package/dist/cjs/RenderingEngine/index.js.map +0 -1
  879. package/dist/cjs/RenderingEngine/renderingEngineCache.d.ts +0 -8
  880. package/dist/cjs/RenderingEngine/renderingEngineCache.js +0 -33
  881. package/dist/cjs/RenderingEngine/renderingEngineCache.js.map +0 -1
  882. package/dist/cjs/RenderingEngine/vtkClasses/index.d.ts +0 -5
  883. package/dist/cjs/RenderingEngine/vtkClasses/index.js +0 -15
  884. package/dist/cjs/RenderingEngine/vtkClasses/index.js.map +0 -1
  885. package/dist/cjs/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.d.ts +0 -7
  886. package/dist/cjs/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.js +0 -89
  887. package/dist/cjs/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.js.map +0 -1
  888. package/dist/cjs/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.d.ts +0 -7
  889. package/dist/cjs/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.js +0 -29
  890. package/dist/cjs/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.js.map +0 -1
  891. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +0 -140
  892. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js +0 -94
  893. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +0 -1
  894. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.d.ts +0 -7
  895. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.js +0 -23
  896. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.js.map +0 -1
  897. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.d.ts +0 -7
  898. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +0 -124
  899. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js.map +0 -1
  900. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts +0 -7
  901. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +0 -85
  902. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js.map +0 -1
  903. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts +0 -7
  904. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +0 -179
  905. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +0 -1
  906. package/dist/cjs/Settings.d.ts +0 -15
  907. package/dist/cjs/Settings.js +0 -198
  908. package/dist/cjs/Settings.js.map +0 -1
  909. package/dist/cjs/cache/cache.d.ts +0 -42
  910. package/dist/cjs/cache/cache.js +0 -396
  911. package/dist/cjs/cache/cache.js.map +0 -1
  912. package/dist/cjs/cache/classes/Contour.d.ts +0 -23
  913. package/dist/cjs/cache/classes/Contour.js +0 -34
  914. package/dist/cjs/cache/classes/Contour.js.map +0 -1
  915. package/dist/cjs/cache/classes/ContourSet.d.ts +0 -36
  916. package/dist/cjs/cache/classes/ContourSet.js +0 -112
  917. package/dist/cjs/cache/classes/ContourSet.js.map +0 -1
  918. package/dist/cjs/cache/classes/ImageVolume.d.ts +0 -41
  919. package/dist/cjs/cache/classes/ImageVolume.js +0 -75
  920. package/dist/cjs/cache/classes/ImageVolume.js.map +0 -1
  921. package/dist/cjs/cache/index.d.ts +0 -4
  922. package/dist/cjs/cache/index.js +0 -35
  923. package/dist/cjs/cache/index.js.map +0 -1
  924. package/dist/cjs/constants/cpuColormaps.d.ts +0 -3
  925. package/dist/cjs/constants/cpuColormaps.js +0 -1528
  926. package/dist/cjs/constants/cpuColormaps.js.map +0 -1
  927. package/dist/cjs/constants/epsilon.d.ts +0 -2
  928. package/dist/cjs/constants/epsilon.js +0 -5
  929. package/dist/cjs/constants/epsilon.js.map +0 -1
  930. package/dist/cjs/constants/index.d.ts +0 -6
  931. package/dist/cjs/constants/index.js +0 -17
  932. package/dist/cjs/constants/index.js.map +0 -1
  933. package/dist/cjs/constants/mprCameraValues.d.ts +0 -2
  934. package/dist/cjs/constants/mprCameraValues.js +0 -23
  935. package/dist/cjs/constants/mprCameraValues.js.map +0 -1
  936. package/dist/cjs/constants/rendering.d.ts +0 -5
  937. package/dist/cjs/constants/rendering.js +0 -9
  938. package/dist/cjs/constants/rendering.js.map +0 -1
  939. package/dist/cjs/constants/viewportPresets.d.ts +0 -3
  940. package/dist/cjs/constants/viewportPresets.js +0 -318
  941. package/dist/cjs/constants/viewportPresets.js.map +0 -1
  942. package/dist/cjs/enums/BlendModes.d.ts +0 -7
  943. package/dist/cjs/enums/BlendModes.js +0 -16
  944. package/dist/cjs/enums/BlendModes.js.map +0 -1
  945. package/dist/cjs/enums/CalibrationTypes.d.ts +0 -10
  946. package/dist/cjs/enums/CalibrationTypes.js +0 -15
  947. package/dist/cjs/enums/CalibrationTypes.js.map +0 -1
  948. package/dist/cjs/enums/ContourType.d.ts +0 -5
  949. package/dist/cjs/enums/ContourType.js +0 -9
  950. package/dist/cjs/enums/ContourType.js.map +0 -1
  951. package/dist/cjs/enums/DynamicOperatorType.d.ts +0 -6
  952. package/dist/cjs/enums/DynamicOperatorType.js +0 -10
  953. package/dist/cjs/enums/DynamicOperatorType.js.map +0 -1
  954. package/dist/cjs/enums/Events.d.ts +0 -32
  955. package/dist/cjs/enums/Events.js +0 -36
  956. package/dist/cjs/enums/Events.js.map +0 -1
  957. package/dist/cjs/enums/GeometryType.d.ts +0 -4
  958. package/dist/cjs/enums/GeometryType.js +0 -8
  959. package/dist/cjs/enums/GeometryType.js.map +0 -1
  960. package/dist/cjs/enums/ImageQualityStatus.d.ts +0 -8
  961. package/dist/cjs/enums/ImageQualityStatus.js +0 -12
  962. package/dist/cjs/enums/ImageQualityStatus.js.map +0 -1
  963. package/dist/cjs/enums/InterpolationType.d.ts +0 -6
  964. package/dist/cjs/enums/InterpolationType.js +0 -10
  965. package/dist/cjs/enums/InterpolationType.js.map +0 -1
  966. package/dist/cjs/enums/OrientationAxis.d.ts +0 -7
  967. package/dist/cjs/enums/OrientationAxis.js +0 -11
  968. package/dist/cjs/enums/OrientationAxis.js.map +0 -1
  969. package/dist/cjs/enums/RequestType.d.ts +0 -6
  970. package/dist/cjs/enums/RequestType.js +0 -10
  971. package/dist/cjs/enums/RequestType.js.map +0 -1
  972. package/dist/cjs/enums/SharedArrayBufferModes.d.ts +0 -6
  973. package/dist/cjs/enums/SharedArrayBufferModes.js +0 -10
  974. package/dist/cjs/enums/SharedArrayBufferModes.js.map +0 -1
  975. package/dist/cjs/enums/VOILUTFunctionType.d.ts +0 -5
  976. package/dist/cjs/enums/VOILUTFunctionType.js +0 -9
  977. package/dist/cjs/enums/VOILUTFunctionType.js.map +0 -1
  978. package/dist/cjs/enums/ViewportStatus.d.ts +0 -8
  979. package/dist/cjs/enums/ViewportStatus.js +0 -12
  980. package/dist/cjs/enums/ViewportStatus.js.map +0 -1
  981. package/dist/cjs/enums/ViewportType.d.ts +0 -7
  982. package/dist/cjs/enums/ViewportType.js +0 -11
  983. package/dist/cjs/enums/ViewportType.js.map +0 -1
  984. package/dist/cjs/enums/index.d.ts +0 -15
  985. package/dist/cjs/enums/index.js +0 -35
  986. package/dist/cjs/enums/index.js.map +0 -1
  987. package/dist/cjs/eventTarget.d.ts +0 -10
  988. package/dist/cjs/eventTarget.js +0 -46
  989. package/dist/cjs/eventTarget.js.map +0 -1
  990. package/dist/cjs/getEnabledElement.d.ts +0 -4
  991. package/dist/cjs/getEnabledElement.js +0 -70
  992. package/dist/cjs/getEnabledElement.js.map +0 -1
  993. package/dist/cjs/global.d.ts +0 -7
  994. package/dist/cjs/global.js +0 -4
  995. package/dist/cjs/global.js.map +0 -1
  996. package/dist/cjs/index.d.ts +0 -31
  997. package/dist/cjs/index.js +0 -102
  998. package/dist/cjs/index.js.map +0 -1
  999. package/dist/cjs/init.d.ts +0 -14
  1000. package/dist/cjs/init.js +0 -167
  1001. package/dist/cjs/init.js.map +0 -1
  1002. package/dist/cjs/loaders/ProgressiveRetrieveImages.d.ts +0 -35
  1003. package/dist/cjs/loaders/ProgressiveRetrieveImages.js +0 -249
  1004. package/dist/cjs/loaders/ProgressiveRetrieveImages.js.map +0 -1
  1005. package/dist/cjs/loaders/configuration/interleavedRetrieve.d.ts +0 -3
  1006. package/dist/cjs/loaders/configuration/interleavedRetrieve.js +0 -79
  1007. package/dist/cjs/loaders/configuration/interleavedRetrieve.js.map +0 -1
  1008. package/dist/cjs/loaders/configuration/sequentialRetrieve.d.ts +0 -3
  1009. package/dist/cjs/loaders/configuration/sequentialRetrieve.js +0 -14
  1010. package/dist/cjs/loaders/configuration/sequentialRetrieve.js.map +0 -1
  1011. package/dist/cjs/loaders/configuration/singleRetrieve.d.ts +0 -3
  1012. package/dist/cjs/loaders/configuration/singleRetrieve.js +0 -13
  1013. package/dist/cjs/loaders/configuration/singleRetrieve.js.map +0 -1
  1014. package/dist/cjs/loaders/fillNearbyFrames.d.ts +0 -3
  1015. package/dist/cjs/loaders/fillNearbyFrames.js +0 -37
  1016. package/dist/cjs/loaders/fillNearbyFrames.js.map +0 -1
  1017. package/dist/cjs/loaders/geometryLoader.d.ts +0 -9
  1018. package/dist/cjs/loaders/geometryLoader.js +0 -75
  1019. package/dist/cjs/loaders/geometryLoader.js.map +0 -1
  1020. package/dist/cjs/loaders/imageLoader.d.ts +0 -15
  1021. package/dist/cjs/loaders/imageLoader.js +0 -141
  1022. package/dist/cjs/loaders/imageLoader.js.map +0 -1
  1023. package/dist/cjs/loaders/volumeLoader.d.ts +0 -30
  1024. package/dist/cjs/loaders/volumeLoader.js +0 -271
  1025. package/dist/cjs/loaders/volumeLoader.js.map +0 -1
  1026. package/dist/cjs/metaData.d.ts +0 -7
  1027. package/dist/cjs/metaData.js +0 -43
  1028. package/dist/cjs/metaData.js.map +0 -1
  1029. package/dist/cjs/requestPool/imageLoadPoolManager.d.ts +0 -3
  1030. package/dist/cjs/requestPool/imageLoadPoolManager.js +0 -14
  1031. package/dist/cjs/requestPool/imageLoadPoolManager.js.map +0 -1
  1032. package/dist/cjs/requestPool/imageRetrievalPoolManager.d.ts +0 -3
  1033. package/dist/cjs/requestPool/imageRetrievalPoolManager.js +0 -14
  1034. package/dist/cjs/requestPool/imageRetrievalPoolManager.js.map +0 -1
  1035. package/dist/cjs/requestPool/requestPoolManager.d.ts +0 -45
  1036. package/dist/cjs/requestPool/requestPoolManager.js +0 -147
  1037. package/dist/cjs/requestPool/requestPoolManager.js.map +0 -1
  1038. package/dist/cjs/types/ActorSliceRange.d.ts +0 -11
  1039. package/dist/cjs/types/ActorSliceRange.js +0 -3
  1040. package/dist/cjs/types/ActorSliceRange.js.map +0 -1
  1041. package/dist/cjs/types/AffineMatrix.d.ts +0 -27
  1042. package/dist/cjs/types/AffineMatrix.js +0 -3
  1043. package/dist/cjs/types/AffineMatrix.js.map +0 -1
  1044. package/dist/cjs/types/CPUFallbackColormap.d.ts +0 -20
  1045. package/dist/cjs/types/CPUFallbackColormap.js +0 -3
  1046. package/dist/cjs/types/CPUFallbackColormap.js.map +0 -1
  1047. package/dist/cjs/types/CPUFallbackColormapData.d.ts +0 -10
  1048. package/dist/cjs/types/CPUFallbackColormapData.js +0 -3
  1049. package/dist/cjs/types/CPUFallbackColormapData.js.map +0 -1
  1050. package/dist/cjs/types/CPUFallbackColormapsData.d.ts +0 -5
  1051. package/dist/cjs/types/CPUFallbackColormapsData.js +0 -3
  1052. package/dist/cjs/types/CPUFallbackColormapsData.js.map +0 -1
  1053. package/dist/cjs/types/CPUFallbackEnabledElement.d.ts +0 -37
  1054. package/dist/cjs/types/CPUFallbackEnabledElement.js +0 -3
  1055. package/dist/cjs/types/CPUFallbackEnabledElement.js.map +0 -1
  1056. package/dist/cjs/types/CPUFallbackLUT.d.ts +0 -4
  1057. package/dist/cjs/types/CPUFallbackLUT.js +0 -3
  1058. package/dist/cjs/types/CPUFallbackLUT.js.map +0 -1
  1059. package/dist/cjs/types/CPUFallbackLookupTable.d.ts +0 -15
  1060. package/dist/cjs/types/CPUFallbackLookupTable.js +0 -3
  1061. package/dist/cjs/types/CPUFallbackLookupTable.js.map +0 -1
  1062. package/dist/cjs/types/CPUFallbackRenderingTools.d.ts +0 -23
  1063. package/dist/cjs/types/CPUFallbackRenderingTools.js +0 -3
  1064. package/dist/cjs/types/CPUFallbackRenderingTools.js.map +0 -1
  1065. package/dist/cjs/types/CPUFallbackTransform.d.ts +0 -14
  1066. package/dist/cjs/types/CPUFallbackTransform.js +0 -3
  1067. package/dist/cjs/types/CPUFallbackTransform.js.map +0 -1
  1068. package/dist/cjs/types/CPUFallbackViewport.d.ts +0 -27
  1069. package/dist/cjs/types/CPUFallbackViewport.js +0 -3
  1070. package/dist/cjs/types/CPUFallbackViewport.js.map +0 -1
  1071. package/dist/cjs/types/CPUFallbackViewportDisplayedArea.d.ts +0 -14
  1072. package/dist/cjs/types/CPUFallbackViewportDisplayedArea.js +0 -3
  1073. package/dist/cjs/types/CPUFallbackViewportDisplayedArea.js.map +0 -1
  1074. package/dist/cjs/types/CPUIImageData.d.ts +0 -37
  1075. package/dist/cjs/types/CPUIImageData.js +0 -3
  1076. package/dist/cjs/types/CPUIImageData.js.map +0 -1
  1077. package/dist/cjs/types/Colormap.d.ts +0 -15
  1078. package/dist/cjs/types/Colormap.js +0 -3
  1079. package/dist/cjs/types/Colormap.js.map +0 -1
  1080. package/dist/cjs/types/ContourData.d.ts +0 -17
  1081. package/dist/cjs/types/ContourData.js +0 -3
  1082. package/dist/cjs/types/ContourData.js.map +0 -1
  1083. package/dist/cjs/types/Cornerstone3DConfig.d.ts +0 -12
  1084. package/dist/cjs/types/Cornerstone3DConfig.js +0 -3
  1085. package/dist/cjs/types/Cornerstone3DConfig.js.map +0 -1
  1086. package/dist/cjs/types/CustomEventType.d.ts +0 -5
  1087. package/dist/cjs/types/CustomEventType.js +0 -3
  1088. package/dist/cjs/types/CustomEventType.js.map +0 -1
  1089. package/dist/cjs/types/EventTypes.d.ts +0 -155
  1090. package/dist/cjs/types/EventTypes.js +0 -3
  1091. package/dist/cjs/types/EventTypes.js.map +0 -1
  1092. package/dist/cjs/types/FlipDirection.d.ts +0 -5
  1093. package/dist/cjs/types/FlipDirection.js +0 -3
  1094. package/dist/cjs/types/FlipDirection.js.map +0 -1
  1095. package/dist/cjs/types/IActor.d.ts +0 -12
  1096. package/dist/cjs/types/IActor.js +0 -3
  1097. package/dist/cjs/types/IActor.js.map +0 -1
  1098. package/dist/cjs/types/ICache.d.ts +0 -12
  1099. package/dist/cjs/types/ICache.js +0 -3
  1100. package/dist/cjs/types/ICache.js.map +0 -1
  1101. package/dist/cjs/types/ICachedGeometry.d.ts +0 -11
  1102. package/dist/cjs/types/ICachedGeometry.js +0 -3
  1103. package/dist/cjs/types/ICachedGeometry.js.map +0 -1
  1104. package/dist/cjs/types/ICachedImage.d.ts +0 -11
  1105. package/dist/cjs/types/ICachedImage.js +0 -3
  1106. package/dist/cjs/types/ICachedImage.js.map +0 -1
  1107. package/dist/cjs/types/ICachedVolume.d.ts +0 -10
  1108. package/dist/cjs/types/ICachedVolume.js +0 -3
  1109. package/dist/cjs/types/ICachedVolume.js.map +0 -1
  1110. package/dist/cjs/types/ICamera.d.ts +0 -16
  1111. package/dist/cjs/types/ICamera.js +0 -3
  1112. package/dist/cjs/types/ICamera.js.map +0 -1
  1113. package/dist/cjs/types/IContour.d.ts +0 -13
  1114. package/dist/cjs/types/IContour.js +0 -3
  1115. package/dist/cjs/types/IContour.js.map +0 -1
  1116. package/dist/cjs/types/IContourSet.d.ts +0 -19
  1117. package/dist/cjs/types/IContourSet.js +0 -3
  1118. package/dist/cjs/types/IContourSet.js.map +0 -1
  1119. package/dist/cjs/types/IDynamicImageVolume.d.ts +0 -8
  1120. package/dist/cjs/types/IDynamicImageVolume.js +0 -3
  1121. package/dist/cjs/types/IDynamicImageVolume.js.map +0 -1
  1122. package/dist/cjs/types/IEnabledElement.d.ts +0 -11
  1123. package/dist/cjs/types/IEnabledElement.js +0 -3
  1124. package/dist/cjs/types/IEnabledElement.js.map +0 -1
  1125. package/dist/cjs/types/IGeometry.d.ts +0 -9
  1126. package/dist/cjs/types/IGeometry.js +0 -3
  1127. package/dist/cjs/types/IGeometry.js.map +0 -1
  1128. package/dist/cjs/types/IImage.d.ts +0 -73
  1129. package/dist/cjs/types/IImage.js +0 -3
  1130. package/dist/cjs/types/IImage.js.map +0 -1
  1131. package/dist/cjs/types/IImageCalibration.d.ts +0 -11
  1132. package/dist/cjs/types/IImageCalibration.js +0 -3
  1133. package/dist/cjs/types/IImageCalibration.js.map +0 -1
  1134. package/dist/cjs/types/IImageData.d.ts +0 -27
  1135. package/dist/cjs/types/IImageData.js +0 -3
  1136. package/dist/cjs/types/IImageData.js.map +0 -1
  1137. package/dist/cjs/types/IImageVolume.d.ts +0 -35
  1138. package/dist/cjs/types/IImageVolume.js +0 -3
  1139. package/dist/cjs/types/IImageVolume.js.map +0 -1
  1140. package/dist/cjs/types/ILoadObject.d.ts +0 -18
  1141. package/dist/cjs/types/ILoadObject.js +0 -3
  1142. package/dist/cjs/types/ILoadObject.js.map +0 -1
  1143. package/dist/cjs/types/IRegisterImageLoader.d.ts +0 -5
  1144. package/dist/cjs/types/IRegisterImageLoader.js +0 -3
  1145. package/dist/cjs/types/IRegisterImageLoader.js.map +0 -1
  1146. package/dist/cjs/types/IRenderingEngine.d.ts +0 -24
  1147. package/dist/cjs/types/IRenderingEngine.js +0 -3
  1148. package/dist/cjs/types/IRenderingEngine.js.map +0 -1
  1149. package/dist/cjs/types/IRetrieveConfiguration.d.ts +0 -38
  1150. package/dist/cjs/types/IRetrieveConfiguration.js +0 -3
  1151. package/dist/cjs/types/IRetrieveConfiguration.js.map +0 -1
  1152. package/dist/cjs/types/IStackViewport.d.ts +0 -44
  1153. package/dist/cjs/types/IStackViewport.js +0 -3
  1154. package/dist/cjs/types/IStackViewport.js.map +0 -1
  1155. package/dist/cjs/types/IStreamingImageVolume.d.ts +0 -6
  1156. package/dist/cjs/types/IStreamingImageVolume.js +0 -3
  1157. package/dist/cjs/types/IStreamingImageVolume.js.map +0 -1
  1158. package/dist/cjs/types/IStreamingVolumeProperties.d.ts +0 -12
  1159. package/dist/cjs/types/IStreamingVolumeProperties.js +0 -3
  1160. package/dist/cjs/types/IStreamingVolumeProperties.js.map +0 -1
  1161. package/dist/cjs/types/IViewport.d.ts +0 -89
  1162. package/dist/cjs/types/IViewport.js +0 -3
  1163. package/dist/cjs/types/IViewport.js.map +0 -1
  1164. package/dist/cjs/types/IViewportId.d.ts +0 -4
  1165. package/dist/cjs/types/IViewportId.js +0 -3
  1166. package/dist/cjs/types/IViewportId.js.map +0 -1
  1167. package/dist/cjs/types/IVolume.d.ts +0 -26
  1168. package/dist/cjs/types/IVolume.js +0 -3
  1169. package/dist/cjs/types/IVolume.js.map +0 -1
  1170. package/dist/cjs/types/IVolumeInput.d.ts +0 -15
  1171. package/dist/cjs/types/IVolumeInput.js +0 -3
  1172. package/dist/cjs/types/IVolumeInput.js.map +0 -1
  1173. package/dist/cjs/types/IVolumeViewport.d.ts +0 -34
  1174. package/dist/cjs/types/IVolumeViewport.js +0 -3
  1175. package/dist/cjs/types/IVolumeViewport.js.map +0 -1
  1176. package/dist/cjs/types/ImageLoadListener.d.ts +0 -5
  1177. package/dist/cjs/types/ImageLoadListener.js +0 -3
  1178. package/dist/cjs/types/ImageLoadListener.js.map +0 -1
  1179. package/dist/cjs/types/ImageLoaderFn.d.ts +0 -6
  1180. package/dist/cjs/types/ImageLoaderFn.js +0 -3
  1181. package/dist/cjs/types/ImageLoaderFn.js.map +0 -1
  1182. package/dist/cjs/types/ImagePixelModule.d.ts +0 -13
  1183. package/dist/cjs/types/ImagePixelModule.js +0 -3
  1184. package/dist/cjs/types/ImagePixelModule.js.map +0 -1
  1185. package/dist/cjs/types/ImagePlaneModule.d.ts +0 -16
  1186. package/dist/cjs/types/ImagePlaneModule.js +0 -3
  1187. package/dist/cjs/types/ImagePlaneModule.js.map +0 -1
  1188. package/dist/cjs/types/ImageSliceData.d.ts +0 -5
  1189. package/dist/cjs/types/ImageSliceData.js +0 -3
  1190. package/dist/cjs/types/ImageSliceData.js.map +0 -1
  1191. package/dist/cjs/types/Mat3.d.ts +0 -2
  1192. package/dist/cjs/types/Mat3.js +0 -3
  1193. package/dist/cjs/types/Mat3.js.map +0 -1
  1194. package/dist/cjs/types/Metadata.d.ts +0 -19
  1195. package/dist/cjs/types/Metadata.js +0 -3
  1196. package/dist/cjs/types/Metadata.js.map +0 -1
  1197. package/dist/cjs/types/OrientationVectors.d.ts +0 -6
  1198. package/dist/cjs/types/OrientationVectors.js +0 -3
  1199. package/dist/cjs/types/OrientationVectors.js.map +0 -1
  1200. package/dist/cjs/types/PixelDataTypedArray.d.ts +0 -1
  1201. package/dist/cjs/types/PixelDataTypedArray.js +0 -3
  1202. package/dist/cjs/types/PixelDataTypedArray.js.map +0 -1
  1203. package/dist/cjs/types/Plane.d.ts +0 -2
  1204. package/dist/cjs/types/Plane.js +0 -3
  1205. package/dist/cjs/types/Plane.js.map +0 -1
  1206. package/dist/cjs/types/Point2.d.ts +0 -2
  1207. package/dist/cjs/types/Point2.js +0 -3
  1208. package/dist/cjs/types/Point2.js.map +0 -1
  1209. package/dist/cjs/types/Point3.d.ts +0 -2
  1210. package/dist/cjs/types/Point3.js +0 -3
  1211. package/dist/cjs/types/Point3.js.map +0 -1
  1212. package/dist/cjs/types/Point4.d.ts +0 -2
  1213. package/dist/cjs/types/Point4.js +0 -3
  1214. package/dist/cjs/types/Point4.js.map +0 -1
  1215. package/dist/cjs/types/RGB.d.ts +0 -2
  1216. package/dist/cjs/types/RGB.js +0 -3
  1217. package/dist/cjs/types/RGB.js.map +0 -1
  1218. package/dist/cjs/types/ScalingParameters.d.ts +0 -19
  1219. package/dist/cjs/types/ScalingParameters.js +0 -3
  1220. package/dist/cjs/types/ScalingParameters.js.map +0 -1
  1221. package/dist/cjs/types/StackViewportProperties.d.ts +0 -9
  1222. package/dist/cjs/types/StackViewportProperties.js +0 -3
  1223. package/dist/cjs/types/StackViewportProperties.js.map +0 -1
  1224. package/dist/cjs/types/TransformMatrix2D.d.ts +0 -2
  1225. package/dist/cjs/types/TransformMatrix2D.js +0 -3
  1226. package/dist/cjs/types/TransformMatrix2D.js.map +0 -1
  1227. package/dist/cjs/types/ViewportInputOptions.d.ts +0 -12
  1228. package/dist/cjs/types/ViewportInputOptions.js +0 -3
  1229. package/dist/cjs/types/ViewportInputOptions.js.map +0 -1
  1230. package/dist/cjs/types/ViewportPreset.d.ts +0 -13
  1231. package/dist/cjs/types/ViewportPreset.js +0 -3
  1232. package/dist/cjs/types/ViewportPreset.js.map +0 -1
  1233. package/dist/cjs/types/ViewportProperties.d.ts +0 -9
  1234. package/dist/cjs/types/ViewportProperties.js +0 -3
  1235. package/dist/cjs/types/ViewportProperties.js.map +0 -1
  1236. package/dist/cjs/types/VolumeLoaderFn.d.ts +0 -6
  1237. package/dist/cjs/types/VolumeLoaderFn.js +0 -3
  1238. package/dist/cjs/types/VolumeLoaderFn.js.map +0 -1
  1239. package/dist/cjs/types/VolumeViewportProperties.d.ts +0 -7
  1240. package/dist/cjs/types/VolumeViewportProperties.js +0 -3
  1241. package/dist/cjs/types/VolumeViewportProperties.js.map +0 -1
  1242. package/dist/cjs/types/displayArea.d.ts +0 -9
  1243. package/dist/cjs/types/displayArea.js +0 -3
  1244. package/dist/cjs/types/displayArea.js.map +0 -1
  1245. package/dist/cjs/types/index.d.ts +0 -72
  1246. package/dist/cjs/types/index.js +0 -3
  1247. package/dist/cjs/types/index.js.map +0 -1
  1248. package/dist/cjs/types/voi.d.ts +0 -9
  1249. package/dist/cjs/types/voi.js +0 -3
  1250. package/dist/cjs/types/voi.js.map +0 -1
  1251. package/dist/cjs/utilities/ProgressiveIterator.d.ts +0 -24
  1252. package/dist/cjs/utilities/ProgressiveIterator.js +0 -236
  1253. package/dist/cjs/utilities/ProgressiveIterator.js.map +0 -1
  1254. package/dist/cjs/utilities/actorCheck.d.ts +0 -5
  1255. package/dist/cjs/utilities/actorCheck.js +0 -13
  1256. package/dist/cjs/utilities/actorCheck.js.map +0 -1
  1257. package/dist/cjs/utilities/applyPreset.d.ts +0 -3
  1258. package/dist/cjs/utilities/applyPreset.js +0 -94
  1259. package/dist/cjs/utilities/applyPreset.js.map +0 -1
  1260. package/dist/cjs/utilities/calculateViewportsSpatialRegistration.d.ts +0 -3
  1261. package/dist/cjs/utilities/calculateViewportsSpatialRegistration.js +0 -32
  1262. package/dist/cjs/utilities/calculateViewportsSpatialRegistration.js.map +0 -1
  1263. package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.d.ts +0 -6
  1264. package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.js +0 -21
  1265. package/dist/cjs/utilities/calibratedPixelSpacingMetadataProvider.js.map +0 -1
  1266. package/dist/cjs/utilities/colormap.d.ts +0 -5
  1267. package/dist/cjs/utilities/colormap.js +0 -17
  1268. package/dist/cjs/utilities/colormap.js.map +0 -1
  1269. package/dist/cjs/utilities/createFloat32SharedArray.d.ts +0 -2
  1270. package/dist/cjs/utilities/createFloat32SharedArray.js +0 -15
  1271. package/dist/cjs/utilities/createFloat32SharedArray.js.map +0 -1
  1272. package/dist/cjs/utilities/createInt16SharedArray.d.ts +0 -2
  1273. package/dist/cjs/utilities/createInt16SharedArray.js +0 -14
  1274. package/dist/cjs/utilities/createInt16SharedArray.js.map +0 -1
  1275. package/dist/cjs/utilities/createLinearRGBTransferFunction.d.ts +0 -3
  1276. package/dist/cjs/utilities/createLinearRGBTransferFunction.js +0 -22
  1277. package/dist/cjs/utilities/createLinearRGBTransferFunction.js.map +0 -1
  1278. package/dist/cjs/utilities/createSigmoidRGBTransferFunction.d.ts +0 -3
  1279. package/dist/cjs/utilities/createSigmoidRGBTransferFunction.js +0 -29
  1280. package/dist/cjs/utilities/createSigmoidRGBTransferFunction.js.map +0 -1
  1281. package/dist/cjs/utilities/createUInt16SharedArray.d.ts +0 -2
  1282. package/dist/cjs/utilities/createUInt16SharedArray.js +0 -14
  1283. package/dist/cjs/utilities/createUInt16SharedArray.js.map +0 -1
  1284. package/dist/cjs/utilities/createUint8SharedArray.d.ts +0 -2
  1285. package/dist/cjs/utilities/createUint8SharedArray.js +0 -15
  1286. package/dist/cjs/utilities/createUint8SharedArray.js.map +0 -1
  1287. package/dist/cjs/utilities/decimate.d.ts +0 -1
  1288. package/dist/cjs/utilities/decimate.js +0 -11
  1289. package/dist/cjs/utilities/decimate.js.map +0 -1
  1290. package/dist/cjs/utilities/deepFreeze.d.ts +0 -2
  1291. package/dist/cjs/utilities/deepFreeze.js +0 -14
  1292. package/dist/cjs/utilities/deepFreeze.js.map +0 -1
  1293. package/dist/cjs/utilities/deepMerge.d.ts +0 -2
  1294. package/dist/cjs/utilities/deepMerge.js +0 -63
  1295. package/dist/cjs/utilities/deepMerge.js.map +0 -1
  1296. package/dist/cjs/utilities/getClosestImageId.d.ts +0 -2
  1297. package/dist/cjs/utilities/getClosestImageId.js +0 -62
  1298. package/dist/cjs/utilities/getClosestImageId.js.map +0 -1
  1299. package/dist/cjs/utilities/getClosestStackImageIndexForPoint.d.ts +0 -6
  1300. package/dist/cjs/utilities/getClosestStackImageIndexForPoint.js +0 -82
  1301. package/dist/cjs/utilities/getClosestStackImageIndexForPoint.js.map +0 -1
  1302. package/dist/cjs/utilities/getImageLegacy.d.ts +0 -3
  1303. package/dist/cjs/utilities/getImageLegacy.js +0 -20
  1304. package/dist/cjs/utilities/getImageLegacy.js.map +0 -1
  1305. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.d.ts +0 -3
  1306. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js +0 -39
  1307. package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js.map +0 -1
  1308. package/dist/cjs/utilities/getMinMax.d.ts +0 -4
  1309. package/dist/cjs/utilities/getMinMax.js +0 -19
  1310. package/dist/cjs/utilities/getMinMax.js.map +0 -1
  1311. package/dist/cjs/utilities/getRuntimeId.d.ts +0 -1
  1312. package/dist/cjs/utilities/getRuntimeId.js +0 -33
  1313. package/dist/cjs/utilities/getRuntimeId.js.map +0 -1
  1314. package/dist/cjs/utilities/getScalarDataType.d.ts +0 -2
  1315. package/dist/cjs/utilities/getScalarDataType.js +0 -23
  1316. package/dist/cjs/utilities/getScalarDataType.js.map +0 -1
  1317. package/dist/cjs/utilities/getScalingParameters.d.ts +0 -2
  1318. package/dist/cjs/utilities/getScalingParameters.js +0 -21
  1319. package/dist/cjs/utilities/getScalingParameters.js.map +0 -1
  1320. package/dist/cjs/utilities/getSliceRange.d.ts +0 -2
  1321. package/dist/cjs/utilities/getSliceRange.js +0 -63
  1322. package/dist/cjs/utilities/getSliceRange.js.map +0 -1
  1323. package/dist/cjs/utilities/getSpacingInNormalDirection.d.ts +0 -2
  1324. package/dist/cjs/utilities/getSpacingInNormalDirection.js +0 -20
  1325. package/dist/cjs/utilities/getSpacingInNormalDirection.js.map +0 -1
  1326. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +0 -6
  1327. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +0 -66
  1328. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +0 -1
  1329. package/dist/cjs/utilities/getViewportImageCornersInWorld.d.ts +0 -2
  1330. package/dist/cjs/utilities/getViewportImageCornersInWorld.js +0 -64
  1331. package/dist/cjs/utilities/getViewportImageCornersInWorld.js.map +0 -1
  1332. package/dist/cjs/utilities/getViewportsWithImageURI.d.ts +0 -4
  1333. package/dist/cjs/utilities/getViewportsWithImageURI.js +0 -24
  1334. package/dist/cjs/utilities/getViewportsWithImageURI.js.map +0 -1
  1335. package/dist/cjs/utilities/getViewportsWithVolumeId.d.ts +0 -3
  1336. package/dist/cjs/utilities/getViewportsWithVolumeId.js +0 -21
  1337. package/dist/cjs/utilities/getViewportsWithVolumeId.js.map +0 -1
  1338. package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +0 -2
  1339. package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.js +0 -22
  1340. package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.js.map +0 -1
  1341. package/dist/cjs/utilities/getVolumeActorCorners.d.ts +0 -2
  1342. package/dist/cjs/utilities/getVolumeActorCorners.js +0 -18
  1343. package/dist/cjs/utilities/getVolumeActorCorners.js.map +0 -1
  1344. package/dist/cjs/utilities/getVolumeSliceRangeInfo.d.ts +0 -7
  1345. package/dist/cjs/utilities/getVolumeSliceRangeInfo.js +0 -29
  1346. package/dist/cjs/utilities/getVolumeSliceRangeInfo.js.map +0 -1
  1347. package/dist/cjs/utilities/getVolumeViewportScrollInfo.d.ts +0 -11
  1348. package/dist/cjs/utilities/getVolumeViewportScrollInfo.js +0 -25
  1349. package/dist/cjs/utilities/getVolumeViewportScrollInfo.js.map +0 -1
  1350. package/dist/cjs/utilities/getVolumeViewportsContainingSameVolumes.d.ts +0 -3
  1351. package/dist/cjs/utilities/getVolumeViewportsContainingSameVolumes.js +0 -30
  1352. package/dist/cjs/utilities/getVolumeViewportsContainingSameVolumes.js.map +0 -1
  1353. package/dist/cjs/utilities/hasNaNValues.d.ts +0 -1
  1354. package/dist/cjs/utilities/hasNaNValues.js +0 -10
  1355. package/dist/cjs/utilities/hasNaNValues.js.map +0 -1
  1356. package/dist/cjs/utilities/imageIdToURI.d.ts +0 -1
  1357. package/dist/cjs/utilities/imageIdToURI.js +0 -8
  1358. package/dist/cjs/utilities/imageIdToURI.js.map +0 -1
  1359. package/dist/cjs/utilities/imageRetrieveMetadataProvider.d.ts +0 -7
  1360. package/dist/cjs/utilities/imageRetrieveMetadataProvider.js +0 -27
  1361. package/dist/cjs/utilities/imageRetrieveMetadataProvider.js.map +0 -1
  1362. package/dist/cjs/utilities/imageToWorldCoords.d.ts +0 -2
  1363. package/dist/cjs/utilities/imageToWorldCoords.js +0 -20
  1364. package/dist/cjs/utilities/imageToWorldCoords.js.map +0 -1
  1365. package/dist/cjs/utilities/index.d.ts +0 -55
  1366. package/dist/cjs/utilities/index.js +0 -140
  1367. package/dist/cjs/utilities/index.js.map +0 -1
  1368. package/dist/cjs/utilities/indexWithinDimensions.d.ts +0 -2
  1369. package/dist/cjs/utilities/indexWithinDimensions.js +0 -15
  1370. package/dist/cjs/utilities/indexWithinDimensions.js.map +0 -1
  1371. package/dist/cjs/utilities/invertRgbTransferFunction.d.ts +0 -1
  1372. package/dist/cjs/utilities/invertRgbTransferFunction.js +0 -18
  1373. package/dist/cjs/utilities/invertRgbTransferFunction.js.map +0 -1
  1374. package/dist/cjs/utilities/isEqual.d.ts +0 -1
  1375. package/dist/cjs/utilities/isEqual.js +0 -36
  1376. package/dist/cjs/utilities/isEqual.js.map +0 -1
  1377. package/dist/cjs/utilities/isOpposite.d.ts +0 -2
  1378. package/dist/cjs/utilities/isOpposite.js +0 -9
  1379. package/dist/cjs/utilities/isOpposite.js.map +0 -1
  1380. package/dist/cjs/utilities/isPTPrescaledWithSUV.d.ts +0 -3
  1381. package/dist/cjs/utilities/isPTPrescaledWithSUV.js +0 -8
  1382. package/dist/cjs/utilities/isPTPrescaledWithSUV.js.map +0 -1
  1383. package/dist/cjs/utilities/isTypedArray.d.ts +0 -1
  1384. package/dist/cjs/utilities/isTypedArray.js +0 -15
  1385. package/dist/cjs/utilities/isTypedArray.js.map +0 -1
  1386. package/dist/cjs/utilities/loadImageToCanvas.d.ts +0 -11
  1387. package/dist/cjs/utilities/loadImageToCanvas.js +0 -74
  1388. package/dist/cjs/utilities/loadImageToCanvas.js.map +0 -1
  1389. package/dist/cjs/utilities/planar.d.ts +0 -7
  1390. package/dist/cjs/utilities/planar.js +0 -48
  1391. package/dist/cjs/utilities/planar.js.map +0 -1
  1392. package/dist/cjs/utilities/renderToCanvasCPU.d.ts +0 -2
  1393. package/dist/cjs/utilities/renderToCanvasCPU.js +0 -25
  1394. package/dist/cjs/utilities/renderToCanvasCPU.js.map +0 -1
  1395. package/dist/cjs/utilities/renderToCanvasGPU.d.ts +0 -2
  1396. package/dist/cjs/utilities/renderToCanvasGPU.js +0 -83
  1397. package/dist/cjs/utilities/renderToCanvasGPU.js.map +0 -1
  1398. package/dist/cjs/utilities/scaleRgbTransferFunction.d.ts +0 -1
  1399. package/dist/cjs/utilities/scaleRgbTransferFunction.js +0 -15
  1400. package/dist/cjs/utilities/scaleRgbTransferFunction.js.map +0 -1
  1401. package/dist/cjs/utilities/snapFocalPointToSlice.d.ts +0 -5
  1402. package/dist/cjs/utilities/snapFocalPointToSlice.js +0 -41
  1403. package/dist/cjs/utilities/snapFocalPointToSlice.js.map +0 -1
  1404. package/dist/cjs/utilities/spatialRegistrationMetadataProvider.d.ts +0 -6
  1405. package/dist/cjs/utilities/spatialRegistrationMetadataProvider.js +0 -32
  1406. package/dist/cjs/utilities/spatialRegistrationMetadataProvider.js.map +0 -1
  1407. package/dist/cjs/utilities/transformWorldToIndex.d.ts +0 -2
  1408. package/dist/cjs/utilities/transformWorldToIndex.js +0 -9
  1409. package/dist/cjs/utilities/transformWorldToIndex.js.map +0 -1
  1410. package/dist/cjs/utilities/triggerEvent.d.ts +0 -1
  1411. package/dist/cjs/utilities/triggerEvent.js +0 -18
  1412. package/dist/cjs/utilities/triggerEvent.js.map +0 -1
  1413. package/dist/cjs/utilities/uuidv4.d.ts +0 -1
  1414. package/dist/cjs/utilities/uuidv4.js +0 -7
  1415. package/dist/cjs/utilities/uuidv4.js.map +0 -1
  1416. package/dist/cjs/utilities/windowLevel.d.ts +0 -9
  1417. package/dist/cjs/utilities/windowLevel.js +0 -16
  1418. package/dist/cjs/utilities/windowLevel.js.map +0 -1
  1419. package/dist/cjs/utilities/worldToImageCoords.d.ts +0 -3
  1420. package/dist/cjs/utilities/worldToImageCoords.js +0 -28
  1421. package/dist/cjs/utilities/worldToImageCoords.js.map +0 -1
  1422. package/dist/umd/index.js.LICENSE.txt +0 -1
@@ -9,7 +9,13 @@ import Events from '../enums/Events';
9
9
  import ViewportStatus from '../enums/ViewportStatus';
10
10
  import ViewportType from '../enums/ViewportType';
11
11
  import renderingEngineCache from './renderingEngineCache';
12
- import { triggerEvent, planar, isImageActor, actorIsA } from '../utilities';
12
+ import {
13
+ triggerEvent,
14
+ planar,
15
+ isImageActor,
16
+ actorIsA,
17
+ isEqual,
18
+ } from '../utilities';
13
19
  import hasNaNValues from '../utilities/hasNaNValues';
14
20
  import { RENDERING_DEFAULTS } from '../constants';
15
21
  import type {
@@ -22,11 +28,21 @@ import type {
22
28
  FlipDirection,
23
29
  EventTypes,
24
30
  DisplayArea,
31
+ ViewPresentation,
32
+ ViewReference,
33
+ ViewportProperties,
25
34
  } from '../types';
26
- import type { ViewportInput, IViewport } from '../types/IViewport';
35
+ import type {
36
+ ViewportInput,
37
+ IViewport,
38
+ ViewReferenceSpecifier,
39
+ ReferenceCompatibleOptions,
40
+ ViewPresentationSelector,
41
+ } from '../types/IViewport';
27
42
  import type { vtkSlabCamera } from './vtkClasses/vtkSlabCamera';
28
43
  import { getConfiguration } from '../init';
29
44
  import IImageCalibration from '../types/IImageCalibration';
45
+ import { InterpolationType } from '../enums';
30
46
 
31
47
  /**
32
48
  * An object representing a single viewport, which is a camera
@@ -38,6 +54,31 @@ import IImageCalibration from '../types/IImageCalibration';
38
54
  * logic.
39
55
  */
40
56
  class Viewport implements IViewport {
57
+ /**
58
+ * CameraViewPresentation is a view preentation selector that has all the
59
+ * camera related presentation selections, and would typically be used for
60
+ * choosing presentation information between two viewports showing the same
61
+ * type of orientation of a view, such as the CT, PT and fusion views in the
62
+ * same orientation view.
63
+ */
64
+ public static readonly CameraViewPresentation: ViewPresentationSelector = {
65
+ rotation: true,
66
+ pan: true,
67
+ zoom: true,
68
+ displayArea: true,
69
+ };
70
+
71
+ /**
72
+ * TransferViewPresentation is a view presentation selector that selects all
73
+ * the transfer function related attributes. It would typically be used for
74
+ * synchronizing different orientations of the same series, or for
75
+ * synchronizing two views of the same type of series such as a CT.
76
+ */
77
+ public static readonly TransferViewPresentation: ViewPresentationSelector = {
78
+ windowLevel: true,
79
+ paletteLut: true,
80
+ };
81
+
41
82
  /** unique identifier for the viewport */
42
83
  readonly id: string;
43
84
  /** HTML element in DOM that is used for rendering the viewport */
@@ -48,10 +89,15 @@ class Viewport implements IViewport {
48
89
  readonly renderingEngineId: string;
49
90
  /** Type of viewport */
50
91
  readonly type: ViewportType;
92
+ /**
93
+ * The amount by which the images are inset in a viewport by default.
94
+ */
95
+ protected insetImageMultiplier = 1.1;
96
+
51
97
  protected flipHorizontal = false;
52
98
  protected flipVertical = false;
53
99
  public isDisabled: boolean;
54
- /** Record the renddering status, mostly for testing purposes, but can also
100
+ /** Record the rendering status, mostly for testing purposes, but can also
55
101
  * be useful for knowing things like whether the viewport is initialized
56
102
  */
57
103
  public viewportStatus: ViewportStatus = ViewportStatus.NO_DATA;
@@ -67,10 +113,11 @@ class Viewport implements IViewport {
67
113
  /** a Map containing the actor uid and actors */
68
114
  _actors: Map<string, any>;
69
115
  /** Default options for the viewport which includes orientation, viewPlaneNormal and backgroundColor */
70
- readonly defaultOptions: any;
116
+ readonly defaultOptions: Record<string, any>;
71
117
  /** options for the viewport which includes orientation axis, backgroundColor and displayArea */
72
118
  options: ViewportInputOptions;
73
- private _suppressCameraModifiedEvents = false;
119
+ /** informs if a new actor was added before a resetCameraClippingRange phase */
120
+ _suppressCameraModifiedEvents = false;
74
121
  /** A flag representing if viewport methods should fire events or not */
75
122
  readonly suppressEvents: boolean;
76
123
  protected hasPixelSpacing = true;
@@ -82,7 +129,7 @@ class Viewport implements IViewport {
82
129
  /** The camera that is defined for resetting displayArea to ensure absolute displayArea
83
130
  * settings
84
131
  */
85
- private fitToCanvasCamera: ICamera;
132
+ protected fitToCanvasCamera: ICamera;
86
133
 
87
134
  constructor(props: ViewportInput) {
88
135
  this.id = props.id;
@@ -116,13 +163,47 @@ class Viewport implements IViewport {
116
163
  worldToCanvas: (worldPos: Point3) => Point2;
117
164
  customRenderViewportToCanvas: () => unknown;
118
165
  resize: () => void;
119
- getProperties: () => void;
166
+ getProperties: () => ViewportProperties = () => ({});
120
167
  updateRenderingPipeline: () => void;
168
+ getNumberOfSlices: () => number;
169
+ protected setRotation = (_rotation: number) => {
170
+ /*empty*/
171
+ };
121
172
 
122
173
  static get useCustomRenderingPipeline(): boolean {
123
174
  return false;
124
175
  }
125
176
 
177
+ private viewportWidgets = new Map() as Map<string, any>;
178
+
179
+ public addWidget = (widgetId, widget) => {
180
+ this.viewportWidgets.set(widgetId, widget);
181
+ };
182
+
183
+ public getWidget = (id) => {
184
+ return this.viewportWidgets.get(id);
185
+ };
186
+
187
+ public getWidgets = () => {
188
+ return Array.from(this.viewportWidgets.values());
189
+ };
190
+
191
+ public removeWidgets = () => {
192
+ const widgets = this.getWidgets();
193
+ widgets.forEach((widget) => {
194
+ if (widget.getEnabled()) {
195
+ widget.setEnabled(false);
196
+ }
197
+ if (widget.getActor && widget.getRenderer) {
198
+ const actor = widget.getActor();
199
+ const renderer = widget.getRenderer();
200
+ if (renderer && actor) {
201
+ renderer.removeActor(actor);
202
+ }
203
+ }
204
+ });
205
+ };
206
+
126
207
  /**
127
208
  * Indicate that the image has been rendered.
128
209
  * This will set the viewportStatus to RENDERED if there is image data
@@ -212,8 +293,8 @@ class Viewport implements IViewport {
212
293
  * works with vtk-js backed rendering pipeline.
213
294
  *
214
295
  * @param flipOptions - Flip options specifying the axis of flip
215
- * @param flipOptions.flipHorizontal - Flip the viewport on horizontal axis
216
- * @param flipOptions.flipVertical - Flip the viewport on vertical axis
296
+ * * flipOptions.flipHorizontal - Flip the viewport on horizontal axis
297
+ * * flipOptions.flipVertical - Flip the viewport on vertical axis
217
298
  */
218
299
  protected flip({ flipHorizontal, flipVertical }: FlipDirection): void {
219
300
  const imageData = this.getDefaultImageData();
@@ -358,6 +439,14 @@ class Viewport implements IViewport {
358
439
  return Array.from(this._actors.values());
359
440
  }
360
441
 
442
+ /**
443
+ * Returns an array of unique identifiers for all the actors in the viewport.
444
+ * @returns An array of strings
445
+ */
446
+ public getActorUIDs(): Array<string> {
447
+ return Array.from(this._actors.keys());
448
+ }
449
+
361
450
  /**
362
451
  * Get an actor by its UID
363
452
  * @param actorUID - The unique ID of the actor.
@@ -453,9 +542,9 @@ class Viewport implements IViewport {
453
542
  * Add an actor to the viewport including its id, its actor and slabThickness
454
543
  * if defined
455
544
  * @param actorEntry - ActorEntry
456
- * @param actorEntry.uid - The unique identifier for the actor.
457
- * @param actorEntry.actor - The volume actor.
458
- * @param actorEntry.slabThickness - The slab thickness.
545
+ * * actorEntry.uid - The unique identifier for the actor.
546
+ * * actorEntry.actor - The volume actor.
547
+ * * actorEntry.slabThickness - The slab thickness.
459
548
  */
460
549
  public addActor(actorEntry: ActorEntry): void {
461
550
  const { uid: actorUID, actor } = actorEntry;
@@ -478,15 +567,19 @@ class Viewport implements IViewport {
478
567
  }
479
568
 
480
569
  const renderer = this.getRenderer();
481
- renderer.addActor(actor);
570
+ renderer?.addActor(actor);
482
571
  this._actors.set(actorUID, Object.assign({}, actorEntry));
572
+
573
+ // when we add an actor we should update the camera clipping range and
574
+ // clipping planes as well
575
+ this.updateCameraClippingPlanesAndRange();
483
576
  }
484
577
 
485
578
  /**
486
579
  * Remove all actors from the renderer
487
580
  */
488
581
  public removeAllActors(): void {
489
- this.getRenderer().removeAllViewProps();
582
+ this.getRenderer()?.removeAllViewProps();
490
583
  this._actors = new Map();
491
584
  return;
492
585
  }
@@ -558,6 +651,13 @@ class Viewport implements IViewport {
558
651
  return intersections;
559
652
  }
560
653
 
654
+ /**
655
+ * Sets the interpolation type. No-op in the base.
656
+ */
657
+ protected setInterpolationType(_interpolationType: InterpolationType, _arg?) {
658
+ // No-op - just done to allow setting on the base viewport
659
+ }
660
+
561
661
  /**
562
662
  * Sets the camera to an initial bounds. If
563
663
  * resetPan and resetZoom are true it places the focal point at the center of
@@ -570,54 +670,43 @@ class Viewport implements IViewport {
570
670
  displayArea: DisplayArea,
571
671
  suppressEvents = false
572
672
  ): void {
573
- const { storeAsInitialCamera } = displayArea;
574
-
575
- // make calculations relative to the fitToCanvasCamera view
576
- this.setCamera(this.fitToCanvasCamera, false);
577
-
578
- const { imageArea, imageCanvasPoint } = displayArea;
579
-
580
- if (imageArea) {
581
- const [areaX, areaY] = imageArea;
582
- const zoom = Math.min(this.getZoom() / areaX, this.getZoom() / areaY);
583
- this.setZoom(zoom, storeAsInitialCamera);
673
+ if (!displayArea) {
674
+ return;
584
675
  }
676
+ const { storeAsInitialCamera, type: areaType } = displayArea;
585
677
 
586
- // getting the image info
587
- const imageData = this.getDefaultImageData();
588
- if (imageCanvasPoint && imageData) {
589
- const { imagePoint, canvasPoint } = imageCanvasPoint;
590
- const [canvasX, canvasY] = canvasPoint;
591
- const devicePixelRatio = window?.devicePixelRatio || 1;
592
- const validateCanvasPanX = this.sWidth / devicePixelRatio;
593
- const validateCanvasPanY = this.sHeight / devicePixelRatio;
594
- const canvasPanX = validateCanvasPanX * (canvasX - 0.5);
595
- const canvasPanY = validateCanvasPanY * (canvasY - 0.5);
678
+ // Instead of storing the camera itself, if initial camera is set,
679
+ // then store the display area as the baseline display area.
680
+ if (storeAsInitialCamera) {
681
+ this.options.displayArea = displayArea;
682
+ }
596
683
 
597
- const dimensions = imageData.getDimensions();
598
- const canvasZero = this.worldToCanvas([0, 0, 0]);
599
- const canvasEdge = this.worldToCanvas(dimensions);
600
- const canvasImage = [
601
- canvasEdge[0] - canvasZero[0],
602
- canvasEdge[1] - canvasZero[1],
603
- ];
604
- const [imgWidth, imgHeight] = canvasImage;
605
- const [imageX, imageY] = imagePoint;
606
- const imagePanX = imgWidth * (0.5 - imageX);
607
- const imagePanY = imgHeight * (0.5 - imageY);
684
+ // make calculations relative to the fitToCanvasCamera view
685
+ const { _suppressCameraModifiedEvents } = this;
686
+ this._suppressCameraModifiedEvents = true;
608
687
 
609
- const newPositionX = imagePanX + canvasPanX;
610
- const newPositionY = imagePanY + canvasPanY;
688
+ // This should only apply for storeAsInitialCamera, but the calculations
689
+ // currently don't quite work otherwise.
690
+ // TODO - fix so that the store works for existing transforms
691
+ this.setCamera(this.fitToCanvasCamera);
611
692
 
612
- const deltaPoint2: Point2 = [newPositionX, newPositionY];
613
- this.setPan(deltaPoint2, storeAsInitialCamera);
693
+ if (areaType === 'SCALE') {
694
+ this.setDisplayAreaScale(displayArea);
695
+ } else {
696
+ this.setInterpolationType(
697
+ this.getProperties()?.interpolationType || InterpolationType.LINEAR
698
+ );
699
+ this.setDisplayAreaFit(displayArea);
614
700
  }
615
701
 
702
+ // Set the initial camera if appropriate
616
703
  if (storeAsInitialCamera) {
617
- this.options.displayArea = displayArea;
704
+ this.initialCamera = this.getCamera();
618
705
  }
619
706
 
620
- if (!suppressEvents) {
707
+ // Restore event firing
708
+ this._suppressCameraModifiedEvents = _suppressCameraModifiedEvents;
709
+ if (!suppressEvents && !_suppressCameraModifiedEvents) {
621
710
  const eventDetail: EventTypes.DisplayAreaModifiedEventDetail = {
622
711
  viewportId: this.id,
623
712
  displayArea: displayArea,
@@ -625,6 +714,156 @@ class Viewport implements IViewport {
625
714
  };
626
715
 
627
716
  triggerEvent(this.element, Events.DISPLAY_AREA_MODIFIED, eventDetail);
717
+ this.setCamera(this.getCamera());
718
+ }
719
+ }
720
+
721
+ /**
722
+ * Sets the viewport to pixel scaling mode. Pixel scaling displays
723
+ * 1 image pixel as 1 (or scale) physical screen pixels. That is,
724
+ * a 1024x512 image will be displayed with scale=2, as 2048x1024
725
+ * physical image pixels.
726
+ *
727
+ * @param displayArea - display area to set
728
+ * * displayArea.scale - the number of physical pixels to display
729
+ * each image pixel in. Values `< 1` mean smaller than physical,
730
+ * while values `> 1` mean more than one pixel. Default is 1
731
+ * Suggest using whole numbers or integer fractions (eg `1/3`)
732
+ */
733
+ protected setDisplayAreaScale(displayArea: DisplayArea): void {
734
+ const { scale = 1 } = displayArea;
735
+ const canvas = this.canvas;
736
+ const height = canvas.height;
737
+ const width = canvas.width;
738
+ if (height < 8 || width < 8) {
739
+ return;
740
+ }
741
+ const imageData = this.getDefaultImageData();
742
+ const spacingWorld = imageData.getSpacing();
743
+ const spacing = spacingWorld[1];
744
+ // Need nearest interpolation for scale
745
+ this.setInterpolationType(InterpolationType.NEAREST);
746
+ this.setCamera({ parallelScale: (height * spacing) / (2 * scale) });
747
+
748
+ // If this is scale, then image area isn't allowed, so just delete it to be safe
749
+ delete displayArea.imageArea;
750
+ // Apply the pan values from the display area.
751
+ this.setDisplayAreaFit(displayArea);
752
+
753
+ // Need to ensure the focal point is aligned with the canvas size/position
754
+ // so that we don't get half pixel rendering, which causes additional
755
+ // moire patterns to be displayed.
756
+ // This is based on the canvas size having the center pixel be at a fractional
757
+ // position when the size is even, so matching a fractional position on the
758
+ // focal point to the center of an image pixel.
759
+ const { focalPoint, position, viewUp, viewPlaneNormal } = this.getCamera();
760
+ const focalChange = vec3.create();
761
+ if (canvas.height % 2) {
762
+ vec3.scaleAndAdd(focalChange, focalChange, viewUp, scale * 0.5 * spacing);
763
+ }
764
+ if (canvas.width % 2) {
765
+ const viewRight = vec3.cross(vec3.create(), viewUp, viewPlaneNormal);
766
+ vec3.scaleAndAdd(
767
+ focalChange,
768
+ focalChange,
769
+ viewRight,
770
+ scale * 0.5 * spacing
771
+ );
772
+ }
773
+ if (!focalChange[0] && !focalChange[1] && !focalChange[2]) {
774
+ return;
775
+ }
776
+ this.setCamera({
777
+ focalPoint: <Point3>vec3.add(vec3.create(), focalPoint, focalChange),
778
+ position: <Point3>vec3.add(vec3.create(), position, focalChange),
779
+ });
780
+ }
781
+
782
+ /**
783
+ * This applies a display area with a fit of the provided area to the
784
+ * available area.
785
+ * The zoom level is controlled by the imageArea parameter, which is a pair
786
+ * of percentage width in the horizontal and vertical dimension is scaled
787
+ * to fit the displayable area. Both values are taken into account, and the
788
+ * scaling is set so that both fractions of the image area are visible.
789
+ *
790
+ * The panning is controlled by the imageCanvasPoint, which has two
791
+ * values, teh imagePoint and the canvasPoint. They are fractional
792
+ * values of the image and canvas respectively, with the panning set to
793
+ * display the image pixel at the given fraction on top of the canvas at the
794
+ * given percentage. The default points are 0.5.
795
+ *
796
+ * For example, if the zoom level is [2,1], then the image is displayed
797
+ * such that at least twice the width is visible, and the height is visible.
798
+ * That will result in the image width being black, divided up on the left
799
+ * and right according to the imageCanvasPoint
800
+ *
801
+ * Then, if the imagePoint is [1,0] and the canvas point is [1,0], then
802
+ * the right most edge of the image, at the top of the image, will be
803
+ * displayed at the right most edge of the canvas, at the top.
804
+ *
805
+ */
806
+ protected setDisplayAreaFit(displayArea: DisplayArea) {
807
+ const { imageArea, imageCanvasPoint } = displayArea;
808
+
809
+ const devicePixelRatio = window?.devicePixelRatio || 1;
810
+ const imageData = this.getDefaultImageData();
811
+ if (!imageData) {
812
+ return;
813
+ }
814
+ const canvasWidth = this.sWidth / devicePixelRatio;
815
+ const canvasHeight = this.sHeight / devicePixelRatio;
816
+ const dimensions = imageData.getDimensions();
817
+ const canvasZero = this.worldToCanvas(imageData.indexToWorld([0, 0, 0]));
818
+ const canvasEdge = this.worldToCanvas(
819
+ imageData.indexToWorld([
820
+ dimensions[0] - 1,
821
+ dimensions[1] - 1,
822
+ dimensions[2],
823
+ ])
824
+ );
825
+
826
+ const canvasImage = [
827
+ Math.abs(canvasEdge[0] - canvasZero[0]),
828
+ Math.abs(canvasEdge[1] - canvasZero[1]),
829
+ ];
830
+ const [imgWidth, imgHeight] = canvasImage;
831
+
832
+ if (imageArea) {
833
+ const [areaX, areaY] = imageArea;
834
+ const requireX = Math.abs((areaX * imgWidth) / canvasWidth);
835
+ const requireY = Math.abs((areaY * imgHeight) / canvasHeight);
836
+
837
+ const initZoom = this.getZoom();
838
+ const fitZoom = this.getZoom(this.fitToCanvasCamera);
839
+ const absZoom = Math.min(1 / requireX, 1 / requireY);
840
+ const applyZoom = (absZoom * initZoom) / fitZoom;
841
+ this.setZoom(applyZoom, false);
842
+ }
843
+
844
+ // getting the image info
845
+ // getting the image info
846
+ if (imageCanvasPoint) {
847
+ const { imagePoint, canvasPoint = imagePoint || [0.5, 0.5] } =
848
+ imageCanvasPoint;
849
+ const [canvasX, canvasY] = canvasPoint;
850
+ const canvasPanX = canvasWidth * (canvasX - 0.5);
851
+ const canvasPanY = canvasHeight * (canvasY - 0.5);
852
+
853
+ const [imageX, imageY] = imagePoint || canvasPoint;
854
+ const useZoom = 1;
855
+ const imagePanX = useZoom * imgWidth * (0.5 - imageX);
856
+ const imagePanY = useZoom * imgHeight * (0.5 - imageY);
857
+
858
+ const newPositionX = imagePanX + canvasPanX;
859
+ const newPositionY = imagePanY + canvasPanY;
860
+
861
+ const deltaPoint2: Point2 = [newPositionX, newPositionY];
862
+ // Use getPan from current for the setting
863
+ vec2.add(deltaPoint2, deltaPoint2, this.getPan());
864
+ // The pan is part of the display area settings, not the initial camera, so
865
+ // don't store as initial camera here - that breaks rotation and other changes.
866
+ this.setPan(deltaPoint2, false);
628
867
  }
629
868
  }
630
869
 
@@ -654,7 +893,10 @@ class Viewport implements IViewport {
654
893
  // fix the flip right away, since we rely on the viewPlaneNormal and
655
894
  // viewUp for later. Basically, we need to flip back if flipHorizontal
656
895
  // is true or flipVertical is true
657
- this.setCamera({
896
+ // we should use resetCamera no event here, since we don't want to fire
897
+ // camera modified events yet since a proper one will be fired later down
898
+ // below
899
+ this.setCameraNoEvent({
658
900
  flipHorizontal: false,
659
901
  flipVertical: false,
660
902
  });
@@ -664,7 +906,10 @@ class Viewport implements IViewport {
664
906
  const focalPoint = <Point3>[0, 0, 0];
665
907
  const imageData = this.getDefaultImageData();
666
908
 
667
- // Todo: remove this, this is just for tests passing
909
+ // The bounds are used to set the clipping view, which is then used to
910
+ // figure out the center point of each image. This needs to be the depth
911
+ // center, so the bounds need to be extended by the spacing such that the
912
+ // depth center is in the middle of each image.
668
913
  if (imageData) {
669
914
  const spc = imageData.getSpacing();
670
915
 
@@ -690,9 +935,14 @@ class Viewport implements IViewport {
690
935
 
691
936
  if (imageData) {
692
937
  const dimensions = imageData.getDimensions();
938
+ // TODO: This should be the line below, but that causes issues with existing
939
+ // tests. Not doing that adds significant fuzziness on rendering, so at
940
+ // some point it should be fixed.
941
+ // const middleIJK = dimensions.map((d) => Math.floor((d-1) / 2));
693
942
  const middleIJK = dimensions.map((d) => Math.floor(d / 2));
694
943
 
695
944
  const idx = [middleIJK[0], middleIJK[1], middleIJK[2]];
945
+ // Modifies the focal point in place, as this hits the vtk indexToWorld function
696
946
  imageData.indexToWorld(idx, focalPoint);
697
947
  }
698
948
 
@@ -704,35 +954,22 @@ class Viewport implements IViewport {
704
954
  const boundsAspectRatio = widthWorld / heightWorld;
705
955
  const canvasAspectRatio = canvasSize[0] / canvasSize[1];
706
956
 
707
- let radius;
957
+ const scaleFactor = boundsAspectRatio / canvasAspectRatio;
708
958
 
709
- if (boundsAspectRatio < canvasAspectRatio) {
710
- // can fit full height, so use it.
711
- radius = heightWorld / 2;
712
- } else {
713
- const scaleFactor = boundsAspectRatio / canvasAspectRatio;
714
-
715
- radius = (heightWorld * scaleFactor) / 2;
716
- }
717
-
718
- //const angle = vtkMath.radiansFromDegrees(activeCamera.getViewAngle())
719
- const parallelScale = 1.1 * radius;
720
-
721
- let w1 = bounds[1] - bounds[0];
722
- let w2 = bounds[3] - bounds[2];
723
- let w3 = bounds[5] - bounds[4];
724
- w1 *= w1;
725
- w2 *= w2;
726
- w3 *= w3;
727
- radius = w1 + w2 + w3;
959
+ const parallelScale =
960
+ scaleFactor < 1 // can fit full height, so use it.
961
+ ? (this.insetImageMultiplier * heightWorld) / 2
962
+ : (this.insetImageMultiplier * heightWorld * scaleFactor) / 2;
728
963
 
729
964
  // If we have just a single point, pick a radius of 1.0
730
- radius = radius === 0 ? 1.0 : radius;
731
-
732
965
  // compute the radius of the enclosing sphere
733
- radius = Math.sqrt(radius) * 0.5;
966
+ // For 3D viewport, we should increase the radius to make sure the whole
967
+ // volume is visible and we don't get clipping artifacts.
968
+ const radius =
969
+ Viewport.boundsRadius(bounds) *
970
+ (this.type === ViewportType.VOLUME_3D ? 10 : 1);
734
971
 
735
- const distance = 1.1 * radius;
972
+ const distance = this.insetImageMultiplier * radius;
736
973
 
737
974
  const viewUpToSet: Point3 =
738
975
  Math.abs(vtkMath.dot(viewUp, viewPlaneNormal)) > 0.999
@@ -782,6 +1019,10 @@ class Viewport implements IViewport {
782
1019
  this.setInitialCamera(modifiedCamera);
783
1020
  }
784
1021
 
1022
+ if (resetZoom) {
1023
+ this.setZoom(1, storeAsInitialCamera);
1024
+ }
1025
+
785
1026
  const RESET_CAMERA_EVENT = {
786
1027
  type: 'ResetCameraEvent',
787
1028
  renderer,
@@ -834,23 +1075,40 @@ class Viewport implements IViewport {
834
1075
  * computed from the current camera, where the initial pan
835
1076
  * value is [0,0].
836
1077
  */
837
- public getPan(): Point2 {
1078
+ public getPan(initialCamera = this.initialCamera): Point2 {
838
1079
  const activeCamera = this.getVtkActiveCamera();
839
1080
  const focalPoint = activeCamera.getFocalPoint() as Point3;
840
1081
 
841
1082
  const zero3 = this.canvasToWorld([0, 0]);
842
1083
  const initialCanvasFocal = this.worldToCanvas(
843
- <Point3>vec3.subtract(vec3.create(), this.initialCamera.focalPoint, zero3)
1084
+ <Point3>vec3.subtract([0, 0, 0], initialCamera.focalPoint, zero3)
844
1085
  );
845
1086
  const currentCanvasFocal = this.worldToCanvas(
846
- <Point3>vec3.subtract(vec3.create(), focalPoint, zero3)
1087
+ <Point3>vec3.subtract([0, 0, 0], focalPoint, zero3)
847
1088
  );
848
1089
  const result = <Point2>(
849
- vec2.subtract(vec2.create(), initialCanvasFocal, currentCanvasFocal)
1090
+ vec2.subtract([0, 0], initialCanvasFocal, currentCanvasFocal)
850
1091
  );
851
1092
  return result;
852
1093
  }
853
1094
 
1095
+ public getCurrentImageIdIndex(): number {
1096
+ throw new Error('Not implemented');
1097
+ }
1098
+
1099
+ public getSliceIndex(): number {
1100
+ throw new Error('Not implemented');
1101
+ }
1102
+
1103
+ /**
1104
+ * Gets a referenced image url of some sort - could be a real image id, or
1105
+ * could be a URL with parameters. Regardless it refers to the currently displaying
1106
+ * image as a string value.
1107
+ */
1108
+ public getReferenceId(_specifier?: ViewReferenceSpecifier): string {
1109
+ return null;
1110
+ }
1111
+
854
1112
  /**
855
1113
  * Sets the canvas pan value relative to the initial view position of 0,0
856
1114
  * Modifies the camera to perform the pan.
@@ -859,7 +1117,7 @@ class Viewport implements IViewport {
859
1117
  const previousCamera = this.getCamera();
860
1118
  const { focalPoint, position } = previousCamera;
861
1119
  const zero3 = this.canvasToWorld([0, 0]);
862
- const delta2 = vec2.subtract(vec2.create(), pan, this.getPan());
1120
+ const delta2 = vec2.subtract([0, 0], pan, this.getPan());
863
1121
  if (
864
1122
  Math.abs(delta2[0]) < 1 &&
865
1123
  Math.abs(delta2[1]) < 1 &&
@@ -889,9 +1147,13 @@ class Viewport implements IViewport {
889
1147
  * originally applied to the image. That is, on initial display,
890
1148
  * the zoom level is 1. Computed as a function of the camera.
891
1149
  */
892
- public getZoom(): number {
1150
+ public getZoom(compareCamera = this.initialCamera): number {
1151
+ if (!compareCamera) {
1152
+ return 1;
1153
+ }
1154
+
893
1155
  const activeCamera = this.getVtkActiveCamera();
894
- const { parallelScale: initialParallelScale } = this.initialCamera;
1156
+ const { parallelScale: initialParallelScale } = compareCamera;
895
1157
  return initialParallelScale / activeCamera.getParallelScale();
896
1158
  }
897
1159
 
@@ -1079,20 +1341,52 @@ class Viewport implements IViewport {
1079
1341
  vtkCamera.setClippingRange(clippingRange);
1080
1342
  }
1081
1343
 
1082
- // update clippingPlanes if volume viewports
1083
- const actorEntry = this.getDefaultActor();
1344
+ // update clipping range only if focal point changed of a new actor is added
1345
+ const prevFocalPoint = previousCamera.focalPoint;
1346
+ const prevViewUp = previousCamera.viewUp;
1084
1347
 
1085
- if (!actorEntry || !actorEntry.actor) {
1086
- return;
1087
- }
1348
+ if ((prevFocalPoint && focalPoint) || (prevViewUp && viewUp)) {
1349
+ const currentViewPlaneNormal = <Point3>vtkCamera.getViewPlaneNormal();
1350
+ const currentViewUp = <Point3>vtkCamera.getViewUp();
1088
1351
 
1089
- const isImageSlice = actorIsA(actorEntry, 'vtkImageSlice');
1352
+ let cameraModifiedOutOfPlane = false;
1353
+ let viewUpHasChanged = false;
1090
1354
 
1091
- if (!isImageSlice) {
1092
- this.updateClippingPlanesForActors(updatedCamera);
1093
- } else {
1094
- const renderer = this.getRenderer();
1095
- renderer.resetCameraClippingRange();
1355
+ if (focalPoint) {
1356
+ const deltaCamera = <Point3>[
1357
+ focalPoint[0] - prevFocalPoint[0],
1358
+ focalPoint[1] - prevFocalPoint[1],
1359
+ focalPoint[2] - prevFocalPoint[2],
1360
+ ];
1361
+
1362
+ cameraModifiedOutOfPlane =
1363
+ Math.abs(vtkMath.dot(deltaCamera, currentViewPlaneNormal)) > 0;
1364
+ }
1365
+
1366
+ if (viewUp) {
1367
+ viewUpHasChanged = !isEqual(currentViewUp, prevViewUp);
1368
+ }
1369
+
1370
+ // only modify the clipping planes if the camera is modified out of plane
1371
+ // or a new actor is added and we need to update the clipping planes
1372
+ if (cameraModifiedOutOfPlane || viewUpHasChanged) {
1373
+ const actorEntry = this.getDefaultActor();
1374
+ if (!actorEntry?.actor) {
1375
+ return;
1376
+ }
1377
+
1378
+ if (!actorIsA(actorEntry, 'vtkActor')) {
1379
+ this.updateClippingPlanesForActors(updatedCamera);
1380
+ }
1381
+
1382
+ if (
1383
+ actorIsA(actorEntry, 'vtkImageSlice') ||
1384
+ this.type === ViewportType.VOLUME_3D
1385
+ ) {
1386
+ const renderer = this.getRenderer();
1387
+ renderer.resetCameraClippingRange();
1388
+ }
1389
+ }
1096
1390
  }
1097
1391
 
1098
1392
  if (storeAsInitialCamera) {
@@ -1128,13 +1422,28 @@ class Viewport implements IViewport {
1128
1422
  }
1129
1423
  }
1130
1424
 
1425
+ /**
1426
+ * Updates the camera's clipping planes and range.
1427
+ */
1428
+ public updateCameraClippingPlanesAndRange(): void {
1429
+ const currentCamera = this.getCamera();
1430
+ this.updateClippingPlanesForActors(currentCamera);
1431
+ this.getRenderer().resetCameraClippingRange();
1432
+ }
1433
+
1131
1434
  /**
1132
1435
  * Updates the actors clipping planes orientation from the camera properties
1133
1436
  * @param updatedCamera - ICamera
1134
1437
  */
1135
- protected updateClippingPlanesForActors(updatedCamera: ICamera): void {
1438
+ protected async updateClippingPlanesForActors(
1439
+ updatedCamera: ICamera
1440
+ ): Promise<void> {
1136
1441
  const actorEntries = this.getActors();
1137
- actorEntries.forEach((actorEntry) => {
1442
+ // Todo: this was using an async and promise wait all because of the
1443
+ // new surface rendering use case, which broke the more important 3D
1444
+ // volume rendering, so reverting this back for now until I can figure
1445
+ // out a better way to handle this.
1446
+ actorEntries.map((actorEntry) => {
1138
1447
  // we assume that the first two clipping plane of the mapper are always
1139
1448
  // the 'camera' clipping. Update clipping planes only if the actor is
1140
1449
  // a vtkVolume
@@ -1143,7 +1452,13 @@ class Viewport implements IViewport {
1143
1452
  }
1144
1453
 
1145
1454
  const mapper = actorEntry.actor.getMapper();
1146
- const vtkPlanes = mapper.getClippingPlanes();
1455
+ let vtkPlanes = actorEntry?.clippingFilter
1456
+ ? actorEntry.clippingFilter.getClippingPlanes()
1457
+ : mapper.getClippingPlanes();
1458
+
1459
+ if (vtkPlanes.length === 0 && actorEntry?.clippingFilter) {
1460
+ vtkPlanes = [vtkPlane.newInstance(), vtkPlane.newInstance()];
1461
+ }
1147
1462
 
1148
1463
  let slabThickness = RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
1149
1464
  if (actorEntry.slabThickness) {
@@ -1158,6 +1473,12 @@ class Viewport implements IViewport {
1158
1473
  viewPlaneNormal,
1159
1474
  focalPoint
1160
1475
  );
1476
+ triggerEvent(this.element, Events.CLIPPING_PLANES_UPDATED, {
1477
+ actorEntry,
1478
+ focalPoint,
1479
+ vtkPlanes,
1480
+ viewport: this,
1481
+ });
1161
1482
  });
1162
1483
  }
1163
1484
 
@@ -1193,6 +1514,32 @@ class Viewport implements IViewport {
1193
1514
  vtkPlanes[1].setOrigin(newOrigin2);
1194
1515
  }
1195
1516
 
1517
+ /**
1518
+ * Method to get the clipping planes of a given actor
1519
+ * @param actorEntry - The actor entry (a specific type you'll define dependent on your code)
1520
+ * @returns vtkPlanes - An array of vtkPlane objects associated with the given actor
1521
+ */
1522
+ public getClippingPlanesForActor(actorEntry?: ActorEntry): vtkPlane[] {
1523
+ if (!actorEntry) {
1524
+ actorEntry = this.getDefaultActor();
1525
+ }
1526
+
1527
+ if (!actorEntry.actor) {
1528
+ throw new Error('Invalid actor entry: Actor is undefined');
1529
+ }
1530
+
1531
+ const mapper = actorEntry.actor.getMapper();
1532
+ let vtkPlanes = actorEntry?.clippingFilter
1533
+ ? actorEntry.clippingFilter.getClippingPlanes()
1534
+ : mapper.getClippingPlanes();
1535
+
1536
+ if (vtkPlanes.length === 0 && actorEntry?.clippingFilter) {
1537
+ vtkPlanes = [vtkPlane.newInstance(), vtkPlane.newInstance()];
1538
+ }
1539
+
1540
+ return vtkPlanes;
1541
+ }
1542
+
1196
1543
  private _getWorldDistanceViewUpAndViewRight(bounds, viewUp, viewPlaneNormal) {
1197
1544
  const viewUpCorners = this._getCorners(bounds);
1198
1545
  const viewRightCorners = this._getCorners(bounds);
@@ -1245,6 +1592,147 @@ class Viewport implements IViewport {
1245
1592
  return { widthWorld: maxX - minX, heightWorld: maxY - minY };
1246
1593
  }
1247
1594
 
1595
+ /**
1596
+ * Gets a view target specifying WHAT a view is displaying,
1597
+ * allowing for checking if a given image is displayed or could be displayed
1598
+ * in a given viewport.
1599
+ * See getViewPresentation for HOW a view is displayed.
1600
+ *
1601
+ * @param viewRefSpecifier - choose an alternate view to be specified, typically
1602
+ * a different slice index in the same set of images.
1603
+ */
1604
+ public getViewReference(
1605
+ viewRefSpecifier: ViewReferenceSpecifier = {}
1606
+ ): ViewReference {
1607
+ const {
1608
+ focalPoint: cameraFocalPoint,
1609
+ viewPlaneNormal,
1610
+ viewUp,
1611
+ } = this.getCamera();
1612
+ const target: ViewReference = {
1613
+ FrameOfReferenceUID: this.getFrameOfReferenceUID(),
1614
+ cameraFocalPoint,
1615
+ viewPlaneNormal,
1616
+ viewUp,
1617
+ sliceIndex: viewRefSpecifier.sliceIndex ?? this.getSliceIndex(),
1618
+ };
1619
+ return target;
1620
+ }
1621
+
1622
+ /**
1623
+ * Find out if this viewport does or could show this view reference.
1624
+ *
1625
+ * @param options - allows specifying whether the view COULD display this with
1626
+ * some modification - either navigation or displaying as volume.
1627
+ * @returns true if the viewport could show this view reference
1628
+ */
1629
+ public isReferenceViewable(
1630
+ viewRef: ViewReference,
1631
+ options?: ReferenceCompatibleOptions
1632
+ ): boolean {
1633
+ if (
1634
+ viewRef.FrameOfReferenceUID &&
1635
+ viewRef.FrameOfReferenceUID !== this.getFrameOfReferenceUID()
1636
+ ) {
1637
+ return false;
1638
+ }
1639
+
1640
+ const { viewPlaneNormal } = viewRef;
1641
+ const camera = this.getCamera();
1642
+ if (
1643
+ viewPlaneNormal &&
1644
+ !isEqual(viewPlaneNormal, camera.viewPlaneNormal) &&
1645
+ !isEqual(
1646
+ vec3.negate(camera.viewPlaneNormal, camera.viewPlaneNormal),
1647
+ viewPlaneNormal
1648
+ )
1649
+ ) {
1650
+ // Could navigate as a volume to the reference with an orientation change
1651
+ return options?.withOrientation === true;
1652
+ }
1653
+ return true;
1654
+ }
1655
+
1656
+ /**
1657
+ * Gets a view presentation information specifying HOW a viewport displays
1658
+ * something, but not what is being displayed.
1659
+ * See getViewReference to get information on WHAT is being displayed.
1660
+ *
1661
+ * This is intended to have information on how an image is presented to the user, without
1662
+ * specifying what image s displayed. All of this information is available
1663
+ * externally, but this method combines the parts of this that are appropriate
1664
+ * for remember or applying to other views, without necessarily needing to know
1665
+ * what all the atributes are. That differs from methods like getCamera which
1666
+ * fetch exact view details that are not likely to be identical between viewports
1667
+ * as they change sizes or apply to different images.
1668
+ *
1669
+ * Note that the results of this can be used on different viewports, for example,
1670
+ * the pan values can be applied to a volume viewport showing a CT, and a
1671
+ * stack viewport showing an ultrasound.
1672
+ *
1673
+ * The selector allows choosing which view presentation attributes to return.
1674
+ * Some default values are available from `Viewport.CameraViewPresentation` and
1675
+ * `Viewport.TransferViewPresentation`
1676
+ *
1677
+ * @param viewPresSel - select which attributes to display.
1678
+ */
1679
+ public getViewPresentation(
1680
+ viewPresSel: ViewPresentationSelector = {
1681
+ rotation: true,
1682
+ displayArea: true,
1683
+ zoom: true,
1684
+ pan: true,
1685
+ }
1686
+ ): ViewPresentation {
1687
+ const target: ViewPresentation = {};
1688
+
1689
+ const { rotation, displayArea, zoom, pan } = viewPresSel;
1690
+ if (rotation) {
1691
+ target.rotation = this.getRotation();
1692
+ }
1693
+ if (displayArea) {
1694
+ target.displayArea = this.getDisplayArea();
1695
+ }
1696
+ const initZoom = this.getZoom();
1697
+
1698
+ if (zoom) {
1699
+ target.zoom = initZoom;
1700
+ }
1701
+ if (pan) {
1702
+ target.pan = this.getPan();
1703
+ vec2.scale(target.pan, target.pan, 1 / initZoom);
1704
+ }
1705
+ return target;
1706
+ }
1707
+
1708
+ /**
1709
+ * Navigates to the image specified by the viewRef.
1710
+ */
1711
+ public setViewReference(viewRef: ViewReference) {
1712
+ // No-op
1713
+ }
1714
+
1715
+ /**
1716
+ * Applies the display area, zoom, pan and rotation from the view presentation.
1717
+ * No-op is viewPres isn't defined.
1718
+ */
1719
+ public setViewPresentation(viewPres: ViewPresentation) {
1720
+ if (!viewPres) {
1721
+ return;
1722
+ }
1723
+ const { displayArea, zoom = this.getZoom(), pan, rotation } = viewPres;
1724
+ if (displayArea !== this.getDisplayArea()) {
1725
+ this.setDisplayArea(displayArea);
1726
+ }
1727
+ this.setZoom(zoom);
1728
+ if (pan) {
1729
+ this.setPan(vec2.scale([0, 0], pan, zoom) as Point2);
1730
+ }
1731
+ if (rotation >= 0) {
1732
+ this.setRotation(rotation);
1733
+ }
1734
+ }
1735
+
1248
1736
  protected _shouldUseNativeDataType() {
1249
1737
  const { useNorm16Texture, preferSizeOverAccuracy } =
1250
1738
  getConfiguration().rendering;
@@ -1364,6 +1852,22 @@ class Viewport implements IViewport {
1364
1852
  [p7, p8],
1365
1853
  ];
1366
1854
  }
1855
+
1856
+ /**
1857
+ * Computes the bounds radius value
1858
+ */
1859
+ static boundsRadius(bounds: number[]) {
1860
+ const w1 = (bounds[1] - bounds[0]) ** 2;
1861
+ const w2 = (bounds[3] - bounds[2]) ** 2;
1862
+ const w3 = (bounds[5] - bounds[4]) ** 2;
1863
+
1864
+ // If we have just a single point, pick a radius of 1.0
1865
+ // compute the radius of the enclosing sphere
1866
+ // For 3D viewport, we should increase the radius to make sure the whole
1867
+ // volume is visible and we don't get clipping artifacts.
1868
+ const radius = Math.sqrt(w1 + w2 + w3 || 1) * 0.5;
1869
+ return radius;
1870
+ }
1367
1871
  }
1368
1872
 
1369
1873
  export default Viewport;