@cornerstonejs/core 2.0.0-beta.20 → 2.0.0-beta.22

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 (341) hide show
  1. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +23 -13
  2. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +52 -50
  3. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.d.ts +1 -1
  4. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.d.ts +1 -1
  5. package/dist/esm/RenderingEngine/CanvasActor/index.js +2 -1
  6. package/dist/esm/RenderingEngine/RenderingEngine.d.ts +8 -10
  7. package/dist/esm/RenderingEngine/RenderingEngine.js +20 -18
  8. package/dist/esm/RenderingEngine/StackViewport.d.ts +28 -19
  9. package/dist/esm/RenderingEngine/StackViewport.js +81 -58
  10. package/dist/esm/RenderingEngine/VideoViewport.d.ts +19 -28
  11. package/dist/esm/RenderingEngine/VideoViewport.js +61 -24
  12. package/dist/esm/RenderingEngine/Viewport.d.ts +25 -14
  13. package/dist/esm/RenderingEngine/Viewport.js +24 -15
  14. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +21 -9
  15. package/dist/esm/RenderingEngine/VolumeViewport.js +95 -10
  16. package/dist/esm/RenderingEngine/VolumeViewport3D.d.ts +3 -3
  17. package/dist/esm/RenderingEngine/VolumeViewport3D.js +10 -3
  18. package/dist/esm/RenderingEngine/WSIViewport.d.ts +58 -0
  19. package/dist/esm/RenderingEngine/WSIViewport.js +414 -0
  20. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.d.ts +1 -1
  21. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +3 -3
  22. package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.d.ts +1 -1
  23. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +1 -1
  24. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.js +1 -1
  25. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts +2 -2
  26. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.js +15 -5
  27. package/dist/esm/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts +1 -1
  28. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts +1 -1
  29. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts +1 -1
  30. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +3 -3
  31. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts +1 -1
  32. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts +1 -1
  33. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts +1 -1
  34. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts +1 -1
  35. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.js +1 -1
  36. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts +1 -1
  37. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +2 -2
  38. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts +1 -1
  39. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts +1 -1
  40. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts +1 -1
  41. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts +1 -1
  42. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.js +1 -1
  43. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts +1 -1
  44. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts +1 -1
  45. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts +2 -1
  46. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.js +1 -1
  47. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts +1 -1
  48. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts +1 -1
  49. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +3 -4
  50. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts +1 -1
  51. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +2 -3
  52. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +3 -3
  53. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -1
  54. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts +1 -1
  55. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts +1 -1
  56. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts +1 -1
  57. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts +1 -1
  58. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts +1 -1
  59. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.js +1 -1
  60. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts +1 -1
  61. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.js +1 -1
  62. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.js +1 -1
  63. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts +1 -1
  64. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.js +1 -1
  65. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.js +1 -1
  66. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.js +1 -1
  67. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts +1 -1
  68. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.js +1 -1
  69. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts +1 -1
  70. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.js +1 -1
  71. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts +1 -1
  72. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts +2 -2
  73. package/dist/esm/RenderingEngine/helpers/createVolumeActor.d.ts +3 -3
  74. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +4 -7
  75. package/dist/esm/RenderingEngine/helpers/createVolumeMapper.d.ts +4 -1
  76. package/dist/esm/RenderingEngine/helpers/getOrCreateCanvas.js +5 -4
  77. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +2 -2
  78. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +13 -37
  79. package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.d.ts +1 -1
  80. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
  81. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
  82. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +1 -1
  83. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +4 -4
  84. package/dist/esm/RenderingEngine/renderingEngineCache.d.ts +1 -1
  85. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +4 -2
  86. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +87 -78
  87. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +1 -1
  88. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +83 -42
  89. package/dist/esm/Settings.d.ts +1 -1
  90. package/dist/esm/cache/cache.d.ts +15 -19
  91. package/dist/esm/cache/cache.js +112 -57
  92. package/dist/esm/cache/classes/Contour.d.ts +4 -4
  93. package/dist/esm/cache/classes/ContourSet.d.ts +3 -3
  94. package/dist/esm/cache/classes/ImageVolume.d.ts +19 -19
  95. package/dist/esm/cache/classes/ImageVolume.js +49 -254
  96. package/dist/esm/cache/classes/Surface.d.ts +3 -3
  97. package/dist/esm/cache/index.d.ts +1 -2
  98. package/dist/esm/cache/index.js +1 -2
  99. package/dist/esm/constants/cpuColormaps.d.ts +1 -1
  100. package/dist/esm/constants/viewportPresets.d.ts +1 -1
  101. package/dist/esm/enums/GenerateImageType.d.ts +5 -0
  102. package/dist/esm/enums/GenerateImageType.js +6 -0
  103. package/dist/esm/enums/MetadataModules.d.ts +2 -1
  104. package/dist/esm/enums/MetadataModules.js +1 -0
  105. package/dist/esm/enums/ViewportType.d.ts +2 -1
  106. package/dist/esm/enums/ViewportType.js +1 -0
  107. package/dist/esm/enums/index.d.ts +2 -2
  108. package/dist/esm/enums/index.js +2 -2
  109. package/dist/esm/eventTarget.js +2 -3
  110. package/dist/esm/getEnabledElement.d.ts +1 -1
  111. package/dist/esm/global.d.ts +0 -1
  112. package/dist/esm/index.d.ts +9 -5
  113. package/dist/esm/index.js +8 -4
  114. package/dist/esm/init.d.ts +5 -8
  115. package/dist/esm/init.js +22 -83
  116. package/dist/esm/loaders/ProgressiveRetrieveImages.d.ts +5 -5
  117. package/dist/esm/loaders/ProgressiveRetrieveImages.js +7 -3
  118. package/dist/esm/loaders/configuration/interleavedRetrieve.d.ts +1 -1
  119. package/dist/esm/loaders/fillNearbyFrames.d.ts +2 -2
  120. package/dist/esm/loaders/geometryLoader.d.ts +3 -3
  121. package/dist/esm/loaders/geometryLoader.js +1 -1
  122. package/dist/esm/loaders/imageLoader.d.ts +12 -17
  123. package/dist/esm/loaders/imageLoader.js +179 -96
  124. package/dist/esm/loaders/utils/contourSet/createContourSet.d.ts +1 -1
  125. package/dist/esm/loaders/utils/contourSet/validateContourSet.d.ts +1 -1
  126. package/dist/esm/loaders/utils/surface/createSurface.d.ts +1 -1
  127. package/dist/esm/loaders/utils/surface/validateSurface.d.ts +1 -1
  128. package/dist/esm/loaders/volumeLoader.d.ts +15 -22
  129. package/dist/esm/loaders/volumeLoader.js +88 -207
  130. package/dist/esm/metaData.d.ts +2 -4
  131. package/dist/esm/requestPool/requestPoolManager.d.ts +7 -9
  132. package/dist/esm/requestPool/requestPoolManager.js +1 -1
  133. package/dist/esm/types/AABB2.d.ts +2 -2
  134. package/dist/esm/types/AABB3.d.ts +2 -2
  135. package/dist/esm/types/ActorSliceRange.d.ts +5 -5
  136. package/dist/esm/types/BoundsIJK.d.ts +1 -1
  137. package/dist/esm/types/BoundsLPS.d.ts +1 -1
  138. package/dist/esm/types/CPUFallbackColormap.d.ts +3 -3
  139. package/dist/esm/types/CPUFallbackColormapData.d.ts +4 -4
  140. package/dist/esm/types/CPUFallbackColormapsData.d.ts +3 -5
  141. package/dist/esm/types/CPUFallbackEnabledElement.d.ts +2 -37
  142. package/dist/esm/types/CPUFallbackLUT.d.ts +4 -3
  143. package/dist/esm/types/CPUFallbackLookupTable.d.ts +2 -2
  144. package/dist/esm/types/CPUFallbackRenderingTools.d.ts +5 -5
  145. package/dist/esm/types/CPUFallbackTransform.d.ts +3 -3
  146. package/dist/esm/types/CPUFallbackViewport.d.ts +6 -6
  147. package/dist/esm/types/CPUFallbackViewportDisplayedArea.d.ts +3 -3
  148. package/dist/esm/types/CPUIImageData.d.ts +17 -9
  149. package/dist/esm/types/Color.d.ts +1 -1
  150. package/dist/esm/types/Colormap.d.ts +7 -7
  151. package/dist/esm/types/ContourData.d.ts +6 -6
  152. package/dist/esm/types/Cornerstone3DConfig.d.ts +7 -7
  153. package/dist/esm/types/CustomEventType.d.ts +2 -2
  154. package/dist/esm/types/EventTypes.d.ts +55 -55
  155. package/dist/esm/types/FlipDirection.d.ts +3 -3
  156. package/dist/esm/types/IActor.d.ts +3 -3
  157. package/dist/esm/types/ICache.d.ts +4 -4
  158. package/dist/esm/types/ICachedGeometry.d.ts +3 -3
  159. package/dist/esm/types/ICachedImage.d.ts +3 -2
  160. package/dist/esm/types/ICachedVolume.d.ts +3 -2
  161. package/dist/esm/types/ICamera.d.ts +3 -3
  162. package/dist/esm/types/IContour.d.ts +4 -3
  163. package/dist/esm/types/IContourSet.d.ts +5 -2
  164. package/dist/esm/types/IDynamicImageVolume.d.ts +3 -3
  165. package/dist/esm/types/IEnabledElement.d.ts +2 -2
  166. package/dist/esm/types/IGeometry.d.ts +4 -4
  167. package/dist/esm/types/IImage.d.ts +48 -11
  168. package/dist/esm/types/IImageCalibration.d.ts +2 -2
  169. package/dist/esm/types/IImageData.d.ts +11 -4
  170. package/dist/esm/types/IImageFrame.d.ts +42 -0
  171. package/dist/esm/types/IImageFrame.js +1 -0
  172. package/dist/esm/types/IImageVolume.d.ts +17 -14
  173. package/dist/esm/types/ILoadObject.d.ts +3 -3
  174. package/dist/esm/types/IPointsManager.d.ts +23 -0
  175. package/dist/esm/types/IPointsManager.js +1 -0
  176. package/dist/esm/types/IRLEVoxelMap.d.ts +16 -0
  177. package/dist/esm/types/IRLEVoxelMap.js +1 -0
  178. package/dist/esm/types/IRegisterImageLoader.d.ts +2 -2
  179. package/dist/esm/types/IRenderingEngine.d.ts +11 -12
  180. package/dist/esm/types/IRetrieveConfiguration.d.ts +6 -6
  181. package/dist/esm/types/IStackInput.d.ts +1 -1
  182. package/dist/esm/types/IStackViewport.d.ts +69 -2
  183. package/dist/esm/types/IStreamingImageVolume.d.ts +3 -4
  184. package/dist/esm/types/IStreamingVolumeProperties.d.ts +5 -5
  185. package/dist/esm/types/ISurface.d.ts +1 -1
  186. package/dist/esm/types/ITransferFunctionNode.d.ts +9 -0
  187. package/dist/esm/types/ITransferFunctionNode.js +1 -0
  188. package/dist/esm/types/IVideoViewport.d.ts +40 -2
  189. package/dist/esm/types/IViewport.d.ts +62 -41
  190. package/dist/esm/types/IVolume.d.ts +2 -2
  191. package/dist/esm/types/IVolumeInput.d.ts +2 -2
  192. package/dist/esm/types/IVolumeViewport.d.ts +17 -16
  193. package/dist/esm/types/IVoxelManager.d.ts +54 -0
  194. package/dist/esm/types/IVoxelManager.js +1 -0
  195. package/dist/esm/types/IWSIViewport.d.ts +16 -0
  196. package/dist/esm/types/IWSIViewport.js +1 -0
  197. package/dist/esm/types/ImageLoadListener.d.ts +2 -2
  198. package/dist/esm/types/ImageLoaderFn.d.ts +3 -3
  199. package/dist/esm/types/ImagePixelModule.d.ts +1 -1
  200. package/dist/esm/types/ImagePlaneModule.d.ts +2 -2
  201. package/dist/esm/types/ImageSliceData.d.ts +3 -3
  202. package/dist/esm/types/ImageVolumeProps.d.ts +4 -4
  203. package/dist/esm/types/Mat3.d.ts +1 -1
  204. package/dist/esm/types/Metadata.d.ts +6 -6
  205. package/dist/esm/types/MetadataModuleTypes.d.ts +65 -0
  206. package/dist/esm/types/MetadataModuleTypes.js +1 -0
  207. package/dist/esm/types/OrientationVectors.d.ts +4 -4
  208. package/dist/esm/types/Plane.d.ts +1 -1
  209. package/dist/esm/types/Point2.d.ts +1 -1
  210. package/dist/esm/types/Point3.d.ts +3 -3
  211. package/dist/esm/types/Point4.d.ts +1 -1
  212. package/dist/esm/types/RGB.d.ts +1 -1
  213. package/dist/esm/types/ScalingParameters.d.ts +7 -7
  214. package/dist/esm/types/StackViewportProperties.d.ts +3 -3
  215. package/dist/esm/types/SurfaceData.d.ts +5 -5
  216. package/dist/esm/types/TransformMatrix2D.d.ts +1 -1
  217. package/dist/esm/types/VideoViewportProperties.d.ts +3 -3
  218. package/dist/esm/types/VideoViewportTypes.d.ts +7 -7
  219. package/dist/esm/types/ViewportInputOptions.d.ts +7 -7
  220. package/dist/esm/types/ViewportPreset.d.ts +1 -1
  221. package/dist/esm/types/ViewportProperties.d.ts +5 -5
  222. package/dist/esm/types/VolumeLoaderFn.d.ts +4 -3
  223. package/dist/esm/types/VolumeProps.d.ts +10 -5
  224. package/dist/esm/types/VolumeViewportProperties.d.ts +3 -3
  225. package/dist/esm/types/WSIViewportProperties.d.ts +3 -0
  226. package/dist/esm/types/WSIViewportProperties.js +1 -0
  227. package/dist/esm/types/WSIViewportTypes.d.ts +13 -0
  228. package/dist/esm/types/WSIViewportTypes.js +1 -0
  229. package/dist/esm/types/displayArea.d.ts +4 -4
  230. package/dist/esm/types/index.d.ts +16 -8
  231. package/dist/esm/types/voi.d.ts +4 -4
  232. package/dist/esm/utilities/PointsManager.d.ts +8 -10
  233. package/dist/esm/utilities/ProgressiveIterator.d.ts +1 -1
  234. package/dist/esm/utilities/ProgressiveIterator.js +3 -1
  235. package/dist/esm/utilities/RLEVoxelMap.d.ts +3 -8
  236. package/dist/esm/utilities/RLEVoxelMap.js +19 -19
  237. package/dist/esm/utilities/VoxelManager.d.ts +82 -20
  238. package/dist/esm/utilities/VoxelManager.js +466 -60
  239. package/dist/esm/utilities/actorCheck.d.ts +1 -1
  240. package/dist/esm/utilities/applyPreset.d.ts +2 -2
  241. package/dist/esm/utilities/calculateViewportsSpatialRegistration.d.ts +1 -1
  242. package/dist/esm/utilities/calculateViewportsSpatialRegistration.js +5 -5
  243. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +1 -1
  244. package/dist/esm/utilities/colormap.d.ts +1 -1
  245. package/dist/esm/utilities/convertStackToVolumeViewport.d.ts +2 -2
  246. package/dist/esm/utilities/convertStackToVolumeViewport.js +4 -4
  247. package/dist/esm/utilities/convertVolumeToStackViewport.d.ts +1 -1
  248. package/dist/esm/utilities/convertVolumeToStackViewport.js +3 -2
  249. package/dist/esm/utilities/createLinearRGBTransferFunction.d.ts +1 -1
  250. package/dist/esm/utilities/createLinearRGBTransferFunction.js +1 -3
  251. package/dist/esm/utilities/createSigmoidRGBTransferFunction.d.ts +2 -3
  252. package/dist/esm/utilities/createSigmoidRGBTransferFunction.js +8 -7
  253. package/dist/esm/utilities/decimate.d.ts +1 -1
  254. package/dist/esm/utilities/eventListener/TargetEventListeners.js +5 -3
  255. package/dist/esm/utilities/generateVolumePropsFromImageIds.d.ts +1 -1
  256. package/dist/esm/utilities/generateVolumePropsFromImageIds.js +33 -80
  257. package/dist/esm/utilities/genericMetadataProvider.d.ts +9 -2
  258. package/dist/esm/utilities/genericMetadataProvider.js +7 -1
  259. package/dist/esm/utilities/getBufferConfiguration.d.ts +2 -3
  260. package/dist/esm/utilities/getBufferConfiguration.js +5 -15
  261. package/dist/esm/utilities/getClosestImageId.js +1 -1
  262. package/dist/esm/utilities/getClosestStackImageIndexForPoint.d.ts +1 -1
  263. package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +2 -2
  264. package/dist/esm/utilities/getCurrentVolumeViewportSlice.d.ts +4 -5
  265. package/dist/esm/utilities/getCurrentVolumeViewportSlice.js +8 -58
  266. package/dist/esm/utilities/getImageLegacy.d.ts +1 -1
  267. package/dist/esm/utilities/getImageLegacy.js +1 -1
  268. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +1 -1
  269. package/dist/esm/utilities/getMinMax.d.ts +2 -1
  270. package/dist/esm/utilities/getScalingParameters.d.ts +1 -1
  271. package/dist/esm/utilities/getScalingParameters.js +4 -4
  272. package/dist/esm/utilities/getSpacingInNormalDirection.d.ts +2 -2
  273. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
  274. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +2 -2
  275. package/dist/esm/utilities/getViewportImageCornersInWorld.d.ts +1 -1
  276. package/dist/esm/utilities/getViewportImageIds.d.ts +1 -1
  277. package/dist/esm/utilities/getViewportImageIds.js +1 -1
  278. package/dist/esm/utilities/getViewportModality.d.ts +7 -3
  279. package/dist/esm/utilities/getViewportModality.js +9 -6
  280. package/dist/esm/utilities/getViewportsWithImageURI.d.ts +2 -2
  281. package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +2 -2
  282. package/dist/esm/utilities/getViewportsWithVolumeId.js +3 -7
  283. package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +1 -1
  284. package/dist/esm/utilities/getVolumeActorCorners.d.ts +2 -2
  285. package/dist/esm/utilities/getVolumeId.js +2 -2
  286. package/dist/esm/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
  287. package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
  288. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.d.ts +2 -2
  289. package/dist/esm/utilities/hasFloatScalingParameters.d.ts +1 -1
  290. package/dist/esm/utilities/imageRetrieveMetadataProvider.d.ts +1 -1
  291. package/dist/esm/utilities/imageToWorldCoords.d.ts +1 -1
  292. package/dist/esm/utilities/imageToWorldCoords.js +2 -2
  293. package/dist/esm/utilities/index.d.ts +3 -8
  294. package/dist/esm/utilities/index.js +4 -8
  295. package/dist/esm/utilities/indexWithinDimensions.d.ts +1 -1
  296. package/dist/esm/utilities/invertRgbTransferFunction.d.ts +2 -1
  297. package/dist/esm/utilities/isEqual.js +6 -1
  298. package/dist/esm/utilities/isPTPrescaledWithSUV.d.ts +1 -1
  299. package/dist/esm/utilities/isPTPrescaledWithSUV.js +1 -1
  300. package/dist/esm/utilities/isValidVolume.js +1 -1
  301. package/dist/esm/utilities/loadImageToCanvas.d.ts +6 -6
  302. package/dist/esm/utilities/loadImageToCanvas.js +1 -1
  303. package/dist/esm/utilities/makeVolumeMetadata.d.ts +2 -2
  304. package/dist/esm/utilities/makeVolumeMetadata.js +5 -5
  305. package/dist/esm/utilities/planar.d.ts +2 -2
  306. package/dist/esm/utilities/renderToCanvasCPU.d.ts +1 -1
  307. package/dist/esm/utilities/renderToCanvasGPU.d.ts +2 -2
  308. package/dist/esm/utilities/renderToCanvasGPU.js +1 -1
  309. package/dist/esm/utilities/scaleRgbTransferFunction.d.ts +2 -1
  310. package/dist/esm/utilities/snapFocalPointToSlice.d.ts +1 -1
  311. package/dist/esm/utilities/sortImageIdsAndGetSpacing.d.ts +5 -5
  312. package/dist/esm/utilities/sortImageIdsAndGetSpacing.js +2 -1
  313. package/dist/esm/utilities/transformCanvasToIJK.d.ts +2 -2
  314. package/dist/esm/utilities/transformIJKToCanvas.d.ts +1 -1
  315. package/dist/esm/utilities/triggerEvent.js +1 -1
  316. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.d.ts +2 -2
  317. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +1 -1
  318. package/dist/esm/utilities/uuidv4.js +3 -1
  319. package/dist/esm/utilities/worldToImageCoords.d.ts +1 -1
  320. package/dist/esm/utilities/worldToImageCoords.js +2 -2
  321. package/dist/umd/index.js +1 -1
  322. package/dist/umd/index.js.map +1 -1
  323. package/package.json +6 -6
  324. package/dist/esm/cache/utils/restoreImagesFromBuffer.d.ts +0 -2
  325. package/dist/esm/cache/utils/restoreImagesFromBuffer.js +0 -28
  326. package/dist/esm/enums/SharedArrayBufferModes.d.ts +0 -6
  327. package/dist/esm/enums/SharedArrayBufferModes.js +0 -7
  328. package/dist/esm/utilities/cacheUtils.d.ts +0 -2
  329. package/dist/esm/utilities/cacheUtils.js +0 -86
  330. package/dist/esm/utilities/createFloat32SharedArray.d.ts +0 -2
  331. package/dist/esm/utilities/createFloat32SharedArray.js +0 -27
  332. package/dist/esm/utilities/createInt16SharedArray.d.ts +0 -2
  333. package/dist/esm/utilities/createInt16SharedArray.js +0 -11
  334. package/dist/esm/utilities/createUInt16SharedArray.d.ts +0 -2
  335. package/dist/esm/utilities/createUInt16SharedArray.js +0 -11
  336. package/dist/esm/utilities/createUint8SharedArray.d.ts +0 -2
  337. package/dist/esm/utilities/createUint8SharedArray.js +0 -12
  338. package/dist/esm/utilities/getScalarDataType.d.ts +0 -2
  339. package/dist/esm/utilities/getScalarDataType.js +0 -19
  340. package/dist/esm/utilities/isTypedArray.d.ts +0 -1
  341. package/dist/esm/utilities/isTypedArray.js +0 -11
@@ -1,18 +1,20 @@
1
1
  import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
2
- import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
3
- import isTypedArray from '../../utilities/isTypedArray';
4
- import { genericMetadataProvider, getMinMax, imageIdToURI, } from '../../utilities';
2
+ import imageIdToURI from '../../utilities/imageIdToURI';
3
+ import VoxelManager from '../../utilities/VoxelManager';
5
4
  import { vtkStreamingOpenGLTexture } from '../../RenderingEngine/vtkClasses';
6
5
  import cache from '../cache';
7
- import * as metaData from '../../metaData';
8
6
  export class ImageVolume {
9
7
  constructor(props) {
10
8
  this._imageIdsIndexMap = new Map();
11
9
  this._imageURIsIndexMap = new Map();
12
10
  this.cornerstoneImageMetaData = null;
13
- this.imageCacheOffsetMap = new Map();
14
11
  this.isPreScaled = false;
15
- const { imageIds, scalarData, scaling, dimensions, spacing, origin, direction, volumeId, referencedVolumeId, sizeInBytes, imageData, metadata, referencedImageIds, additionalDetails, } = props;
12
+ this.numTimePoints = null;
13
+ const { imageIds, scaling, dimensions, spacing, origin, direction, dataType, volumeId, referencedVolumeId, metadata, referencedImageIds, additionalDetails, voxelManager, numberOfComponents, } = props;
14
+ if (!dataType) {
15
+ throw new Error('Data type is required, please provide a data type as string such as "Uint8Array", "Float32Array", etc.');
16
+ }
17
+ let { imageData } = props;
16
18
  this.imageIds = imageIds;
17
19
  this.volumeId = volumeId;
18
20
  this.metadata = metadata;
@@ -20,31 +22,37 @@ export class ImageVolume {
20
22
  this.spacing = spacing;
21
23
  this.origin = origin;
22
24
  this.direction = direction;
23
- this.scalarData = scalarData;
24
- this.sizeInBytes = sizeInBytes;
25
+ this.dataType = dataType;
25
26
  this.vtkOpenGLTexture = vtkStreamingOpenGLTexture.newInstance();
27
+ this.vtkOpenGLTexture.setVolumeId(volumeId);
28
+ this.voxelManager =
29
+ voxelManager ??
30
+ VoxelManager.createImageVolumeVoxelManager({
31
+ dimensions,
32
+ imageIds,
33
+ numberOfComponents,
34
+ });
26
35
  this.numVoxels =
27
36
  this.dimensions[0] * this.dimensions[1] * this.dimensions[2];
28
- if (imageData) {
29
- this.imageData = imageData;
30
- }
31
- else {
32
- const imageData = vtkImageData.newInstance();
33
- const scalarArray = vtkDataArray.newInstance({
34
- name: 'Pixels',
35
- numberOfComponents: 1,
36
- values: scalarData,
37
- });
37
+ if (!imageData) {
38
+ imageData = vtkImageData.newInstance();
38
39
  imageData.setDimensions(dimensions);
39
40
  imageData.setSpacing(spacing);
40
41
  imageData.setDirection(direction);
41
42
  imageData.setOrigin(origin);
42
- imageData.getPointData().setScalars(scalarArray);
43
- this.imageData = imageData;
44
43
  }
44
+ imageData.set({
45
+ dataType: dataType,
46
+ voxelManager: this.voxelManager,
47
+ id: volumeId,
48
+ numberOfComponents: numberOfComponents || 1,
49
+ });
50
+ imageData.set({
51
+ hasScalarVolume: false,
52
+ });
53
+ this.imageData = imageData;
45
54
  this.numFrames = this._getNumFrames();
46
55
  this._reprocessImageIds();
47
- this._createCornerstoneImageMetaData();
48
56
  if (scaling) {
49
57
  this.scaling = scaling;
50
58
  }
@@ -58,6 +66,9 @@ export class ImageVolume {
58
66
  this.additionalDetails = additionalDetails;
59
67
  }
60
68
  }
69
+ get sizeInBytes() {
70
+ return this.voxelManager.sizeInBytes;
71
+ }
61
72
  get imageIds() {
62
73
  return this._imageIds;
63
74
  }
@@ -75,271 +86,55 @@ export class ImageVolume {
75
86
  });
76
87
  }
77
88
  isDynamicVolume() {
78
- return false;
79
- }
80
- getScalarData() {
81
- if (isTypedArray(this.scalarData)) {
82
- return this.scalarData;
83
- }
84
- throw new Error('Unknown scalar data type');
89
+ return this.numTimePoints > 1;
85
90
  }
86
91
  getImageIdIndex(imageId) {
87
92
  return this._imageIdsIndexMap.get(imageId);
88
93
  }
94
+ getImageIdByIndex(imageIdIndex) {
95
+ return this._imageIds[imageIdIndex];
96
+ }
89
97
  getImageURIIndex(imageURI) {
90
98
  return this._imageURIsIndexMap.get(imageURI);
91
99
  }
92
100
  destroy() {
93
101
  this.imageData.delete();
94
102
  this.imageData = null;
95
- this.scalarData = null;
103
+ this.voxelManager.clear();
96
104
  this.vtkOpenGLTexture.releaseGraphicsResources();
97
105
  this.vtkOpenGLTexture.delete();
98
106
  }
99
- getScalarDataArrays() {
100
- return this.isDynamicVolume()
101
- ? this.scalarData
102
- : [this.scalarData];
107
+ invalidate() {
108
+ for (let i = 0; i < this.imageIds.length; i++) {
109
+ this.vtkOpenGLTexture.setUpdatedFrame(i);
110
+ }
111
+ this.imageData.modified();
103
112
  }
104
113
  modified() {
105
114
  this.imageData.modified();
106
- if (this.isDynamicVolume()) {
107
- throw new Error('Not implemented');
108
- }
109
- else {
110
- this.scalarData = this.imageData
111
- .getPointData()
112
- .getScalars()
113
- .getData();
114
- }
115
+ this.vtkOpenGLTexture.modified();
115
116
  this.numFrames = this._getNumFrames();
116
117
  }
117
- decache(completelyRemove = false) {
118
- if (completelyRemove) {
119
- this.removeFromCache();
120
- }
121
- else {
122
- this.convertToImageSlicesAndCache();
123
- const otherVolumes = cache.filterVolumesByReferenceId(this.volumeId);
124
- if (otherVolumes.length) {
125
- otherVolumes.forEach((volume) => {
126
- volume.referencedImageIds = this.imageIds;
127
- });
128
- }
129
- if (completelyRemove) {
130
- this.removeFromCache();
131
- }
132
- }
133
- }
134
118
  removeFromCache() {
135
119
  cache.removeVolumeLoadObject(this.volumeId);
136
120
  }
137
121
  getScalarDataLength() {
138
- const { scalarData } = this;
139
- return this.isDynamicVolume()
140
- ? scalarData[0].length
141
- : scalarData.length;
122
+ return this.voxelManager.getScalarDataLength();
142
123
  }
143
124
  _getNumFrames() {
144
- const { imageIds, scalarData } = this;
145
- const scalarDataCount = this.isDynamicVolume() ? scalarData.length : 1;
146
- return imageIds.length / scalarDataCount;
147
- }
148
- _getScalarDataLength() {
149
- const { scalarData } = this;
150
- return this.isDynamicVolume()
151
- ? scalarData[0].length
152
- : scalarData.length;
153
- }
154
- _createCornerstoneImageMetaData() {
155
- const { numFrames } = this;
156
- if (numFrames === 0) {
157
- return;
125
+ if (!this.isDynamicVolume()) {
126
+ return this.imageIds.length;
158
127
  }
159
- const bytesPerImage = this.sizeInBytes / numFrames;
160
- const scalarDataLength = this._getScalarDataLength();
161
- const numComponents = scalarDataLength / this.numVoxels;
162
- const pixelsPerImage = this.dimensions[0] * this.dimensions[1] * numComponents;
163
- const { PhotometricInterpretation, voiLut, VOILUTFunction } = this.metadata;
164
- let windowCenter = [];
165
- let windowWidth = [];
166
- if (voiLut && voiLut.length) {
167
- windowCenter = voiLut.map((voi) => {
168
- return voi.windowCenter;
169
- });
170
- windowWidth = voiLut.map((voi) => {
171
- return voi.windowWidth;
172
- });
173
- }
174
- const color = numComponents > 1 ? true : false;
175
- this.cornerstoneImageMetaData = {
176
- bytesPerImage,
177
- numComponents,
178
- pixelsPerImage,
179
- windowCenter,
180
- windowWidth,
181
- color,
182
- rgba: false,
183
- spacing: this.spacing,
184
- dimensions: this.dimensions,
185
- photometricInterpretation: PhotometricInterpretation,
186
- voiLUTFunction: VOILUTFunction,
187
- invert: PhotometricInterpretation === 'MONOCHROME1',
188
- };
189
- }
190
- getScalarDataByImageIdIndex(imageIdIndex) {
191
- if (imageIdIndex < 0 || imageIdIndex >= this.imageIds.length) {
192
- throw new Error('imageIdIndex out of range');
193
- }
194
- const scalarDataArrays = this.getScalarDataArrays();
195
- const scalarDataIndex = Math.floor(imageIdIndex / this.numFrames);
196
- return scalarDataArrays[scalarDataIndex];
197
- }
198
- getCornerstoneImage(imageId, imageIdIndex) {
199
- const { imageIds } = this;
200
- const frameIndex = this.imageIdIndexToFrameIndex(imageIdIndex);
201
- const { bytesPerImage, pixelsPerImage, windowCenter, windowWidth, numComponents, color, dimensions, spacing, invert, voiLUTFunction, photometricInterpretation, } = this.cornerstoneImageMetaData;
202
- const scalarData = this.getScalarDataByImageIdIndex(imageIdIndex);
203
- const volumeBuffer = scalarData.buffer;
204
- const TypedArray = scalarData.constructor;
205
- const bytePerPixel = bytesPerImage / pixelsPerImage;
206
- let byteOffset = bytesPerImage * frameIndex;
207
- if (scalarData.BYTES_PER_ELEMENT !== bytePerPixel) {
208
- byteOffset *= scalarData.BYTES_PER_ELEMENT / bytePerPixel;
209
- }
210
- const imageScalarData = new TypedArray(pixelsPerImage);
211
- const volumeBufferView = new TypedArray(volumeBuffer, byteOffset, pixelsPerImage);
212
- imageScalarData.set(volumeBufferView);
213
- const volumeImageId = imageIds[imageIdIndex];
214
- const modalityLutModule = metaData.get('modalityLutModule', volumeImageId) || {};
215
- const minMax = getMinMax(imageScalarData);
216
- const intercept = modalityLutModule.rescaleIntercept
217
- ? modalityLutModule.rescaleIntercept
218
- : 0;
219
- const imageOrientationPatient = [
220
- this.direction[0],
221
- this.direction[1],
222
- this.direction[2],
223
- this.direction[3],
224
- this.direction[4],
225
- this.direction[5],
226
- ];
227
- const precision = 6;
228
- const imagePositionPatient = [
229
- parseFloat((this.origin[0] +
230
- imageIdIndex * this.direction[6] * this.spacing[0]).toFixed(precision)),
231
- parseFloat((this.origin[1] +
232
- imageIdIndex * this.direction[7] * this.spacing[1]).toFixed(precision)),
233
- parseFloat((this.origin[2] +
234
- imageIdIndex * this.direction[8] * this.spacing[2]).toFixed(precision)),
235
- ];
236
- const image = {
237
- imageId,
238
- intercept,
239
- windowCenter,
240
- windowWidth,
241
- voiLUTFunction,
242
- color,
243
- rgba: false,
244
- numComps: numComponents,
245
- rows: dimensions[1],
246
- columns: dimensions[0],
247
- sizeInBytes: imageScalarData.byteLength,
248
- getPixelData: () => imageScalarData,
249
- minPixelValue: minMax.min,
250
- maxPixelValue: minMax.max,
251
- slope: modalityLutModule.rescaleSlope
252
- ? modalityLutModule.rescaleSlope
253
- : 1,
254
- getCanvas: undefined,
255
- height: dimensions[0],
256
- width: dimensions[1],
257
- columnPixelSpacing: spacing[0],
258
- rowPixelSpacing: spacing[1],
259
- invert,
260
- photometricInterpretation,
261
- };
262
- const pixelData = image.getPixelData();
263
- const bitsAllocated = pixelData.BYTES_PER_ELEMENT * 8;
264
- const imagePixelModule = {
265
- bitsAllocated,
266
- photometricInterpretation: image.photometricInterpretation,
267
- windowWidth: image.windowWidth,
268
- windowCenter: image.windowCenter,
269
- voiLUTFunction: image.voiLUTFunction,
270
- };
271
- const imagePlaneModule = {
272
- rowCosines: [this.direction[0], this.direction[1], this.direction[2]],
273
- columnCosines: [this.direction[3], this.direction[4], this.direction[5]],
274
- pixelSpacing: [this.spacing[0], this.spacing[1]],
275
- imageOrientationPatient: imageOrientationPatient,
276
- imagePositionPatient: imagePositionPatient,
277
- columnPixelSpacing: image.columnPixelSpacing,
278
- rowPixelSpacing: image.rowPixelSpacing,
279
- columns: image.columns,
280
- rows: image.rows,
281
- };
282
- const generalSeriesModule = {};
283
- const metadata = {
284
- imagePixelModule,
285
- imagePlaneModule,
286
- generalSeriesModule,
287
- };
288
- ['imagePixelModule', 'imagePlaneModule', 'generalSeriesModule'].forEach((type) => {
289
- genericMetadataProvider.add(imageId, {
290
- type,
291
- metadata: metadata[type],
292
- });
293
- });
294
- return image;
128
+ return this.numTimePoints;
295
129
  }
296
130
  imageIdIndexToFrameIndex(imageIdIndex) {
297
131
  return imageIdIndex % this.numFrames;
298
132
  }
299
- getCornerstoneImageLoadObject(imageId, imageIdIndex) {
300
- const image = this.getCornerstoneImage(imageId, imageIdIndex);
301
- const imageLoadObject = {
302
- promise: Promise.resolve(image),
303
- };
304
- return imageLoadObject;
305
- }
306
133
  getCornerstoneImages() {
307
134
  const { imageIds } = this;
308
- return imageIds.map((imageId, imageIdIndex) => {
309
- return this.getCornerstoneImage(imageId, imageIdIndex);
135
+ return imageIds.map((imageId) => {
136
+ return cache.getImage(imageId);
310
137
  });
311
138
  }
312
- convertToImageSlicesAndCache() {
313
- const byteLength = this.sizeInBytes;
314
- if (!this.imageIds?.length) {
315
- const referencedVolumeId = this.referencedVolumeId;
316
- let numSlices = this.dimensions[2];
317
- if (referencedVolumeId) {
318
- const referencedVolume = cache.getVolume(referencedVolumeId);
319
- numSlices = referencedVolume?.imageIds?.length ?? numSlices;
320
- }
321
- this.imageIds = Array.from({ length: numSlices }, (_, i) => {
322
- return `generated:${this.volumeId}:${i}`;
323
- });
324
- this._reprocessImageIds();
325
- this.numFrames = this._getNumFrames();
326
- this._createCornerstoneImageMetaData();
327
- }
328
- const numImages = this.imageIds.length;
329
- const { bytesPerImage } = this.cornerstoneImageMetaData;
330
- let bytesRemaining = cache.decacheIfNecessaryUntilBytesAvailable(byteLength, this.imageIds);
331
- for (let imageIdIndex = 0; imageIdIndex < numImages; imageIdIndex++) {
332
- const imageId = this.imageIds[imageIdIndex];
333
- bytesRemaining = bytesRemaining - bytesPerImage;
334
- const image = this.getCornerstoneImage(imageId, imageIdIndex);
335
- if (!cache.getImageLoadObject(imageId)) {
336
- cache.putImageSync(imageId, image);
337
- }
338
- if (bytesRemaining <= bytesPerImage) {
339
- break;
340
- }
341
- }
342
- return this.imageIds;
343
- }
344
139
  }
345
140
  export default ImageVolume;
@@ -1,10 +1,10 @@
1
- import { SurfaceData, Point3, ISurface, RGB } from '../../types';
2
- type SurfaceProps = {
1
+ import type { SurfaceData, Point3, ISurface, RGB } from '../../types';
2
+ interface SurfaceProps {
3
3
  id: string;
4
4
  data: SurfaceData;
5
5
  frameOfReferenceUID: string;
6
6
  color?: Point3;
7
- };
7
+ }
8
8
  export declare class Surface implements ISurface {
9
9
  readonly id: string;
10
10
  readonly sizeInBytes: number;
@@ -1,5 +1,4 @@
1
- import cache, { Cache } from './cache';
1
+ import { Cache } from './cache';
2
2
  import ImageVolume from './classes/ImageVolume';
3
3
  import { Surface } from './classes/Surface';
4
4
  export { ImageVolume, Cache, Surface };
5
- export default cache;
@@ -1,5 +1,4 @@
1
- import cache, { Cache } from './cache';
1
+ import { Cache } from './cache';
2
2
  import ImageVolume from './classes/ImageVolume';
3
3
  import { Surface } from './classes/Surface';
4
4
  export { ImageVolume, Cache, Surface };
5
- export default cache;
@@ -1,3 +1,3 @@
1
- import { CPUFallbackColormapsData } from '../types';
1
+ import type { CPUFallbackColormapsData } from '../types';
2
2
  declare const colormapsData: CPUFallbackColormapsData;
3
3
  export default colormapsData;
@@ -1,3 +1,3 @@
1
- import { ViewportPreset } from '../types';
1
+ import type { ViewportPreset } from '../types';
2
2
  declare const presets: ViewportPreset[];
3
3
  export default presets;
@@ -0,0 +1,5 @@
1
+ export declare enum GenerateImageType {
2
+ SUM = "SUM",
3
+ SUBTRACT = "SUBTRACT",
4
+ AVERAGE = "AVERAGE"
5
+ }
@@ -0,0 +1,6 @@
1
+ export var GenerateImageType;
2
+ (function (GenerateImageType) {
3
+ GenerateImageType["SUM"] = "SUM";
4
+ GenerateImageType["SUBTRACT"] = "SUBTRACT";
5
+ GenerateImageType["AVERAGE"] = "AVERAGE";
6
+ })(GenerateImageType || (GenerateImageType = {}));
@@ -18,6 +18,7 @@ declare enum MetadataModules {
18
18
  PET_SERIES = "petSeriesModule",
19
19
  SOP_COMMON = "sopCommonModule",
20
20
  ULTRASOUND_ENHANCED_REGION = "ultrasoundEnhancedRegionModule",
21
- VOI_LUT = "voiLutModule"
21
+ VOI_LUT = "voiLutModule",
22
+ WADO_WEB_CLIENT = "wadoWebClient"
22
23
  }
23
24
  export default MetadataModules;
@@ -20,5 +20,6 @@ var MetadataModules;
20
20
  MetadataModules["SOP_COMMON"] = "sopCommonModule";
21
21
  MetadataModules["ULTRASOUND_ENHANCED_REGION"] = "ultrasoundEnhancedRegionModule";
22
22
  MetadataModules["VOI_LUT"] = "voiLutModule";
23
+ MetadataModules["WADO_WEB_CLIENT"] = "wadoWebClient";
23
24
  })(MetadataModules || (MetadataModules = {}));
24
25
  export default MetadataModules;
@@ -3,6 +3,7 @@ declare enum ViewportType {
3
3
  ORTHOGRAPHIC = "orthographic",
4
4
  PERSPECTIVE = "perspective",
5
5
  VOLUME_3D = "volume3d",
6
- VIDEO = "video"
6
+ VIDEO = "video",
7
+ WholeSlide = "wholeSlide"
7
8
  }
8
9
  export default ViewportType;
@@ -5,5 +5,6 @@ var ViewportType;
5
5
  ViewportType["PERSPECTIVE"] = "perspective";
6
6
  ViewportType["VOLUME_3D"] = "volume3d";
7
7
  ViewportType["VIDEO"] = "video";
8
+ ViewportType["WholeSlide"] = "wholeSlide";
8
9
  })(ViewportType || (ViewportType = {}));
9
10
  export default ViewportType;
@@ -4,7 +4,6 @@ import ViewportType from './ViewportType';
4
4
  import InterpolationType from './InterpolationType';
5
5
  import BlendModes from './BlendModes';
6
6
  import OrientationAxis from './OrientationAxis';
7
- import SharedArrayBufferModes from './SharedArrayBufferModes';
8
7
  import GeometryType from './GeometryType';
9
8
  import ContourType from './ContourType';
10
9
  import VOILUTFunctionType from './VOILUTFunctionType';
@@ -14,4 +13,5 @@ import ViewportStatus from './ViewportStatus';
14
13
  import ImageQualityStatus from './ImageQualityStatus';
15
14
  import * as VideoEnums from './VideoEnums';
16
15
  import MetadataModules from './MetadataModules';
17
- export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, SharedArrayBufferModes, GeometryType, ContourType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, VideoEnums, MetadataModules, ImageQualityStatus, };
16
+ import { GenerateImageType } from './GenerateImageType';
17
+ export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, GeometryType, ContourType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, VideoEnums, MetadataModules, ImageQualityStatus, GenerateImageType, };
@@ -4,7 +4,6 @@ import ViewportType from './ViewportType';
4
4
  import InterpolationType from './InterpolationType';
5
5
  import BlendModes from './BlendModes';
6
6
  import OrientationAxis from './OrientationAxis';
7
- import SharedArrayBufferModes from './SharedArrayBufferModes';
8
7
  import GeometryType from './GeometryType';
9
8
  import ContourType from './ContourType';
10
9
  import VOILUTFunctionType from './VOILUTFunctionType';
@@ -14,4 +13,5 @@ import ViewportStatus from './ViewportStatus';
14
13
  import ImageQualityStatus from './ImageQualityStatus';
15
14
  import * as VideoEnums from './VideoEnums';
16
15
  import MetadataModules from './MetadataModules';
17
- export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, SharedArrayBufferModes, GeometryType, ContourType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, VideoEnums, MetadataModules, ImageQualityStatus, };
16
+ import { GenerateImageType } from './GenerateImageType';
17
+ export { Events, BlendModes, CalibrationTypes, InterpolationType, RequestType, ViewportType, OrientationAxis, GeometryType, ContourType, VOILUTFunctionType, DynamicOperatorType, ViewportStatus, VideoEnums, MetadataModules, ImageQualityStatus, GenerateImageType, };
@@ -44,8 +44,7 @@ class CornerstoneEventTarget {
44
44
  }
45
45
  }
46
46
  removeEventListenerDebounced(type, callback) {
47
- if (this.debouncedListeners[type] &&
48
- this.debouncedListeners[type][callback]) {
47
+ if (this.debouncedListeners[type]?.[callback]) {
49
48
  const debounced = this.debouncedListeners[type][callback];
50
49
  this.removeEventListener(type, debounced.handle);
51
50
  clearTimeout(debounced.timeoutId);
@@ -67,7 +66,7 @@ class CornerstoneEventTarget {
67
66
  }
68
67
  dispatchEvent(event) {
69
68
  if (!this.listeners[event.type]) {
70
- return;
69
+ return !event.defaultPrevented;
71
70
  }
72
71
  const stack = this.listeners[event.type].slice();
73
72
  const stackLength = stack.length;
@@ -1,4 +1,4 @@
1
- import { IEnabledElement } from './types';
1
+ import type { IEnabledElement } from './types';
2
2
  export default function getEnabledElement(element: HTMLDivElement | undefined): IEnabledElement | undefined;
3
3
  export declare function getEnabledElementByIds(viewportId: string, renderingEngineId: string): IEnabledElement;
4
4
  export declare function getEnabledElementByViewportId(viewportId: string): IEnabledElement;
@@ -1,7 +1,6 @@
1
1
  declare global {
2
2
  interface Window {
3
3
  crossOriginIsolated: unknown;
4
- SharedArrayBuffer: unknown;
5
4
  }
6
5
  }
7
6
  export default global;
@@ -1,32 +1,36 @@
1
1
  import * as Enums from './enums';
2
2
  import * as CONSTANTS from './constants';
3
3
  import { Events } from './enums';
4
- import { createVolumeActor, createVolumeMapper, getOrCreateCanvas } from './RenderingEngine';
5
4
  import RenderingEngine from './RenderingEngine';
5
+ import createVolumeActor from './RenderingEngine/helpers/createVolumeActor';
6
+ import createVolumeMapper from './RenderingEngine/helpers/createVolumeMapper';
7
+ import getOrCreateCanvas from './RenderingEngine/helpers/getOrCreateCanvas';
6
8
  import VolumeViewport from './RenderingEngine/VolumeViewport';
7
9
  import VolumeViewport3D from './RenderingEngine/VolumeViewport3D';
8
10
  import BaseVolumeViewport from './RenderingEngine/BaseVolumeViewport';
9
11
  import StackViewport from './RenderingEngine/StackViewport';
10
12
  import VideoViewport from './RenderingEngine/VideoViewport';
13
+ import WSIViewport from './RenderingEngine/WSIViewport';
11
14
  import Viewport from './RenderingEngine/Viewport';
12
15
  import eventTarget from './eventTarget';
13
16
  import { getRenderingEngine, getRenderingEngines } from './RenderingEngine/getRenderingEngine';
14
- import cache, { ImageVolume, Surface } from './cache';
17
+ import { ImageVolume, Surface } from './cache';
18
+ import cache from './cache/cache';
15
19
  import imageRetrievalPoolManager from './requestPool/imageRetrievalPoolManager';
16
20
  import imageLoadPoolManager from './requestPool/imageLoadPoolManager';
17
21
  import getEnabledElement, { getEnabledElementByIds, getEnabledElementByViewportId, getEnabledElements } from './getEnabledElement';
18
22
  import * as metaData from './metaData';
19
- import { init, getShouldUseCPURendering, getShouldUseSharedArrayBuffer, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, setUseSharedArrayBuffer, resetUseCPURendering, resetUseSharedArrayBuffer, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures } from './init';
23
+ import { init, getShouldUseCPURendering, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, peerImport } from './init';
20
24
  import Settings from './Settings';
21
25
  import * as volumeLoader from './loaders/volumeLoader';
22
26
  import * as imageLoader from './loaders/imageLoader';
23
27
  import * as geometryLoader from './loaders/geometryLoader';
24
28
  import ProgressiveRetrieveImages from './loaders/ProgressiveRetrieveImages';
25
29
  import type * as Types from './types';
26
- import { IRetrieveConfiguration, IImagesLoader, RetrieveOptions, RetrieveStage, ImageLoadListener } from './types';
30
+ import type { IRetrieveConfiguration, IImagesLoader, RetrieveOptions, RetrieveStage, ImageLoadListener } from './types';
27
31
  import * as utilities from './utilities';
28
32
  import { registerImageLoader } from './loaders/imageLoader';
29
33
  import triggerEvent from './utilities/triggerEvent';
30
34
  import { setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports } from './RenderingEngine/helpers';
31
35
  export type { Types, IRetrieveConfiguration, RetrieveOptions, RetrieveStage, ImageLoadListener, IImagesLoader, };
32
- export { init, isCornerstoneInitialized, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, RenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, getOrCreateCanvas, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, getShouldUseSharedArrayBuffer, setUseSharedArrayBuffer, resetUseSharedArrayBuffer, geometryLoader, ProgressiveRetrieveImages, };
36
+ export { init, isCornerstoneInitialized, peerImport, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, getOrCreateCanvas, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, ProgressiveRetrieveImages, };
package/dist/esm/index.js CHANGED
@@ -1,22 +1,26 @@
1
1
  import * as Enums from './enums';
2
2
  import * as CONSTANTS from './constants';
3
3
  import { Events } from './enums';
4
- import { createVolumeActor, createVolumeMapper, getOrCreateCanvas, } from './RenderingEngine';
5
4
  import RenderingEngine from './RenderingEngine';
5
+ import createVolumeActor from './RenderingEngine/helpers/createVolumeActor';
6
+ import createVolumeMapper from './RenderingEngine/helpers/createVolumeMapper';
7
+ import getOrCreateCanvas from './RenderingEngine/helpers/getOrCreateCanvas';
6
8
  import VolumeViewport from './RenderingEngine/VolumeViewport';
7
9
  import VolumeViewport3D from './RenderingEngine/VolumeViewport3D';
8
10
  import BaseVolumeViewport from './RenderingEngine/BaseVolumeViewport';
9
11
  import StackViewport from './RenderingEngine/StackViewport';
10
12
  import VideoViewport from './RenderingEngine/VideoViewport';
13
+ import WSIViewport from './RenderingEngine/WSIViewport';
11
14
  import Viewport from './RenderingEngine/Viewport';
12
15
  import eventTarget from './eventTarget';
13
16
  import { getRenderingEngine, getRenderingEngines, } from './RenderingEngine/getRenderingEngine';
14
- import cache, { ImageVolume, Surface } from './cache';
17
+ import { ImageVolume, Surface } from './cache';
18
+ import cache from './cache/cache';
15
19
  import imageRetrievalPoolManager from './requestPool/imageRetrievalPoolManager';
16
20
  import imageLoadPoolManager from './requestPool/imageLoadPoolManager';
17
21
  import getEnabledElement, { getEnabledElementByIds, getEnabledElementByViewportId, getEnabledElements, } from './getEnabledElement';
18
22
  import * as metaData from './metaData';
19
- import { init, getShouldUseCPURendering, getShouldUseSharedArrayBuffer, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, setUseSharedArrayBuffer, resetUseCPURendering, resetUseSharedArrayBuffer, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, } from './init';
23
+ import { init, getShouldUseCPURendering, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, peerImport, } from './init';
20
24
  import Settings from './Settings';
21
25
  import * as volumeLoader from './loaders/volumeLoader';
22
26
  import * as imageLoader from './loaders/imageLoader';
@@ -26,4 +30,4 @@ import * as utilities from './utilities';
26
30
  import { registerImageLoader } from './loaders/imageLoader';
27
31
  import triggerEvent from './utilities/triggerEvent';
28
32
  import { setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, } from './RenderingEngine/helpers';
29
- export { init, isCornerstoneInitialized, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, RenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, getOrCreateCanvas, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, getShouldUseSharedArrayBuffer, setUseSharedArrayBuffer, resetUseSharedArrayBuffer, geometryLoader, ProgressiveRetrieveImages, };
33
+ export { init, isCornerstoneInitialized, peerImport, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, getOrCreateCanvas, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, ProgressiveRetrieveImages, };
@@ -1,16 +1,13 @@
1
- import { SharedArrayBufferModes } from './enums';
2
- import { Cornerstone3DConfig } from './types';
3
- declare function init(configuration?: Cornerstone3DConfig): Promise<boolean>;
4
- declare function setUseCPURendering(status: boolean): void;
1
+ import type { Cornerstone3DConfig } from './types';
2
+ declare function init(configuration?: Cornerstone3DConfig): boolean;
3
+ declare function setUseCPURendering(status: boolean, updateViewports?: boolean): void;
5
4
  declare function setPreferSizeOverAccuracy(status: boolean): void;
6
5
  declare function canRenderFloatTextures(): boolean;
7
6
  declare function resetUseCPURendering(): void;
8
7
  declare function getShouldUseCPURendering(): boolean;
9
- declare function setUseSharedArrayBuffer(mode: SharedArrayBufferModes | boolean): void;
10
- declare function resetUseSharedArrayBuffer(): void;
11
- declare function getShouldUseSharedArrayBuffer(): boolean;
12
8
  declare function isCornerstoneInitialized(): boolean;
13
9
  declare function getConfiguration(): Cornerstone3DConfig;
14
10
  declare function setConfiguration(c: Cornerstone3DConfig): void;
15
11
  declare function getWebWorkerManager(): any;
16
- export { init, getShouldUseCPURendering, getShouldUseSharedArrayBuffer, isCornerstoneInitialized, setUseCPURendering, setUseSharedArrayBuffer, setPreferSizeOverAccuracy, resetUseCPURendering, resetUseSharedArrayBuffer, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, };
12
+ declare function peerImport(moduleId: string): any;
13
+ export { init, getShouldUseCPURendering, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, peerImport, };