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

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 (325) hide show
  1. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +23 -13
  2. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +36 -44
  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 +7 -8
  7. package/dist/esm/RenderingEngine/RenderingEngine.js +18 -17
  8. package/dist/esm/RenderingEngine/StackViewport.d.ts +29 -18
  9. package/dist/esm/RenderingEngine/StackViewport.js +66 -50
  10. package/dist/esm/RenderingEngine/VideoViewport.d.ts +19 -28
  11. package/dist/esm/RenderingEngine/VideoViewport.js +59 -22
  12. package/dist/esm/RenderingEngine/Viewport.d.ts +25 -14
  13. package/dist/esm/RenderingEngine/Viewport.js +20 -14
  14. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +21 -9
  15. package/dist/esm/RenderingEngine/VolumeViewport.js +88 -8
  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 +2 -2
  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 +3 -6
  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 +10 -35
  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/renderingEngineCache.d.ts +1 -1
  84. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +4 -2
  85. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +87 -78
  86. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +1 -1
  87. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +83 -42
  88. package/dist/esm/Settings.d.ts +1 -1
  89. package/dist/esm/cache/cache.d.ts +15 -19
  90. package/dist/esm/cache/cache.js +110 -56
  91. package/dist/esm/cache/classes/Contour.d.ts +4 -4
  92. package/dist/esm/cache/classes/ContourSet.d.ts +3 -3
  93. package/dist/esm/cache/classes/ImageVolume.d.ts +19 -19
  94. package/dist/esm/cache/classes/ImageVolume.js +48 -254
  95. package/dist/esm/cache/classes/Surface.d.ts +3 -3
  96. package/dist/esm/constants/cpuColormaps.d.ts +1 -1
  97. package/dist/esm/constants/viewportPresets.d.ts +1 -1
  98. package/dist/esm/enums/GenerateImageType.d.ts +5 -0
  99. package/dist/esm/enums/GenerateImageType.js +6 -0
  100. package/dist/esm/enums/MetadataModules.d.ts +2 -1
  101. package/dist/esm/enums/MetadataModules.js +1 -0
  102. package/dist/esm/enums/ViewportType.d.ts +2 -1
  103. package/dist/esm/enums/ViewportType.js +1 -0
  104. package/dist/esm/enums/index.d.ts +2 -2
  105. package/dist/esm/enums/index.js +2 -2
  106. package/dist/esm/eventTarget.js +2 -3
  107. package/dist/esm/getEnabledElement.d.ts +1 -1
  108. package/dist/esm/global.d.ts +0 -1
  109. package/dist/esm/index.d.ts +4 -3
  110. package/dist/esm/index.js +3 -2
  111. package/dist/esm/init.d.ts +5 -8
  112. package/dist/esm/init.js +21 -82
  113. package/dist/esm/loaders/ProgressiveRetrieveImages.d.ts +5 -5
  114. package/dist/esm/loaders/ProgressiveRetrieveImages.js +3 -1
  115. package/dist/esm/loaders/configuration/interleavedRetrieve.d.ts +1 -1
  116. package/dist/esm/loaders/fillNearbyFrames.d.ts +2 -2
  117. package/dist/esm/loaders/geometryLoader.d.ts +3 -3
  118. package/dist/esm/loaders/imageLoader.d.ts +12 -17
  119. package/dist/esm/loaders/imageLoader.js +174 -95
  120. package/dist/esm/loaders/utils/contourSet/createContourSet.d.ts +1 -1
  121. package/dist/esm/loaders/utils/contourSet/validateContourSet.d.ts +1 -1
  122. package/dist/esm/loaders/utils/surface/createSurface.d.ts +1 -1
  123. package/dist/esm/loaders/utils/surface/validateSurface.d.ts +1 -1
  124. package/dist/esm/loaders/volumeLoader.d.ts +14 -22
  125. package/dist/esm/loaders/volumeLoader.js +62 -210
  126. package/dist/esm/metaData.d.ts +2 -4
  127. package/dist/esm/requestPool/requestPoolManager.d.ts +7 -9
  128. package/dist/esm/types/AABB2.d.ts +2 -2
  129. package/dist/esm/types/AABB3.d.ts +2 -2
  130. package/dist/esm/types/ActorSliceRange.d.ts +5 -5
  131. package/dist/esm/types/BoundsIJK.d.ts +1 -1
  132. package/dist/esm/types/BoundsLPS.d.ts +1 -1
  133. package/dist/esm/types/CPUFallbackColormap.d.ts +3 -3
  134. package/dist/esm/types/CPUFallbackColormapData.d.ts +4 -4
  135. package/dist/esm/types/CPUFallbackColormapsData.d.ts +3 -5
  136. package/dist/esm/types/CPUFallbackEnabledElement.d.ts +14 -11
  137. package/dist/esm/types/CPUFallbackLUT.d.ts +4 -3
  138. package/dist/esm/types/CPUFallbackLookupTable.d.ts +2 -2
  139. package/dist/esm/types/CPUFallbackRenderingTools.d.ts +5 -5
  140. package/dist/esm/types/CPUFallbackTransform.d.ts +3 -3
  141. package/dist/esm/types/CPUFallbackViewport.d.ts +6 -6
  142. package/dist/esm/types/CPUFallbackViewportDisplayedArea.d.ts +3 -3
  143. package/dist/esm/types/CPUIImageData.d.ts +17 -9
  144. package/dist/esm/types/Color.d.ts +1 -1
  145. package/dist/esm/types/Colormap.d.ts +7 -7
  146. package/dist/esm/types/ContourData.d.ts +6 -6
  147. package/dist/esm/types/Cornerstone3DConfig.d.ts +7 -7
  148. package/dist/esm/types/CustomEventType.d.ts +2 -2
  149. package/dist/esm/types/EventTypes.d.ts +55 -55
  150. package/dist/esm/types/FlipDirection.d.ts +3 -3
  151. package/dist/esm/types/IActor.d.ts +3 -3
  152. package/dist/esm/types/ICache.d.ts +4 -4
  153. package/dist/esm/types/ICachedGeometry.d.ts +3 -3
  154. package/dist/esm/types/ICachedImage.d.ts +3 -2
  155. package/dist/esm/types/ICachedVolume.d.ts +3 -2
  156. package/dist/esm/types/ICamera.d.ts +3 -3
  157. package/dist/esm/types/IContour.d.ts +4 -3
  158. package/dist/esm/types/IContourSet.d.ts +5 -2
  159. package/dist/esm/types/IDynamicImageVolume.d.ts +3 -3
  160. package/dist/esm/types/IEnabledElement.d.ts +2 -2
  161. package/dist/esm/types/IGeometry.d.ts +4 -4
  162. package/dist/esm/types/IImage.d.ts +12 -10
  163. package/dist/esm/types/IImageCalibration.d.ts +2 -2
  164. package/dist/esm/types/IImageData.d.ts +11 -4
  165. package/dist/esm/types/IImageFrame.d.ts +42 -0
  166. package/dist/esm/types/IImageFrame.js +1 -0
  167. package/dist/esm/types/IImageVolume.d.ts +17 -14
  168. package/dist/esm/types/ILoadObject.d.ts +3 -3
  169. package/dist/esm/types/IPointsManager.d.ts +23 -0
  170. package/dist/esm/types/IPointsManager.js +1 -0
  171. package/dist/esm/types/IRLEVoxelMap.d.ts +16 -0
  172. package/dist/esm/types/IRLEVoxelMap.js +1 -0
  173. package/dist/esm/types/IRegisterImageLoader.d.ts +2 -2
  174. package/dist/esm/types/IRenderingEngine.d.ts +11 -12
  175. package/dist/esm/types/IRetrieveConfiguration.d.ts +6 -6
  176. package/dist/esm/types/IStackInput.d.ts +1 -1
  177. package/dist/esm/types/IStackViewport.d.ts +69 -2
  178. package/dist/esm/types/IStreamingImageVolume.d.ts +3 -4
  179. package/dist/esm/types/IStreamingVolumeProperties.d.ts +5 -5
  180. package/dist/esm/types/ISurface.d.ts +1 -1
  181. package/dist/esm/types/ITransferFunctionNode.d.ts +9 -0
  182. package/dist/esm/types/ITransferFunctionNode.js +1 -0
  183. package/dist/esm/types/IVideoViewport.d.ts +40 -2
  184. package/dist/esm/types/IViewport.d.ts +62 -41
  185. package/dist/esm/types/IVolume.d.ts +2 -2
  186. package/dist/esm/types/IVolumeInput.d.ts +2 -2
  187. package/dist/esm/types/IVolumeViewport.d.ts +17 -16
  188. package/dist/esm/types/IVoxelManager.d.ts +54 -0
  189. package/dist/esm/types/IVoxelManager.js +1 -0
  190. package/dist/esm/types/IWSIViewport.d.ts +16 -0
  191. package/dist/esm/types/IWSIViewport.js +1 -0
  192. package/dist/esm/types/ImageLoadListener.d.ts +2 -2
  193. package/dist/esm/types/ImageLoaderFn.d.ts +3 -3
  194. package/dist/esm/types/ImagePixelModule.d.ts +1 -1
  195. package/dist/esm/types/ImagePlaneModule.d.ts +2 -2
  196. package/dist/esm/types/ImageSliceData.d.ts +3 -3
  197. package/dist/esm/types/ImageVolumeProps.d.ts +4 -4
  198. package/dist/esm/types/Mat3.d.ts +1 -1
  199. package/dist/esm/types/Metadata.d.ts +6 -6
  200. package/dist/esm/types/MetadataModuleTypes.d.ts +65 -0
  201. package/dist/esm/types/MetadataModuleTypes.js +1 -0
  202. package/dist/esm/types/OrientationVectors.d.ts +4 -4
  203. package/dist/esm/types/Plane.d.ts +1 -1
  204. package/dist/esm/types/Point2.d.ts +1 -1
  205. package/dist/esm/types/Point3.d.ts +3 -3
  206. package/dist/esm/types/Point4.d.ts +1 -1
  207. package/dist/esm/types/RGB.d.ts +1 -1
  208. package/dist/esm/types/ScalingParameters.d.ts +7 -7
  209. package/dist/esm/types/StackViewportProperties.d.ts +3 -3
  210. package/dist/esm/types/SurfaceData.d.ts +5 -5
  211. package/dist/esm/types/TransformMatrix2D.d.ts +1 -1
  212. package/dist/esm/types/VideoViewportProperties.d.ts +3 -3
  213. package/dist/esm/types/VideoViewportTypes.d.ts +7 -7
  214. package/dist/esm/types/ViewportInputOptions.d.ts +7 -7
  215. package/dist/esm/types/ViewportPreset.d.ts +1 -1
  216. package/dist/esm/types/ViewportProperties.d.ts +5 -5
  217. package/dist/esm/types/VolumeLoaderFn.d.ts +4 -3
  218. package/dist/esm/types/VolumeProps.d.ts +10 -5
  219. package/dist/esm/types/VolumeViewportProperties.d.ts +3 -3
  220. package/dist/esm/types/WSIViewportProperties.d.ts +3 -0
  221. package/dist/esm/types/WSIViewportProperties.js +1 -0
  222. package/dist/esm/types/WSIViewportTypes.d.ts +13 -0
  223. package/dist/esm/types/WSIViewportTypes.js +1 -0
  224. package/dist/esm/types/displayArea.d.ts +4 -4
  225. package/dist/esm/types/index.d.ts +16 -8
  226. package/dist/esm/types/voi.d.ts +4 -4
  227. package/dist/esm/utilities/PointsManager.d.ts +8 -10
  228. package/dist/esm/utilities/ProgressiveIterator.d.ts +1 -1
  229. package/dist/esm/utilities/ProgressiveIterator.js +3 -1
  230. package/dist/esm/utilities/RLEVoxelMap.d.ts +3 -8
  231. package/dist/esm/utilities/RLEVoxelMap.js +19 -19
  232. package/dist/esm/utilities/VoxelManager.d.ts +82 -20
  233. package/dist/esm/utilities/VoxelManager.js +466 -60
  234. package/dist/esm/utilities/actorCheck.d.ts +1 -1
  235. package/dist/esm/utilities/applyPreset.d.ts +2 -2
  236. package/dist/esm/utilities/calculateViewportsSpatialRegistration.d.ts +1 -1
  237. package/dist/esm/utilities/calculateViewportsSpatialRegistration.js +4 -4
  238. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +1 -1
  239. package/dist/esm/utilities/colormap.d.ts +1 -1
  240. package/dist/esm/utilities/convertStackToVolumeViewport.d.ts +2 -2
  241. package/dist/esm/utilities/convertStackToVolumeViewport.js +4 -4
  242. package/dist/esm/utilities/convertVolumeToStackViewport.d.ts +1 -1
  243. package/dist/esm/utilities/convertVolumeToStackViewport.js +1 -1
  244. package/dist/esm/utilities/createLinearRGBTransferFunction.d.ts +1 -1
  245. package/dist/esm/utilities/createLinearRGBTransferFunction.js +1 -3
  246. package/dist/esm/utilities/createSigmoidRGBTransferFunction.d.ts +2 -3
  247. package/dist/esm/utilities/createSigmoidRGBTransferFunction.js +8 -7
  248. package/dist/esm/utilities/decimate.d.ts +1 -1
  249. package/dist/esm/utilities/eventListener/TargetEventListeners.js +5 -3
  250. package/dist/esm/utilities/generateVolumePropsFromImageIds.d.ts +1 -1
  251. package/dist/esm/utilities/generateVolumePropsFromImageIds.js +33 -80
  252. package/dist/esm/utilities/genericMetadataProvider.d.ts +9 -2
  253. package/dist/esm/utilities/genericMetadataProvider.js +7 -1
  254. package/dist/esm/utilities/getBufferConfiguration.d.ts +2 -3
  255. package/dist/esm/utilities/getBufferConfiguration.js +5 -15
  256. package/dist/esm/utilities/getClosestImageId.js +1 -1
  257. package/dist/esm/utilities/getClosestStackImageIndexForPoint.d.ts +1 -1
  258. package/dist/esm/utilities/getCurrentVolumeViewportSlice.d.ts +4 -5
  259. package/dist/esm/utilities/getCurrentVolumeViewportSlice.js +8 -58
  260. package/dist/esm/utilities/getImageLegacy.d.ts +1 -1
  261. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +1 -1
  262. package/dist/esm/utilities/getMinMax.d.ts +2 -1
  263. package/dist/esm/utilities/getScalingParameters.d.ts +1 -1
  264. package/dist/esm/utilities/getSpacingInNormalDirection.d.ts +2 -2
  265. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
  266. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +2 -2
  267. package/dist/esm/utilities/getViewportImageCornersInWorld.d.ts +1 -1
  268. package/dist/esm/utilities/getViewportImageIds.d.ts +1 -1
  269. package/dist/esm/utilities/getViewportModality.d.ts +7 -3
  270. package/dist/esm/utilities/getViewportModality.js +9 -6
  271. package/dist/esm/utilities/getViewportsWithImageURI.d.ts +2 -2
  272. package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +2 -2
  273. package/dist/esm/utilities/getViewportsWithVolumeId.js +3 -7
  274. package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +1 -1
  275. package/dist/esm/utilities/getVolumeActorCorners.d.ts +2 -2
  276. package/dist/esm/utilities/getVolumeId.js +2 -2
  277. package/dist/esm/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
  278. package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
  279. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.d.ts +2 -2
  280. package/dist/esm/utilities/hasFloatScalingParameters.d.ts +1 -1
  281. package/dist/esm/utilities/imageRetrieveMetadataProvider.d.ts +1 -1
  282. package/dist/esm/utilities/imageToWorldCoords.d.ts +1 -1
  283. package/dist/esm/utilities/index.d.ts +3 -8
  284. package/dist/esm/utilities/index.js +4 -8
  285. package/dist/esm/utilities/indexWithinDimensions.d.ts +1 -1
  286. package/dist/esm/utilities/invertRgbTransferFunction.d.ts +2 -1
  287. package/dist/esm/utilities/isEqual.js +6 -1
  288. package/dist/esm/utilities/isPTPrescaledWithSUV.d.ts +1 -1
  289. package/dist/esm/utilities/isPTPrescaledWithSUV.js +1 -1
  290. package/dist/esm/utilities/isTypedArray.d.ts +1 -1
  291. package/dist/esm/utilities/loadImageToCanvas.d.ts +6 -6
  292. package/dist/esm/utilities/makeVolumeMetadata.d.ts +2 -2
  293. package/dist/esm/utilities/planar.d.ts +2 -2
  294. package/dist/esm/utilities/renderToCanvasCPU.d.ts +1 -1
  295. package/dist/esm/utilities/renderToCanvasGPU.d.ts +2 -2
  296. package/dist/esm/utilities/renderToCanvasGPU.js +1 -1
  297. package/dist/esm/utilities/scaleRgbTransferFunction.d.ts +2 -1
  298. package/dist/esm/utilities/snapFocalPointToSlice.d.ts +1 -1
  299. package/dist/esm/utilities/sortImageIdsAndGetSpacing.d.ts +5 -5
  300. package/dist/esm/utilities/transformCanvasToIJK.d.ts +2 -2
  301. package/dist/esm/utilities/transformIJKToCanvas.d.ts +1 -1
  302. package/dist/esm/utilities/triggerEvent.js +1 -1
  303. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.d.ts +2 -2
  304. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +1 -1
  305. package/dist/esm/utilities/uuidv4.js +3 -1
  306. package/dist/esm/utilities/worldToImageCoords.d.ts +1 -1
  307. package/dist/umd/index.js +1 -1
  308. package/dist/umd/index.js.map +1 -1
  309. package/package.json +5 -6
  310. package/dist/esm/cache/utils/restoreImagesFromBuffer.d.ts +0 -2
  311. package/dist/esm/cache/utils/restoreImagesFromBuffer.js +0 -28
  312. package/dist/esm/enums/SharedArrayBufferModes.d.ts +0 -6
  313. package/dist/esm/enums/SharedArrayBufferModes.js +0 -7
  314. package/dist/esm/utilities/cacheUtils.d.ts +0 -2
  315. package/dist/esm/utilities/cacheUtils.js +0 -86
  316. package/dist/esm/utilities/createFloat32SharedArray.d.ts +0 -2
  317. package/dist/esm/utilities/createFloat32SharedArray.js +0 -27
  318. package/dist/esm/utilities/createInt16SharedArray.d.ts +0 -2
  319. package/dist/esm/utilities/createInt16SharedArray.js +0 -11
  320. package/dist/esm/utilities/createUInt16SharedArray.d.ts +0 -2
  321. package/dist/esm/utilities/createUInt16SharedArray.js +0 -11
  322. package/dist/esm/utilities/createUint8SharedArray.d.ts +0 -2
  323. package/dist/esm/utilities/createUint8SharedArray.js +0 -12
  324. package/dist/esm/utilities/getScalarDataType.d.ts +0 -2
  325. package/dist/esm/utilities/getScalarDataType.js +0 -19
@@ -1,18 +1,19 @@
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, VoxelManager } from '../../utilities';
5
3
  import { vtkStreamingOpenGLTexture } from '../../RenderingEngine/vtkClasses';
6
4
  import cache from '../cache';
7
- import * as metaData from '../../metaData';
8
5
  export class ImageVolume {
9
6
  constructor(props) {
10
7
  this._imageIdsIndexMap = new Map();
11
8
  this._imageURIsIndexMap = new Map();
12
9
  this.cornerstoneImageMetaData = null;
13
- this.imageCacheOffsetMap = new Map();
14
10
  this.isPreScaled = false;
15
- const { imageIds, scalarData, scaling, dimensions, spacing, origin, direction, volumeId, referencedVolumeId, sizeInBytes, imageData, metadata, referencedImageIds, additionalDetails, } = props;
11
+ this.numTimePoints = null;
12
+ const { imageIds, scaling, dimensions, spacing, origin, direction, dataType, volumeId, referencedVolumeId, metadata, referencedImageIds, additionalDetails, voxelManager, numberOfComponents, } = props;
13
+ if (!dataType) {
14
+ throw new Error('Data type is required, please provide a data type as string such as "Uint8Array", "Float32Array", etc.');
15
+ }
16
+ let { imageData } = props;
16
17
  this.imageIds = imageIds;
17
18
  this.volumeId = volumeId;
18
19
  this.metadata = metadata;
@@ -20,31 +21,37 @@ export class ImageVolume {
20
21
  this.spacing = spacing;
21
22
  this.origin = origin;
22
23
  this.direction = direction;
23
- this.scalarData = scalarData;
24
- this.sizeInBytes = sizeInBytes;
24
+ this.dataType = dataType;
25
25
  this.vtkOpenGLTexture = vtkStreamingOpenGLTexture.newInstance();
26
+ this.vtkOpenGLTexture.setVolumeId(volumeId);
27
+ this.voxelManager =
28
+ voxelManager ??
29
+ VoxelManager.createImageVolumeVoxelManager({
30
+ dimensions,
31
+ imageIds,
32
+ numberOfComponents,
33
+ });
26
34
  this.numVoxels =
27
35
  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
- });
36
+ if (!imageData) {
37
+ imageData = vtkImageData.newInstance();
38
38
  imageData.setDimensions(dimensions);
39
39
  imageData.setSpacing(spacing);
40
40
  imageData.setDirection(direction);
41
41
  imageData.setOrigin(origin);
42
- imageData.getPointData().setScalars(scalarArray);
43
- this.imageData = imageData;
44
42
  }
43
+ imageData.set({
44
+ dataType: dataType,
45
+ voxelManager: this.voxelManager,
46
+ id: volumeId,
47
+ numberOfComponents: numberOfComponents || 1,
48
+ });
49
+ imageData.set({
50
+ hasScalarVolume: false,
51
+ });
52
+ this.imageData = imageData;
45
53
  this.numFrames = this._getNumFrames();
46
54
  this._reprocessImageIds();
47
- this._createCornerstoneImageMetaData();
48
55
  if (scaling) {
49
56
  this.scaling = scaling;
50
57
  }
@@ -58,6 +65,9 @@ export class ImageVolume {
58
65
  this.additionalDetails = additionalDetails;
59
66
  }
60
67
  }
68
+ get sizeInBytes() {
69
+ return this.voxelManager.sizeInBytes;
70
+ }
61
71
  get imageIds() {
62
72
  return this._imageIds;
63
73
  }
@@ -75,271 +85,55 @@ export class ImageVolume {
75
85
  });
76
86
  }
77
87
  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');
88
+ return this.numTimePoints > 1;
85
89
  }
86
90
  getImageIdIndex(imageId) {
87
91
  return this._imageIdsIndexMap.get(imageId);
88
92
  }
93
+ getImageIdByIndex(imageIdIndex) {
94
+ return this._imageIds[imageIdIndex];
95
+ }
89
96
  getImageURIIndex(imageURI) {
90
97
  return this._imageURIsIndexMap.get(imageURI);
91
98
  }
92
99
  destroy() {
93
100
  this.imageData.delete();
94
101
  this.imageData = null;
95
- this.scalarData = null;
102
+ this.voxelManager.clear();
96
103
  this.vtkOpenGLTexture.releaseGraphicsResources();
97
104
  this.vtkOpenGLTexture.delete();
98
105
  }
99
- getScalarDataArrays() {
100
- return this.isDynamicVolume()
101
- ? this.scalarData
102
- : [this.scalarData];
106
+ invalidate() {
107
+ for (let i = 0; i < this.imageIds.length; i++) {
108
+ this.vtkOpenGLTexture.setUpdatedFrame(i);
109
+ }
110
+ this.imageData.modified();
103
111
  }
104
112
  modified() {
105
113
  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
- }
114
+ this.vtkOpenGLTexture.modified();
115
115
  this.numFrames = this._getNumFrames();
116
116
  }
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
117
  removeFromCache() {
135
118
  cache.removeVolumeLoadObject(this.volumeId);
136
119
  }
137
120
  getScalarDataLength() {
138
- const { scalarData } = this;
139
- return this.isDynamicVolume()
140
- ? scalarData[0].length
141
- : scalarData.length;
121
+ return this.voxelManager.getScalarDataLength();
142
122
  }
143
123
  _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;
124
+ if (!this.isDynamicVolume()) {
125
+ return this.imageIds.length;
158
126
  }
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;
127
+ return this.numTimePoints;
295
128
  }
296
129
  imageIdIndexToFrameIndex(imageIdIndex) {
297
130
  return imageIdIndex % this.numFrames;
298
131
  }
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
132
  getCornerstoneImages() {
307
133
  const { imageIds } = this;
308
- return imageIds.map((imageId, imageIdIndex) => {
309
- return this.getCornerstoneImage(imageId, imageIdIndex);
134
+ return imageIds.map((imageId) => {
135
+ return cache.getImage(imageId);
310
136
  });
311
137
  }
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
138
  }
345
139
  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,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;
@@ -8,6 +8,7 @@ import VolumeViewport3D from './RenderingEngine/VolumeViewport3D';
8
8
  import BaseVolumeViewport from './RenderingEngine/BaseVolumeViewport';
9
9
  import StackViewport from './RenderingEngine/StackViewport';
10
10
  import VideoViewport from './RenderingEngine/VideoViewport';
11
+ import WSIViewport from './RenderingEngine/WSIViewport';
11
12
  import Viewport from './RenderingEngine/Viewport';
12
13
  import eventTarget from './eventTarget';
13
14
  import { getRenderingEngine, getRenderingEngines } from './RenderingEngine/getRenderingEngine';
@@ -16,17 +17,17 @@ import imageRetrievalPoolManager from './requestPool/imageRetrievalPoolManager';
16
17
  import imageLoadPoolManager from './requestPool/imageLoadPoolManager';
17
18
  import getEnabledElement, { getEnabledElementByIds, getEnabledElementByViewportId, getEnabledElements } from './getEnabledElement';
18
19
  import * as metaData from './metaData';
19
- import { init, getShouldUseCPURendering, getShouldUseSharedArrayBuffer, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, setUseSharedArrayBuffer, resetUseCPURendering, resetUseSharedArrayBuffer, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures } from './init';
20
+ import { init, getShouldUseCPURendering, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, peerImport } from './init';
20
21
  import Settings from './Settings';
21
22
  import * as volumeLoader from './loaders/volumeLoader';
22
23
  import * as imageLoader from './loaders/imageLoader';
23
24
  import * as geometryLoader from './loaders/geometryLoader';
24
25
  import ProgressiveRetrieveImages from './loaders/ProgressiveRetrieveImages';
25
26
  import type * as Types from './types';
26
- import { IRetrieveConfiguration, IImagesLoader, RetrieveOptions, RetrieveStage, ImageLoadListener } from './types';
27
+ import type { IRetrieveConfiguration, IImagesLoader, RetrieveOptions, RetrieveStage, ImageLoadListener } from './types';
27
28
  import * as utilities from './utilities';
28
29
  import { registerImageLoader } from './loaders/imageLoader';
29
30
  import triggerEvent from './utilities/triggerEvent';
30
31
  import { setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports } from './RenderingEngine/helpers';
31
32
  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, };
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, };
package/dist/esm/index.js CHANGED
@@ -8,6 +8,7 @@ import VolumeViewport3D from './RenderingEngine/VolumeViewport3D';
8
8
  import BaseVolumeViewport from './RenderingEngine/BaseVolumeViewport';
9
9
  import StackViewport from './RenderingEngine/StackViewport';
10
10
  import VideoViewport from './RenderingEngine/VideoViewport';
11
+ import WSIViewport from './RenderingEngine/WSIViewport';
11
12
  import Viewport from './RenderingEngine/Viewport';
12
13
  import eventTarget from './eventTarget';
13
14
  import { getRenderingEngine, getRenderingEngines, } from './RenderingEngine/getRenderingEngine';
@@ -16,7 +17,7 @@ import imageRetrievalPoolManager from './requestPool/imageRetrievalPoolManager';
16
17
  import imageLoadPoolManager from './requestPool/imageLoadPoolManager';
17
18
  import getEnabledElement, { getEnabledElementByIds, getEnabledElementByViewportId, getEnabledElements, } from './getEnabledElement';
18
19
  import * as metaData from './metaData';
19
- import { init, getShouldUseCPURendering, getShouldUseSharedArrayBuffer, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, setUseSharedArrayBuffer, resetUseCPURendering, resetUseSharedArrayBuffer, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, } from './init';
20
+ import { init, getShouldUseCPURendering, isCornerstoneInitialized, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, peerImport, } from './init';
20
21
  import Settings from './Settings';
21
22
  import * as volumeLoader from './loaders/volumeLoader';
22
23
  import * as imageLoader from './loaders/imageLoader';
@@ -26,4 +27,4 @@ import * as utilities from './utilities';
26
27
  import { registerImageLoader } from './loaders/imageLoader';
27
28
  import triggerEvent from './utilities/triggerEvent';
28
29
  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, };
30
+ 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, };