@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
@@ -3,6 +3,8 @@ import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransf
3
3
  import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps';
4
4
  import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
5
5
 
6
+ import { vec2, vec3 } from 'gl-matrix';
7
+
6
8
  import cache from '../cache';
7
9
  import {
8
10
  MPR_CAMERA_VALUES,
@@ -31,11 +33,16 @@ import type {
31
33
  Point2,
32
34
  Point3,
33
35
  VOIRange,
36
+ EventTypes,
34
37
  VolumeViewportProperties,
38
+ ViewReferenceSpecifier,
39
+ ReferenceCompatibleOptions,
40
+ ViewPresentation,
41
+ ViewReference,
42
+ IVolumeViewport,
35
43
  } from '../types';
36
44
  import { VoiModifiedEventDetail } from '../types/EventTypes';
37
45
  import type { ViewportInput } from '../types/IViewport';
38
- import type IVolumeViewport from '../types/IVolumeViewport';
39
46
  import {
40
47
  actorIsA,
41
48
  applyPreset,
@@ -45,6 +52,10 @@ import {
45
52
  invertRgbTransferFunction,
46
53
  triggerEvent,
47
54
  colormap as colormapUtils,
55
+ isEqualNegative,
56
+ getVolumeViewportScrollInfo,
57
+ snapFocalPointToSlice,
58
+ isEqual,
48
59
  } from '../utilities';
49
60
  import { createVolumeActor } from './helpers';
50
61
  import volumeNewImageEventDispatcher, {
@@ -54,7 +65,8 @@ import Viewport from './Viewport';
54
65
  import type { vtkSlabCamera as vtkSlabCameraType } from './vtkClasses/vtkSlabCamera';
55
66
  import vtkSlabCamera from './vtkClasses/vtkSlabCamera';
56
67
  import transformWorldToIndex from '../utilities/transformWorldToIndex';
57
-
68
+ import { findMatchingColormap } from '../utilities/colormap';
69
+ import { getTransferFunctionNodes } from '../utilities/transferFunctionUtils';
58
70
  /**
59
71
  * Abstract base class for volume viewports. VolumeViewports are used to render
60
72
  * 3D volumes from which various orientations can be viewed. Since VolumeViewports
@@ -66,19 +78,25 @@ import transformWorldToIndex from '../utilities/transformWorldToIndex';
66
78
  */
67
79
  abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
68
80
  useCPURendering = false;
69
- use16BitTexture = false;
81
+ useNativeDataType = false;
70
82
  private _FrameOfReferenceUID: string;
71
- private inverted = false;
72
83
 
84
+ protected initialTransferFunctionNodes: any;
73
85
  // Viewport Properties
74
- // TODO: similar to setVoi, this is only applicable to first volume
75
- private VOILUTFunction: VOILUTFunctionType;
86
+ private globalDefaultProperties: VolumeViewportProperties;
87
+ private perVolumeIdDefaultProperties = new Map<
88
+ string,
89
+ VolumeViewportProperties
90
+ >();
91
+ // Camera properties
92
+ protected initialViewUp: Point3;
93
+ protected viewportProperties: VolumeViewportProperties = {};
76
94
 
77
95
  constructor(props: ViewportInput) {
78
96
  super(props);
79
97
 
80
98
  this.useCPURendering = getShouldUseCPURendering();
81
- this.use16BitTexture = this._shouldUseNativeDataType();
99
+ this.useNativeDataType = this._shouldUseNativeDataType();
82
100
 
83
101
  if (this.useCPURendering) {
84
102
  throw new Error(
@@ -113,7 +131,8 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
113
131
  }
114
132
 
115
133
  protected applyViewOrientation(
116
- orientation: OrientationAxis | OrientationVectors
134
+ orientation: OrientationAxis | OrientationVectors,
135
+ resetCamera = true
117
136
  ) {
118
137
  const { viewPlaneNormal, viewUp } =
119
138
  this._getOrientationVectors(orientation);
@@ -124,8 +143,11 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
124
143
  -viewPlaneNormal[2]
125
144
  );
126
145
  camera.setViewUpFrom(viewUp);
146
+ this.initialViewUp = viewUp;
127
147
 
128
- this.resetCamera();
148
+ if (resetCamera) {
149
+ this.resetCamera();
150
+ }
129
151
  }
130
152
 
131
153
  private initializeVolumeNewImageEventDispatcher(): void {
@@ -217,8 +239,8 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
217
239
  voiLUTFunction = VOILUTFunctionType.LINEAR;
218
240
  }
219
241
  const { voiRange } = this.getProperties();
220
- this.VOILUTFunction = voiLUTFunction;
221
242
  this.setVOI(voiRange, volumeId, suppressEvents);
243
+ this.viewportProperties.VOILUTFunction = voiLUTFunction;
222
244
  }
223
245
 
224
246
  /**
@@ -236,16 +258,12 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
236
258
  suppressEvents?: boolean
237
259
  ) {
238
260
  const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
239
-
240
261
  if (!applicableVolumeActorInfo) {
241
262
  return;
242
263
  }
243
264
 
244
265
  const { volumeActor } = applicableVolumeActorInfo;
245
266
 
246
- const mapper = volumeActor.getMapper();
247
- mapper.setSampleDistance(1.0);
248
-
249
267
  const cfun = vtkColorTransferFunction.newInstance();
250
268
  let colormapObj = colormapUtils.getColormap(colormap.name);
251
269
 
@@ -267,6 +285,20 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
267
285
  cfun.applyColorMap(colormapObj);
268
286
  cfun.setMappingRange(range[0], range[1]);
269
287
  volumeActor.getProperty().setRGBTransferFunction(0, cfun);
288
+
289
+ // This configures the viewport to use the most recently applied colormap.
290
+ // However, this approach is not optimal when dealing with two volumes, as it prevents retrieval of the
291
+ // colormap for Volume A if Volume B's colormap was the last one applied.
292
+ this.viewportProperties.colormap = colormap;
293
+
294
+ if (!suppressEvents) {
295
+ const eventDetail = {
296
+ viewportId: this.id,
297
+ colormap,
298
+ volumeId,
299
+ };
300
+ triggerEvent(this.element, Events.COLORMAP_MODIFIED, eventDetail);
301
+ }
270
302
  }
271
303
 
272
304
  /**
@@ -283,6 +315,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
283
315
  return;
284
316
  }
285
317
  const { volumeActor } = applicableVolumeActorInfo;
318
+
286
319
  const ofun = vtkPiecewiseFunction.newInstance();
287
320
  if (typeof colormap.opacity === 'number') {
288
321
  const range = volumeActor
@@ -298,19 +331,25 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
298
331
  });
299
332
  }
300
333
  volumeActor.getProperty().setScalarOpacity(0, ofun);
334
+
335
+ if (!this.viewportProperties.colormap) {
336
+ this.viewportProperties.colormap = {};
337
+ }
338
+
339
+ this.viewportProperties.colormap.opacity = colormap.opacity;
301
340
  }
302
341
 
303
342
  /**
304
343
  * Sets the inversion for the volume transfer function
305
344
  *
306
- * @param invert - Should the transfer function be inverted?
345
+ * @param inverted - Should the transfer function be inverted?
307
346
  * @param volumeId - volumeId
308
347
  * @param suppressEvents - If `true`, events will not be published
309
348
  *
310
349
  * @returns void
311
350
  */
312
351
  private setInvert(
313
- invert: boolean,
352
+ inverted: boolean,
314
353
  volumeId?: string,
315
354
  suppressEvents?: boolean
316
355
  ) {
@@ -325,17 +364,11 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
325
364
  const cfun = this._getOrCreateColorTransferFunction(volumeIdToUse);
326
365
  invertRgbTransferFunction(cfun);
327
366
 
328
- this.inverted = invert;
329
-
330
- const { voiRange } = this.getProperties();
367
+ this.viewportProperties.invert = inverted;
331
368
 
332
369
  if (!suppressEvents) {
333
370
  const eventDetail: VoiModifiedEventDetail = {
334
- viewportId: this.id,
335
- range: voiRange,
336
- volumeId: volumeIdToUse,
337
- VOILUTFunction: this.VOILUTFunction,
338
- invert: this.inverted,
371
+ ...this.getVOIModifiedEventDetail(volumeIdToUse),
339
372
  invertStateChanged: true,
340
373
  };
341
374
 
@@ -343,6 +376,39 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
343
376
  }
344
377
  }
345
378
 
379
+ protected getVOIModifiedEventDetail(
380
+ volumeId: string
381
+ ): VoiModifiedEventDetail {
382
+ const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
383
+
384
+ if (!applicableVolumeActorInfo) {
385
+ throw new Error(`No actor found for the given volumeId: ${volumeId}`);
386
+ }
387
+
388
+ const volumeActor = applicableVolumeActorInfo.volumeActor;
389
+
390
+ const transferFunction = volumeActor
391
+ .getProperty()
392
+ .getRGBTransferFunction(0);
393
+
394
+ const range = transferFunction.getMappingRange();
395
+
396
+ const matchedColormap = this.getColormap(volumeId);
397
+ const { VOILUTFunction, invert } = this.getProperties(volumeId);
398
+
399
+ return {
400
+ viewportId: this.id,
401
+ range: {
402
+ lower: range[0],
403
+ upper: range[1],
404
+ },
405
+ volumeId: applicableVolumeActorInfo.volumeId,
406
+ VOILUTFunction: VOILUTFunction,
407
+ colormap: matchedColormap,
408
+ invert,
409
+ };
410
+ }
411
+
346
412
  private _getOrCreateColorTransferFunction(
347
413
  volumeId: string
348
414
  ): vtkColorTransferFunction {
@@ -368,7 +434,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
368
434
  return newRGBTransferFunction;
369
435
  }
370
436
 
371
- private setInterpolationType(
437
+ protected setInterpolationType(
372
438
  interpolationType: InterpolationType,
373
439
  volumeId?: string
374
440
  ) {
@@ -383,6 +449,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
383
449
 
384
450
  // @ts-ignore
385
451
  volumeProperty.setInterpolationType(interpolationType);
452
+ this.viewportProperties.interpolationType = interpolationType;
386
453
  }
387
454
 
388
455
  /**
@@ -415,9 +482,11 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
415
482
  voiRangeToUse = maxVoiRange;
416
483
  }
417
484
 
485
+ const { VOILUTFunction } = this.getProperties(volumeIdToUse);
486
+
418
487
  // scaling logic here
419
488
  // https://github.com/Kitware/vtk-js/blob/c6f2e12cddfe5c0386a73f0793eb6d9ab20d573e/Sources/Rendering/OpenGL/VolumeMapper/index.js#L957-L972
420
- if (this.VOILUTFunction === VOILUTFunctionType.SAMPLED_SIGMOID) {
489
+ if (VOILUTFunction === VOILUTFunctionType.SAMPLED_SIGMOID) {
421
490
  const cfun = createSigmoidRGBTransferFunction(voiRangeToUse);
422
491
  volumeActor.getProperty().setRGBTransferFunction(0, cfun);
423
492
  } else {
@@ -437,18 +506,281 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
437
506
 
438
507
  if (!suppressEvents) {
439
508
  const eventDetail: VoiModifiedEventDetail = {
440
- viewportId: this.id,
441
- range: voiRange,
442
- volumeId: volumeIdToUse,
443
- VOILUTFunction: this.VOILUTFunction,
509
+ ...this.getVOIModifiedEventDetail(volumeIdToUse),
444
510
  };
445
511
 
446
512
  triggerEvent(this.element, Events.VOI_MODIFIED, eventDetail);
447
513
  }
514
+
515
+ this.viewportProperties.voiRange = voiRangeToUse;
516
+ }
517
+
518
+ protected setRotation = (rotation: number) => {
519
+ const panFit = this.getPan(this.fitToCanvasCamera);
520
+ const pan = this.getPan();
521
+ const previousCamera = this.getCamera();
522
+ const panSub = vec2.sub([0, 0], panFit, pan) as Point2;
523
+ this.setPan(panSub, false);
524
+ const { flipVertical } = this.getCamera();
525
+
526
+ // Moving back to zero rotation, for new scrolled slice rotation is 0 after camera reset
527
+ const initialViewUp = flipVertical
528
+ ? vec3.negate([0, 0, 0], this.initialViewUp)
529
+ : this.initialViewUp;
530
+
531
+ this.setCameraNoEvent({
532
+ viewUp: initialViewUp as Point3,
533
+ });
534
+
535
+ // rotating camera to the new value
536
+ this.rotateCamera(rotation);
537
+ const afterPan = this.getPan();
538
+ const afterPanFit = this.getPan(this.fitToCanvasCamera);
539
+ const newCenter = vec2.sub([0, 0], afterPan, afterPanFit);
540
+ const newOffset = vec2.add([0, 0], panFit, newCenter) as Point2;
541
+ this.setPan(newOffset, false);
542
+
543
+ if (this._suppressCameraModifiedEvents) {
544
+ return;
545
+ }
546
+
547
+ // New camera after rotation
548
+ const camera = this.getCamera();
549
+
550
+ const eventDetail: EventTypes.CameraModifiedEventDetail = {
551
+ previousCamera,
552
+ camera,
553
+ element: this.element,
554
+ viewportId: this.id,
555
+ renderingEngineId: this.renderingEngineId,
556
+ rotation,
557
+ };
558
+
559
+ triggerEvent(this.element, Events.CAMERA_MODIFIED, eventDetail);
560
+ this.viewportProperties.rotation = rotation;
561
+ };
562
+
563
+ private rotateCamera(rotation: number): void {
564
+ const rotationToApply = rotation - this.getRotation();
565
+ // rotating camera to the new value
566
+ this.getVtkActiveCamera().roll(-rotationToApply);
567
+ }
568
+
569
+ /**
570
+ * Update the default properties for the volume viewport on the volume
571
+ * @param ViewportProperties - The properties to set
572
+ * @param volumeId - The volume id to set the default properties for (if undefined, we set the global default viewport properties)
573
+ */
574
+ public setDefaultProperties(
575
+ ViewportProperties: VolumeViewportProperties,
576
+ volumeId?: string
577
+ ): void {
578
+ if (volumeId == null) {
579
+ this.globalDefaultProperties = ViewportProperties;
580
+ } else {
581
+ this.perVolumeIdDefaultProperties.set(volumeId, ViewportProperties);
582
+ }
583
+ }
584
+
585
+ /**
586
+ * Remove the global default properties of the viewport or remove default properties for a volumeId if specified
587
+ * @param volumeId If given, we remove the default properties only for this volumeId, if not
588
+ * the global default properties will be removed
589
+ */
590
+ public clearDefaultProperties(volumeId?: string): void {
591
+ if (volumeId == null) {
592
+ this.globalDefaultProperties = {};
593
+ this.resetProperties();
594
+ } else {
595
+ this.perVolumeIdDefaultProperties.delete(volumeId);
596
+ this.resetToDefaultProperties(volumeId);
597
+ }
598
+ }
599
+
600
+ /**
601
+ * Gets a view target, allowing comparison between view positions as well
602
+ * as restoring views later.
603
+ */
604
+ public getViewReference(
605
+ viewRefSpecifier: ViewReferenceSpecifier = {}
606
+ ): ViewReference {
607
+ const target = super.getViewReference(viewRefSpecifier);
608
+ const volumeId = this.getVolumeId(viewRefSpecifier);
609
+ if (viewRefSpecifier?.forFrameOfReference !== false) {
610
+ target.volumeId = volumeId;
611
+ }
612
+ if (typeof viewRefSpecifier?.sliceIndex !== 'number') {
613
+ return target;
614
+ }
615
+ const { viewPlaneNormal } = target;
616
+ const delta =
617
+ (viewRefSpecifier.sliceIndex as number) - this.getSliceIndex();
618
+ // Calculate a camera focal point and position
619
+ const { sliceRangeInfo } = getVolumeViewportScrollInfo(
620
+ this,
621
+ volumeId,
622
+ true
623
+ );
624
+
625
+ const { sliceRange, spacingInNormalDirection, camera } = sliceRangeInfo;
626
+ const { focalPoint, position } = camera;
627
+ const { newFocalPoint } = snapFocalPointToSlice(
628
+ focalPoint,
629
+ position,
630
+ sliceRange,
631
+ viewPlaneNormal,
632
+ spacingInNormalDirection,
633
+ delta
634
+ );
635
+ target.cameraFocalPoint = newFocalPoint;
636
+
637
+ return target;
638
+ }
639
+
640
+ /**
641
+ * Find out if this viewport would show this view
642
+ *
643
+ * @param options - allows specifying whether the view COULD display this with
644
+ * some modification - either navigation or displaying as volume.
645
+ * @returns true if the target is compatible with this view
646
+ */
647
+ public isReferenceViewable(
648
+ viewRef: ViewReference,
649
+ options?: ReferenceCompatibleOptions
650
+ ): boolean {
651
+ if (!viewRef.FrameOfReferenceUID) {
652
+ return false;
653
+ }
654
+ if (!super.isReferenceViewable(viewRef, options)) {
655
+ return false;
656
+ }
657
+ if (options?.withNavigation) {
658
+ return true;
659
+ }
660
+ const currentSliceIndex = this.getSliceIndex();
661
+ const { sliceIndex } = viewRef;
662
+ if (Array.isArray(sliceIndex)) {
663
+ return (
664
+ sliceIndex[0] <= currentSliceIndex && currentSliceIndex <= sliceIndex[1]
665
+ );
666
+ }
667
+ return sliceIndex === undefined || sliceIndex === currentSliceIndex;
668
+ }
669
+
670
+ /**
671
+ * Scrolls the viewport in the given direction/amount
672
+ */
673
+ public scroll(delta = 1) {
674
+ const volumeId = this.getVolumeId();
675
+ const { sliceRangeInfo } = getVolumeViewportScrollInfo(
676
+ this,
677
+ volumeId,
678
+ true
679
+ );
680
+
681
+ if (!sliceRangeInfo) {
682
+ return;
683
+ }
684
+
685
+ const { sliceRange, spacingInNormalDirection, camera } = sliceRangeInfo;
686
+ const { focalPoint, viewPlaneNormal, position } = camera;
687
+
688
+ const { newFocalPoint, newPosition } = snapFocalPointToSlice(
689
+ focalPoint,
690
+ position,
691
+ sliceRange,
692
+ viewPlaneNormal,
693
+ spacingInNormalDirection,
694
+ delta
695
+ );
696
+
697
+ this.setCamera({
698
+ focalPoint: newFocalPoint,
699
+ position: newPosition,
700
+ });
701
+ }
702
+
703
+ /**
704
+ * Navigates to the specified view reference.
705
+ */
706
+ public setViewReference(viewRef: ViewReference): void {
707
+ if (!viewRef) {
708
+ return;
709
+ }
710
+ const volumeId = this.getVolumeId();
711
+ const {
712
+ viewPlaneNormal: refViewPlaneNormal,
713
+ FrameOfReferenceUID: refFrameOfReference,
714
+ cameraFocalPoint,
715
+ viewUp,
716
+ } = viewRef;
717
+ let { sliceIndex } = viewRef;
718
+ const { focalPoint, viewPlaneNormal, position } = this.getCamera();
719
+ const isNegativeNormal = isEqualNegative(
720
+ viewPlaneNormal,
721
+ refViewPlaneNormal
722
+ );
723
+ const isSameNormal = isEqual(viewPlaneNormal, refViewPlaneNormal);
724
+
725
+ // Handle slices
726
+ if (
727
+ typeof sliceIndex === 'number' &&
728
+ viewRef.volumeId === volumeId &&
729
+ (isNegativeNormal || isSameNormal)
730
+ ) {
731
+ const { currentStepIndex, sliceRangeInfo, numScrollSteps } =
732
+ getVolumeViewportScrollInfo(this, volumeId, true);
733
+
734
+ const { sliceRange, spacingInNormalDirection } = sliceRangeInfo;
735
+ if (isNegativeNormal) {
736
+ // Convert opposite orientation view refs to normal orientation
737
+ sliceIndex = numScrollSteps - sliceIndex - 1;
738
+ }
739
+ const delta = sliceIndex - currentStepIndex;
740
+ const { newFocalPoint, newPosition } = snapFocalPointToSlice(
741
+ focalPoint,
742
+ position,
743
+ sliceRange,
744
+ viewPlaneNormal,
745
+ spacingInNormalDirection,
746
+ delta
747
+ );
748
+ this.setCamera({ focalPoint: newFocalPoint, position: newPosition });
749
+ } else if (refFrameOfReference === this.getFrameOfReferenceUID()) {
750
+ // Handle same frame of reference navigation
751
+
752
+ if (refViewPlaneNormal && !isNegativeNormal && !isSameNormal) {
753
+ // Need to update the orientation vectors correctly for this case
754
+ // this.setCameraNoEvent({ viewPlaneNormal: refViewPlaneNormal, viewUp });
755
+ this.setOrientation({ viewPlaneNormal: refViewPlaneNormal, viewUp });
756
+ return this.setViewReference(viewRef);
757
+ }
758
+ if (cameraFocalPoint) {
759
+ const focalDelta = vec3.subtract(
760
+ [0, 0, 0],
761
+ cameraFocalPoint,
762
+ focalPoint
763
+ );
764
+ const useNormal = refViewPlaneNormal ?? viewPlaneNormal;
765
+ const normalDot = vec3.dot(focalDelta, useNormal);
766
+ if (!isEqual(normalDot, 0)) {
767
+ // Gets the portion of the focal point in the normal direction
768
+ vec3.scale(focalDelta, useNormal, normalDot);
769
+ }
770
+ const newFocal = <Point3>vec3.add([0, 0, 0], focalPoint, focalDelta);
771
+ const newPosition = <Point3>vec3.add([0, 0, 0], position, focalDelta);
772
+ this.setCamera({ focalPoint: newFocal, position: newPosition });
773
+ }
774
+ } else {
775
+ throw new Error(
776
+ `Incompatible view refs: ${refFrameOfReference}!==${this.getFrameOfReferenceUID()}`
777
+ );
778
+ }
448
779
  }
449
780
 
450
781
  /**
451
782
  * Sets the properties for the volume viewport on the volume
783
+ * and if setProperties is called for the first time, the properties will also become the default one.
452
784
  * (if fusion, it sets it for the first volume in the fusion)
453
785
  *
454
786
  * @param VolumeViewportProperties - The properties to set
@@ -456,7 +788,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
456
788
  * @param [VolumeViewportProperties.VOILUTFunction] - Sets the voi mode (LINEAR, or SAMPLED_SIGMOID)
457
789
  * @param [VolumeViewportProperties.invert] - Inverts the color transfer function
458
790
  * @param [VolumeViewportProperties.colormap] - Sets the colormap
459
- * @param [VolumeViewportProperties.preset] - Sets the colormap
791
+ * @param [VolumeViewportProperties.preset] - Sets the colormap preset
460
792
  * @param volumeId - The volume id to set the properties for (if undefined, the first volume)
461
793
  * @param suppressEvents - If true, the viewport will not emit events
462
794
  */
@@ -468,10 +800,25 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
468
800
  colormap,
469
801
  preset,
470
802
  interpolationType,
803
+ slabThickness,
804
+ rotation,
471
805
  }: VolumeViewportProperties = {},
472
806
  volumeId?: string,
473
807
  suppressEvents = false
474
808
  ): void {
809
+ //If the viewport hasn't been initialized, we need to set the default properties
810
+ if (this.globalDefaultProperties == null) {
811
+ this.setDefaultProperties({
812
+ voiRange,
813
+ VOILUTFunction,
814
+ invert,
815
+ colormap,
816
+ preset,
817
+ slabThickness,
818
+ rotation,
819
+ });
820
+ }
821
+
475
822
  // Note: colormap should always be done first, since we can then
476
823
  // modify the voiRange
477
824
 
@@ -494,13 +841,61 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
494
841
  this.setVOILUTFunction(VOILUTFunction, volumeId, suppressEvents);
495
842
  }
496
843
 
497
- if (invert !== undefined && this.inverted !== invert) {
844
+ if (invert !== undefined && this.viewportProperties.invert !== invert) {
498
845
  this.setInvert(invert, volumeId, suppressEvents);
499
846
  }
500
847
 
501
848
  if (preset !== undefined) {
502
849
  this.setPreset(preset, volumeId, suppressEvents);
503
850
  }
851
+
852
+ if (slabThickness !== undefined) {
853
+ this.setSlabThickness(slabThickness);
854
+ //We need to set the current slab thickness here since setSlabThickness is define in VolumeViewport
855
+ this.viewportProperties.slabThickness = slabThickness;
856
+ }
857
+
858
+ if (rotation !== undefined) {
859
+ this.setRotation(rotation);
860
+ }
861
+ }
862
+
863
+ /**
864
+ * Reset the viewport properties to the default values
865
+ */
866
+ public resetToDefaultProperties(volumeId: string): void {
867
+ const properties = this.globalDefaultProperties;
868
+
869
+ if (properties.colormap?.name) {
870
+ this.setColormap(properties.colormap, volumeId);
871
+ }
872
+ if (properties.colormap?.opacity != null) {
873
+ this.setOpacity(properties.colormap, volumeId);
874
+ }
875
+
876
+ if (properties.voiRange !== undefined) {
877
+ this.setVOI(properties.voiRange, volumeId);
878
+ }
879
+
880
+ if (properties.VOILUTFunction !== undefined) {
881
+ this.setVOILUTFunction(properties.VOILUTFunction, volumeId);
882
+ }
883
+
884
+ if (properties.invert !== undefined) {
885
+ this.setInvert(properties.invert, volumeId);
886
+ }
887
+
888
+ if (properties.slabThickness !== undefined) {
889
+ this.setSlabThickness(properties.slabThickness);
890
+ //We need to set the current slabThickness here since setSlabThickness is define in VolumeViewport
891
+ this.viewportProperties.slabThickness = properties.slabThickness;
892
+ }
893
+
894
+ if (properties.rotation !== undefined) {
895
+ this.setRotation(properties.rotation);
896
+ }
897
+
898
+ this.render();
504
899
  }
505
900
 
506
901
  /**
@@ -512,7 +907,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
512
907
  *
513
908
  * @returns void
514
909
  */
515
- private setPreset(presetName, volumeId, suppressEvents) {
910
+ private setPreset(presetNameOrObj, volumeId, suppressEvents) {
516
911
  const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
517
912
 
518
913
  if (!applicableVolumeActorInfo) {
@@ -521,22 +916,77 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
521
916
 
522
917
  const { volumeActor } = applicableVolumeActorInfo;
523
918
 
524
- const preset = VIEWPORT_PRESETS.find((preset) => {
525
- return preset.name === presetName;
526
- });
919
+ let preset = presetNameOrObj;
920
+
921
+ if (typeof preset === 'string') {
922
+ preset = VIEWPORT_PRESETS.find((preset) => {
923
+ return preset.name === presetNameOrObj;
924
+ });
925
+ }
527
926
 
528
927
  if (!preset) {
529
928
  return;
530
929
  }
531
930
 
532
931
  applyPreset(volumeActor, preset);
932
+
933
+ this.viewportProperties.preset = preset;
934
+ this.render();
935
+
936
+ if (!suppressEvents) {
937
+ triggerEvent(this.element, Events.PRESET_MODIFIED, {
938
+ viewportId: this.id,
939
+ volumeId: applicableVolumeActorInfo.volumeId,
940
+ actor: volumeActor,
941
+ presetName: preset.name,
942
+ });
943
+ }
533
944
  }
534
945
 
946
+ /**
947
+ * Retrieve the viewport default properties
948
+ * @param volumeId If given, we retrieve the default properties of a volumeId if it exists
949
+ * If not given,we return the global properties of the viewport
950
+ * @returns default viewport properties including voi, invert, interpolation type, colormap
951
+ */
952
+ public getDefaultProperties = (
953
+ volumeId?: string
954
+ ): VolumeViewportProperties => {
955
+ let volumeProperties;
956
+ if (volumeId !== undefined) {
957
+ volumeProperties = this.perVolumeIdDefaultProperties.get(volumeId);
958
+ }
959
+
960
+ if (volumeProperties !== undefined) {
961
+ return volumeProperties;
962
+ }
963
+
964
+ return {
965
+ ...this.globalDefaultProperties,
966
+ };
967
+ };
968
+
535
969
  /**
536
970
  * Retrieve the viewport properties
971
+ * @param volumeId - The volume id to get the properties for (if undefined, the first volume)
537
972
  * @returns viewport properties including voi, interpolation type: TODO: slabThickness, invert, rotation, flip
538
973
  */
539
- public getProperties = (): VolumeViewportProperties => {
974
+ public getProperties = (volumeId?: string): VolumeViewportProperties => {
975
+ const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
976
+ if (!applicableVolumeActorInfo) {
977
+ return;
978
+ }
979
+
980
+ const {
981
+ colormap: latestColormap,
982
+ VOILUTFunction,
983
+ interpolationType,
984
+ invert,
985
+ slabThickness,
986
+ rotation,
987
+ preset,
988
+ } = this.viewportProperties;
989
+
540
990
  const voiRanges = this.getActors()
541
991
  .map((actorEntry) => {
542
992
  const volumeActor = actorEntry.actor as vtkVolume;
@@ -547,17 +997,65 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
547
997
  }
548
998
  const cfun = volumeActor.getProperty().getRGBTransferFunction(0);
549
999
  const [lower, upper] =
550
- this.VOILUTFunction === 'SIGMOID'
1000
+ this.viewportProperties?.VOILUTFunction === 'SIGMOID'
551
1001
  ? getVoiFromSigmoidRGBTransferFunction(cfun)
552
1002
  : cfun.getRange();
553
1003
  return { volumeId, voiRange: { lower, upper } };
554
1004
  })
555
1005
  .filter(Boolean);
556
1006
 
557
- const voiRange = voiRanges.length ? voiRanges[0].voiRange : null;
558
- const VOILUTFunction = this.VOILUTFunction;
1007
+ const voiRange = volumeId
1008
+ ? voiRanges.find((range) => range.volumeId === volumeId)?.voiRange
1009
+ : voiRanges[0]?.voiRange;
1010
+
1011
+ const volumeColormap = this.getColormap(volumeId);
1012
+
1013
+ const colormap =
1014
+ volumeId && volumeColormap ? volumeColormap : latestColormap;
1015
+
1016
+ return {
1017
+ colormap: colormap,
1018
+ voiRange: voiRange,
1019
+ VOILUTFunction: VOILUTFunction,
1020
+ interpolationType: interpolationType,
1021
+ invert: invert,
1022
+ slabThickness: slabThickness,
1023
+ rotation: rotation,
1024
+ preset,
1025
+ };
1026
+ };
1027
+
1028
+ /**
1029
+ * This function extracts the nodes from the RGB Transfer Function, transforming each node's x, r, g, b properties
1030
+ * into a unified array "RGB Points." Then, it compares these RGB Points—specifically the r, g, b values—with
1031
+ * those in the predefined vtk colormap presets. Upon finding a matching set of r, g, b values, the function identifies and selects the
1032
+ * corresponding colormap.
1033
+ *
1034
+ * Next, the function extracts an array of opacity points, formatted as a sequence of [x,y] pairs, where 'x' represents a value and
1035
+ * 'y' represents its opacity. It iterates through this array to construct an opacity object that maps each value to its opacity.
1036
+ *
1037
+ * The function returns an object that includes the name of the identified colormap and the constructed opacity object.
1038
+ * @param applicableVolumeActorInfo - The volume actor information for the volume
1039
+ * @returns colormap information for the volume if identified
1040
+ */
1041
+ private getColormap = (volumeId) => {
1042
+ const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
1043
+
1044
+ if (!applicableVolumeActorInfo) {
1045
+ return;
1046
+ }
1047
+
1048
+ const { volumeActor } = applicableVolumeActorInfo;
1049
+ const cfun = volumeActor.getProperty().getRGBTransferFunction(0);
1050
+ const { nodes } = cfun.getState();
1051
+ const RGBPoints = nodes.reduce((acc, node) => {
1052
+ acc.push(node.x, node.r, node.g, node.b);
1053
+ return acc;
1054
+ }, []);
1055
+
1056
+ const matchedColormap = findMatchingColormap(RGBPoints, volumeActor);
559
1057
 
560
- return { voiRange, VOILUTFunction, invert: this.inverted };
1058
+ return matchedColormap;
561
1059
  };
562
1060
 
563
1061
  /**
@@ -599,7 +1097,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
599
1097
  this.element,
600
1098
  this.id,
601
1099
  suppressEvents,
602
- this.use16BitTexture
1100
+ this.useNativeDataType
603
1101
  );
604
1102
 
605
1103
  // We cannot use only volumeId since then we cannot have for instance more
@@ -619,6 +1117,8 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
619
1117
  this._setVolumeActors(volumeActors);
620
1118
  this.viewportStatus = ViewportStatus.PRE_RENDER;
621
1119
 
1120
+ this.initializeColorTransferFunction(volumeInputArray);
1121
+
622
1122
  triggerEvent(this.element, Events.VOLUME_VIEWPORT_NEW_VOLUME, {
623
1123
  viewportId: this.id,
624
1124
  volumeActors,
@@ -665,7 +1165,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
665
1165
  this.element,
666
1166
  this.id,
667
1167
  suppressEvents,
668
- this.use16BitTexture
1168
+ this.useNativeDataType
669
1169
  );
670
1170
 
671
1171
  if (visibility === false) {
@@ -693,6 +1193,8 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
693
1193
 
694
1194
  this.addActors(volumeActors);
695
1195
 
1196
+ this.initializeColorTransferFunction(volumeInputArray);
1197
+
696
1198
  if (immediate) {
697
1199
  // render
698
1200
  this.render();
@@ -725,10 +1227,32 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
725
1227
  * @param orientation - The orientation to set the camera to.
726
1228
  * @param immediate - Whether the `Viewport` should be rendered as soon as the camera is set.
727
1229
  */
728
- public setOrientation(orientation: OrientationAxis, immediate = true): void {
1230
+ public setOrientation(
1231
+ _orientation: OrientationAxis | OrientationVectors,
1232
+ _immediate = true
1233
+ ): void {
729
1234
  console.warn('Method "setOrientation" needs implementation');
730
1235
  }
731
1236
 
1237
+ /**
1238
+ * Initializes the color transfer function nodes for a given volume.
1239
+ *
1240
+ * @param volumeInputArray - Array of volume inputs.
1241
+ * @param getTransferFunctionNodes - Function to get the transfer function nodes.
1242
+ * @returns void
1243
+ */
1244
+ private initializeColorTransferFunction(volumeInputArray) {
1245
+ const selectedVolumeId = volumeInputArray[0].volumeId;
1246
+ const colorTransferFunction =
1247
+ this._getOrCreateColorTransferFunction(selectedVolumeId);
1248
+
1249
+ if (!this.initialTransferFunctionNodes) {
1250
+ this.initialTransferFunctionNodes = getTransferFunctionNodes(
1251
+ colorTransferFunction
1252
+ );
1253
+ }
1254
+ }
1255
+
732
1256
  private _getApplicableVolumeActor(volumeId?: string) {
733
1257
  if (volumeId !== undefined && !this.getActor(volumeId)) {
734
1258
  return;
@@ -783,6 +1307,56 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
783
1307
  return true;
784
1308
  }
785
1309
 
1310
+ /**
1311
+ * Gets the rotation resulting from the value set in setRotation AND taking into
1312
+ * account any flips that occurred subsequently from the camera provided or the viewport.
1313
+ *
1314
+ * @returns the rotation resulting from the value set in setRotation AND taking into
1315
+ * account any flips that occurred subsequently.
1316
+ */
1317
+ public getRotation = (): number => {
1318
+ const {
1319
+ viewUp: currentViewUp,
1320
+ viewPlaneNormal,
1321
+ flipVertical,
1322
+ } = this.getCamera();
1323
+
1324
+ // The initial view up vector without any rotation, but incorporating vertical flip.
1325
+ const initialViewUp = flipVertical
1326
+ ? vec3.negate([0, 0, 0], this.initialViewUp)
1327
+ : this.initialViewUp;
1328
+
1329
+ if (!initialViewUp) {
1330
+ return 0;
1331
+ }
1332
+
1333
+ // The angle between the initial and current view up vectors.
1334
+ // TODO: check with VTK about rounding errors here.
1335
+ const initialToCurrentViewUpAngle =
1336
+ (vec3.angle(initialViewUp, currentViewUp) * 180) / Math.PI;
1337
+
1338
+ // Now determine if initialToCurrentViewUpAngle is positive or negative by comparing
1339
+ // the direction of the initial/current view up cross product with the current
1340
+ // viewPlaneNormal.
1341
+
1342
+ const initialToCurrentViewUpCross = vec3.cross(
1343
+ [0, 0, 0],
1344
+ initialViewUp,
1345
+ currentViewUp
1346
+ );
1347
+
1348
+ // The sign of the dot product of the start/end view up cross product and
1349
+ // the viewPlaneNormal indicates a positive or negative rotation respectively.
1350
+ const normalDot = vec3.dot(initialToCurrentViewUpCross, viewPlaneNormal);
1351
+
1352
+ const value =
1353
+ normalDot >= 0
1354
+ ? initialToCurrentViewUpAngle
1355
+ : (360 - initialToCurrentViewUpAngle) % 360;
1356
+
1357
+ return value;
1358
+ };
1359
+
786
1360
  /**
787
1361
  * gets the visible bounds of the viewport in the world coordinate system
788
1362
  */
@@ -873,7 +1447,10 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
873
1447
  */
874
1448
  private _setVolumeActors(volumeActorEntries: Array<ActorEntry>): void {
875
1449
  // New volume actors implies resetting the inverted flag (i.e. like starting from scratch).
876
- this.inverted = false;
1450
+
1451
+ for (let i = 0; i < volumeActorEntries.length; i++) {
1452
+ this.viewportProperties.invert = false;
1453
+ }
877
1454
  this.setActors(volumeActorEntries);
878
1455
  }
879
1456
 
@@ -1052,6 +1629,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
1052
1629
  typeof orientation === 'string' &&
1053
1630
  MPR_CAMERA_VALUES[orientation]
1054
1631
  ) {
1632
+ this.viewportProperties.orientation = orientation;
1055
1633
  return MPR_CAMERA_VALUES[orientation];
1056
1634
  } else {
1057
1635
  throw new Error(
@@ -1130,10 +1708,64 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
1130
1708
  return imageVolume.imageIds;
1131
1709
  };
1132
1710
 
1133
- abstract getCurrentImageIdIndex(): number;
1134
-
1135
1711
  abstract getCurrentImageId(): string;
1136
1712
 
1713
+ /**
1714
+ * Gets the volumeId to use for references.
1715
+ * Returns undefined if the specified volume is NOT in this viewport.
1716
+ */
1717
+ protected getVolumeId(specifier?: ViewReferenceSpecifier) {
1718
+ const actorEntries = this.getActors();
1719
+ if (!actorEntries) {
1720
+ return;
1721
+ }
1722
+ if (!specifier?.volumeId) {
1723
+ // find the first image actor of instance type vtkVolume
1724
+ return actorEntries.find(
1725
+ (actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume'
1726
+ )?.uid;
1727
+ }
1728
+
1729
+ // See if this volumeId can be found in one of the actors for this
1730
+ // viewport. This check will cause undefined to be returned when the
1731
+ // volumeId isn't currently shown in this viewport.
1732
+ return actorEntries.find(
1733
+ (actorEntry) =>
1734
+ actorEntry.actor.getClassName() === 'vtkVolume' &&
1735
+ actorEntry.uid === specifier.volumeId
1736
+ )?.uid;
1737
+ }
1738
+
1739
+ /**
1740
+ * For a volume viewport, the reference id will be a URN starting with
1741
+ * `volumeId:<volumeId>`, followed by additional arguments to specify
1742
+ * the view orientation. This will end up being a unique string that
1743
+ * identifies the view reference being shown. It is different from the
1744
+ * view reference in that the values are all incorporated into a string to
1745
+ * allow using it as a parameter key.
1746
+ */
1747
+ public getReferenceId(specifier: ViewReferenceSpecifier = {}): string {
1748
+ let { volumeId, sliceIndex: sliceIndex } = specifier;
1749
+ if (!volumeId) {
1750
+ const actorEntries = this.getActors();
1751
+ if (!actorEntries) {
1752
+ return;
1753
+ }
1754
+ // find the first image actor of instance type vtkVolume
1755
+ volumeId = actorEntries.find(
1756
+ (actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume'
1757
+ )?.uid;
1758
+ }
1759
+
1760
+ const currentIndex = this.getSliceIndex();
1761
+ sliceIndex ??= currentIndex;
1762
+ const { viewPlaneNormal, focalPoint } = this.getCamera();
1763
+ const querySeparator = volumeId.indexOf('?') > -1 ? '&' : '?';
1764
+ return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(
1765
+ ','
1766
+ )}&focalPoint=${focalPoint.join(',')}`;
1767
+ }
1768
+
1137
1769
  abstract setBlendMode(
1138
1770
  blendMode: BlendModes,
1139
1771
  filterActorUIDs?: Array<string>,
@@ -1145,6 +1777,8 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
1145
1777
  filterActorUIDs?: Array<string>
1146
1778
  ): void;
1147
1779
 
1780
+ abstract resetSlabThickness(): void;
1781
+
1148
1782
  abstract resetProperties(volumeId?: string): void;
1149
1783
  }
1150
1784