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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +23 -13
  2. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +52 -50
  3. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.d.ts +1 -1
  4. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.d.ts +1 -1
  5. package/dist/esm/RenderingEngine/CanvasActor/index.js +2 -1
  6. package/dist/esm/RenderingEngine/RenderingEngine.d.ts +8 -10
  7. package/dist/esm/RenderingEngine/RenderingEngine.js +20 -18
  8. package/dist/esm/RenderingEngine/StackViewport.d.ts +28 -19
  9. package/dist/esm/RenderingEngine/StackViewport.js +81 -58
  10. package/dist/esm/RenderingEngine/VideoViewport.d.ts +19 -28
  11. package/dist/esm/RenderingEngine/VideoViewport.js +61 -24
  12. package/dist/esm/RenderingEngine/Viewport.d.ts +25 -14
  13. package/dist/esm/RenderingEngine/Viewport.js +24 -15
  14. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +21 -9
  15. package/dist/esm/RenderingEngine/VolumeViewport.js +95 -10
  16. package/dist/esm/RenderingEngine/VolumeViewport3D.d.ts +3 -3
  17. package/dist/esm/RenderingEngine/VolumeViewport3D.js +10 -3
  18. package/dist/esm/RenderingEngine/WSIViewport.d.ts +58 -0
  19. package/dist/esm/RenderingEngine/WSIViewport.js +414 -0
  20. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.d.ts +1 -1
  21. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +3 -3
  22. package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.d.ts +1 -1
  23. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +1 -1
  24. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.js +1 -1
  25. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts +2 -2
  26. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.js +15 -5
  27. package/dist/esm/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts +1 -1
  28. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts +1 -1
  29. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts +1 -1
  30. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +3 -3
  31. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts +1 -1
  32. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts +1 -1
  33. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts +1 -1
  34. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts +1 -1
  35. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.js +1 -1
  36. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts +1 -1
  37. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +2 -2
  38. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts +1 -1
  39. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts +1 -1
  40. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts +1 -1
  41. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts +1 -1
  42. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.js +1 -1
  43. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts +1 -1
  44. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts +1 -1
  45. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts +2 -1
  46. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.js +1 -1
  47. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts +1 -1
  48. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts +1 -1
  49. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +3 -4
  50. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts +1 -1
  51. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +2 -3
  52. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +3 -3
  53. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -1
  54. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts +1 -1
  55. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts +1 -1
  56. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts +1 -1
  57. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts +1 -1
  58. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts +1 -1
  59. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.js +1 -1
  60. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts +1 -1
  61. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.js +1 -1
  62. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.js +1 -1
  63. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts +1 -1
  64. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.js +1 -1
  65. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.js +1 -1
  66. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.js +1 -1
  67. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts +1 -1
  68. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.js +1 -1
  69. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts +1 -1
  70. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.js +1 -1
  71. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts +1 -1
  72. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts +2 -2
  73. package/dist/esm/RenderingEngine/helpers/createVolumeActor.d.ts +3 -3
  74. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +4 -7
  75. package/dist/esm/RenderingEngine/helpers/createVolumeMapper.d.ts +4 -1
  76. package/dist/esm/RenderingEngine/helpers/getOrCreateCanvas.js +5 -4
  77. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +2 -2
  78. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +13 -37
  79. package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.d.ts +1 -1
  80. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
  81. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
  82. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +1 -1
  83. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +4 -4
  84. package/dist/esm/RenderingEngine/renderingEngineCache.d.ts +1 -1
  85. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +4 -2
  86. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +87 -78
  87. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +1 -1
  88. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +83 -42
  89. package/dist/esm/Settings.d.ts +1 -1
  90. package/dist/esm/cache/cache.d.ts +15 -19
  91. package/dist/esm/cache/cache.js +112 -57
  92. package/dist/esm/cache/classes/Contour.d.ts +4 -4
  93. package/dist/esm/cache/classes/ContourSet.d.ts +3 -3
  94. package/dist/esm/cache/classes/ImageVolume.d.ts +19 -19
  95. package/dist/esm/cache/classes/ImageVolume.js +49 -254
  96. package/dist/esm/cache/classes/Surface.d.ts +3 -3
  97. package/dist/esm/cache/index.d.ts +1 -2
  98. package/dist/esm/cache/index.js +1 -2
  99. package/dist/esm/constants/cpuColormaps.d.ts +1 -1
  100. package/dist/esm/constants/viewportPresets.d.ts +1 -1
  101. package/dist/esm/enums/GenerateImageType.d.ts +5 -0
  102. package/dist/esm/enums/GenerateImageType.js +6 -0
  103. package/dist/esm/enums/MetadataModules.d.ts +2 -1
  104. package/dist/esm/enums/MetadataModules.js +1 -0
  105. package/dist/esm/enums/ViewportType.d.ts +2 -1
  106. package/dist/esm/enums/ViewportType.js +1 -0
  107. package/dist/esm/enums/index.d.ts +2 -2
  108. package/dist/esm/enums/index.js +2 -2
  109. package/dist/esm/eventTarget.js +2 -3
  110. package/dist/esm/getEnabledElement.d.ts +1 -1
  111. package/dist/esm/global.d.ts +0 -1
  112. package/dist/esm/index.d.ts +9 -5
  113. package/dist/esm/index.js +8 -4
  114. package/dist/esm/init.d.ts +5 -8
  115. package/dist/esm/init.js +22 -83
  116. package/dist/esm/loaders/ProgressiveRetrieveImages.d.ts +5 -5
  117. package/dist/esm/loaders/ProgressiveRetrieveImages.js +7 -3
  118. package/dist/esm/loaders/configuration/interleavedRetrieve.d.ts +1 -1
  119. package/dist/esm/loaders/fillNearbyFrames.d.ts +2 -2
  120. package/dist/esm/loaders/geometryLoader.d.ts +3 -3
  121. package/dist/esm/loaders/geometryLoader.js +1 -1
  122. package/dist/esm/loaders/imageLoader.d.ts +12 -17
  123. package/dist/esm/loaders/imageLoader.js +179 -96
  124. package/dist/esm/loaders/utils/contourSet/createContourSet.d.ts +1 -1
  125. package/dist/esm/loaders/utils/contourSet/validateContourSet.d.ts +1 -1
  126. package/dist/esm/loaders/utils/surface/createSurface.d.ts +1 -1
  127. package/dist/esm/loaders/utils/surface/validateSurface.d.ts +1 -1
  128. package/dist/esm/loaders/volumeLoader.d.ts +15 -22
  129. package/dist/esm/loaders/volumeLoader.js +88 -207
  130. package/dist/esm/metaData.d.ts +2 -4
  131. package/dist/esm/requestPool/requestPoolManager.d.ts +7 -9
  132. package/dist/esm/requestPool/requestPoolManager.js +1 -1
  133. package/dist/esm/types/AABB2.d.ts +2 -2
  134. package/dist/esm/types/AABB3.d.ts +2 -2
  135. package/dist/esm/types/ActorSliceRange.d.ts +5 -5
  136. package/dist/esm/types/BoundsIJK.d.ts +1 -1
  137. package/dist/esm/types/BoundsLPS.d.ts +1 -1
  138. package/dist/esm/types/CPUFallbackColormap.d.ts +3 -3
  139. package/dist/esm/types/CPUFallbackColormapData.d.ts +4 -4
  140. package/dist/esm/types/CPUFallbackColormapsData.d.ts +3 -5
  141. package/dist/esm/types/CPUFallbackEnabledElement.d.ts +2 -37
  142. package/dist/esm/types/CPUFallbackLUT.d.ts +4 -3
  143. package/dist/esm/types/CPUFallbackLookupTable.d.ts +2 -2
  144. package/dist/esm/types/CPUFallbackRenderingTools.d.ts +5 -5
  145. package/dist/esm/types/CPUFallbackTransform.d.ts +3 -3
  146. package/dist/esm/types/CPUFallbackViewport.d.ts +6 -6
  147. package/dist/esm/types/CPUFallbackViewportDisplayedArea.d.ts +3 -3
  148. package/dist/esm/types/CPUIImageData.d.ts +17 -9
  149. package/dist/esm/types/Color.d.ts +1 -1
  150. package/dist/esm/types/Colormap.d.ts +7 -7
  151. package/dist/esm/types/ContourData.d.ts +6 -6
  152. package/dist/esm/types/Cornerstone3DConfig.d.ts +7 -7
  153. package/dist/esm/types/CustomEventType.d.ts +2 -2
  154. package/dist/esm/types/EventTypes.d.ts +55 -55
  155. package/dist/esm/types/FlipDirection.d.ts +3 -3
  156. package/dist/esm/types/IActor.d.ts +3 -3
  157. package/dist/esm/types/ICache.d.ts +4 -4
  158. package/dist/esm/types/ICachedGeometry.d.ts +3 -3
  159. package/dist/esm/types/ICachedImage.d.ts +3 -2
  160. package/dist/esm/types/ICachedVolume.d.ts +3 -2
  161. package/dist/esm/types/ICamera.d.ts +3 -3
  162. package/dist/esm/types/IContour.d.ts +4 -3
  163. package/dist/esm/types/IContourSet.d.ts +5 -2
  164. package/dist/esm/types/IDynamicImageVolume.d.ts +3 -3
  165. package/dist/esm/types/IEnabledElement.d.ts +2 -2
  166. package/dist/esm/types/IGeometry.d.ts +4 -4
  167. package/dist/esm/types/IImage.d.ts +48 -11
  168. package/dist/esm/types/IImageCalibration.d.ts +2 -2
  169. package/dist/esm/types/IImageData.d.ts +11 -4
  170. package/dist/esm/types/IImageFrame.d.ts +42 -0
  171. package/dist/esm/types/IImageFrame.js +1 -0
  172. package/dist/esm/types/IImageVolume.d.ts +17 -14
  173. package/dist/esm/types/ILoadObject.d.ts +3 -3
  174. package/dist/esm/types/IPointsManager.d.ts +23 -0
  175. package/dist/esm/types/IPointsManager.js +1 -0
  176. package/dist/esm/types/IRLEVoxelMap.d.ts +16 -0
  177. package/dist/esm/types/IRLEVoxelMap.js +1 -0
  178. package/dist/esm/types/IRegisterImageLoader.d.ts +2 -2
  179. package/dist/esm/types/IRenderingEngine.d.ts +11 -12
  180. package/dist/esm/types/IRetrieveConfiguration.d.ts +6 -6
  181. package/dist/esm/types/IStackInput.d.ts +1 -1
  182. package/dist/esm/types/IStackViewport.d.ts +69 -2
  183. package/dist/esm/types/IStreamingImageVolume.d.ts +3 -4
  184. package/dist/esm/types/IStreamingVolumeProperties.d.ts +5 -5
  185. package/dist/esm/types/ISurface.d.ts +1 -1
  186. package/dist/esm/types/ITransferFunctionNode.d.ts +9 -0
  187. package/dist/esm/types/ITransferFunctionNode.js +1 -0
  188. package/dist/esm/types/IVideoViewport.d.ts +40 -2
  189. package/dist/esm/types/IViewport.d.ts +62 -41
  190. package/dist/esm/types/IVolume.d.ts +2 -2
  191. package/dist/esm/types/IVolumeInput.d.ts +2 -2
  192. package/dist/esm/types/IVolumeViewport.d.ts +17 -16
  193. package/dist/esm/types/IVoxelManager.d.ts +54 -0
  194. package/dist/esm/types/IVoxelManager.js +1 -0
  195. package/dist/esm/types/IWSIViewport.d.ts +16 -0
  196. package/dist/esm/types/IWSIViewport.js +1 -0
  197. package/dist/esm/types/ImageLoadListener.d.ts +2 -2
  198. package/dist/esm/types/ImageLoaderFn.d.ts +3 -3
  199. package/dist/esm/types/ImagePixelModule.d.ts +1 -1
  200. package/dist/esm/types/ImagePlaneModule.d.ts +2 -2
  201. package/dist/esm/types/ImageSliceData.d.ts +3 -3
  202. package/dist/esm/types/ImageVolumeProps.d.ts +4 -4
  203. package/dist/esm/types/Mat3.d.ts +1 -1
  204. package/dist/esm/types/Metadata.d.ts +6 -6
  205. package/dist/esm/types/MetadataModuleTypes.d.ts +65 -0
  206. package/dist/esm/types/MetadataModuleTypes.js +1 -0
  207. package/dist/esm/types/OrientationVectors.d.ts +4 -4
  208. package/dist/esm/types/Plane.d.ts +1 -1
  209. package/dist/esm/types/Point2.d.ts +1 -1
  210. package/dist/esm/types/Point3.d.ts +3 -3
  211. package/dist/esm/types/Point4.d.ts +1 -1
  212. package/dist/esm/types/RGB.d.ts +1 -1
  213. package/dist/esm/types/ScalingParameters.d.ts +7 -7
  214. package/dist/esm/types/StackViewportProperties.d.ts +3 -3
  215. package/dist/esm/types/SurfaceData.d.ts +5 -5
  216. package/dist/esm/types/TransformMatrix2D.d.ts +1 -1
  217. package/dist/esm/types/VideoViewportProperties.d.ts +3 -3
  218. package/dist/esm/types/VideoViewportTypes.d.ts +7 -7
  219. package/dist/esm/types/ViewportInputOptions.d.ts +7 -7
  220. package/dist/esm/types/ViewportPreset.d.ts +1 -1
  221. package/dist/esm/types/ViewportProperties.d.ts +5 -5
  222. package/dist/esm/types/VolumeLoaderFn.d.ts +4 -3
  223. package/dist/esm/types/VolumeProps.d.ts +10 -5
  224. package/dist/esm/types/VolumeViewportProperties.d.ts +3 -3
  225. package/dist/esm/types/WSIViewportProperties.d.ts +3 -0
  226. package/dist/esm/types/WSIViewportProperties.js +1 -0
  227. package/dist/esm/types/WSIViewportTypes.d.ts +13 -0
  228. package/dist/esm/types/WSIViewportTypes.js +1 -0
  229. package/dist/esm/types/displayArea.d.ts +4 -4
  230. package/dist/esm/types/index.d.ts +16 -8
  231. package/dist/esm/types/voi.d.ts +4 -4
  232. package/dist/esm/utilities/PointsManager.d.ts +8 -10
  233. package/dist/esm/utilities/ProgressiveIterator.d.ts +1 -1
  234. package/dist/esm/utilities/ProgressiveIterator.js +3 -1
  235. package/dist/esm/utilities/RLEVoxelMap.d.ts +3 -8
  236. package/dist/esm/utilities/RLEVoxelMap.js +19 -19
  237. package/dist/esm/utilities/VoxelManager.d.ts +82 -20
  238. package/dist/esm/utilities/VoxelManager.js +466 -60
  239. package/dist/esm/utilities/actorCheck.d.ts +1 -1
  240. package/dist/esm/utilities/applyPreset.d.ts +2 -2
  241. package/dist/esm/utilities/calculateViewportsSpatialRegistration.d.ts +1 -1
  242. package/dist/esm/utilities/calculateViewportsSpatialRegistration.js +5 -5
  243. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +1 -1
  244. package/dist/esm/utilities/colormap.d.ts +1 -1
  245. package/dist/esm/utilities/convertStackToVolumeViewport.d.ts +2 -2
  246. package/dist/esm/utilities/convertStackToVolumeViewport.js +4 -4
  247. package/dist/esm/utilities/convertVolumeToStackViewport.d.ts +1 -1
  248. package/dist/esm/utilities/convertVolumeToStackViewport.js +3 -2
  249. package/dist/esm/utilities/createLinearRGBTransferFunction.d.ts +1 -1
  250. package/dist/esm/utilities/createLinearRGBTransferFunction.js +1 -3
  251. package/dist/esm/utilities/createSigmoidRGBTransferFunction.d.ts +2 -3
  252. package/dist/esm/utilities/createSigmoidRGBTransferFunction.js +8 -7
  253. package/dist/esm/utilities/decimate.d.ts +1 -1
  254. package/dist/esm/utilities/eventListener/TargetEventListeners.js +5 -3
  255. package/dist/esm/utilities/generateVolumePropsFromImageIds.d.ts +1 -1
  256. package/dist/esm/utilities/generateVolumePropsFromImageIds.js +33 -80
  257. package/dist/esm/utilities/genericMetadataProvider.d.ts +9 -2
  258. package/dist/esm/utilities/genericMetadataProvider.js +7 -1
  259. package/dist/esm/utilities/getBufferConfiguration.d.ts +2 -3
  260. package/dist/esm/utilities/getBufferConfiguration.js +5 -15
  261. package/dist/esm/utilities/getClosestImageId.js +1 -1
  262. package/dist/esm/utilities/getClosestStackImageIndexForPoint.d.ts +1 -1
  263. package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +2 -2
  264. package/dist/esm/utilities/getCurrentVolumeViewportSlice.d.ts +4 -5
  265. package/dist/esm/utilities/getCurrentVolumeViewportSlice.js +8 -58
  266. package/dist/esm/utilities/getImageLegacy.d.ts +1 -1
  267. package/dist/esm/utilities/getImageLegacy.js +1 -1
  268. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +1 -1
  269. package/dist/esm/utilities/getMinMax.d.ts +2 -1
  270. package/dist/esm/utilities/getScalingParameters.d.ts +1 -1
  271. package/dist/esm/utilities/getScalingParameters.js +4 -4
  272. package/dist/esm/utilities/getSpacingInNormalDirection.d.ts +2 -2
  273. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
  274. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +2 -2
  275. package/dist/esm/utilities/getViewportImageCornersInWorld.d.ts +1 -1
  276. package/dist/esm/utilities/getViewportImageIds.d.ts +1 -1
  277. package/dist/esm/utilities/getViewportImageIds.js +1 -1
  278. package/dist/esm/utilities/getViewportModality.d.ts +7 -3
  279. package/dist/esm/utilities/getViewportModality.js +9 -6
  280. package/dist/esm/utilities/getViewportsWithImageURI.d.ts +2 -2
  281. package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +2 -2
  282. package/dist/esm/utilities/getViewportsWithVolumeId.js +3 -7
  283. package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +1 -1
  284. package/dist/esm/utilities/getVolumeActorCorners.d.ts +2 -2
  285. package/dist/esm/utilities/getVolumeId.js +2 -2
  286. package/dist/esm/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
  287. package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
  288. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.d.ts +2 -2
  289. package/dist/esm/utilities/hasFloatScalingParameters.d.ts +1 -1
  290. package/dist/esm/utilities/imageRetrieveMetadataProvider.d.ts +1 -1
  291. package/dist/esm/utilities/imageToWorldCoords.d.ts +1 -1
  292. package/dist/esm/utilities/imageToWorldCoords.js +2 -2
  293. package/dist/esm/utilities/index.d.ts +3 -8
  294. package/dist/esm/utilities/index.js +4 -8
  295. package/dist/esm/utilities/indexWithinDimensions.d.ts +1 -1
  296. package/dist/esm/utilities/invertRgbTransferFunction.d.ts +2 -1
  297. package/dist/esm/utilities/isEqual.js +6 -1
  298. package/dist/esm/utilities/isPTPrescaledWithSUV.d.ts +1 -1
  299. package/dist/esm/utilities/isPTPrescaledWithSUV.js +1 -1
  300. package/dist/esm/utilities/isValidVolume.js +1 -1
  301. package/dist/esm/utilities/loadImageToCanvas.d.ts +6 -6
  302. package/dist/esm/utilities/loadImageToCanvas.js +1 -1
  303. package/dist/esm/utilities/makeVolumeMetadata.d.ts +2 -2
  304. package/dist/esm/utilities/makeVolumeMetadata.js +5 -5
  305. package/dist/esm/utilities/planar.d.ts +2 -2
  306. package/dist/esm/utilities/renderToCanvasCPU.d.ts +1 -1
  307. package/dist/esm/utilities/renderToCanvasGPU.d.ts +2 -2
  308. package/dist/esm/utilities/renderToCanvasGPU.js +1 -1
  309. package/dist/esm/utilities/scaleRgbTransferFunction.d.ts +2 -1
  310. package/dist/esm/utilities/snapFocalPointToSlice.d.ts +1 -1
  311. package/dist/esm/utilities/sortImageIdsAndGetSpacing.d.ts +5 -5
  312. package/dist/esm/utilities/sortImageIdsAndGetSpacing.js +2 -1
  313. package/dist/esm/utilities/transformCanvasToIJK.d.ts +2 -2
  314. package/dist/esm/utilities/transformIJKToCanvas.d.ts +1 -1
  315. package/dist/esm/utilities/triggerEvent.js +1 -1
  316. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.d.ts +2 -2
  317. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +1 -1
  318. package/dist/esm/utilities/uuidv4.js +3 -1
  319. package/dist/esm/utilities/worldToImageCoords.d.ts +1 -1
  320. package/dist/esm/utilities/worldToImageCoords.js +2 -2
  321. package/dist/umd/index.js +1 -1
  322. package/dist/umd/index.js.map +1 -1
  323. package/package.json +6 -6
  324. package/dist/esm/cache/utils/restoreImagesFromBuffer.d.ts +0 -2
  325. package/dist/esm/cache/utils/restoreImagesFromBuffer.js +0 -28
  326. package/dist/esm/enums/SharedArrayBufferModes.d.ts +0 -6
  327. package/dist/esm/enums/SharedArrayBufferModes.js +0 -7
  328. package/dist/esm/utilities/cacheUtils.d.ts +0 -2
  329. package/dist/esm/utilities/cacheUtils.js +0 -86
  330. package/dist/esm/utilities/createFloat32SharedArray.d.ts +0 -2
  331. package/dist/esm/utilities/createFloat32SharedArray.js +0 -27
  332. package/dist/esm/utilities/createInt16SharedArray.d.ts +0 -2
  333. package/dist/esm/utilities/createInt16SharedArray.js +0 -11
  334. package/dist/esm/utilities/createUInt16SharedArray.d.ts +0 -2
  335. package/dist/esm/utilities/createUInt16SharedArray.js +0 -11
  336. package/dist/esm/utilities/createUint8SharedArray.d.ts +0 -2
  337. package/dist/esm/utilities/createUint8SharedArray.js +0 -12
  338. package/dist/esm/utilities/getScalarDataType.d.ts +0 -2
  339. package/dist/esm/utilities/getScalarDataType.js +0 -19
  340. package/dist/esm/utilities/isTypedArray.d.ts +0 -1
  341. package/dist/esm/utilities/isTypedArray.js +0 -11
@@ -2,11 +2,11 @@ import { vec3 } from 'gl-matrix';
2
2
  import { Events as EVENTS, VideoEnums as VideoViewportEnum, MetadataModules, } from '../enums';
3
3
  import * as metaData from '../metaData';
4
4
  import { Transform } from './helpers/cpuFallback/rendering/transform';
5
- import { triggerEvent } from '../utilities';
5
+ import triggerEvent from '../utilities/triggerEvent';
6
6
  import Viewport from './Viewport';
7
7
  import { getOrCreateCanvas } from './helpers';
8
8
  import CanvasActor from './CanvasActor';
9
- import cache from '../cache';
9
+ import cache from '../cache/cache';
10
10
  class VideoViewport extends Viewport {
11
11
  static { this.frameRangeExtractor = /(\/frames\/|[&?]frameNumber=)([^/&?]*)/i; }
12
12
  constructor(props) {
@@ -23,7 +23,6 @@ class VideoViewport extends Viewport {
23
23
  this.playbackRate = 1;
24
24
  this.frameRange = [0, 0];
25
25
  this.fps = 30;
26
- this.numberOfFrames = 0;
27
26
  this.videoCamera = {
28
27
  panWorld: [0, 0],
29
28
  parallelScale: 1,
@@ -41,16 +40,21 @@ class VideoViewport extends Viewport {
41
40
  voiRange: { ...this.voiRange },
42
41
  };
43
42
  };
43
+ this.getMiddleSliceData = () => {
44
+ throw new Error('Method not implemented.');
45
+ };
46
+ this.useCustomRenderingPipeline = true;
44
47
  this.resetCamera = () => {
45
48
  this.refreshRenderValues();
46
49
  this.canvasContext.fillRect(0, 0, this.canvas.width, this.canvas.height);
47
- if (this.isPlaying === false) {
50
+ if (!this.isPlaying) {
48
51
  this.renderFrame();
49
52
  }
50
53
  return true;
51
54
  };
52
55
  this.getNumberOfSlices = () => {
53
- return Math.round((this.videoElement.duration * this.fps) / this.scrollSpeed);
56
+ const computedSlices = Math.round((this.videoElement.duration * this.fps) / this.scrollSpeed);
57
+ return isNaN(computedSlices) ? this.numberOfFrames : computedSlices;
54
58
  };
55
59
  this.getFrameOfReferenceUID = () => {
56
60
  return this.videoElement.src;
@@ -63,7 +67,7 @@ class VideoViewport extends Viewport {
63
67
  canvas.height = clientHeight;
64
68
  }
65
69
  this.refreshRenderValues();
66
- if (this.isPlaying === false) {
70
+ if (!this.isPlaying) {
67
71
  this.renderFrame();
68
72
  }
69
73
  };
@@ -98,7 +102,9 @@ class VideoViewport extends Viewport {
98
102
  };
99
103
  this.indexToCanvas = (indexPos) => {
100
104
  const transform = this.getTransform();
101
- return (transform.transformPoint(indexPos).map((it) => it / devicePixelRatio));
105
+ return transform
106
+ .transformPoint(indexPos)
107
+ .map((it) => it / devicePixelRatio);
102
108
  };
103
109
  this.customRenderViewportToCanvas = () => {
104
110
  this.renderFrame();
@@ -109,7 +115,7 @@ class VideoViewport extends Viewport {
109
115
  const ctx = this.canvasContext;
110
116
  ctx.resetTransform();
111
117
  ctx.transform(transformationMatrix[0], transformationMatrix[1], transformationMatrix[2], transformationMatrix[3], transformationMatrix[4], transformationMatrix[5]);
112
- ctx.drawImage(this.videoElement, 0, 0, this.videoWidth, this.videoHeight);
118
+ ctx.drawImage(this.videoElement, 0, 0, this.videoWidth || 1024, this.videoHeight || 1024);
113
119
  for (const actor of this.getActors()) {
114
120
  actor.actor.render(this, this.canvasContext);
115
121
  }
@@ -126,11 +132,13 @@ class VideoViewport extends Viewport {
126
132
  element: this.element,
127
133
  viewportId: this.id,
128
134
  viewport: this,
135
+ imageIndex: this.getCurrentImageIdIndex(),
136
+ numberOfSlices: this.numberOfFrames,
129
137
  renderingEngineId: this.renderingEngineId,
130
138
  time: this.videoElement.currentTime,
131
139
  duration: this.videoElement.duration,
132
140
  });
133
- this.initialRender?.();
141
+ this.initialRender();
134
142
  const frame = this.getFrameNumber();
135
143
  if (this.isPlaying) {
136
144
  if (frame < this.frameRange[0]) {
@@ -204,7 +212,7 @@ class VideoViewport extends Viewport {
204
212
  this.hasPixelSpacing = !!imagePlaneModule.columnPixelSpacing;
205
213
  return {
206
214
  bitsAllocated: 8,
207
- numComps: 3,
215
+ numberOfComponents: 3,
208
216
  origin,
209
217
  rows,
210
218
  columns,
@@ -216,15 +224,23 @@ class VideoViewport extends Viewport {
216
224
  imagePlaneModule,
217
225
  };
218
226
  }
227
+ setDataIds(imageIds, options) {
228
+ this.setVideo(imageIds[0], (options.viewReference.sliceIndex || 0) + 1);
229
+ }
219
230
  setVideo(imageId, frameNumber) {
220
231
  this.imageId = Array.isArray(imageId) ? imageId[0] : imageId;
221
- const { rendered } = metaData.get(MetadataModules.IMAGE_URL, imageId);
232
+ const imageUrlModule = metaData.get(MetadataModules.IMAGE_URL, imageId);
233
+ if (!imageUrlModule?.rendered) {
234
+ throw new Error(`Video Image ID ${imageId} does not have a rendered video view`);
235
+ }
236
+ const { rendered } = imageUrlModule;
222
237
  const generalSeries = metaData.get(MetadataModules.GENERAL_SERIES, imageId);
223
238
  this.modality = generalSeries?.Modality;
224
239
  this.metadata = this.getImageDataMetadata(imageId);
240
+ let { cineRate, numberOfFrames } = metaData.get(MetadataModules.CINE, imageId);
241
+ this.numberOfFrames = numberOfFrames;
225
242
  return this.setVideoURL(rendered).then(() => {
226
- let { cineRate, numberOfFrames } = metaData.get(MetadataModules.CINE, imageId);
227
- if (!numberOfFrames) {
243
+ if (!numberOfFrames || numberOfFrames === 1) {
228
244
  numberOfFrames = Math.round(this.videoElement.duration * (cineRate || 30));
229
245
  }
230
246
  if (!cineRate) {
@@ -281,18 +297,18 @@ class VideoViewport extends Viewport {
281
297
  async play() {
282
298
  try {
283
299
  if (!this.isPlaying) {
284
- await this.videoElement.play();
285
300
  this.isPlaying = true;
301
+ await this.videoElement.play();
286
302
  this.renderWhilstPlaying();
287
303
  }
288
304
  }
289
305
  catch (e) {
290
306
  }
291
307
  }
292
- async pause() {
308
+ pause() {
293
309
  try {
294
- await this.videoElement.pause();
295
310
  this.isPlaying = false;
311
+ this.videoElement.pause();
296
312
  }
297
313
  catch (e) {
298
314
  }
@@ -346,6 +362,9 @@ class VideoViewport extends Viewport {
346
362
  videoElement.addEventListener('seeked', seekEventListener);
347
363
  }
348
364
  }
365
+ getSliceViewInfo() {
366
+ throw new Error('Method not implemented.');
367
+ }
349
368
  async setFrameNumber(frame) {
350
369
  this.setTime((frame - 1) / this.fps);
351
370
  }
@@ -404,7 +423,7 @@ class VideoViewport extends Viewport {
404
423
  });
405
424
  }
406
425
  getScalarData() {
407
- if (this.scalarData?.frameNumber === this.getFrameNumber()) {
426
+ if (this.scalarData.frameNumber === this.getFrameNumber()) {
408
427
  return this.scalarData;
409
428
  }
410
429
  const canvas = document.createElement('canvas');
@@ -427,8 +446,12 @@ class VideoViewport extends Viewport {
427
446
  spacing,
428
447
  origin: metadata.origin,
429
448
  direction: metadata.direction,
430
- metadata: { Modality: this.modality },
449
+ metadata: {
450
+ Modality: this.modality,
451
+ FrameOfReferenceUID: metadata.FrameOfReferenceUID,
452
+ },
431
453
  getScalarData: () => this.getScalarData(),
454
+ scalarData: this.getScalarData(),
432
455
  imageData: {
433
456
  getDirection: () => metadata.direction,
434
457
  getDimensions: () => metadata.dimensions,
@@ -462,7 +485,7 @@ class VideoViewport extends Viewport {
462
485
  const testURI = framesMatch
463
486
  ? imageURI.substring(0, framesMatch.index)
464
487
  : imageURI;
465
- return this.imageId.indexOf(testURI) !== -1;
488
+ return this.imageId.includes(testURI);
466
489
  }
467
490
  setVOI(voiRange) {
468
491
  this.voiRange = voiRange;
@@ -527,7 +550,7 @@ class VideoViewport extends Viewport {
527
550
  }
528
551
  this.canvasContext.fillStyle = 'rgba(0,0,0,1)';
529
552
  this.canvasContext.fillRect(0, 0, this.canvas.width, this.canvas.height);
530
- if (this.isPlaying === false) {
553
+ if (!this.isPlaying) {
531
554
  this.renderFrame();
532
555
  }
533
556
  }
@@ -573,15 +596,23 @@ class VideoViewport extends Viewport {
573
596
  return false;
574
597
  }
575
598
  const match = referencedImageId.match(VideoViewport.frameRangeExtractor);
576
- if (!match || !match[2]) {
599
+ if (!match[2]) {
577
600
  return true;
578
601
  }
579
602
  const range = match[2].split('-').map((it) => Number(it));
580
603
  const frame = currentIndex + 1;
581
604
  return range[0] <= frame && frame <= (range[1] ?? range[0]);
582
605
  }
606
+ setViewReference(viewRef) {
607
+ if (typeof viewRef.sliceIndex === 'number') {
608
+ this.setFrameNumber(viewRef.sliceIndex + 1);
609
+ }
610
+ else if (Array.isArray(viewRef.sliceIndex)) {
611
+ this.setFrameRange(viewRef.sliceIndex);
612
+ }
613
+ }
583
614
  getViewReference(viewRefSpecifier) {
584
- let sliceIndex = viewRefSpecifier?.sliceIndex;
615
+ let sliceIndex = viewRefSpecifier.sliceIndex;
585
616
  if (!sliceIndex) {
586
617
  sliceIndex = this.isPlaying
587
618
  ? [this.frameRange[0] - 1, this.frameRange[1] - 1]
@@ -600,7 +631,7 @@ class VideoViewport extends Viewport {
600
631
  return Math.round(this.videoElement.currentTime * this.fps);
601
632
  }
602
633
  getSliceIndex() {
603
- return this.getCurrentImageIdIndex();
634
+ return this.getCurrentImageIdIndex() / this.scrollSpeed;
604
635
  }
605
636
  getCamera() {
606
637
  const { parallelScale } = this.videoCamera;
@@ -618,6 +649,9 @@ class VideoViewport extends Viewport {
618
649
  viewPlaneNormal: [0, 0, 1],
619
650
  };
620
651
  }
652
+ getFrameRate() {
653
+ return this.fps;
654
+ }
621
655
  getPan() {
622
656
  const panWorld = this.videoCamera.panWorld;
623
657
  return [panWorld[0], panWorld[1]];
@@ -673,7 +707,10 @@ class VideoViewport extends Viewport {
673
707
  if (imageActor) {
674
708
  actors.push({ uid: stackInput.actorUID, actor: imageActor });
675
709
  if (stackInput.callback) {
676
- stackInput.callback({ imageActor, imageId: stackInput.imageId });
710
+ stackInput.callback({
711
+ imageActor: imageActor,
712
+ imageId: stackInput.imageId,
713
+ });
677
714
  }
678
715
  }
679
716
  });
@@ -1,12 +1,14 @@
1
1
  import type { vtkCamera } from '@kitware/vtk.js/Rendering/Core/Camera';
2
2
  import vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane';
3
+ import type { mat4 } from 'gl-matrix';
3
4
  import ViewportStatus from '../enums/ViewportStatus';
4
5
  import ViewportType from '../enums/ViewportType';
5
6
  import type { ICamera, ActorEntry, IRenderingEngine, ViewportInputOptions, Point2, Point3, FlipDirection, DisplayArea, ViewPresentation, ViewReference, ViewportProperties } from '../types';
6
- import type { ViewportInput, IViewport, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewPresentationSelector } from '../types/IViewport';
7
+ import type { ViewportInput, IViewport, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewPresentationSelector, DataSetOptions } from '../types/IViewport';
7
8
  import type { vtkSlabCamera } from './vtkClasses/vtkSlabCamera';
8
- import IImageCalibration from '../types/IImageCalibration';
9
+ import type IImageCalibration from '../types/IImageCalibration';
9
10
  import { InterpolationType } from '../enums';
11
+ import type vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer';
10
12
  declare class Viewport implements IViewport {
11
13
  static readonly CameraViewPresentation: ViewPresentationSelector;
12
14
  static readonly TransferViewPresentation: ViewPresentationSelector;
@@ -24,8 +26,8 @@ declare class Viewport implements IViewport {
24
26
  sy: number;
25
27
  sWidth: number;
26
28
  sHeight: number;
27
- _actors: Map<string, any>;
28
- readonly defaultOptions: Record<string, any>;
29
+ _actors: Map<string, ActorEntry>;
30
+ readonly defaultOptions: ViewportInputOptions;
29
31
  options: ViewportInputOptions;
30
32
  _suppressCameraModifiedEvents: boolean;
31
33
  readonly suppressEvents: boolean;
@@ -52,22 +54,30 @@ declare class Viewport implements IViewport {
52
54
  removeWidgets: () => void;
53
55
  setRendered(): void;
54
56
  getRenderingEngine(): IRenderingEngine;
55
- getRenderer(): any;
57
+ getRenderer(): vtkRenderer;
56
58
  render(): void;
57
59
  setOptions(options: ViewportInputOptions, immediate?: boolean): void;
58
60
  reset(immediate?: boolean): void;
61
+ getSliceViewInfo(): {
62
+ width: number;
63
+ height: number;
64
+ sliceIndex: number;
65
+ slicePlane: number;
66
+ sliceToIndexMatrix: mat4;
67
+ indexToSliceMatrix: mat4;
68
+ };
59
69
  protected flip({ flipHorizontal, flipVertical }: FlipDirection): void;
60
70
  private getDefaultImageData;
61
71
  getDefaultActor(): ActorEntry;
62
- getActors(): Array<ActorEntry>;
63
- getActorUIDs(): Array<string>;
72
+ getActors(): ActorEntry[];
73
+ getActorUIDs(): string[];
64
74
  getActor(actorUID: string): ActorEntry;
65
75
  getActorUIDByIndex(index: number): string;
66
76
  getActorByIndex(index: number): ActorEntry;
67
- setActors(actors: Array<ActorEntry>): void;
77
+ setActors(actors: ActorEntry[]): void;
68
78
  _removeActor(actorUID: string): void;
69
- removeActors(actorUIDs: Array<string>): void;
70
- addActors(actors: Array<ActorEntry>, resetCameraPanAndZoom?: boolean): void;
79
+ removeActors(actorUIDs: string[]): void;
80
+ addActors(actors: ActorEntry[], resetCameraPanAndZoom?: boolean): void;
71
81
  addActor(actorEntry: ActorEntry): void;
72
82
  removeAllActors(): void;
73
83
  protected resetCameraNoEvent(): void;
@@ -84,6 +94,7 @@ declare class Viewport implements IViewport {
84
94
  getPan(initialCamera?: ICamera): Point2;
85
95
  getCurrentImageIdIndex(): number;
86
96
  getSliceIndex(): number;
97
+ getImageData(): any;
87
98
  getViewReferenceId(_specifier?: ViewReferenceSpecifier): string;
88
99
  setPan(pan: Point2, storeAsInitialCamera?: boolean): void;
89
100
  getZoom(compareCamera?: ICamera): number;
@@ -97,7 +108,7 @@ declare class Viewport implements IViewport {
97
108
  triggerCameraModifiedEventIfNecessary(previousCamera: ICamera, updatedCamera: ICamera): void;
98
109
  updateCameraClippingPlanesAndRange(): void;
99
110
  protected updateClippingPlanesForActors(updatedCamera: ICamera): Promise<void>;
100
- setOrientationOfClippingPlanes(vtkPlanes: Array<vtkPlane>, slabThickness: number, viewPlaneNormal: Point3, focalPoint: Point3): void;
111
+ setOrientationOfClippingPlanes(vtkPlanes: vtkPlane[], slabThickness: number, viewPlaneNormal: Point3, focalPoint: Point3): void;
101
112
  getClippingPlanesForActor(actorEntry?: ActorEntry): vtkPlane[];
102
113
  private _getWorldDistanceViewUpAndViewRight;
103
114
  getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference;
@@ -105,14 +116,14 @@ declare class Viewport implements IViewport {
105
116
  getViewPresentation(viewPresSel?: ViewPresentationSelector): ViewPresentation;
106
117
  setViewReference(viewRef: ViewReference): void;
107
118
  setViewPresentation(viewPres: ViewPresentation): void;
108
- protected _shouldUseNativeDataType(): boolean;
109
- _getCorners(bounds: Array<number>): Array<number>[];
119
+ _getCorners(bounds: number[]): number[][];
110
120
  _getFocalPointForResetCamera(centeredFocalPoint: Point3, previousCamera: ICamera, { resetPan, resetToCenter }: {
111
121
  resetPan?: boolean;
112
122
  resetToCenter?: boolean;
113
123
  }): Point3;
114
124
  _isInBounds(point: Point3, bounds: number[]): boolean;
115
- _getEdges(bounds: Array<number>): Array<[number[], number[]]>;
125
+ _getEdges(bounds: number[]): [number[], number[]][];
116
126
  static boundsRadius(bounds: number[]): number;
127
+ setDataIds(_imageIds: string[], _options?: DataSetOptions): void;
117
128
  }
118
129
  export default Viewport;
@@ -6,10 +6,12 @@ import Events from '../enums/Events';
6
6
  import ViewportStatus from '../enums/ViewportStatus';
7
7
  import ViewportType from '../enums/ViewportType';
8
8
  import renderingEngineCache from './renderingEngineCache';
9
- import { triggerEvent, planar, isImageActor, actorIsA, isEqual, } from '../utilities';
9
+ import { actorIsA, isImageActor } from '../utilities/actorCheck';
10
+ import triggerEvent from '../utilities/triggerEvent';
11
+ import * as planar from '../utilities/planar';
12
+ import isEqual from '../utilities/isEqual';
10
13
  import hasNaNValues from '../utilities/hasNaNValues';
11
14
  import { RENDERING_DEFAULTS } from '../constants';
12
- import { getConfiguration } from '../init';
13
15
  import { InterpolationType } from '../enums';
14
16
  class Viewport {
15
17
  static { this.CameraViewPresentation = {
@@ -94,7 +96,7 @@ class Viewport {
94
96
  if (!renderingEngine || renderingEngine.hasBeenDestroyed) {
95
97
  throw new Error('Rendering engine has been destroyed');
96
98
  }
97
- return renderingEngine.offscreenMultiRenderWindow.getRenderer(this.id);
99
+ return renderingEngine.offscreenMultiRenderWindow?.getRenderer(this.id);
98
100
  }
99
101
  render() {
100
102
  const renderingEngine = this.getRenderingEngine();
@@ -115,6 +117,9 @@ class Viewport {
115
117
  this.render();
116
118
  }
117
119
  }
120
+ getSliceViewInfo() {
121
+ throw new Error('Method not implemented.');
122
+ }
118
123
  flip({ flipHorizontal, flipVertical }) {
119
124
  const imageData = this.getDefaultImageData();
120
125
  if (!imageData) {
@@ -218,7 +223,9 @@ class Viewport {
218
223
  console.warn('Viewport::addActors::Rendering engine has not been initialized or has been destroyed');
219
224
  return;
220
225
  }
221
- actors.forEach((actor) => this.addActor(actor));
226
+ actors.forEach((actor) => {
227
+ this.addActor(actor);
228
+ });
222
229
  this.resetCamera({
223
230
  resetPan: resetCameraPanAndZoom,
224
231
  resetZoom: resetCameraPanAndZoom,
@@ -476,11 +483,11 @@ class Viewport {
476
483
  renderer.invokeEvent(RESET_CAMERA_EVENT);
477
484
  this.triggerCameraModifiedEventIfNecessary(previousCamera, modifiedCamera);
478
485
  if (imageData &&
479
- this.options?.displayArea &&
486
+ this.options.displayArea &&
480
487
  resetZoom &&
481
488
  resetPan &&
482
489
  resetToCenter) {
483
- this.setDisplayArea(this.options?.displayArea);
490
+ this.setDisplayArea(this.options.displayArea);
484
491
  }
485
492
  return true;
486
493
  }
@@ -496,7 +503,7 @@ class Viewport {
496
503
  const zero3 = this.canvasToWorld([0, 0]);
497
504
  const initialCanvasFocal = this.worldToCanvas(vec3.subtract([0, 0, 0], initialCamera.focalPoint, zero3));
498
505
  const currentCanvasFocal = this.worldToCanvas(vec3.subtract([0, 0, 0], focalPoint, zero3));
499
- const result = (vec2.subtract([0, 0], initialCanvasFocal, currentCanvasFocal));
506
+ const result = vec2.subtract([0, 0], initialCanvasFocal, currentCanvasFocal);
500
507
  return result;
501
508
  }
502
509
  getCurrentImageIdIndex() {
@@ -505,6 +512,9 @@ class Viewport {
505
512
  getSliceIndex() {
506
513
  throw new Error('Not implemented');
507
514
  }
515
+ getImageData() {
516
+ throw new Error('Not implemented');
517
+ }
508
518
  getViewReferenceId(_specifier) {
509
519
  return null;
510
520
  }
@@ -654,7 +664,7 @@ class Viewport {
654
664
  }
655
665
  if (cameraModifiedOutOfPlane || viewUpHasChanged) {
656
666
  const actorEntry = this.getDefaultActor();
657
- if (!actorEntry?.actor) {
667
+ if (!actorEntry.actor) {
658
668
  return;
659
669
  }
660
670
  if (!actorIsA(actorEntry, 'vtkActor')) {
@@ -697,7 +707,7 @@ class Viewport {
697
707
  }
698
708
  const mapper = actorEntry.actor.getMapper();
699
709
  let vtkPlanes = actorEntry?.clippingFilter
700
- ? actorEntry.clippingFilter.getClippingPlanes()
710
+ ? actorEntry?.clippingFilter.getClippingPlanes()
701
711
  : mapper.getClippingPlanes();
702
712
  if (vtkPlanes.length === 0 && actorEntry?.clippingFilter) {
703
713
  vtkPlanes = [vtkPlane.newInstance(), vtkPlane.newInstance()];
@@ -744,7 +754,7 @@ class Viewport {
744
754
  }
745
755
  const mapper = actorEntry.actor.getMapper();
746
756
  let vtkPlanes = actorEntry?.clippingFilter
747
- ? actorEntry.clippingFilter.getClippingPlanes()
757
+ ? actorEntry?.clippingFilter.getClippingPlanes()
748
758
  : mapper.getClippingPlanes();
749
759
  if (vtkPlanes.length === 0 && actorEntry?.clippingFilter) {
750
760
  vtkPlanes = [vtkPlane.newInstance(), vtkPlane.newInstance()];
@@ -810,7 +820,7 @@ class Viewport {
810
820
  if (viewPlaneNormal &&
811
821
  !isEqual(viewPlaneNormal, camera.viewPlaneNormal) &&
812
822
  !isEqual(vec3.negate(camera.viewPlaneNormal, camera.viewPlaneNormal), viewPlaneNormal)) {
813
- return options?.withOrientation === true;
823
+ return options?.withOrientation;
814
824
  }
815
825
  return true;
816
826
  }
@@ -856,10 +866,6 @@ class Viewport {
856
866
  this.setRotation(rotation);
857
867
  }
858
868
  }
859
- _shouldUseNativeDataType() {
860
- const { useNorm16Texture, preferSizeOverAccuracy } = getConfiguration().rendering;
861
- return useNorm16Texture || preferSizeOverAccuracy;
862
- }
863
869
  _getCorners(bounds) {
864
870
  return [
865
871
  [bounds[0], bounds[2], bounds[4]],
@@ -928,5 +934,8 @@ class Viewport {
928
934
  const radius = Math.sqrt(w1 + w2 + w3 || 1) * 0.5;
929
935
  return radius;
930
936
  }
937
+ setDataIds(_imageIds, _options) {
938
+ throw new Error('Unsupported operatoin setDataIds');
939
+ }
931
940
  }
932
941
  export default Viewport;
@@ -1,13 +1,15 @@
1
- import { BlendModes, OrientationAxis } from '../enums';
1
+ import { mat4 } from 'gl-matrix';
2
+ import type { BlendModes } from '../enums';
3
+ import { OrientationAxis } from '../enums';
2
4
  import type { IVolumeInput, OrientationVectors, Point3, ViewReference, ViewReferenceSpecifier } from '../types';
3
5
  import type { ViewportInput } from '../types/IViewport';
4
6
  import BaseVolumeViewport from './BaseVolumeViewport';
5
7
  declare class VolumeViewport extends BaseVolumeViewport {
6
8
  private _useAcquisitionPlaneForViewPlane;
7
9
  constructor(props: ViewportInput);
8
- setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
10
+ setVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
9
11
  getNumberOfSlices: () => number;
10
- addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
12
+ addVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
11
13
  setOrientation(orientation: OrientationAxis | OrientationVectors, immediate?: boolean): void;
12
14
  private _getAcquisitionPlaneOrientation;
13
15
  private _setViewPlaneToAcquisitionPlane;
@@ -17,20 +19,30 @@ declare class VolumeViewport extends BaseVolumeViewport {
17
19
  resetSlabThickness(): void;
18
20
  getCurrentImageIdIndex: (volumeId?: string) => number;
19
21
  getSliceIndex: () => number;
22
+ getSliceViewInfo(): {
23
+ sliceIndex: number;
24
+ slicePlane: number;
25
+ width: number;
26
+ height: number;
27
+ sliceToIndexMatrix: mat4;
28
+ indexToSliceMatrix: mat4;
29
+ };
30
+ getCurrentSlicePixelData(): import("../types").PixelDataTypedArray;
20
31
  getCurrentImageId: () => string | undefined;
21
32
  getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference;
22
33
  resetProperties(volumeId?: string): void;
23
34
  private _resetProperties;
24
- getSlicesClippingPlanes(): Array<{
35
+ private setCameraClippingRange;
36
+ getSlicesClippingPlanes(): {
25
37
  sliceIndex: number;
26
- planes: Array<{
38
+ planes: {
27
39
  normal: Point3;
28
40
  origin: Point3;
29
- }>;
30
- }>;
31
- getSlicePlaneCoordinates: () => Array<{
41
+ }[];
42
+ }[];
43
+ getSlicePlaneCoordinates: () => {
32
44
  sliceIndex: number;
33
45
  point: Point3;
34
- }>;
46
+ }[];
35
47
  }
36
48
  export default VolumeViewport;