@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
@@ -1,86 +1,103 @@
1
1
  import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
2
- import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
3
2
  import type { vtkImageData as vtkImageDataType } from '@kitware/vtk.js/Common/DataModel/ImageData';
3
+ import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
4
4
  import vtkCamera from '@kitware/vtk.js/Rendering/Core/Camera';
5
- import { vec2, vec3, mat4 } from 'gl-matrix';
5
+ import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
6
+ import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps';
6
7
  import vtkImageMapper from '@kitware/vtk.js/Rendering/Core/ImageMapper';
7
8
  import vtkImageSlice from '@kitware/vtk.js/Rendering/Core/ImageSlice';
8
- import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
9
- import * as metaData from '../metaData';
10
- import Viewport from './Viewport';
9
+ import { mat4, vec2, vec3 } from 'gl-matrix';
11
10
  import eventTarget from '../eventTarget';
12
- import {
13
- triggerEvent,
14
- isEqual,
15
- invertRgbTransferFunction,
16
- createSigmoidRGBTransferFunction,
17
- windowLevel as windowLevelUtil,
18
- imageIdToURI,
19
- isImageActor,
20
- actorIsA,
21
- imageRetrieveMetadataProvider,
22
- } from '../utilities';
11
+ import * as metaData from '../metaData';
12
+ import cloneDeep from 'lodash.clonedeep';
23
13
  import type {
24
- Point2,
25
- Point3,
26
- VOIRange,
14
+ ActorEntry,
15
+ CPUFallbackColormapData,
16
+ CPUFallbackEnabledElement,
17
+ CPUIImageData,
18
+ ColormapPublic,
19
+ EventTypes,
20
+ FlipDirection,
27
21
  ICamera,
28
22
  IImage,
23
+ IImageCalibration,
29
24
  IImageData,
30
- CPUIImageData,
25
+ IImagesLoader,
26
+ IStackInput,
27
+ IStackViewport,
28
+ ImageLoadListener,
29
+ Mat3,
31
30
  PTScaling,
31
+ Point2,
32
+ Point3,
32
33
  Scaling,
33
34
  StackViewportProperties,
34
- FlipDirection,
35
- ActorEntry,
36
- CPUFallbackEnabledElement,
37
- CPUFallbackColormapData,
38
- EventTypes,
39
- IStackViewport,
35
+ VOIRange,
36
+ ViewReference,
37
+ ViewPresentation,
40
38
  VolumeActor,
41
- Mat3,
42
- ColormapRegistration,
43
- IImageCalibration,
44
- IImagesLoader,
45
- ImageLoadListener,
46
39
  } from '../types';
47
- import { ViewportInput } from '../types/IViewport';
48
- import drawImageSync from './helpers/cpuFallback/drawImageSync';
40
+ import {
41
+ ViewReferenceSpecifier,
42
+ ReferenceCompatibleOptions,
43
+ ViewportInput,
44
+ } from '../types/IViewport';
45
+ import {
46
+ actorIsA,
47
+ colormap as colormapUtils,
48
+ createSigmoidRGBTransferFunction,
49
+ imageIdToURI,
50
+ imageRetrieveMetadataProvider,
51
+ invertRgbTransferFunction,
52
+ isEqual,
53
+ isImageActor,
54
+ triggerEvent,
55
+ updateVTKImageDataWithCornerstoneImage,
56
+ windowLevel as windowLevelUtil,
57
+ } from '../utilities';
58
+ import Viewport from './Viewport';
49
59
  import { getColormap } from './helpers/cpuFallback/colors/index';
60
+ import drawImageSync from './helpers/cpuFallback/drawImageSync';
50
61
 
51
- import { loadAndCacheImage, ImageLoaderOptions } from '../loaders/imageLoader';
52
- import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
53
62
  import {
63
+ Events,
54
64
  InterpolationType,
65
+ MetadataModules,
55
66
  RequestType,
56
- Events,
57
67
  VOILUTFunctionType,
58
68
  ViewportStatus,
59
69
  } from '../enums';
70
+ import { ImageLoaderOptions, loadAndCacheImage } from '../loaders/imageLoader';
71
+ import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
72
+ import calculateTransform from './helpers/cpuFallback/rendering/calculateTransform';
60
73
  import canvasToPixel from './helpers/cpuFallback/rendering/canvasToPixel';
61
- import pixelToCanvas from './helpers/cpuFallback/rendering/pixelToCanvas';
62
74
  import getDefaultViewport from './helpers/cpuFallback/rendering/getDefaultViewport';
63
- import calculateTransform from './helpers/cpuFallback/rendering/calculateTransform';
75
+ import pixelToCanvas from './helpers/cpuFallback/rendering/pixelToCanvas';
64
76
  import resize from './helpers/cpuFallback/rendering/resize';
65
77
 
66
- import resetCamera from './helpers/cpuFallback/rendering/resetCamera';
67
- import { Transform } from './helpers/cpuFallback/rendering/transform';
78
+ import cache from '../cache';
68
79
  import { getConfiguration, getShouldUseCPURendering } from '../init';
80
+ import { createProgressive } from '../loaders/ProgressiveRetrieveImages';
81
+ import {
82
+ ImagePixelModule,
83
+ ImagePlaneModule,
84
+ PixelDataTypedArray,
85
+ } from '../types';
69
86
  import {
70
87
  StackViewportNewStackEventDetail,
71
88
  StackViewportScrollEventDetail,
72
89
  VoiModifiedEventDetail,
73
90
  } from '../types/EventTypes';
74
- import cache from '../cache';
75
- import correctShift from './helpers/cpuFallback/rendering/correctShift';
76
91
  import { ImageActor } from '../types/IActor';
77
92
  import createLinearRGBTransferFunction from '../utilities/createLinearRGBTransferFunction';
78
93
  import {
79
- PixelDataTypedArray,
80
- ImagePixelModule,
81
- ImagePlaneModule,
82
- } from '../types';
83
- import { createProgressive } from '../loaders/ProgressiveRetrieveImages';
94
+ getTransferFunctionNodes,
95
+ setTransferFunctionNodes,
96
+ } from '../utilities/transferFunctionUtils';
97
+ import correctShift from './helpers/cpuFallback/rendering/correctShift';
98
+ import resetCamera from './helpers/cpuFallback/rendering/resetCamera';
99
+ import { Transform } from './helpers/cpuFallback/rendering/transform';
100
+ import { findMatchingColormap } from '../utilities/colormap';
84
101
 
85
102
  const EPSILON = 1; // Slice Thickness
86
103
 
@@ -131,6 +148,13 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
131
148
  protected imagesLoader: IImagesLoader = this;
132
149
 
133
150
  // Viewport Properties
151
+ private globalDefaultProperties: StackViewportProperties;
152
+ private perImageIdDefaultProperties = new Map<
153
+ string,
154
+ StackViewportProperties
155
+ >();
156
+
157
+ private colormap: ColormapPublic | CPUFallbackColormapData;
134
158
  private voiRange: VOIRange;
135
159
  private voiUpdatedWithSetProperties = false;
136
160
  private VOILUTFunction: VOILUTFunctionType;
@@ -138,6 +162,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
138
162
  private invert = false;
139
163
  // The initial invert of the image loaded as opposed to the invert status of the viewport itself (see above).
140
164
  private initialInvert = false;
165
+ private initialTransferFunctionNodes = null;
141
166
  private interpolationType: InterpolationType;
142
167
 
143
168
  // Helpers
@@ -166,6 +191,11 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
166
191
  // Camera properties
167
192
  private initialViewUp: Point3;
168
193
 
194
+ // this flag is used to check
195
+ // if the viewport used the same actor/mapper to render the image
196
+ // or because of the new image inconsistency, a new actor/mapper was created
197
+ public stackActorReInitialized: boolean;
198
+
169
199
  /**
170
200
  * Constructor for the StackViewport class
171
201
  * @param props - ViewportInput
@@ -256,14 +286,6 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
256
286
  */
257
287
  public getImageData: () => IImageData | CPUIImageData;
258
288
 
259
- /**
260
- * Sets the colormap for the current viewport.
261
- * @param colormap - The colormap data to use.
262
- */
263
- public setColormap: (
264
- colormap: CPUFallbackColormapData | ColormapRegistration
265
- ) => void;
266
-
267
289
  /**
268
290
  * If the user has selected CPU rendering, return the CPU camera, otherwise
269
291
  * return the default camera
@@ -367,10 +389,20 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
367
389
 
368
390
  private setVOI: (voiRange: VOIRange, options?: SetVOIOptions) => void;
369
391
 
370
- private setInterpolationType: (interpolationType: InterpolationType) => void;
392
+ protected setInterpolationType: (
393
+ interpolationType: InterpolationType
394
+ ) => void;
371
395
 
372
396
  private setInvertColor: (invert: boolean) => void;
373
397
 
398
+ /**
399
+ * Sets the colormap for the current viewport.
400
+ * @param colormap - The colormap data to use.
401
+ */
402
+ private setColormap: (
403
+ colormap: CPUFallbackColormapData | ColormapPublic
404
+ ) => void;
405
+
374
406
  private initializeElementDisabledHandler() {
375
407
  eventTarget.addEventListener(
376
408
  Events.ELEMENT_DISABLED,
@@ -425,7 +457,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
425
457
  metadata: { Modality: this.modality },
426
458
  scaling: this.scaling,
427
459
  hasPixelSpacing: this.hasPixelSpacing,
428
- calibration: this.calibration,
460
+ calibration: { ...this.csImage.calibration, ...this.calibration },
429
461
  preScale: {
430
462
  ...this.csImage.preScale,
431
463
  },
@@ -457,17 +489,17 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
457
489
  );
458
490
  return [pixelCoord[0], pixelCoord[1], 0];
459
491
  },
460
- indexToWorld: (point: Point3) => {
492
+ indexToWorld: (point: Point3, destPoint?: Point3) => {
461
493
  const canvasPoint = pixelToCanvas(this._cpuFallbackEnabledElement, [
462
494
  point[0],
463
495
  point[1],
464
496
  ]);
465
- return this.canvasToWorldCPU(canvasPoint);
497
+ return this.canvasToWorldCPU(canvasPoint, destPoint);
466
498
  },
467
499
  },
468
500
  scalarData: this.cpuImagePixelData,
469
501
  hasPixelSpacing: this.hasPixelSpacing,
470
- calibration: this.calibration,
502
+ calibration: { ...this.csImage.calibration, ...this.calibration },
471
503
  preScale: {
472
504
  ...this.csImage.preScale,
473
505
  },
@@ -479,34 +511,13 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
479
511
  * metadata, it returns undefined, otherwise, frameOfReferenceUID is returned.
480
512
  * @returns frameOfReferenceUID : string representing frame of reference id
481
513
  */
482
- public getFrameOfReferenceUID = (): string | undefined => {
483
- // Get the current image that is displayed in the viewport
484
- const imageId = this.getCurrentImageId();
485
-
486
- if (!imageId) {
487
- return;
488
- }
489
-
490
- // Use the metadata provider to grab its imagePlaneModule metadata
491
- const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
492
-
493
- // If nothing exists, return undefined
494
- if (!imagePlaneModule) {
495
- return;
496
- }
497
-
498
- // Otherwise, provide the FrameOfReferenceUID so we can map
499
- // annotations made on VolumeViewports back to StackViewports
500
- // and vice versa
501
- return imagePlaneModule.frameOfReferenceUID;
502
- };
514
+ public getFrameOfReferenceUID = (sliceIndex?: number): string =>
515
+ this.getImagePlaneReferenceData(sliceIndex)?.FrameOfReferenceUID;
503
516
 
504
517
  /**
505
518
  * Returns the raw/loaded image being shown inside the stack viewport.
506
519
  */
507
- public getCornerstoneImage = (): IImage => {
508
- return this.csImage;
509
- };
520
+ public getCornerstoneImage = (): IImage => this.csImage;
510
521
 
511
522
  /**
512
523
  * Creates imageMapper based on the provided vtkImageData and also creates
@@ -528,7 +539,6 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
528
539
  const { preferSizeOverAccuracy } = getConfiguration().rendering;
529
540
 
530
541
  if (preferSizeOverAccuracy) {
531
- // @ts-ignore for now until vtk is updated
532
542
  mapper.setPreferSizeOverAccuracy(true);
533
543
  }
534
544
 
@@ -539,6 +549,11 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
539
549
  return actor;
540
550
  };
541
551
 
552
+ /** Gets the number of slices */
553
+ public getNumberOfSlices = (): number => {
554
+ return this.imageIds.length;
555
+ };
556
+
542
557
  /**
543
558
  * Retrieves the metadata from the metadata provider, and optionally adds the
544
559
  * scaling to the viewport if modality is PET and scaling metadata is provided.
@@ -565,6 +580,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
565
580
 
566
581
  const { modality } = metaData.get('generalSeriesModule', imageId);
567
582
  const imageIdScalingFactor = metaData.get('scalingModule', imageId);
583
+ const calibration = metaData.get(MetadataModules.CALIBRATION, imageId);
568
584
 
569
585
  if (modality === 'PT' && imageIdScalingFactor) {
570
586
  this._addScalingToViewport(imageIdScalingFactor);
@@ -574,7 +590,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
574
590
  const voiLUTFunctionEnum = this._getValidVOILUTFunction(voiLUTFunction);
575
591
  this.VOILUTFunction = voiLUTFunctionEnum;
576
592
 
577
- this.calibration = null;
593
+ this.calibration = calibration;
578
594
  let imagePlaneModule = this._getImagePlaneModule(imageId);
579
595
 
580
596
  if (!this.useCPURendering) {
@@ -629,15 +645,60 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
629
645
  }
630
646
 
631
647
  /**
632
- * Sets the properties for the viewport on the default actor. Properties include
633
- * setting the VOI, inverting the colors and setting the interpolation type, rotation
634
- * @param voiRange - Sets the lower and upper voi
635
- * @param invert - Inverts the colors
636
- * @param interpolationType - Changes the interpolation type (1:linear, 0: nearest)
637
- * @param rotation - image rotation in degrees
648
+ * Update the default properties of the viewport and add properties by imageId if specified
649
+ * @param ViewportProperties - The properties to set
650
+ * @param imageId If given, we set the default properties only for this image index, if not
651
+ * the default properties will be set for all imageIds
652
+ */
653
+ public setDefaultProperties(
654
+ ViewportProperties: StackViewportProperties,
655
+ imageId?: string
656
+ ): void {
657
+ if (imageId == null) {
658
+ this.globalDefaultProperties = ViewportProperties;
659
+ } else {
660
+ this.perImageIdDefaultProperties.set(imageId, ViewportProperties);
661
+
662
+ //If the viewport is the same imageIdI, we need to update the viewport
663
+ if (this.getCurrentImageId() === imageId) {
664
+ this.setProperties(ViewportProperties);
665
+ }
666
+ }
667
+ }
668
+
669
+ /**
670
+ * Remove the global default properties of the viewport or remove default properties for an imageId if specified
671
+ * @param imageId If given, we remove the default properties only for this imageID, if not
672
+ * the global default properties will be removed
673
+ */
674
+ public clearDefaultProperties(imageId?: string): void {
675
+ if (imageId == null) {
676
+ this.globalDefaultProperties = {};
677
+ this.resetProperties();
678
+ } else {
679
+ this.perImageIdDefaultProperties.delete(imageId);
680
+ this.resetToDefaultProperties();
681
+ }
682
+ }
683
+
684
+ /**
685
+ Configures the properties of the viewport.
686
+ This method allows customization of the viewport by setting attributes like
687
+ VOI (Value of Interest), color inversion, interpolation type, and image rotation.
688
+ If setProperties is called for the first time, the provided properties will
689
+ become the default settings for all images in the stack in case the resetPropertiese need to be called
690
+ @param properties - An object containing the properties to be set.
691
+ @param properties.colormap - Specifies the colormap for the viewport.
692
+ @param properties.voiRange - Defines the lower and upper Value of Interest (VOI) to be applied.
693
+ @param properties.VOILUTFunction - Function to handle the application of a lookup table (LUT) to the VOI.
694
+ @param properties.invert - A boolean value to toggle color inversion (true: inverted, false: not inverted).
695
+ @param properties.interpolationType - Determines the interpolation method to be used (1: linear, 0: nearest-neighbor).
696
+ @param properties.rotation - Specifies the image rotation angle in degrees.
697
+ @param suppressEvents - A boolean value to control event suppression. If true, the related events will not be triggered. Default is false.
638
698
  */
639
699
  public setProperties(
640
700
  {
701
+ colormap,
641
702
  voiRange,
642
703
  VOILUTFunction,
643
704
  invert,
@@ -649,6 +710,21 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
649
710
  this.viewportStatus = this.csImage
650
711
  ? ViewportStatus.PRE_RENDER
651
712
  : ViewportStatus.LOADING;
713
+
714
+ if (this.globalDefaultProperties == null) {
715
+ this.setDefaultProperties({
716
+ colormap,
717
+ voiRange,
718
+ VOILUTFunction,
719
+ invert,
720
+ interpolationType,
721
+ rotation,
722
+ });
723
+ }
724
+
725
+ if (typeof colormap !== 'undefined') {
726
+ this.setColormap(colormap);
727
+ }
652
728
  // if voi is not applied for the first time, run the setVOI function
653
729
  // which will apply the default voi based on the range
654
730
  if (typeof voiRange !== 'undefined') {
@@ -676,12 +752,35 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
676
752
  }
677
753
  }
678
754
 
755
+ /**
756
+ * Retrieve the viewport default properties
757
+ * @param imageId If given, we retrieve the default properties of an image index if it exists
758
+ * If not given,we return the global properties of the viewport
759
+ * @returns viewport properties including voi, invert, interpolation type, rotation, flip
760
+ */
761
+ public getDefaultProperties = (imageId?: string): StackViewportProperties => {
762
+ let imageProperties;
763
+ if (imageId !== undefined) {
764
+ imageProperties = this.perImageIdDefaultProperties.get(imageId);
765
+ }
766
+
767
+ if (imageProperties !== undefined) {
768
+ return imageProperties;
769
+ }
770
+
771
+ return {
772
+ ...this.globalDefaultProperties,
773
+ rotation: this.getRotation(),
774
+ };
775
+ };
776
+
679
777
  /**
680
778
  * Retrieve the viewport properties
681
779
  * @returns viewport properties including voi, invert, interpolation type, rotation, flip
682
780
  */
683
781
  public getProperties = (): StackViewportProperties => {
684
782
  const {
783
+ colormap,
685
784
  voiRange,
686
785
  VOILUTFunction,
687
786
  interpolationType,
@@ -691,6 +790,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
691
790
  const rotation = this.getRotation();
692
791
 
693
792
  return {
793
+ colormap,
694
794
  voiRange,
695
795
  VOILUTFunction,
696
796
  interpolationType,
@@ -734,11 +834,71 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
734
834
 
735
835
  this.setVOI(voiRange);
736
836
 
837
+ this.setInvertColor(this.initialInvert);
838
+
839
+ this.setInterpolationType(InterpolationType.LINEAR);
840
+
841
+ if (this.getRotation() !== 0) {
842
+ this.setRotation(0);
843
+ }
844
+
845
+ const transferFunction = this.getTransferFunction();
846
+ setTransferFunctionNodes(
847
+ transferFunction,
848
+ this.initialTransferFunctionNodes
849
+ );
850
+
851
+ const nodes = getTransferFunctionNodes(transferFunction);
852
+
853
+ const RGBPoints = nodes.reduce((acc, node) => {
854
+ acc.push(node[0], node[1], node[2], node[3]);
855
+ return acc;
856
+ }, []);
857
+
858
+ const defaultActor = this.getDefaultActor();
859
+ const matchedColormap = findMatchingColormap(RGBPoints, defaultActor.actor);
860
+
861
+ this.setColormap(matchedColormap);
862
+ }
863
+
864
+ public resetToDefaultProperties(): void {
865
+ this.cpuRenderingInvalidated = true;
866
+ this.viewportStatus = ViewportStatus.PRE_RENDER;
867
+
868
+ this.fillWithBackgroundColor();
869
+
870
+ if (this.useCPURendering) {
871
+ this._cpuFallbackEnabledElement.renderingTools = {};
872
+ }
873
+
874
+ const currentImageId = this.getCurrentImageId();
875
+ const properties =
876
+ this.perImageIdDefaultProperties.get(currentImageId) ||
877
+ this.globalDefaultProperties;
878
+
879
+ if (properties.colormap?.name) {
880
+ this.setColormap(properties.colormap);
881
+ }
882
+
883
+ let voiRange;
884
+ if (properties.voiRange == undefined) {
885
+ // if not set via setProperties; if it is not a PT image or is not prescaled,
886
+ // use the voiRange for the current image from its metadata if found
887
+ // otherwise, use the cached voiRange
888
+ voiRange = this._getVOIRangeForCurrentImage();
889
+ } else {
890
+ voiRange = properties.voiRange;
891
+ }
892
+
893
+ this.setVOI(voiRange);
894
+
737
895
  if (this.getRotation() !== 0) {
738
896
  this.setRotation(0);
739
897
  }
740
898
  this.setInterpolationType(InterpolationType.LINEAR);
741
- this.setInvertColor(this.initialInvert);
899
+ this.setInvertColor(false);
900
+
901
+ this.render();
742
902
  }
743
903
 
744
904
  private _setPropertiesFromCache(): void {
@@ -901,6 +1061,33 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
901
1061
  triggerEvent(this.element, Events.CAMERA_MODIFIED, eventDetail);
902
1062
  }
903
1063
 
1064
+ private getPanCPU(): Point2 {
1065
+ const { viewport } = this._cpuFallbackEnabledElement;
1066
+
1067
+ return [viewport.translation.x, viewport.translation.y];
1068
+ }
1069
+
1070
+ private setPanCPU(pan: Point2): void {
1071
+ const camera = this.getCameraCPU();
1072
+
1073
+ this.setCameraCPU({
1074
+ ...camera,
1075
+ focalPoint: [...pan.map((p) => -p), 0] as Point3,
1076
+ });
1077
+ }
1078
+
1079
+ private getZoomCPU(): number {
1080
+ const { viewport } = this._cpuFallbackEnabledElement;
1081
+
1082
+ return viewport.scale;
1083
+ }
1084
+
1085
+ private setZoomCPU(zoom: number): void {
1086
+ const camera = this.getCameraCPU();
1087
+
1088
+ this.setCameraCPU({ ...camera, scale: zoom });
1089
+ }
1090
+
904
1091
  private setFlipCPU({ flipHorizontal, flipVertical }: FlipDirection): void {
905
1092
  const { viewport } = this._cpuFallbackEnabledElement;
906
1093
 
@@ -963,13 +1150,17 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
963
1150
  : (360 - initialToCurrentViewUpAngle) % 360;
964
1151
  };
965
1152
 
966
- private setRotation(rotation: number): void {
1153
+ protected setRotation = (rotation: number) => {
967
1154
  const previousCamera = this.getCamera();
968
1155
 
969
1156
  this.useCPURendering
970
1157
  ? this.setRotationCPU(rotation)
971
1158
  : this.setRotationGPU(rotation);
972
1159
 
1160
+ if (this._suppressCameraModifiedEvents) {
1161
+ return;
1162
+ }
1163
+
973
1164
  // New camera after rotation
974
1165
  const camera = this.getCamera();
975
1166
 
@@ -983,7 +1174,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
983
1174
  };
984
1175
 
985
1176
  triggerEvent(this.element, Events.CAMERA_MODIFIED, eventDetail);
986
- }
1177
+ };
987
1178
 
988
1179
  private setVOILUTFunction(
989
1180
  voiLUTFunction: VOILUTFunctionType,
@@ -997,10 +1188,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
997
1188
  const newVOILUTFunction = this._getValidVOILUTFunction(voiLUTFunction);
998
1189
 
999
1190
  let forceRecreateLUTFunction = false;
1000
- if (
1001
- this.VOILUTFunction !== VOILUTFunctionType.LINEAR &&
1002
- newVOILUTFunction === VOILUTFunctionType.LINEAR
1003
- ) {
1191
+ if (this.VOILUTFunction !== newVOILUTFunction) {
1004
1192
  forceRecreateLUTFunction = true;
1005
1193
  }
1006
1194
 
@@ -1015,7 +1203,18 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1015
1203
  viewport.rotation = rotation;
1016
1204
  }
1017
1205
 
1206
+ /**
1207
+ * The rotation that is being set is intended to be around the currently
1208
+ * display center of the image. However, the roll operation does it around
1209
+ * another point which can result in the image disappearing. The set/get
1210
+ * pan values move the center of rotation to the center of the image as
1211
+ * currently actually displayed.
1212
+ */
1018
1213
  private setRotationGPU(rotation: number): void {
1214
+ const panFit = this.getPan(this.fitToCanvasCamera);
1215
+ const pan = this.getPan();
1216
+ const panSub = vec2.sub([0, 0], panFit, pan) as Point2;
1217
+ this.setPan(panSub, false);
1019
1218
  const { flipVertical } = this.getCamera();
1020
1219
 
1021
1220
  // Moving back to zero rotation, for new scrolled slice rotation is 0 after camera reset
@@ -1029,6 +1228,11 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1029
1228
 
1030
1229
  // rotating camera to the new value
1031
1230
  this.getVtkActiveCamera().roll(-rotation);
1231
+ const afterPan = this.getPan();
1232
+ const afterPanFit = this.getPan(this.fitToCanvasCamera);
1233
+ const newCenter = vec2.sub([0, 0], afterPan, afterPanFit);
1234
+ const newOffset = vec2.add([0, 0], panFit, newCenter) as Point2;
1235
+ this.setPan(newOffset, false);
1032
1236
  }
1033
1237
 
1034
1238
  private setInterpolationTypeGPU(interpolationType: InterpolationType): void {
@@ -1046,6 +1250,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1046
1250
 
1047
1251
  // @ts-ignore
1048
1252
  volumeProperty.setInterpolationType(interpolationType);
1253
+
1049
1254
  this.interpolationType = interpolationType;
1050
1255
  }
1051
1256
 
@@ -1097,6 +1302,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1097
1302
  if ((!this.invert && invert) || (this.invert && !invert)) {
1098
1303
  invertRgbTransferFunction(tfunc);
1099
1304
  }
1305
+
1100
1306
  this.invert = invert;
1101
1307
  }
1102
1308
  }
@@ -1151,6 +1357,21 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1151
1357
  }
1152
1358
  }
1153
1359
 
1360
+ private getTransferFunction() {
1361
+ const defaultActor = this.getDefaultActor();
1362
+
1363
+ if (!defaultActor) {
1364
+ return;
1365
+ }
1366
+
1367
+ if (!isImageActor(defaultActor)) {
1368
+ return;
1369
+ }
1370
+ const imageActor = defaultActor.actor as ImageActor;
1371
+
1372
+ return imageActor.getProperty().getRGBTransferFunction(0);
1373
+ }
1374
+
1154
1375
  private setVOIGPU(voiRange: VOIRange, options: SetVOIOptions = {}): void {
1155
1376
  const {
1156
1377
  suppressEvents = false,
@@ -1210,6 +1431,8 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1210
1431
  }
1211
1432
 
1212
1433
  imageActor.getProperty().setRGBTransferFunction(0, transferFunction);
1434
+ this.initialTransferFunctionNodes =
1435
+ getTransferFunctionNodes(transferFunction);
1213
1436
  }
1214
1437
 
1215
1438
  if (!isSigmoidTFun) {
@@ -1295,7 +1518,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1295
1518
  * @returns image metadata: bitsAllocated, number of components, origin,
1296
1519
  * direction, dimensions, spacing, number of voxels.
1297
1520
  */
1298
- private _getImageDataMetadata(image: IImage): ImageDataMetaData {
1521
+ public getImageDataMetadata(image: IImage): ImageDataMetaData {
1299
1522
  // TODO: Creating a single image should probably not require a metadata provider.
1300
1523
  // We should define the minimum we need to display an image and it should live on
1301
1524
  // the Image object itself. Additional stuff (e.g. pixel spacing, direction, origin, etc)
@@ -1365,6 +1588,40 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1365
1588
  };
1366
1589
  }
1367
1590
 
1591
+ /**
1592
+ * Gets the view reference data for a given image slice. This uses the
1593
+ * image plane module to read a default focal point/normal, and also returns
1594
+ * the referenced image id and the frame of reference uid.
1595
+ */
1596
+ public getImagePlaneReferenceData(
1597
+ sliceIndex = this.getCurrentImageIdIndex()
1598
+ ): ViewReference {
1599
+ const imageId = this.imageIds[sliceIndex];
1600
+ if (!imageId) {
1601
+ return;
1602
+ }
1603
+ const imagePlaneModule = metaData.get(MetadataModules.IMAGE_PLANE, imageId);
1604
+ if (!imagePlaneModule) {
1605
+ return;
1606
+ }
1607
+ const { imagePositionPatient, frameOfReferenceUID: FrameOfReferenceUID } =
1608
+ imagePlaneModule;
1609
+ let { rowCosines, columnCosines } = imagePlaneModule;
1610
+ // Values are null, not undefined, so need to assign instead of defaulting
1611
+ rowCosines ||= [1, 0, 0];
1612
+ columnCosines ||= [0, 1, 0];
1613
+ const viewPlaneNormal = <Point3>(
1614
+ vec3.cross([0, 0, 0], columnCosines, rowCosines)
1615
+ );
1616
+ return {
1617
+ FrameOfReferenceUID,
1618
+ viewPlaneNormal,
1619
+ cameraFocalPoint: <Point3>imagePositionPatient,
1620
+ referencedImageId: imageId,
1621
+ sliceIndex,
1622
+ };
1623
+ }
1624
+
1368
1625
  /**
1369
1626
  * Converts the image direction to camera viewUp and viewplaneNormal
1370
1627
  *
@@ -1388,21 +1645,14 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1388
1645
  };
1389
1646
  }
1390
1647
 
1391
- /**
1392
- * Creates vtkImagedata based on the image object, it creates
1393
- * and empty scalar data for the image based on the metadata
1394
- * tags (e.g., bitsAllocated)
1395
- *
1396
- * @param image - cornerstone Image object
1397
- */
1398
- private _createVTKImageData({
1648
+ createVTKImageData({
1399
1649
  origin,
1400
1650
  direction,
1401
1651
  dimensions,
1402
1652
  spacing,
1403
1653
  numComps,
1404
1654
  pixelArray,
1405
- }): void {
1655
+ }) {
1406
1656
  const values = new pixelArray.constructor(pixelArray.length);
1407
1657
 
1408
1658
  // Todo: I guess nothing should be done for use16bit?
@@ -1412,13 +1662,39 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1412
1662
  values: values,
1413
1663
  });
1414
1664
 
1415
- this._imageData = vtkImageData.newInstance();
1665
+ const imageData = vtkImageData.newInstance();
1416
1666
 
1417
- this._imageData.setDimensions(dimensions);
1418
- this._imageData.setSpacing(spacing);
1419
- this._imageData.setDirection(direction);
1420
- this._imageData.setOrigin(origin);
1421
- this._imageData.getPointData().setScalars(scalarArray);
1667
+ imageData.setDimensions(dimensions);
1668
+ imageData.setSpacing(spacing);
1669
+ imageData.setDirection(direction);
1670
+ imageData.setOrigin(origin);
1671
+ imageData.getPointData().setScalars(scalarArray);
1672
+
1673
+ return imageData;
1674
+ }
1675
+ /**
1676
+ * Creates vtkImagedata based on the image object, it creates
1677
+ * empty scalar data for the image based on the metadata
1678
+ * tags (e.g., bitsAllocated)
1679
+ *
1680
+ * @param image - cornerstone Image object
1681
+ */
1682
+ private _createVTKImageData({
1683
+ origin,
1684
+ direction,
1685
+ dimensions,
1686
+ spacing,
1687
+ numComps,
1688
+ pixelArray,
1689
+ }): void {
1690
+ this._imageData = this.createVTKImageData({
1691
+ origin,
1692
+ direction,
1693
+ dimensions,
1694
+ spacing,
1695
+ numComps,
1696
+ pixelArray,
1697
+ });
1422
1698
  }
1423
1699
 
1424
1700
  /**
@@ -1556,40 +1832,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1556
1832
 
1557
1833
  // Update the pixel data in the vtkImageData object with the pixelData
1558
1834
  // from the loaded Cornerstone image
1559
- this._updatePixelData(image);
1560
- }
1561
-
1562
- private _updatePixelData(image: IImage) {
1563
- const pixelData = image.getPixelData();
1564
- const scalars = this._imageData.getPointData().getScalars();
1565
- const scalarData = scalars.getData() as
1566
- | Uint8Array
1567
- | Float32Array
1568
- | Uint16Array
1569
- | Int16Array;
1570
-
1571
- // if the color image is loaded with CPU previously, it loads it
1572
- // with RGBA, and here we need to remove the A channel from the
1573
- // pixel data.
1574
- if (image.color && image.rgba) {
1575
- const newPixelData = new Uint8Array(image.columns * image.rows * 3);
1576
- for (let i = 0; i < image.columns * image.rows; i++) {
1577
- newPixelData[i * 3] = pixelData[i * 4];
1578
- newPixelData[i * 3 + 1] = pixelData[i * 4 + 1];
1579
- newPixelData[i * 3 + 2] = pixelData[i * 4 + 2];
1580
- }
1581
- // modify the image object to have the correct pixel data for later
1582
- // use.
1583
- image.rgba = false;
1584
- image.getPixelData = () => newPixelData;
1585
- scalarData.set(newPixelData);
1586
- } else {
1587
- scalarData.set(pixelData);
1588
- }
1589
-
1590
- // Trigger modified on the VTK Object so the texture is updated
1591
- // TODO: evaluate directly changing things with texSubImage3D later
1592
- this._imageData.modified();
1835
+ updateVTKImageDataWithCornerstoneImage(this._imageData, image);
1593
1836
  }
1594
1837
 
1595
1838
  /**
@@ -1742,6 +1985,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1742
1985
  enabled: true,
1743
1986
  },
1744
1987
  useRGBA: true,
1988
+ requestType,
1745
1989
  };
1746
1990
 
1747
1991
  const eventDetail: EventTypes.PreStackNewImageEventDetail = {
@@ -1773,18 +2017,19 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1773
2017
  }
1774
2018
 
1775
2019
  // If Photometric Interpretation is not the same for the next image we are trying to load
1776
- // invalidate the stack to recreate the VTK imageData
2020
+ // invalidate the stack to recreate the VTK imageData. Get the PMI from
2021
+ // the base csImage if imageFrame isn't defined, which happens when the images
2022
+ // come from the volume
1777
2023
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1778
2024
  const csImgFrame = (<any>this.csImage)?.imageFrame;
1779
2025
  const imgFrame = image?.imageFrame;
2026
+ const photometricInterpretation =
2027
+ csImgFrame?.photometricInterpretation ||
2028
+ this.csImage?.photometricInterpretation;
2029
+ const newPhotometricInterpretation =
2030
+ imgFrame?.photometricInterpretation || image?.photometricInterpretation;
1780
2031
 
1781
- // if a volume is decached into images then the imageFrame will be undefined
1782
- if (
1783
- csImgFrame?.photometricInterpretation !==
1784
- imgFrame?.photometricInterpretation ||
1785
- this.csImage?.photometricInterpretation !==
1786
- image?.photometricInterpretation
1787
- ) {
2032
+ if (photometricInterpretation !== newPhotometricInterpretation) {
1788
2033
  this.stackInvalidated = true;
1789
2034
  }
1790
2035
 
@@ -1798,8 +2043,8 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1798
2043
  renderingEngineId: this.renderingEngineId,
1799
2044
  };
1800
2045
 
1801
- triggerEvent(this.element, Events.STACK_NEW_IMAGE, eventDetail);
1802
2046
  this._updateActorToDisplayImageId(image);
2047
+ triggerEvent(this.element, Events.STACK_NEW_IMAGE, eventDetail);
1803
2048
 
1804
2049
  // Trigger the image to be drawn on the next animation frame
1805
2050
  this.render();
@@ -1845,6 +2090,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1845
2090
  },
1846
2091
  useRGBA: false,
1847
2092
  transferSyntaxUID,
2093
+ useNativeDataType: this.useNativeDataType,
1848
2094
  priority: 5,
1849
2095
  requestType: RequestType.Interaction,
1850
2096
  additionalDetails,
@@ -1852,11 +2098,11 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1852
2098
  return options;
1853
2099
  }
1854
2100
 
1855
- public loadImages(
2101
+ public async loadImages(
1856
2102
  imageIds: string[],
1857
2103
  listener: ImageLoadListener
1858
2104
  ): Promise<unknown> {
1859
- return Promise.allSettled(
2105
+ const resultList = await Promise.allSettled(
1860
2106
  imageIds.map((imageId) => {
1861
2107
  const options = this.getLoaderImageOptions(
1862
2108
  imageId
@@ -1874,6 +2120,15 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1874
2120
  );
1875
2121
  })
1876
2122
  );
2123
+ const errorList = resultList.filter((item) => item.status === 'rejected');
2124
+ if (errorList && errorList.length) {
2125
+ const event = new CustomEvent(Events.IMAGE_LOAD_ERROR, {
2126
+ detail: errorList,
2127
+ cancelable: true,
2128
+ });
2129
+ eventTarget.dispatchEvent(event);
2130
+ }
2131
+ return resultList;
1877
2132
  }
1878
2133
 
1879
2134
  private _loadAndDisplayImageGPU(imageId: string, imageIdIndex: number) {
@@ -1922,7 +2177,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1922
2177
  };
1923
2178
 
1924
2179
  private _updateToDisplayImageCPU(image: IImage) {
1925
- const metadata = this._getImageDataMetadata(image) as ImageDataMetaData;
2180
+ const metadata = this.getImageDataMetadata(image) as ImageDataMetaData;
1926
2181
 
1927
2182
  const viewport = getDefaultViewport(
1928
2183
  this.canvas,
@@ -1964,6 +2219,43 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
1964
2219
  );
1965
2220
  }
1966
2221
 
2222
+ /**
2223
+ * This method is used to add images to the stack viewport.
2224
+ * It takes an array of stack inputs, each containing an imageId and an actor UID.
2225
+ * For each stack input, it retrieves the image from the cache and creates a VTK image data object.
2226
+ * It then creates an actor mapper for the image data and adds it to the list of actors.
2227
+ * Finally, it sets the actors for the stack viewport.
2228
+ *
2229
+ * @param stackInputs - An array of stack inputs, each containing an image ID and an actor UID.
2230
+ */
2231
+ public addImages(stackInputs: Array<IStackInput>) {
2232
+ const actors = this.getActors();
2233
+ stackInputs.forEach((stackInput) => {
2234
+ const image = cache.getImage(stackInput.imageId);
2235
+
2236
+ const { origin, dimensions, direction, spacing, numComps } =
2237
+ this.getImageDataMetadata(image);
2238
+
2239
+ const imagedata = this.createVTKImageData({
2240
+ origin,
2241
+ dimensions,
2242
+ direction,
2243
+ spacing,
2244
+ numComps,
2245
+ pixelArray: image.getPixelData(),
2246
+ });
2247
+
2248
+ const imageActor = this.createActorMapper(imagedata);
2249
+ if (imageActor) {
2250
+ actors.push({ uid: stackInput.actorUID, actor: imageActor });
2251
+ if (stackInput.callback) {
2252
+ stackInput.callback({ imageActor, imageId: stackInput.imageId });
2253
+ }
2254
+ }
2255
+ });
2256
+ this.setActors(actors);
2257
+ }
2258
+
1967
2259
  /**
1968
2260
  * It updates the volume actor with the retrieved cornerstone image.
1969
2261
  * It first checks if the new image has the same dimensions, spacings, and
@@ -2039,6 +2331,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2039
2331
  );
2040
2332
 
2041
2333
  this._setPropertiesFromCache();
2334
+ this.stackActorReInitialized = false;
2042
2335
 
2043
2336
  return;
2044
2337
  }
@@ -2050,17 +2343,19 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2050
2343
  spacing,
2051
2344
  numComps,
2052
2345
  imagePixelModule,
2053
- } = this._getImageDataMetadata(image);
2346
+ } = this.getImageDataMetadata(image);
2054
2347
 
2055
2348
  // 3b. If we cannot reuse the vtkImageData object (either the first render
2056
2349
  // or the size has changed), create a new one
2350
+
2351
+ const pixelArray = image.getPixelData();
2057
2352
  this._createVTKImageData({
2058
2353
  origin,
2059
2354
  direction,
2060
2355
  dimensions,
2061
2356
  spacing,
2062
2357
  numComps,
2063
- pixelArray: image.getPixelData(),
2358
+ pixelArray,
2064
2359
  });
2065
2360
 
2066
2361
  // Set the scalar data of the vtkImageData object from the Cornerstone
@@ -2069,9 +2364,14 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2069
2364
 
2070
2365
  // Create a VTK Image Slice actor to display the vtkImageData object
2071
2366
  const actor = this.createActorMapper(this._imageData);
2072
- const actors = [];
2073
- actors.push({ uid: this.id, actor });
2074
- this.setActors(actors);
2367
+ const oldActors = this.getActors();
2368
+ if (oldActors.length && oldActors[0].uid === this.id) {
2369
+ oldActors[0].actor = actor;
2370
+ } else {
2371
+ oldActors.unshift({ uid: this.id, actor });
2372
+ }
2373
+ this.setActors(oldActors);
2374
+
2075
2375
  // Adjusting the camera based on slice axis. this is required if stack
2076
2376
  // contains various image orientations (axial ct, sagittal xray)
2077
2377
  const { viewPlaneNormal, viewUp } = this._getCameraOrientation(direction);
@@ -2111,6 +2411,8 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2111
2411
  this.cameraFocalPointOnRender = this.getCamera().focalPoint;
2112
2412
  this.stackInvalidated = false;
2113
2413
 
2414
+ this.stackActorReInitialized = true;
2415
+
2114
2416
  if (this._publishCalibratedEvent) {
2115
2417
  this.triggerCalibrationEvent();
2116
2418
  }
@@ -2118,7 +2420,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2118
2420
 
2119
2421
  private _getInitialVOIRange(image: IImage) {
2120
2422
  if (this.voiRange && this.voiUpdatedWithSetProperties) {
2121
- return this.voiRange;
2423
+ return this.globalDefaultProperties.voiRange;
2122
2424
  }
2123
2425
  const { windowCenter, windowWidth } = image;
2124
2426
 
@@ -2179,7 +2481,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2179
2481
  * Loads the image based on the provided imageIdIndex
2180
2482
  * @param imageIdIndex - number represents imageId index
2181
2483
  */
2182
- private _setImageIdIndex(imageIdIndex: number): Promise<string> {
2484
+ private async _setImageIdIndex(imageIdIndex: number): Promise<string> {
2183
2485
  if (imageIdIndex >= this.imageIds.length) {
2184
2486
  throw new Error(
2185
2487
  `ImageIdIndex provided ${imageIdIndex} is invalid, the stack only has ${this.imageIds.length} elements`
@@ -2193,7 +2495,23 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2193
2495
 
2194
2496
  // Todo: trigger an event to allow applications to hook into START of loading state
2195
2497
  // Currently we use loadHandlerManagers for this
2196
- return this._loadAndDisplayImage(this.imageIds[imageIdIndex], imageIdIndex);
2498
+ const imageId = await this._loadAndDisplayImage(
2499
+ this.imageIds[imageIdIndex],
2500
+ imageIdIndex
2501
+ );
2502
+
2503
+ //Check if there is any existing specific options for images if not we don't
2504
+ //want to re-render the viewport to its default properties
2505
+ if (this.perImageIdDefaultProperties.size >= 1) {
2506
+ const defaultProperties = this.perImageIdDefaultProperties.get(imageId);
2507
+ if (defaultProperties !== undefined) {
2508
+ this.setProperties(defaultProperties);
2509
+ } else if (this.globalDefaultProperties !== undefined) {
2510
+ this.setProperties(this.globalDefaultProperties);
2511
+ }
2512
+ }
2513
+
2514
+ return imageId;
2197
2515
  }
2198
2516
 
2199
2517
  private resetCameraCPU(resetPan, resetZoom) {
@@ -2409,7 +2727,10 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2409
2727
  this._publishCalibratedEvent = false;
2410
2728
  }
2411
2729
 
2412
- private canvasToWorldCPU = (canvasPos: Point2): Point3 => {
2730
+ private canvasToWorldCPU = (
2731
+ canvasPos: Point2,
2732
+ worldPos: Point3 = [0, 0, 0]
2733
+ ): Point3 => {
2413
2734
  if (!this._cpuFallbackEnabledElement.image) {
2414
2735
  return;
2415
2736
  }
@@ -2419,8 +2740,6 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2419
2740
  // convert pixel coordinate to world coordinate
2420
2741
  const { origin, spacing, direction } = this.getImageData();
2421
2742
 
2422
- const worldPos = vec3.fromValues(0, 0, 0);
2423
-
2424
2743
  // Calculate size of spacing vector in normal direction
2425
2744
  const iVector = direction.slice(0, 3) as Point3;
2426
2745
  const jVector = direction.slice(3, 6) as Point3;
@@ -2429,7 +2748,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2429
2748
  vec3.scaleAndAdd(worldPos, origin, iVector, px * spacing[0]);
2430
2749
  vec3.scaleAndAdd(worldPos, worldPos, jVector, py * spacing[1]);
2431
2750
 
2432
- return [worldPos[0], worldPos[1], worldPos[2]] as Point3;
2751
+ return worldPos;
2433
2752
  };
2434
2753
 
2435
2754
  private worldToCanvasCPU = (worldPos: Point3): Point2 => {
@@ -2564,6 +2883,117 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2564
2883
  return this.currentImageIdIndex;
2565
2884
  };
2566
2885
 
2886
+ /**
2887
+ * returns the slice index of the view
2888
+ * @returns slice index
2889
+ */
2890
+ public getSliceIndex = (): number => {
2891
+ return this.currentImageIdIndex;
2892
+ };
2893
+
2894
+ /**
2895
+ * Checks to see if this target is or could be shown in this viewport
2896
+ */
2897
+ public isReferenceViewable(
2898
+ viewRef: ViewReference,
2899
+ options: ReferenceCompatibleOptions = {}
2900
+ ): boolean {
2901
+ if (!super.isReferenceViewable(viewRef, options)) {
2902
+ return false;
2903
+ }
2904
+
2905
+ let { imageURI } = options;
2906
+ const { referencedImageId, sliceIndex } = viewRef;
2907
+
2908
+ if (viewRef.volumeId && !referencedImageId) {
2909
+ return options.asVolume === true;
2910
+ }
2911
+
2912
+ let testIndex = this.getCurrentImageIdIndex();
2913
+ if (options.withNavigation && typeof sliceIndex === 'number') {
2914
+ testIndex = sliceIndex;
2915
+ }
2916
+ const imageId = this.imageIds[testIndex];
2917
+ if (!imageId) {
2918
+ return false;
2919
+ }
2920
+ if (!imageURI) {
2921
+ // Remove the dataLoader scheme since that can change
2922
+ const colonIndex = imageId.indexOf(':');
2923
+ imageURI = imageId.substring(colonIndex + 1);
2924
+ }
2925
+ return referencedImageId?.endsWith(imageURI);
2926
+ }
2927
+
2928
+ /**
2929
+ * Gets a standard target to show this image instance.
2930
+ * Returns undefined if the requested slice index is not available.
2931
+ *
2932
+ * <b>Warning<b>If using sliceIndex for requeseting a specific reference, the slice index MUST come
2933
+ * from the stack of image ids. Using slice index from a volume or from a different
2934
+ * stack of images ids, EVEN if they contain the same set of images will result in
2935
+ * random images being chosen.
2936
+ */
2937
+ public getViewReference(
2938
+ viewRefSpecifier: ViewReferenceSpecifier = {}
2939
+ ): ViewReference {
2940
+ const { sliceIndex = this.getCurrentImageIdIndex() } = viewRefSpecifier;
2941
+ const reference = super.getViewReference(viewRefSpecifier);
2942
+ const referencedImageId = this.imageIds[sliceIndex as number];
2943
+ if (!referencedImageId) {
2944
+ return;
2945
+ }
2946
+ reference.referencedImageId = referencedImageId;
2947
+ if (this.getCurrentImageIdIndex() !== sliceIndex) {
2948
+ const referenceData = this.getImagePlaneReferenceData(
2949
+ sliceIndex as number
2950
+ );
2951
+ if (!referenceData) {
2952
+ return;
2953
+ }
2954
+ Object.assign(reference, referenceData);
2955
+ }
2956
+ return reference;
2957
+ }
2958
+
2959
+ /**
2960
+ * Applies the view reference, which may navigate the slice index and apply
2961
+ * other camera modifications.
2962
+ * Assumes that the slice index is correct for this viewport
2963
+ */
2964
+ public setViewReference(viewRef: ViewReference): void {
2965
+ if (!viewRef) {
2966
+ return;
2967
+ }
2968
+ const { referencedImageId, sliceIndex, volumeId } = viewRef;
2969
+ if (
2970
+ typeof sliceIndex === 'number' &&
2971
+ referencedImageId &&
2972
+ referencedImageId === this.imageIds[sliceIndex]
2973
+ ) {
2974
+ this.setImageIdIndex(sliceIndex);
2975
+ } else {
2976
+ const foundIndex = this.imageIds.indexOf(referencedImageId);
2977
+ if (foundIndex !== -1) {
2978
+ this.setImageIdIndex(foundIndex);
2979
+ } else {
2980
+ throw new Error('Unsupported - referenced image id not found');
2981
+ }
2982
+ }
2983
+ }
2984
+
2985
+ /**
2986
+ * Returns the imageId string for the specified view, using the
2987
+ * `imageId:<imageId>` URN format.
2988
+ */
2989
+ public getReferenceId(specifier: ViewReferenceSpecifier = {}): string {
2990
+ const { sliceIndex: sliceIndex = this.currentImageIdIndex } = specifier;
2991
+ if (Array.isArray(sliceIndex)) {
2992
+ throw new Error('Use of slice ranges for stacks not supported');
2993
+ }
2994
+ return `imageId:${this.imageIds[sliceIndex]}`;
2995
+ }
2996
+
2567
2997
  /**
2568
2998
  *
2569
2999
  * Returns the imageIdIndex that is targeted to be loaded, in case of debounced
@@ -2671,6 +3101,7 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2671
3101
  }
2672
3102
 
2673
3103
  private setColormapCPU(colormapData: CPUFallbackColormapData) {
3104
+ this.colormap = colormapData;
2674
3105
  const colormap = getColormap(colormapData.name, colormapData);
2675
3106
 
2676
3107
  this._cpuFallbackEnabledElement.viewport.colormap = colormap;
@@ -2680,26 +3111,47 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2680
3111
  this.cpuRenderingInvalidated = true;
2681
3112
 
2682
3113
  this.render();
3114
+
3115
+ const eventDetail = {
3116
+ viewportId: this.id,
3117
+ colormap: colormapData,
3118
+ };
3119
+ triggerEvent(this.element, Events.COLORMAP_MODIFIED, eventDetail);
2683
3120
  }
2684
3121
 
2685
- private setColormapGPU(colormap: ColormapRegistration) {
3122
+ private setColormapGPU(colormap: ColormapPublic) {
2686
3123
  const ActorEntry = this.getDefaultActor();
2687
3124
  const actor = ActorEntry.actor as ImageActor;
2688
3125
  const actorProp = actor.getProperty();
2689
3126
  const rgbTransferFunction = actorProp.getRGBTransferFunction();
2690
3127
 
3128
+ const colormapObj =
3129
+ colormapUtils.getColormap(colormap.name) ||
3130
+ vtkColorMaps.getPresetByName(colormap.name);
3131
+
2691
3132
  if (!rgbTransferFunction) {
2692
3133
  const cfun = vtkColorTransferFunction.newInstance();
2693
- const voiRange = this._getVOIRangeForCurrentImage();
2694
- cfun.applyColorMap(colormap);
2695
- cfun.setMappingRange(voiRange.lower, voiRange.upper);
3134
+ cfun.applyColorMap(colormapObj);
3135
+ cfun.setMappingRange(this.voiRange.lower, this.voiRange.upper);
2696
3136
  actorProp.setRGBTransferFunction(0, cfun);
2697
3137
  } else {
2698
- rgbTransferFunction.applyColorMap(colormap);
3138
+ rgbTransferFunction.applyColorMap(colormapObj);
3139
+ rgbTransferFunction.setMappingRange(
3140
+ this.voiRange.lower,
3141
+ this.voiRange.upper
3142
+ );
2699
3143
  actorProp.setRGBTransferFunction(0, rgbTransferFunction);
2700
3144
  }
2701
3145
 
3146
+ this.colormap = colormap;
2702
3147
  this.render();
3148
+
3149
+ const eventDetail = {
3150
+ viewportId: this.id,
3151
+ colormap,
3152
+ };
3153
+
3154
+ triggerEvent(this.element, Events.COLORMAP_MODIFIED, eventDetail);
2703
3155
  }
2704
3156
 
2705
3157
  private unsetColormapGPU() {
@@ -2710,15 +3162,9 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2710
3162
 
2711
3163
  // create default values for imagePlaneModule if values are undefined
2712
3164
  private _getImagePlaneModule(imageId: string): ImagePlaneModule {
2713
- const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
2714
-
2715
- const calibratedPixelSpacing = metaData.get(
2716
- 'calibratedPixelSpacing',
2717
- imageId
2718
- );
3165
+ const imagePlaneModule = metaData.get(MetadataModules.IMAGE_PLANE, imageId);
2719
3166
 
2720
3167
  this.calibration ||= imagePlaneModule.calibration;
2721
-
2722
3168
  const newImagePlaneModule: ImagePlaneModule = {
2723
3169
  ...imagePlaneModule,
2724
3170
  };
@@ -2771,6 +3217,22 @@ class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
2771
3217
  cpu: this.setCameraCPU,
2772
3218
  gpu: super.setCamera,
2773
3219
  },
3220
+ getPan: {
3221
+ cpu: this.getPanCPU,
3222
+ gpu: super.getPan,
3223
+ },
3224
+ setPan: {
3225
+ cpu: this.setPanCPU,
3226
+ gpu: super.setPan,
3227
+ },
3228
+ getZoom: {
3229
+ cpu: this.getZoomCPU,
3230
+ gpu: super.getZoom,
3231
+ },
3232
+ setZoom: {
3233
+ cpu: this.setZoomCPU,
3234
+ gpu: super.setZoom,
3235
+ },
2774
3236
  setVOI: {
2775
3237
  cpu: this.setVOICPU,
2776
3238
  gpu: this.setVOIGPU,