@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,22 +1,31 @@
1
- import { BlendModes, InterpolationType, OrientationAxis } from '../enums';
1
+ import type { mat4 } from 'gl-matrix';
2
+ import type { BlendModes, InterpolationType, OrientationAxis } from '../enums';
2
3
  import type { FlipDirection, IImageData, IVolumeInput, OrientationVectors, Point2, Point3, VolumeViewportProperties, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewReference, IVolumeViewport } from '../types';
3
- import { VoiModifiedEventDetail } from '../types/EventTypes';
4
+ import type { VoiModifiedEventDetail } from '../types/EventTypes';
4
5
  import type { ViewportInput } from '../types/IViewport';
5
6
  import Viewport from './Viewport';
7
+ import type { TransferFunctionNodes } from '../types/ITransferFunctionNode';
6
8
  declare abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
7
9
  useCPURendering: boolean;
8
- useNativeDataType: boolean;
9
10
  private _FrameOfReferenceUID;
10
- protected initialTransferFunctionNodes: any;
11
+ protected initialTransferFunctionNodes: TransferFunctionNodes;
11
12
  private globalDefaultProperties;
12
13
  private perVolumeIdDefaultProperties;
13
14
  protected initialViewUp: Point3;
14
15
  protected viewportProperties: VolumeViewportProperties;
16
+ private volumeIds;
15
17
  constructor(props: ViewportInput);
16
18
  static get useCustomRenderingPipeline(): boolean;
19
+ getSliceViewInfo(): {
20
+ width: number;
21
+ height: number;
22
+ sliceIndex: number;
23
+ slicePlane: number;
24
+ sliceToIndexMatrix: mat4;
25
+ indexToSliceMatrix: mat4;
26
+ };
17
27
  protected applyViewOrientation(orientation: OrientationAxis | OrientationVectors, resetCamera?: boolean): void;
18
28
  private initializeVolumeNewImageEventDispatcher;
19
- protected resetVolumeViewportClippingRange(): void;
20
29
  private setVOILUTFunction;
21
30
  private setColormap;
22
31
  private setOpacity;
@@ -39,9 +48,9 @@ declare abstract class BaseVolumeViewport extends Viewport implements IVolumeVie
39
48
  getDefaultProperties: (volumeId?: string) => VolumeViewportProperties;
40
49
  getProperties: (volumeId?: string) => VolumeViewportProperties;
41
50
  private getColormap;
42
- setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
43
- addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
44
- removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
51
+ setVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
52
+ addVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
53
+ removeVolumeActors(actorUIDs: string[], immediate?: boolean): void;
45
54
  setOrientation(_orientation: OrientationAxis | OrientationVectors, _immediate?: boolean): void;
46
55
  private initializeColorTransferFunction;
47
56
  private _getApplicableVolumeActor;
@@ -59,12 +68,13 @@ declare abstract class BaseVolumeViewport extends Viewport implements IVolumeVie
59
68
  protected _getOrientationVectors(orientation: OrientationAxis | OrientationVectors): OrientationVectors;
60
69
  getSlabThickness(): number;
61
70
  getIntensityFromWorld(point: Point3): number;
62
- getImageIds: (volumeId?: string) => Array<string>;
63
- abstract getCurrentImageId(): string;
64
- protected getVolumeId(specifier?: ViewReferenceSpecifier): string;
71
+ getImageIds: (volumeId?: string) => string[];
72
+ abstract getCurrentImageId(): string | undefined;
73
+ getVolumeId(specifier?: ViewReferenceSpecifier): string;
65
74
  getViewReferenceId(specifier?: ViewReferenceSpecifier): string;
66
- abstract setBlendMode(blendMode: BlendModes, filterActorUIDs?: Array<string>, immediate?: boolean): void;
67
- abstract setSlabThickness(slabThickness: number, filterActorUIDs?: Array<string>): void;
75
+ private _addVolumeId;
76
+ abstract setBlendMode(blendMode: BlendModes, filterActorUIDs?: string[], immediate?: boolean): void;
77
+ abstract setSlabThickness(slabThickness: number, filterActorUIDs?: string[]): void;
68
78
  abstract resetSlabThickness(): void;
69
79
  abstract resetProperties(volumeId?: string): void;
70
80
  }
@@ -4,11 +4,10 @@ import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunc
4
4
  import { vec2, vec3 } from 'gl-matrix';
5
5
  import cache from '../cache';
6
6
  import { MPR_CAMERA_VALUES, RENDERING_DEFAULTS, VIEWPORT_PRESETS, } from '../constants';
7
- import { Events, ViewportStatus, VOILUTFunctionType, } from '../enums';
7
+ import { Events, ViewportStatus, VOILUTFunctionType } from '../enums';
8
8
  import ViewportType from '../enums/ViewportType';
9
9
  import eventTarget from '../eventTarget';
10
10
  import { getShouldUseCPURendering } from '../init';
11
- import { loadVolume } from '../loaders/volumeLoader';
12
11
  import { actorIsA, applyPreset, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, imageIdToURI, invertRgbTransferFunction, triggerEvent, colormap as colormapUtils, isEqualNegative, getVolumeViewportScrollInfo, snapFocalPointToSlice, isEqual, } from '../utilities';
13
12
  import { createVolumeActor } from './helpers';
14
13
  import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './helpers/volumeNewImageEventDispatcher';
@@ -21,9 +20,9 @@ class BaseVolumeViewport extends Viewport {
21
20
  constructor(props) {
22
21
  super(props);
23
22
  this.useCPURendering = false;
24
- this.useNativeDataType = false;
25
23
  this.perVolumeIdDefaultProperties = new Map();
26
24
  this.viewportProperties = {};
25
+ this.volumeIds = new Set();
27
26
  this.setRotation = (rotation) => {
28
27
  const panFit = this.getPan(this.fitToCanvasCamera);
29
28
  const pan = this.getPan();
@@ -177,14 +176,14 @@ class BaseVolumeViewport extends Viewport {
177
176
  canvasCoord[0] / devicePixelRatio,
178
177
  canvasCoord[1] / devicePixelRatio,
179
178
  ];
180
- vtkCamera.setIsPerformingCoordinateTransformation?.(false);
179
+ vtkCamera.setIsPerformingCoordinateTransformation(false);
181
180
  return canvasCoordWithDPR;
182
181
  };
183
182
  this.hasImageURI = (imageURI) => {
184
183
  const volumeActors = this.getActors().filter((actorEntry) => actorIsA(actorEntry, 'vtkVolume'));
185
184
  return volumeActors.some(({ uid }) => {
186
185
  const volume = cache.getVolume(uid);
187
- if (!volume || !volume.imageIds) {
186
+ if (!volume?.imageIds) {
188
187
  return false;
189
188
  }
190
189
  const volumeImageURIs = volume.imageIds.map(imageIdToURI);
@@ -204,7 +203,6 @@ class BaseVolumeViewport extends Viewport {
204
203
  return imageVolume.imageIds;
205
204
  };
206
205
  this.useCPURendering = getShouldUseCPURendering();
207
- this.useNativeDataType = this._shouldUseNativeDataType();
208
206
  if (this.useCPURendering) {
209
207
  throw new Error('VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.');
210
208
  }
@@ -229,6 +227,9 @@ class BaseVolumeViewport extends Viewport {
229
227
  static get useCustomRenderingPipeline() {
230
228
  return false;
231
229
  }
230
+ getSliceViewInfo() {
231
+ throw new Error('Method not implemented.');
232
+ }
232
233
  applyViewOrientation(orientation, resetCamera = true) {
233
234
  const { viewPlaneNormal, viewUp } = this._getOrientationVectors(orientation);
234
235
  const camera = this.getVtkActiveCamera();
@@ -266,17 +267,8 @@ class BaseVolumeViewport extends Viewport {
266
267
  this.element.addEventListener(Events.CAMERA_MODIFIED, volumeNewImageHandlerBound);
267
268
  eventTarget.addEventListener(Events.ELEMENT_DISABLED, volumeNewImageCleanUpBound);
268
269
  }
269
- resetVolumeViewportClippingRange() {
270
- const activeCamera = this.getVtkActiveCamera();
271
- if (activeCamera.getParallelProjection()) {
272
- activeCamera.setClippingRange(-RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
273
- }
274
- else {
275
- activeCamera.setClippingRange(RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
276
- }
277
- }
278
270
  setVOILUTFunction(voiLUTFunction, volumeId, suppressEvents) {
279
- if (Object.values(VOILUTFunctionType).indexOf(voiLUTFunction) === -1) {
271
+ if (!Object.values(VOILUTFunctionType).includes(voiLUTFunction)) {
280
272
  voiLUTFunction = VOILUTFunctionType.LINEAR;
281
273
  }
282
274
  const { voiRange } = this.getProperties();
@@ -474,7 +466,7 @@ class BaseVolumeViewport extends Viewport {
474
466
  return target;
475
467
  }
476
468
  const { viewPlaneNormal } = target;
477
- const delta = viewRefSpecifier.sliceIndex - this.getSliceIndex();
469
+ const delta = viewRefSpecifier?.sliceIndex - this.getSliceIndex();
478
470
  const { sliceRangeInfo } = getVolumeViewportScrollInfo(this, volumeId, true);
479
471
  const { sliceRange, spacingInNormalDirection, camera } = sliceRangeInfo;
480
472
  const { focalPoint, position } = camera;
@@ -538,7 +530,8 @@ class BaseVolumeViewport extends Viewport {
538
530
  else if (refFrameOfReference === this.getFrameOfReferenceUID()) {
539
531
  if (refViewPlaneNormal && !isNegativeNormal && !isSameNormal) {
540
532
  this.setOrientation({ viewPlaneNormal: refViewPlaneNormal, viewUp });
541
- return this.setViewReference(viewRef);
533
+ this.setViewReference(viewRef);
534
+ return;
542
535
  }
543
536
  if (cameraFocalPoint) {
544
537
  const focalDelta = vec3.subtract([0, 0, 0], cameraFocalPoint, focalPoint);
@@ -646,15 +639,18 @@ class BaseVolumeViewport extends Viewport {
646
639
  async setVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
647
640
  const firstImageVolume = cache.getVolume(volumeInputArray[0].volumeId);
648
641
  if (!firstImageVolume) {
649
- throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
642
+ throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist, you need to create/allocate the volume first`);
650
643
  }
651
644
  const FrameOfReferenceUID = firstImageVolume.metadata.FrameOfReferenceUID;
652
- await this._isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID);
645
+ this._isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID);
653
646
  this._FrameOfReferenceUID = FrameOfReferenceUID;
647
+ volumeInputArray.forEach((volumeInput) => {
648
+ this._addVolumeId(volumeInput.volumeId);
649
+ });
654
650
  const volumeActors = [];
655
651
  for (let i = 0; i < volumeInputArray.length; i++) {
656
652
  const { volumeId, actorUID, slabThickness } = volumeInputArray[i];
657
- const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents, this.useNativeDataType);
653
+ const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents);
658
654
  const uid = actorUID || volumeId;
659
655
  volumeActors.push({
660
656
  uid,
@@ -680,11 +676,14 @@ class BaseVolumeViewport extends Viewport {
680
676
  throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
681
677
  }
682
678
  const volumeActors = [];
683
- await this._isValidVolumeInputArray(volumeInputArray, this._FrameOfReferenceUID);
679
+ this._isValidVolumeInputArray(volumeInputArray, this._FrameOfReferenceUID);
680
+ volumeInputArray.forEach((volumeInput) => {
681
+ this._addVolumeId(volumeInput.volumeId);
682
+ });
684
683
  for (let i = 0; i < volumeInputArray.length; i++) {
685
684
  const { volumeId, visibility, actorUID, slabThickness } = volumeInputArray[i];
686
- const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents, this.useNativeDataType);
687
- if (visibility === false) {
685
+ const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents);
686
+ if (!visibility) {
688
687
  actor.setVisibility(false);
689
688
  }
690
689
  const uid = actorUID || volumeId;
@@ -727,7 +726,7 @@ class BaseVolumeViewport extends Viewport {
727
726
  }
728
727
  let volumeActor;
729
728
  if (volumeId) {
730
- volumeActor = this.getActor(volumeId)?.actor;
729
+ volumeActor = this.getActor(volumeId).actor;
731
730
  }
732
731
  if (!volumeActor) {
733
732
  volumeActor = actorEntries[0].actor;
@@ -738,11 +737,7 @@ class BaseVolumeViewport extends Viewport {
738
737
  async _isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID) {
739
738
  const numVolumes = volumeInputArray.length;
740
739
  for (let i = 1; i < numVolumes; i++) {
741
- const volumeInput = volumeInputArray[i];
742
- const imageVolume = await loadVolume(volumeInput.volumeId);
743
- if (!imageVolume) {
744
- throw new Error(`imageVolume with id: ${imageVolume.volumeId} does not exist`);
745
- }
740
+ const imageVolume = cache.getVolume(volumeInputArray[i].volumeId);
746
741
  if (FrameOfReferenceUID !== imageVolume.metadata.FrameOfReferenceUID) {
747
742
  throw new Error(`Volumes being added to viewport ${this.id} do not share the same FrameOfReferenceUID. This is not yet supported`);
748
743
  }
@@ -758,10 +753,7 @@ class BaseVolumeViewport extends Viewport {
758
753
  super.flip(flipDirection);
759
754
  }
760
755
  hasVolumeId(volumeId) {
761
- const actorEntries = this.getActors();
762
- return actorEntries.some((actorEntry) => {
763
- return actorEntry.uid === volumeId;
764
- });
756
+ return this.volumeIds.has(volumeId);
765
757
  }
766
758
  getImageData(volumeId) {
767
759
  const defaultActor = this.getDefaultActor();
@@ -782,16 +774,17 @@ class BaseVolumeViewport extends Viewport {
782
774
  spacing: vtkImageData.getSpacing(),
783
775
  origin: vtkImageData.getOrigin(),
784
776
  direction: vtkImageData.getDirection(),
785
- scalarData: vtkImageData.getPointData().getScalars().isDeleted()
786
- ? null
787
- : vtkImageData.getPointData().getScalars().getData(),
788
777
  imageData: actor.getMapper().getInputData(),
789
778
  metadata: {
790
779
  Modality: volume?.metadata?.Modality,
791
780
  FrameOfReferenceUID: volume?.metadata?.FrameOfReferenceUID,
792
781
  },
782
+ get scalarData() {
783
+ return volume?.voxelManager?.getScalarData();
784
+ },
793
785
  scaling: volume?.scaling,
794
786
  hasPixelSpacing: true,
787
+ voxelManager: volume?.voxelManager,
795
788
  };
796
789
  }
797
790
  _setVolumeActors(volumeActorEntries) {
@@ -836,12 +829,8 @@ class BaseVolumeViewport extends Viewport {
836
829
  const { actor, uid } = actorEntry;
837
830
  const imageData = actor.getMapper().getInputData();
838
831
  const volume = cache.getVolume(uid);
839
- const { dimensions } = volume;
840
832
  const index = transformWorldToIndex(imageData, point);
841
- const voxelIndex = index[2] * dimensions[0] * dimensions[1] +
842
- index[1] * dimensions[0] +
843
- index[0];
844
- return volume.getScalarData()[voxelIndex];
833
+ return volume.voxelManager.getAtIJKPoint(index);
845
834
  }
846
835
  getVolumeId(specifier) {
847
836
  const actorEntries = this.getActors();
@@ -852,7 +841,7 @@ class BaseVolumeViewport extends Viewport {
852
841
  return actorEntries.find((actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume')?.uid;
853
842
  }
854
843
  return actorEntries.find((actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume' &&
855
- actorEntry.uid === specifier.volumeId)?.uid;
844
+ actorEntry.uid === specifier?.volumeId)?.uid;
856
845
  }
857
846
  getViewReferenceId(specifier = {}) {
858
847
  let { volumeId, sliceIndex: sliceIndex } = specifier;
@@ -866,8 +855,11 @@ class BaseVolumeViewport extends Viewport {
866
855
  const currentIndex = this.getSliceIndex();
867
856
  sliceIndex ??= currentIndex;
868
857
  const { viewPlaneNormal, focalPoint } = this.getCamera();
869
- const querySeparator = volumeId.indexOf('?') > -1 ? '&' : '?';
858
+ const querySeparator = volumeId.includes('?') ? '&' : '?';
870
859
  return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(',')}&focalPoint=${focalPoint.join(',')}`;
871
860
  }
861
+ _addVolumeId(volumeId) {
862
+ this.volumeIds.add(volumeId);
863
+ }
872
864
  }
873
865
  export default BaseVolumeViewport;
@@ -1,4 +1,4 @@
1
- import CanvasActor from '.';
1
+ import type CanvasActor from '.';
2
2
  export default class CanvasMapper {
3
3
  private actor;
4
4
  constructor(actor: CanvasActor);
@@ -1,4 +1,4 @@
1
- import CanvasActor from '.';
1
+ import type CanvasActor from '.';
2
2
  export default class CanvasProperties {
3
3
  private actor;
4
4
  private opacity;
@@ -75,7 +75,8 @@ export default class CanvasActor {
75
75
  const { voxelManager } = image;
76
76
  if (voxelManager) {
77
77
  if (voxelManager.map.getRun) {
78
- return this.renderRLE(viewport, context, voxelManager);
78
+ this.renderRLE(viewport, context, voxelManager);
79
+ return;
79
80
  }
80
81
  }
81
82
  let { canvas } = this;
@@ -1,5 +1,4 @@
1
1
  import type IStackViewport from '../types/IStackViewport';
2
- import type IVideoViewport from '../types/IVideoViewport';
3
2
  import type IRenderingEngine from '../types/IRenderingEngine';
4
3
  import type IVolumeViewport from '../types/IVolumeViewport';
5
4
  import type { IViewport } from '../types/IViewport';
@@ -8,7 +7,7 @@ declare class RenderingEngine implements IRenderingEngine {
8
7
  readonly id: string;
9
8
  hasBeenDestroyed: boolean;
10
9
  offscreenMultiRenderWindow: any;
11
- readonly offScreenCanvasContainer: any;
10
+ readonly offScreenCanvasContainer: HTMLDivElement;
12
11
  private _viewports;
13
12
  private _needsRender;
14
13
  private _animationFrameSet;
@@ -17,16 +16,16 @@ declare class RenderingEngine implements IRenderingEngine {
17
16
  constructor(id?: string);
18
17
  enableElement(viewportInputEntry: PublicViewportInput): void;
19
18
  disableElement(viewportId: string): void;
20
- setViewports(publicViewportInputEntries: Array<PublicViewportInput>): void;
19
+ setViewports(publicViewportInputEntries: PublicViewportInput[]): void;
21
20
  resize(immediate?: boolean, keepCamera?: boolean): void;
22
21
  getViewport(viewportId: string): IViewport;
23
- getViewports(): Array<IViewport>;
24
- getStackViewports(): Array<IStackViewport>;
25
- getVideoViewports(): Array<IVideoViewport>;
26
- getVolumeViewports(): Array<IVolumeViewport>;
22
+ getViewports(): IViewport[];
23
+ getStackViewport(viewportId: string): IStackViewport;
24
+ getStackViewports(): IStackViewport[];
25
+ getVolumeViewports(): IVolumeViewport[];
27
26
  render(): void;
28
27
  renderFrameOfReference: (FrameOfReferenceUID: string) => void;
29
- renderViewports(viewportIds: Array<string>): void;
28
+ renderViewports(viewportIds: string[]): void;
30
29
  renderViewport(viewportId: string): void;
31
30
  destroy(): void;
32
31
  fillCanvasWithBackgroundColor(canvas: HTMLCanvasElement, backgroundColor: [number, number, number]): void;
@@ -10,7 +10,6 @@ import StackViewport from './StackViewport';
10
10
  import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesCustomRenderingPipeline';
11
11
  import getOrCreateCanvas from './helpers/getOrCreateCanvas';
12
12
  import { getShouldUseCPURendering, isCornerstoneInitialized } from '../init';
13
- import VideoViewport from './VideoViewport';
14
13
  import viewportTypeToViewportClass from './helpers/viewportTypeToViewportClass';
15
14
  import { OrientationAxis } from '../enums';
16
15
  import VolumeViewport3D from './VolumeViewport3D';
@@ -27,7 +26,7 @@ class RenderingEngine {
27
26
  return vp.id;
28
27
  }
29
28
  });
30
- return this.renderViewports(viewportIdsWithSameFrameOfReferenceUID);
29
+ this.renderViewports(viewportIdsWithSameFrameOfReferenceUID);
31
30
  };
32
31
  this._renderFlaggedViewports = () => {
33
32
  this._throwIfDestroyed();
@@ -165,21 +164,21 @@ class RenderingEngine {
165
164
  this._throwIfDestroyed();
166
165
  return this._getViewportsAsArray();
167
166
  }
168
- getStackViewports() {
167
+ getStackViewport(viewportId) {
169
168
  this._throwIfDestroyed();
170
- const viewports = this.getViewports();
171
- const isStackViewport = (viewport) => {
172
- return viewport instanceof StackViewport;
173
- };
174
- return viewports.filter(isStackViewport);
169
+ const viewport = this.getViewport(viewportId);
170
+ if (!viewport) {
171
+ throw new Error(`Viewport with Id ${viewportId} does not exist`);
172
+ }
173
+ if (!(viewport instanceof StackViewport)) {
174
+ throw new Error(`Viewport with Id ${viewportId} is not a StackViewport.`);
175
+ }
176
+ return viewport;
175
177
  }
176
- getVideoViewports() {
178
+ getStackViewports() {
177
179
  this._throwIfDestroyed();
178
180
  const viewports = this.getViewports();
179
- const isVideoViewport = (viewport) => {
180
- return viewport instanceof VideoViewport;
181
- };
182
- return viewports.filter(isVideoViewport);
181
+ return viewports.filter((vp) => vp instanceof StackViewport);
183
182
  }
184
183
  getVolumeViewports() {
185
184
  this._throwIfDestroyed();
@@ -270,7 +269,7 @@ class RenderingEngine {
270
269
  vp.setCamera(prevCamera);
271
270
  }
272
271
  });
273
- if (immediate === true) {
272
+ if (immediate) {
274
273
  this.render();
275
274
  }
276
275
  }
@@ -314,7 +313,7 @@ class RenderingEngine {
314
313
  }
315
314
  }
316
315
  });
317
- if (immediate === true) {
316
+ if (immediate) {
318
317
  this.render();
319
318
  }
320
319
  }
@@ -426,7 +425,9 @@ class RenderingEngine {
426
425
  triggerEvent(eventTarget, Events.ELEMENT_ENABLED, eventDetail);
427
426
  }
428
427
  setCustomViewports(viewportInputEntries) {
429
- viewportInputEntries.forEach((vpie) => this.addCustomViewport(vpie));
428
+ viewportInputEntries.forEach((vpie) => {
429
+ this.addCustomViewport(vpie);
430
+ });
430
431
  }
431
432
  setVtkjsDrivenViewports(viewportInputEntries) {
432
433
  if (viewportInputEntries.length) {
@@ -517,7 +518,7 @@ class RenderingEngine {
517
518
  this._render();
518
519
  }
519
520
  _render() {
520
- if (this._needsRender.size > 0 && this._animationFrameSet === false) {
521
+ if (this._needsRender.size > 0 && !this._animationFrameSet) {
521
522
  this._animationFrameHandle = window.requestAnimationFrame(this._renderFlaggedViewports);
522
523
  this._animationFrameSet = true;
523
524
  }
@@ -1,12 +1,14 @@
1
1
  import type { vtkImageData as vtkImageDataType } from '@kitware/vtk.js/Common/DataModel/ImageData';
2
+ import { mat4 } from 'gl-matrix';
2
3
  import type { ActorEntry, CPUIImageData, ICamera, IImage, IImageData, IImagesLoader, IStackInput, IStackViewport, ImageLoadListener, Mat3, Point2, Point3, Scaling, StackViewportProperties, ViewReference } from '../types';
3
- import { ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewportInput } from '../types/IViewport';
4
+ import type { ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewportInput } from '../types/IViewport';
4
5
  import Viewport from './Viewport';
5
6
  import { InterpolationType, RequestType, ViewportStatus } from '../enums';
6
- import { ImagePixelModule, ImagePlaneModule } from '../types';
7
- interface ImageDataMetaData {
7
+ import type { ImagePixelModule, ImagePlaneModule } from '../types';
8
+ import type vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer';
9
+ export interface ImageDataMetaData {
8
10
  bitsAllocated: number;
9
- numComps: number;
11
+ numberOfComponents: number;
10
12
  origin: Point3;
11
13
  direction: Mat3;
12
14
  dimensions: Point3;
@@ -38,7 +40,6 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
38
40
  private _calibrationEvent;
39
41
  private _cpuFallbackEnabledElement?;
40
42
  private useCPURendering;
41
- private useNativeDataType;
42
43
  private cpuImagePixelData;
43
44
  private cpuRenderingInvalidated;
44
45
  private csImage;
@@ -61,12 +62,12 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
61
62
  resetCamera: (options?: any) => boolean;
62
63
  canvasToWorld: (canvasPos: Point2) => Point3;
63
64
  worldToCanvas: (worldPos: Point3) => Point2;
64
- getRenderer: () => any;
65
+ getRenderer: () => vtkRenderer;
65
66
  getDefaultActor: () => ActorEntry;
66
- getActors: () => Array<ActorEntry>;
67
+ getActors: () => ActorEntry[];
67
68
  getActor: (actorUID: string) => ActorEntry;
68
- setActors: (actors: Array<ActorEntry>) => void;
69
- addActors: (actors: Array<ActorEntry>) => void;
69
+ setActors: (actors: ActorEntry[]) => void;
70
+ addActors: (actors: ActorEntry[]) => void;
70
71
  addActor: (actorEntry: ActorEntry) => void;
71
72
  removeAllActors: () => void;
72
73
  private setVOI;
@@ -118,16 +119,16 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
118
119
  getImageDataMetadata(image: IImage): ImageDataMetaData;
119
120
  getImagePlaneReferenceData(sliceIndex?: number): ViewReference;
120
121
  private _getCameraOrientation;
121
- createVTKImageData({ origin, direction, dimensions, spacing, numComps, pixelArray, }: {
122
+ createVTKImageData({ origin, direction, dimensions, spacing, numberOfComponents, pixelArray, }: {
122
123
  origin: any;
123
124
  direction: any;
124
125
  dimensions: any;
125
126
  spacing: any;
126
- numComps: any;
127
+ numberOfComponents: any;
127
128
  pixelArray: any;
128
129
  }): vtkImageDataType;
129
130
  private _createVTKImageData;
130
- setStack(imageIds: Array<string>, currentImageIdIndex?: number): Promise<string>;
131
+ setStack(imageIds: string[], currentImageIdIndex?: number): Promise<string>;
131
132
  private _throwIfDestroyed;
132
133
  private _checkVTKImageDataMatchesCornerstoneImage;
133
134
  private _updateVTKImageDataFromCornerstoneImage;
@@ -136,12 +137,8 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
136
137
  successCallback(imageId: any, image: any): void;
137
138
  errorCallback(imageId: any, permanent: any, error: any): void;
138
139
  getLoaderImageOptions(imageId: string): {
139
- targetBuffer: {
140
- type: string;
141
- };
142
140
  useRGBA: boolean;
143
141
  transferSyntaxUID: any;
144
- useNativeDataType: boolean;
145
142
  priority: number;
146
143
  requestType: RequestType;
147
144
  additionalDetails: {
@@ -154,7 +151,15 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
154
151
  renderImageObject: (image: any) => void;
155
152
  private _setCSImage;
156
153
  private _updateToDisplayImageCPU;
157
- addImages(stackInputs: Array<IStackInput>): void;
154
+ getSliceViewInfo(): {
155
+ width: number;
156
+ height: number;
157
+ sliceIndex: number;
158
+ slicePlane: number;
159
+ sliceToIndexMatrix: mat4;
160
+ indexToSliceMatrix: mat4;
161
+ };
162
+ addImages(stackInputs: IStackInput[]): void;
158
163
  private _updateActorToDisplayImageId;
159
164
  private _getInitialVOIRange;
160
165
  private _getPTPreScaledRange;
@@ -178,12 +183,18 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
178
183
  private _getValidVOILUTFunction;
179
184
  getCurrentImageIdIndex: () => number;
180
185
  getSliceIndex: () => number;
186
+ getSliceInfo(): {
187
+ sliceIndex: number;
188
+ slicePlane: number;
189
+ width: number;
190
+ height: number;
191
+ };
181
192
  isReferenceViewable(viewRef: ViewReference, options?: ReferenceCompatibleOptions): boolean | unknown;
182
193
  getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference;
183
194
  setViewReference(viewRef: ViewReference): void;
184
195
  getViewReferenceId(specifier?: ViewReferenceSpecifier): string;
185
196
  getTargetImageIdIndex: () => number;
186
- getImageIds: () => Array<string>;
197
+ getImageIds: () => string[];
187
198
  getCurrentImageId: () => string;
188
199
  hasImageId: (imageId: string) => boolean;
189
200
  hasImageURI: (imageURI: string) => boolean;