@cornerstonejs/core 5.0.0-beta.1 → 5.0.0

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 (423) hide show
  1. package/dist/esm/RenderingEngine/BaseRenderingEngine.d.ts +4 -5
  2. package/dist/esm/RenderingEngine/BaseRenderingEngine.js +57 -69
  3. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +6 -4
  4. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +39 -30
  5. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.d.ts +1 -0
  6. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js +3 -0
  7. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.d.ts +10 -2
  8. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js +64 -6
  9. package/dist/esm/RenderingEngine/CanvasActor/index.d.ts +4 -0
  10. package/dist/esm/RenderingEngine/CanvasActor/index.js +59 -48
  11. package/dist/esm/RenderingEngine/ContextPoolRenderingEngine.d.ts +3 -4
  12. package/dist/esm/RenderingEngine/ContextPoolRenderingEngine.js +55 -37
  13. package/dist/esm/RenderingEngine/ECGViewport.d.ts +1 -1
  14. package/dist/esm/RenderingEngine/ECGViewport.js +34 -160
  15. package/dist/esm/RenderingEngine/GenericViewport/DefaultRenderPathResolver.d.ts +10 -0
  16. package/dist/esm/RenderingEngine/GenericViewport/DefaultRenderPathResolver.js +25 -0
  17. package/dist/esm/RenderingEngine/GenericViewport/ECG/CanvasECGRenderPath.d.ts +17 -0
  18. package/dist/esm/RenderingEngine/GenericViewport/ECG/CanvasECGRenderPath.js +144 -0
  19. package/dist/esm/RenderingEngine/GenericViewport/ECG/DefaultECGDataProvider.d.ts +5 -0
  20. package/dist/esm/RenderingEngine/GenericViewport/ECG/DefaultECGDataProvider.js +13 -0
  21. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGProjectionTypes.d.ts +42 -0
  22. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGProjectionTypes.js +2 -0
  23. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGRenderPathResolver.d.ts +4 -0
  24. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGRenderPathResolver.js +8 -0
  25. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGResolvedView.d.ts +27 -0
  26. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGResolvedView.js +121 -0
  27. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewport.d.ts +55 -0
  28. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewport.js +289 -0
  29. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportLegacyAdapter.d.ts +13 -0
  30. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportLegacyAdapter.js +70 -0
  31. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportTypes.d.ts +69 -0
  32. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportTypes.js +0 -0
  33. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionAdapter.d.ts +8 -0
  34. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionAdapter.js +12 -0
  35. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionPresentation.d.ts +7 -0
  36. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionPresentation.js +52 -0
  37. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionSnapshot.d.ts +2 -0
  38. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionSnapshot.js +94 -0
  39. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgViewportCamera.d.ts +27 -0
  40. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgViewportCamera.js +82 -0
  41. package/dist/esm/RenderingEngine/GenericViewport/ECG/index.d.ts +10 -0
  42. package/dist/esm/RenderingEngine/GenericViewport/ECG/index.js +8 -0
  43. package/dist/esm/RenderingEngine/GenericViewport/GenericViewport.d.ts +82 -0
  44. package/dist/esm/RenderingEngine/GenericViewport/GenericViewport.js +369 -0
  45. package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuImageSliceRenderPath.d.ts +24 -0
  46. package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuImageSliceRenderPath.js +456 -0
  47. package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuVolumeSliceRenderPath.d.ts +25 -0
  48. package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuVolumeSliceRenderPath.js +514 -0
  49. package/dist/esm/RenderingEngine/GenericViewport/Planar/DefaultPlanarDataProvider.d.ts +6 -0
  50. package/dist/esm/RenderingEngine/GenericViewport/Planar/DefaultPlanarDataProvider.js +80 -0
  51. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUScalarViewportSampler.d.ts +47 -0
  52. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUScalarViewportSampler.js +439 -0
  53. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUVolumeSampler.d.ts +98 -0
  54. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUVolumeSampler.js +686 -0
  55. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarLegacyCompatibilityController.d.ts +81 -0
  56. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarLegacyCompatibilityController.js +526 -0
  57. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarMountedData.d.ts +34 -0
  58. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarMountedData.js +111 -0
  59. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarProjectionTypes.d.ts +58 -0
  60. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarProjectionTypes.js +2 -0
  61. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathDecisionService.d.ts +28 -0
  62. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathDecisionService.js +145 -0
  63. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathResolver.d.ts +4 -0
  64. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathResolver.js +16 -0
  65. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarResolvedView.d.ts +91 -0
  66. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarResolvedView.js +305 -0
  67. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewReferenceController.d.ts +72 -0
  68. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewReferenceController.js +406 -0
  69. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewport.d.ts +187 -0
  70. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewport.js +1175 -0
  71. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportLegacyAdapter.d.ts +44 -0
  72. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportLegacyAdapter.js +279 -0
  73. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportTypes.d.ts +151 -0
  74. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportTypes.js +0 -0
  75. package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkImageMapperRenderPath.d.ts +21 -0
  76. package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkImageMapperRenderPath.js +259 -0
  77. package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkVolumeSliceRenderPath.d.ts +23 -0
  78. package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkVolumeSliceRenderPath.js +289 -0
  79. package/dist/esm/RenderingEngine/GenericViewport/Planar/buildPlanarActorEntry.d.ts +10 -0
  80. package/dist/esm/RenderingEngine/GenericViewport/Planar/buildPlanarActorEntry.js +54 -0
  81. package/dist/esm/RenderingEngine/GenericViewport/Planar/index.d.ts +23 -0
  82. package/dist/esm/RenderingEngine/GenericViewport/Planar/index.js +20 -0
  83. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarActorCompatibility.d.ts +4 -0
  84. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarActorCompatibility.js +42 -0
  85. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarAdapterCoordinateTransforms.d.ts +44 -0
  86. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarAdapterCoordinateTransforms.js +129 -0
  87. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCPUVolumeSamplingUtils.d.ts +11 -0
  88. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCPUVolumeSamplingUtils.js +54 -0
  89. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCameraScale.d.ts +10 -0
  90. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCameraScale.js +35 -0
  91. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuImageTransforms.d.ts +3 -0
  92. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuImageTransforms.js +35 -0
  93. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuViewportMath.d.ts +10 -0
  94. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuViewportMath.js +35 -0
  95. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarImageEvents.d.ts +22 -0
  96. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarImageEvents.js +28 -0
  97. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarLegacyCompatibility.d.ts +13 -0
  98. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarLegacyCompatibility.js +136 -0
  99. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarMath.d.ts +3 -0
  100. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarMath.js +15 -0
  101. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarOrientationVectors.d.ts +12 -0
  102. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarOrientationVectors.js +37 -0
  103. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionAdapter.d.ts +7 -0
  104. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionAdapter.js +28 -0
  105. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionFallback.d.ts +4 -0
  106. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionFallback.js +25 -0
  107. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionPresentation.d.ts +5 -0
  108. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionPresentation.js +95 -0
  109. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionSnapshot.d.ts +6 -0
  110. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionSnapshot.js +126 -0
  111. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderCamera.d.ts +46 -0
  112. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderCamera.js +332 -0
  113. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathProjection.d.ts +51 -0
  114. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathProjection.js +96 -0
  115. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathSelector.d.ts +4 -0
  116. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathSelector.js +12 -0
  117. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRuntimeTypes.d.ts +86 -0
  118. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRuntimeTypes.js +0 -0
  119. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarSliceBasis.d.ts +51 -0
  120. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarSliceBasis.js +330 -0
  121. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewPresentation.d.ts +16 -0
  122. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewPresentation.js +25 -0
  123. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewReference.d.ts +46 -0
  124. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewReference.js +243 -0
  125. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewState.d.ts +5 -0
  126. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewState.js +59 -0
  127. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumePresentation.d.ts +10 -0
  128. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumePresentation.js +223 -0
  129. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumeSliceBlendMode.d.ts +5 -0
  130. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumeSliceBlendMode.js +36 -0
  131. package/dist/esm/RenderingEngine/GenericViewport/ResolvedViewportView.d.ts +12 -0
  132. package/dist/esm/RenderingEngine/GenericViewport/ResolvedViewportView.js +10 -0
  133. package/dist/esm/RenderingEngine/GenericViewport/Video/DefaultVideoDataProvider.d.ts +5 -0
  134. package/dist/esm/RenderingEngine/GenericViewport/Video/DefaultVideoDataProvider.js +18 -0
  135. package/dist/esm/RenderingEngine/GenericViewport/Video/HtmlVideoRenderPath.d.ts +19 -0
  136. package/dist/esm/RenderingEngine/GenericViewport/Video/HtmlVideoRenderPath.js +141 -0
  137. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoProjectionTypes.d.ts +45 -0
  138. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoProjectionTypes.js +2 -0
  139. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoRenderPathResolver.d.ts +4 -0
  140. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoRenderPathResolver.js +8 -0
  141. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoResolvedView.d.ts +29 -0
  142. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoResolvedView.js +108 -0
  143. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewport.d.ts +59 -0
  144. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewport.js +458 -0
  145. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportLegacyAdapter.d.ts +15 -0
  146. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportLegacyAdapter.js +114 -0
  147. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportTypes.d.ts +45 -0
  148. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportTypes.js +0 -0
  149. package/dist/esm/RenderingEngine/GenericViewport/Video/index.d.ts +10 -0
  150. package/dist/esm/RenderingEngine/GenericViewport/Video/index.js +8 -0
  151. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionAdapter.d.ts +8 -0
  152. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionAdapter.js +12 -0
  153. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionPresentation.d.ts +7 -0
  154. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionPresentation.js +66 -0
  155. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionSnapshot.d.ts +2 -0
  156. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionSnapshot.js +86 -0
  157. package/dist/esm/RenderingEngine/GenericViewport/Video/videoViewportCamera.d.ts +30 -0
  158. package/dist/esm/RenderingEngine/GenericViewport/Video/videoViewportCamera.js +105 -0
  159. package/dist/esm/RenderingEngine/GenericViewport/ViewportArchitectureTypes.d.ts +126 -0
  160. package/dist/esm/RenderingEngine/GenericViewport/ViewportArchitectureTypes.js +20 -0
  161. package/dist/esm/RenderingEngine/GenericViewport/ViewportCameraTypes.d.ts +12 -0
  162. package/dist/esm/RenderingEngine/GenericViewport/ViewportCameraTypes.js +0 -0
  163. package/dist/esm/RenderingEngine/GenericViewport/ViewportProjectionTypes.d.ts +101 -0
  164. package/dist/esm/RenderingEngine/GenericViewport/ViewportProjectionTypes.js +0 -0
  165. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/DefaultVolume3DDataProvider.d.ts +8 -0
  166. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/DefaultVolume3DDataProvider.js +58 -0
  167. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DProjectionTypes.d.ts +35 -0
  168. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DProjectionTypes.js +2 -0
  169. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DRenderPathResolver.d.ts +4 -0
  170. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DRenderPathResolver.js +9 -0
  171. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DResolvedView.d.ts +18 -0
  172. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DResolvedView.js +42 -0
  173. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VolumeViewport3DLegacyAdapter.d.ts +39 -0
  174. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VolumeViewport3DLegacyAdapter.js +296 -0
  175. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkGeometry3DRenderPath.d.ts +22 -0
  176. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkGeometry3DRenderPath.js +156 -0
  177. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkVolume3DRenderPath.d.ts +23 -0
  178. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkVolume3DRenderPath.js +205 -0
  179. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/applyVolume3DCamera.d.ts +4 -0
  180. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/applyVolume3DCamera.js +33 -0
  181. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/index.d.ts +10 -0
  182. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/index.js +8 -0
  183. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3D.d.ts +60 -0
  184. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3D.js +399 -0
  185. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3DTypes.d.ts +88 -0
  186. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3DTypes.js +0 -0
  187. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionAdapter.d.ts +7 -0
  188. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionAdapter.js +27 -0
  189. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionCamera.d.ts +12 -0
  190. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionCamera.js +35 -0
  191. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionPresentation.d.ts +4 -0
  192. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionPresentation.js +22 -0
  193. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionSnapshot.d.ts +2 -0
  194. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionSnapshot.js +52 -0
  195. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/vtkVolume3DInitialCamera.d.ts +3 -0
  196. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/vtkVolume3DInitialCamera.js +110 -0
  197. package/dist/esm/RenderingEngine/GenericViewport/WSI/DefaultWSIDataProvider.d.ts +6 -0
  198. package/dist/esm/RenderingEngine/GenericViewport/WSI/DefaultWSIDataProvider.js +35 -0
  199. package/dist/esm/RenderingEngine/GenericViewport/WSI/DicomMicroscopyRenderPath.d.ts +16 -0
  200. package/dist/esm/RenderingEngine/GenericViewport/WSI/DicomMicroscopyRenderPath.js +125 -0
  201. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIProjectionTypes.d.ts +40 -0
  202. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIProjectionTypes.js +2 -0
  203. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIRenderPathResolver.d.ts +4 -0
  204. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIRenderPathResolver.js +8 -0
  205. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIResolvedView.d.ts +26 -0
  206. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIResolvedView.js +104 -0
  207. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewport.d.ts +69 -0
  208. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewport.js +392 -0
  209. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportLegacyAdapter.d.ts +22 -0
  210. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportLegacyAdapter.js +144 -0
  211. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportTypes.d.ts +58 -0
  212. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportTypes.js +0 -0
  213. package/dist/esm/RenderingEngine/GenericViewport/WSI/index.d.ts +10 -0
  214. package/dist/esm/RenderingEngine/GenericViewport/WSI/index.js +8 -0
  215. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionAdapter.d.ts +8 -0
  216. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionAdapter.js +12 -0
  217. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionPresentation.d.ts +7 -0
  218. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionPresentation.js +47 -0
  219. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionSnapshot.d.ts +2 -0
  220. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionSnapshot.js +90 -0
  221. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiTransformUtils.d.ts +29 -0
  222. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiTransformUtils.js +128 -0
  223. package/dist/esm/RenderingEngine/GenericViewport/genericViewportDataSetAccess.d.ts +35 -0
  224. package/dist/esm/RenderingEngine/GenericViewport/genericViewportDataSetAccess.js +87 -0
  225. package/dist/esm/RenderingEngine/GenericViewport/genericViewportReferenceCompatibility.d.ts +18 -0
  226. package/dist/esm/RenderingEngine/GenericViewport/genericViewportReferenceCompatibility.js +238 -0
  227. package/dist/esm/RenderingEngine/GenericViewport/index.d.ts +23 -0
  228. package/dist/esm/RenderingEngine/GenericViewport/index.js +14 -0
  229. package/dist/esm/RenderingEngine/GenericViewport/setVtkCameraClippingRange.d.ts +2 -0
  230. package/dist/esm/RenderingEngine/GenericViewport/setVtkCameraClippingRange.js +8 -0
  231. package/dist/esm/RenderingEngine/GenericViewport/viewportProjection.d.ts +98 -0
  232. package/dist/esm/RenderingEngine/GenericViewport/viewportProjection.js +81 -0
  233. package/dist/esm/RenderingEngine/RenderingEngine.d.ts +3 -5
  234. package/dist/esm/RenderingEngine/RenderingEngine.js +3 -9
  235. package/dist/esm/RenderingEngine/StackViewport.d.ts +4 -1
  236. package/dist/esm/RenderingEngine/StackViewport.js +103 -53
  237. package/dist/esm/RenderingEngine/TiledRenderingEngine.d.ts +1 -0
  238. package/dist/esm/RenderingEngine/TiledRenderingEngine.js +23 -20
  239. package/dist/esm/RenderingEngine/VideoViewport.d.ts +5 -13
  240. package/dist/esm/RenderingEngine/VideoViewport.js +33 -68
  241. package/dist/esm/RenderingEngine/Viewport.d.ts +20 -5
  242. package/dist/esm/RenderingEngine/Viewport.js +149 -29
  243. package/dist/esm/RenderingEngine/VolumeViewport.js +26 -17
  244. package/dist/esm/RenderingEngine/VolumeViewport3D.js +2 -8
  245. package/dist/esm/RenderingEngine/WSIViewport.d.ts +12 -12
  246. package/dist/esm/RenderingEngine/WSIViewport.js +28 -101
  247. package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.js +6 -8
  248. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +4 -1
  249. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.js +157 -0
  250. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/index.d.ts +2 -3
  251. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/index.js +2 -3
  252. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.js +19 -4
  253. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +13 -3
  254. package/dist/esm/RenderingEngine/helpers/createVolumeSliceActor.d.ts +14 -0
  255. package/dist/esm/RenderingEngine/helpers/createVolumeSliceActor.js +69 -0
  256. package/dist/esm/RenderingEngine/helpers/getCameraVectors.d.ts +2 -1
  257. package/dist/esm/RenderingEngine/helpers/getCameraVectors.js +1 -1
  258. package/dist/esm/RenderingEngine/helpers/getProjectionScaleMatrix.d.ts +2 -0
  259. package/dist/esm/RenderingEngine/helpers/getProjectionScaleMatrix.js +10 -0
  260. package/dist/esm/RenderingEngine/helpers/index.d.ts +2 -1
  261. package/dist/esm/RenderingEngine/helpers/index.js +2 -1
  262. package/dist/esm/RenderingEngine/helpers/planarImageRendering.d.ts +51 -0
  263. package/dist/esm/RenderingEngine/helpers/planarImageRendering.js +116 -0
  264. package/dist/esm/RenderingEngine/helpers/planarVolumeRendering.d.ts +22 -0
  265. package/dist/esm/RenderingEngine/helpers/planarVolumeRendering.js +28 -0
  266. package/dist/esm/RenderingEngine/helpers/resolveViewportVolumeId.d.ts +1 -0
  267. package/dist/esm/RenderingEngine/helpers/resolveViewportVolumeId.js +19 -0
  268. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -2
  269. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +46 -15
  270. package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.js +6 -9
  271. package/dist/esm/RenderingEngine/helpers/stats/RenderModesPanel.d.ts +19 -0
  272. package/dist/esm/RenderingEngine/helpers/stats/RenderModesPanel.js +228 -0
  273. package/dist/esm/RenderingEngine/helpers/stats/StatsOverlay.d.ts +22 -3
  274. package/dist/esm/RenderingEngine/helpers/stats/StatsOverlay.js +192 -18
  275. package/dist/esm/RenderingEngine/helpers/stats/constants.d.ts +13 -1
  276. package/dist/esm/RenderingEngine/helpers/stats/constants.js +14 -1
  277. package/dist/esm/RenderingEngine/helpers/stats/enums.d.ts +2 -1
  278. package/dist/esm/RenderingEngine/helpers/stats/enums.js +1 -0
  279. package/dist/esm/RenderingEngine/helpers/stats/types.d.ts +1 -1
  280. package/dist/esm/RenderingEngine/helpers/supportsVolumeCompatibilityApi.d.ts +4 -0
  281. package/dist/esm/RenderingEngine/helpers/supportsVolumeCompatibilityApi.js +7 -0
  282. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +27 -4
  283. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +126 -11
  284. package/dist/esm/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts +3 -1
  285. package/dist/esm/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.js +9 -2
  286. package/dist/esm/RenderingEngine/helpers/vtkCanvasCoordinateTransforms.d.ts +12 -0
  287. package/dist/esm/RenderingEngine/helpers/vtkCanvasCoordinateTransforms.js +57 -0
  288. package/dist/esm/RenderingEngine/index.d.ts +69 -1
  289. package/dist/esm/RenderingEngine/index.js +40 -1
  290. package/dist/esm/RenderingEngine/vtkClasses/extendedVtkCamera.d.ts +38 -0
  291. package/dist/esm/RenderingEngine/vtkClasses/extendedVtkCamera.js +35 -0
  292. package/dist/esm/RenderingEngine/vtkClasses/index.d.ts +3 -1
  293. package/dist/esm/RenderingEngine/vtkClasses/index.js +3 -1
  294. package/dist/esm/RenderingEngine/vtkClasses/vtkSharedImageResliceMapper.d.ts +7 -0
  295. package/dist/esm/RenderingEngine/vtkClasses/vtkSharedImageResliceMapper.js +21 -0
  296. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +2 -0
  297. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +9 -2
  298. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLImageResliceMapper.d.ts +7 -0
  299. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLImageResliceMapper.js +420 -0
  300. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +7 -0
  301. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +9 -3
  302. package/dist/esm/cache/cache.d.ts +1 -1
  303. package/dist/esm/cache/cache.js +4 -1
  304. package/dist/esm/cache/classes/BaseStreamingImageVolume.js +6 -6
  305. package/dist/esm/cache/classes/ImageVolume.js +5 -0
  306. package/dist/esm/enums/CalibrationTypes.d.ts +4 -12
  307. package/dist/esm/enums/CalibrationTypes.js +3 -13
  308. package/dist/esm/enums/MetadataModules.d.ts +3 -38
  309. package/dist/esm/enums/MetadataModules.js +2 -39
  310. package/dist/esm/enums/ViewportStatus.d.ts +1 -0
  311. package/dist/esm/enums/ViewportStatus.js +1 -0
  312. package/dist/esm/enums/ViewportType.d.ts +6 -1
  313. package/dist/esm/enums/ViewportType.js +5 -0
  314. package/dist/esm/enums/ViewportTypes.d.ts +5 -0
  315. package/dist/esm/enums/ViewportTypes.js +23 -0
  316. package/dist/esm/enums/index.d.ts +2 -1
  317. package/dist/esm/enums/index.js +2 -1
  318. package/dist/esm/getEnabledElement.js +4 -1
  319. package/dist/esm/index.d.ts +74 -3
  320. package/dist/esm/index.js +43 -3
  321. package/dist/esm/init.d.ts +2 -1
  322. package/dist/esm/init.js +14 -1
  323. package/dist/esm/loaders/ProgressiveRetrieveImages.js +11 -11
  324. package/dist/esm/loaders/cornerstoneMeshLoader.js +1 -1
  325. package/dist/esm/loaders/imageLoader.d.ts +2 -1
  326. package/dist/esm/loaders/imageLoader.js +25 -10
  327. package/dist/esm/loaders/volumeLoader.js +8 -4
  328. package/dist/esm/metaData.d.ts +2 -8
  329. package/dist/esm/metaData.js +2 -75
  330. package/dist/esm/types/CPUFallbackViewport.d.ts +2 -0
  331. package/dist/esm/types/Cornerstone3DConfig.d.ts +11 -0
  332. package/dist/esm/types/EventTypes.d.ts +3 -3
  333. package/dist/esm/types/IActor.d.ts +33 -0
  334. package/dist/esm/types/IActor.js +8 -0
  335. package/dist/esm/types/ICamera.d.ts +11 -3
  336. package/dist/esm/types/IEnabledElement.d.ts +1 -1
  337. package/dist/esm/types/IImage.d.ts +1 -0
  338. package/dist/esm/types/IImageCalibration.d.ts +2 -11
  339. package/dist/esm/types/IViewport.d.ts +11 -1
  340. package/dist/esm/types/IWSIViewport.d.ts +3 -2
  341. package/dist/esm/types/ImagePlaneModule.d.ts +3 -1
  342. package/dist/esm/types/MetadataModuleTypes.d.ts +1 -70
  343. package/dist/esm/types/ViewportInputOptions.d.ts +2 -0
  344. package/dist/esm/types/ViewportTypeRegistry.d.ts +33 -0
  345. package/dist/esm/types/ViewportTypeRegistry.js +0 -0
  346. package/dist/esm/types/index.d.ts +8 -3
  347. package/dist/esm/types/index.js +2 -0
  348. package/dist/esm/utilities/ECGUtilities.d.ts +83 -0
  349. package/dist/esm/utilities/ECGUtilities.js +228 -0
  350. package/dist/esm/utilities/FrameRange.js +3 -2
  351. package/dist/esm/utilities/RLEVoxelMap.js +9 -7
  352. package/dist/esm/utilities/VideoUtilities.d.ts +34 -0
  353. package/dist/esm/utilities/VideoUtilities.js +102 -0
  354. package/dist/esm/utilities/VoxelManager.d.ts +20 -1
  355. package/dist/esm/utilities/VoxelManager.js +162 -27
  356. package/dist/esm/utilities/WSIUtilities.d.ts +119 -0
  357. package/dist/esm/utilities/WSIUtilities.js +110 -0
  358. package/dist/esm/utilities/buildMetadata.js +23 -23
  359. package/dist/esm/utilities/calculateSpacingBetweenImageIds.js +6 -5
  360. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +5 -5
  361. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.js +2 -15
  362. package/dist/esm/utilities/clonePoint3.d.ts +3 -0
  363. package/dist/esm/utilities/clonePoint3.js +3 -0
  364. package/dist/esm/utilities/colormap.d.ts +2 -1
  365. package/dist/esm/utilities/colormap.js +43 -4
  366. package/dist/esm/utilities/convertColorArrayToRgbString.d.ts +1 -0
  367. package/dist/esm/utilities/convertColorArrayToRgbString.js +5 -0
  368. package/dist/esm/utilities/deepClone.d.ts +1 -1
  369. package/dist/esm/utilities/deepClone.js +46 -17
  370. package/dist/esm/utilities/genericMetadataProvider.js +2 -1
  371. package/dist/esm/utilities/genericViewportDataSetMetadataProvider.d.ts +8 -0
  372. package/dist/esm/utilities/genericViewportDataSetMetadataProvider.js +23 -0
  373. package/dist/esm/utilities/getAcquisitionPlaneOrientation.d.ts +2 -0
  374. package/dist/esm/utilities/getAcquisitionPlaneOrientation.js +7 -0
  375. package/dist/esm/utilities/getClosestImageId.js +2 -1
  376. package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +2 -1
  377. package/dist/esm/utilities/getNormalizedAspectRatio.d.ts +2 -0
  378. package/dist/esm/utilities/getNormalizedAspectRatio.js +12 -0
  379. package/dist/esm/utilities/getPixelSpacingInformation.d.ts +5 -13
  380. package/dist/esm/utilities/getPixelSpacingInformation.js +4 -93
  381. package/dist/esm/utilities/getScalingParameters.js +4 -3
  382. package/dist/esm/utilities/getVOIRangeFromWindowLevel.d.ts +3 -0
  383. package/dist/esm/utilities/getVOIRangeFromWindowLevel.js +18 -0
  384. package/dist/esm/utilities/getViewportImageIds.js +1 -1
  385. package/dist/esm/utilities/getViewportsWithImageURI.d.ts +2 -4
  386. package/dist/esm/utilities/getViewportsWithImageURI.js +4 -1
  387. package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +2 -2
  388. package/dist/esm/utilities/getViewportsWithVolumeId.js +4 -1
  389. package/dist/esm/utilities/getViewportsWithVolumeURI.d.ts +2 -2
  390. package/dist/esm/utilities/getViewportsWithVolumeURI.js +4 -1
  391. package/dist/esm/utilities/getVolumeViewReferenceId.d.ts +6 -0
  392. package/dist/esm/utilities/getVolumeViewReferenceId.js +6 -0
  393. package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
  394. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.d.ts +2 -2
  395. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.js +4 -1
  396. package/dist/esm/utilities/hasOwn.d.ts +1 -0
  397. package/dist/esm/utilities/hasOwn.js +3 -0
  398. package/dist/esm/utilities/imageIdToURI.d.ts +3 -1
  399. package/dist/esm/utilities/imageIdToURI.js +2 -4
  400. package/dist/esm/utilities/index.d.ts +13 -1
  401. package/dist/esm/utilities/index.js +13 -1
  402. package/dist/esm/utilities/isEqual.d.ts +3 -5
  403. package/dist/esm/utilities/isEqual.js +3 -48
  404. package/dist/esm/utilities/isValidVolume.js +19 -4
  405. package/dist/esm/utilities/isVideoTransferSyntax.d.ts +3 -1
  406. package/dist/esm/utilities/isVideoTransferSyntax.js +3 -25
  407. package/dist/esm/utilities/loadImageToCanvas.js +2 -2
  408. package/dist/esm/utilities/logger.d.ts +3 -14
  409. package/dist/esm/utilities/logger.js +2 -23
  410. package/dist/esm/utilities/rotateToViewCoordinates.js +7 -7
  411. package/dist/esm/utilities/scroll.d.ts +1 -1
  412. package/dist/esm/utilities/scroll.js +2 -1
  413. package/dist/esm/utilities/sortImageIdsAndGetSpacing.js +4 -3
  414. package/dist/esm/utilities/splitImageIdsBy4DTags.d.ts +2 -10
  415. package/dist/esm/utilities/splitImageIdsBy4DTags.js +2 -312
  416. package/dist/esm/utilities/toNumber.d.ts +3 -1
  417. package/dist/esm/utilities/toNumber.js +3 -3
  418. package/dist/esm/utilities/viewportCapabilities.d.ts +19 -0
  419. package/dist/esm/utilities/viewportCapabilities.js +32 -0
  420. package/dist/esm/version.d.ts +1 -1
  421. package/dist/esm/version.js +1 -1
  422. package/dist/esm/webWorkerManager/webWorkerManager.js +3 -1
  423. package/package.json +16 -8
@@ -2,19 +2,16 @@ import BaseRenderingEngine, { VIEWPORT_MIN_SIZE } from './BaseRenderingEngine';
2
2
  import Events from '../enums/Events';
3
3
  import eventTarget from '../eventTarget';
4
4
  import triggerEvent from '../utilities/triggerEvent';
5
- import ViewportType from '../enums/ViewportType';
6
- import VolumeViewport from './VolumeViewport';
7
- import StackViewport from './StackViewport';
8
5
  import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesCustomRenderingPipeline';
9
6
  import getOrCreateCanvas from './helpers/getOrCreateCanvas';
10
- import VolumeViewport3D from './VolumeViewport3D';
11
7
  import { vtkOffscreenMultiRenderWindow } from './vtkClasses';
8
+ import { getViewportClassForInput } from './helpers/viewportTypeToViewportClass';
12
9
  class TiledRenderingEngine extends BaseRenderingEngine {
13
10
  constructor(id) {
14
11
  super(id);
15
12
  this._renderFlaggedViewports = () => {
16
13
  this._throwIfDestroyed();
17
- if (!this.useCPURendering) {
14
+ if (this.offscreenMultiRenderWindow) {
18
15
  this.performVtkDrawCall();
19
16
  }
20
17
  const viewports = this._getViewportsAsArray();
@@ -41,6 +38,11 @@ class TiledRenderingEngine extends BaseRenderingEngine {
41
38
  });
42
39
  };
43
40
  if (!this.useCPURendering) {
41
+ this.ensureOffscreenResources();
42
+ }
43
+ }
44
+ ensureOffscreenResources() {
45
+ if (!this.offscreenMultiRenderWindow) {
44
46
  this.offscreenMultiRenderWindow =
45
47
  vtkOffscreenMultiRenderWindow.newInstance();
46
48
  this.offScreenCanvasContainer = document.createElement('div');
@@ -48,6 +50,7 @@ class TiledRenderingEngine extends BaseRenderingEngine {
48
50
  }
49
51
  }
50
52
  enableVTKjsDrivenViewport(viewportInputEntry) {
53
+ this.ensureOffscreenResources();
51
54
  const viewports = this._getViewportsAsArray();
52
55
  const viewportsDrivenByVtkJs = viewports.filter((vp) => viewportTypeUsesCustomRenderingPipeline(vp.type) === false);
53
56
  const canvasesDrivenByVtkJs = viewportsDrivenByVtkJs.map((vp) => vp.canvas);
@@ -63,6 +66,7 @@ class TiledRenderingEngine extends BaseRenderingEngine {
63
66
  });
64
67
  }
65
68
  addVtkjsDrivenViewport(viewportInputEntry, offscreenCanvasProperties) {
69
+ this.ensureOffscreenResources();
66
70
  const { element, canvas, viewportId, type, defaultOptions } = viewportInputEntry;
67
71
  element.tabIndex = -1;
68
72
  const { offScreenCanvasWidth, offScreenCanvasHeight, xOffset } = offscreenCanvasProperties;
@@ -91,20 +95,12 @@ class TiledRenderingEngine extends BaseRenderingEngine {
91
95
  sHeight,
92
96
  defaultOptions: defaultOptions || {},
93
97
  };
94
- let viewport;
95
- if (type === ViewportType.STACK) {
96
- viewport = new StackViewport(viewportInput);
97
- }
98
- else if (type === ViewportType.ORTHOGRAPHIC ||
99
- type === ViewportType.PERSPECTIVE) {
100
- viewport = new VolumeViewport(viewportInput);
101
- }
102
- else if (type === ViewportType.VOLUME_3D) {
103
- viewport = new VolumeViewport3D(viewportInput);
104
- }
105
- else {
98
+ const ViewportClass = getViewportClassForInput(viewportInputEntry);
99
+ if (!ViewportClass) {
106
100
  throw new Error(`Viewport Type ${type} is not supported`);
107
101
  }
102
+ const viewport = new ViewportClass(viewportInput);
103
+ viewport.requestedType = viewportInputEntry.requestedType ?? type;
108
104
  this._viewports.set(viewportId, viewport);
109
105
  const eventDetail = {
110
106
  element,
@@ -159,7 +155,13 @@ class TiledRenderingEngine extends BaseRenderingEngine {
159
155
  const prevCamera = vp.getCamera();
160
156
  const rotation = vp.getRotation();
161
157
  const { flipHorizontal } = prevCamera;
162
- vp.resetCameraForResize();
158
+ const resizeResetViewport = vp;
159
+ if (resizeResetViewport.resetViewStateForResize) {
160
+ resizeResetViewport.resetViewStateForResize();
161
+ }
162
+ else {
163
+ resizeResetViewport.resetCameraForResize();
164
+ }
163
165
  const displayArea = vp.getDisplayArea();
164
166
  if (keepCamera) {
165
167
  if (displayArea) {
@@ -188,7 +190,8 @@ class TiledRenderingEngine extends BaseRenderingEngine {
188
190
  }
189
191
  for (let i = 0; i < renderers.length; i++) {
190
192
  const { renderer, id } = renderers[i];
191
- if (this._needsRender.has(id)) {
193
+ const viewportId = id.split('::')[0];
194
+ if (this._needsRender.has(viewportId)) {
192
195
  renderer.setDraw(true);
193
196
  }
194
197
  else {
@@ -212,7 +215,7 @@ class TiledRenderingEngine extends BaseRenderingEngine {
212
215
  viewport.customRenderViewportToCanvas();
213
216
  }
214
217
  else {
215
- if (this.useCPURendering) {
218
+ if (!this.offscreenMultiRenderWindow) {
216
219
  throw new Error('GPU not available, and using a viewport with no custom render pipeline.');
217
220
  }
218
221
  const { offscreenMultiRenderWindow } = this;
@@ -38,20 +38,12 @@ declare class VideoViewport extends Viewport {
38
38
  private addEventListeners;
39
39
  private removeEventListeners;
40
40
  private elementDisabledHandler;
41
- getImageDataMetadata(image: IImage | string): {
42
- bitsAllocated: number;
43
- numberOfComponents: number;
44
- origin: any;
45
- rows: any;
46
- columns: any;
47
- direction: number[];
48
- dimensions: any[];
49
- spacing: any[];
50
- hasPixelSpacing: boolean;
51
- numVoxels: number;
52
- imagePlaneModule: any;
53
- };
41
+ getImageDataMetadata(image: IImage | string): import("../utilities/VideoUtilities").VideoImageMetadata;
54
42
  setDataIds(imageIds: string[], options?: ImageSetOptions): void;
43
+ setDataList(entries: Array<{
44
+ dataId: string;
45
+ options?: Record<string, unknown>;
46
+ }>): Promise<unknown>;
55
47
  setVideo(imageId: string, frameNumber?: number): Promise<unknown>;
56
48
  private setVideoURL;
57
49
  getImageIds(): string[];
@@ -1,6 +1,4 @@
1
- import { vec3 } from 'gl-matrix';
2
- import { Events as EVENTS, VideoEnums as VideoViewportEnum, MetadataModules, } from '../enums';
3
- import * as metaData from '../metaData';
1
+ import { Events as EVENTS, VideoEnums as VideoViewportEnum } from '../enums';
4
2
  import { Transform } from './helpers/cpuFallback/rendering/transform';
5
3
  import triggerEvent from '../utilities/triggerEvent';
6
4
  import Viewport from './Viewport';
@@ -10,8 +8,8 @@ import cache from '../cache/cache';
10
8
  import uuidv4 from '../utilities/uuidv4';
11
9
  import FrameRange from '../utilities/FrameRange';
12
10
  import { pointInShapeCallback } from '../utilities/pointInShapeCallback';
11
+ import { getVideoImageDataMetadata, loadVideoStreamMetadata, normalizeVideoPlaybackInfo, } from '../utilities/VideoUtilities';
13
12
  class VideoViewport extends Viewport {
14
- static { this.frameRangeExtractor = /(\/frames\/|[&?]frameNumber=)([^/&?]*)/i; }
15
13
  constructor(props) {
16
14
  super({
17
15
  ...props,
@@ -125,6 +123,7 @@ class VideoViewport extends Viewport {
125
123
  actor.actor.render(this, this.canvasContext);
126
124
  }
127
125
  this.canvasContext.resetTransform();
126
+ this.setRendered();
128
127
  triggerEvent(this.element, EVENTS.STACK_NEW_IMAGE, {
129
128
  element: this.element,
130
129
  viewportId: this.id,
@@ -192,69 +191,34 @@ class VideoViewport extends Viewport {
192
191
  }
193
192
  getImageDataMetadata(image) {
194
193
  const imageId = typeof image === 'string' ? image : image.imageId;
195
- const imagePlaneModule = metaData.get(MetadataModules.IMAGE_PLANE, imageId);
196
- let rowCosines = imagePlaneModule.rowCosines;
197
- let columnCosines = imagePlaneModule.columnCosines;
198
- const usingDefaultValues = imagePlaneModule.usingDefaultValues;
199
- if (usingDefaultValues || rowCosines == null || columnCosines == null) {
200
- rowCosines = [1, 0, 0];
201
- columnCosines = [0, 1, 0];
202
- }
203
- const rowCosineVec = vec3.fromValues(rowCosines[0], rowCosines[1], rowCosines[2]);
204
- const colCosineVec = vec3.fromValues(columnCosines[0], columnCosines[1], columnCosines[2]);
205
- const { rows, columns } = imagePlaneModule;
206
- const scanAxisNormal = vec3.create();
207
- vec3.cross(scanAxisNormal, rowCosineVec, colCosineVec);
208
- let origin = imagePlaneModule.imagePositionPatient;
209
- if (origin == null) {
210
- origin = [0, 0, 0];
211
- }
212
- const xSpacing = imagePlaneModule.columnPixelSpacing || 1;
213
- const ySpacing = imagePlaneModule.rowPixelSpacing || 1;
214
- const xVoxels = imagePlaneModule.columns;
215
- const yVoxels = imagePlaneModule.rows;
216
- const zSpacing = 1;
217
- const zVoxels = 1;
218
- this.hasPixelSpacing = !!imagePlaneModule.columnPixelSpacing;
219
- return {
220
- bitsAllocated: 8,
221
- numberOfComponents: 3,
222
- origin,
223
- rows,
224
- columns,
225
- direction: [...rowCosineVec, ...colCosineVec, ...scanAxisNormal],
226
- dimensions: [xVoxels, yVoxels, zVoxels],
227
- spacing: [xSpacing, ySpacing, zSpacing],
228
- hasPixelSpacing: this.hasPixelSpacing,
229
- numVoxels: xVoxels * yVoxels * zVoxels,
230
- imagePlaneModule,
231
- };
194
+ const metadata = getVideoImageDataMetadata(imageId);
195
+ this.hasPixelSpacing = metadata.hasPixelSpacing;
196
+ return metadata;
232
197
  }
233
198
  setDataIds(imageIds, options) {
234
199
  this.setVideo(imageIds[0], (options.viewReference?.sliceIndex || 0) + 1);
235
200
  }
201
+ setDataList(entries) {
202
+ if (!entries.length) {
203
+ return;
204
+ }
205
+ return this.setVideo(entries[0].dataId);
206
+ }
236
207
  setVideo(imageId, frameNumber) {
237
208
  this.imageId = Array.isArray(imageId) ? imageId[0] : imageId;
238
- const imageUrlModule = metaData.get(MetadataModules.IMAGE_URL, imageId);
239
- if (!imageUrlModule?.rendered) {
240
- throw new Error(`Video Image ID ${imageId} does not have a rendered video view`);
241
- }
242
- const { rendered } = imageUrlModule;
243
- const generalSeries = metaData.get(MetadataModules.GENERAL_SERIES, imageId);
244
- this.modality = generalSeries?.Modality;
245
- this.metadata = this.getImageDataMetadata(imageId);
246
- let { cineRate, numberOfFrames } = metaData.get(MetadataModules.CINE, imageId);
247
- this.numberOfFrames = numberOfFrames;
248
- return this.setVideoURL(rendered).then(() => {
249
- if (!numberOfFrames || numberOfFrames === 1) {
250
- numberOfFrames = Math.round(this.videoElement.duration * (cineRate || 30));
251
- }
252
- if (!cineRate) {
253
- cineRate = Math.round(numberOfFrames / this.videoElement.duration);
254
- }
255
- this.fps = cineRate;
256
- this.numberOfFrames = numberOfFrames;
257
- this.setFrameRange([1, numberOfFrames]);
209
+ const stream = loadVideoStreamMetadata(imageId);
210
+ this.modality = stream.modality;
211
+ this.metadata = stream.metadata;
212
+ this.numberOfFrames = stream.numberOfFrames;
213
+ return this.setVideoURL(stream.renderedUrl).then(() => {
214
+ const playbackInfo = normalizeVideoPlaybackInfo({
215
+ durationSeconds: this.videoElement.duration,
216
+ cineRate: stream.cineRate,
217
+ numberOfFrames: stream.numberOfFrames,
218
+ });
219
+ this.fps = playbackInfo.fps;
220
+ this.numberOfFrames = playbackInfo.numberOfFrames;
221
+ this.setFrameRange(playbackInfo.frameRange);
258
222
  this.initialRender = () => {
259
223
  this.initialRender = null;
260
224
  this.pause();
@@ -308,7 +272,7 @@ class VideoViewport extends Viewport {
308
272
  this.renderWhilstPlaying();
309
273
  }
310
274
  }
311
- catch (e) {
275
+ catch (_error) {
312
276
  }
313
277
  }
314
278
  pause() {
@@ -316,7 +280,7 @@ class VideoViewport extends Viewport {
316
280
  this.isPlaying = false;
317
281
  this.videoElement.pause();
318
282
  }
319
- catch (e) {
283
+ catch {
320
284
  }
321
285
  }
322
286
  async scroll(delta = 1) {
@@ -326,7 +290,7 @@ class VideoViewport extends Viewport {
326
290
  const currentTime = videoElement.currentTime;
327
291
  const newTime = currentTime + (delta * this.scrollSpeed) / this.fps;
328
292
  videoElement.currentTime = newTime;
329
- const seekEventListener = (evt) => {
293
+ const seekEventListener = () => {
330
294
  renderFrame();
331
295
  videoElement.removeEventListener('seeked', seekEventListener);
332
296
  };
@@ -337,7 +301,7 @@ class VideoViewport extends Viewport {
337
301
  const renderFrame = this.renderFrame;
338
302
  videoElement.currentTime = 0;
339
303
  if (videoElement.paused) {
340
- const seekEventListener = (evt) => {
304
+ const seekEventListener = () => {
341
305
  renderFrame();
342
306
  videoElement.removeEventListener('seeked', seekEventListener);
343
307
  };
@@ -349,7 +313,7 @@ class VideoViewport extends Viewport {
349
313
  const renderFrame = this.renderFrame;
350
314
  videoElement.currentTime = videoElement.duration;
351
315
  if (videoElement.paused) {
352
- const seekEventListener = (evt) => {
316
+ const seekEventListener = () => {
353
317
  renderFrame();
354
318
  videoElement.removeEventListener('seeked', seekEventListener);
355
319
  };
@@ -361,7 +325,7 @@ class VideoViewport extends Viewport {
361
325
  const renderFrame = this.renderFrame;
362
326
  videoElement.currentTime = timeInSeconds;
363
327
  if (videoElement.paused) {
364
- const seekEventListener = (evt) => {
328
+ const seekEventListener = () => {
365
329
  renderFrame();
366
330
  videoElement.removeEventListener('seeked', seekEventListener);
367
331
  };
@@ -578,7 +542,7 @@ class VideoViewport extends Viewport {
578
542
  return current;
579
543
  }
580
544
  getViewReferenceId(specifier = {}) {
581
- const { sliceIndex: sliceIndex } = specifier;
545
+ const { sliceIndex } = specifier;
582
546
  if (sliceIndex === undefined) {
583
547
  return `videoId:${this.getCurrentImageId()}`;
584
548
  }
@@ -748,4 +712,5 @@ class VideoViewport extends Viewport {
748
712
  return new CanvasActor(this, image);
749
713
  }
750
714
  }
715
+ VideoViewport.frameRangeExtractor = /(\/frames\/|[&?]frameNumber=)([^/&?]*)/i;
751
716
  export default VideoViewport;
@@ -4,7 +4,7 @@ import type { mat4 } from 'gl-matrix';
4
4
  import ViewportStatus from '../enums/ViewportStatus';
5
5
  import ViewportType from '../enums/ViewportType';
6
6
  import type { ICamera, ActorEntry, IRenderingEngine, ViewportInputOptions, Point2, Point3, FlipDirection, DisplayArea, ViewPresentation, ViewReference, ViewportProperties, ImageActor } from '../types';
7
- import type { ViewportInput, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewPresentationSelector, DataSetOptions, PlaneRestriction } from '../types/IViewport';
7
+ import type { ViewportInput, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewPresentationSelector, DataSetOptions, PlaneRestriction, RenderingEngineResizeOptions } from '../types/IViewport';
8
8
  import type { vtkSlabCamera } from './vtkClasses/vtkSlabCamera';
9
9
  import type IImageCalibration from '../types/IImageCalibration';
10
10
  import { InterpolationType } from '../enums';
@@ -17,6 +17,7 @@ declare class Viewport {
17
17
  readonly canvas: HTMLCanvasElement;
18
18
  readonly renderingEngineId: string;
19
19
  readonly type: ViewportType;
20
+ requestedType?: ViewportType;
20
21
  protected insetImageMultiplier: number;
21
22
  protected flipHorizontal: boolean;
22
23
  protected flipVertical: boolean;
@@ -47,13 +48,19 @@ declare class Viewport {
47
48
  getNumberOfSlices: () => number;
48
49
  protected setRotation: (_rotation: number) => void;
49
50
  static get useCustomRenderingPipeline(): boolean;
51
+ getUseCustomRenderingPipeline(): boolean;
52
+ resizeForRenderingEngine({ keepCamera, }?: RenderingEngineResizeOptions): void;
53
+ isOrientationChangeable(): boolean;
50
54
  private viewportWidgets;
51
55
  addWidget: (widgetId: any, widget: any) => void;
52
56
  getWidget: (id: any) => any;
53
57
  getWidgets: () => any[];
54
58
  getRenderPasses: () => any;
55
59
  removeWidgets: () => void;
60
+ dispose(): void;
61
+ destroy(): void;
56
62
  setRendered(): void;
63
+ setNeedsRender(): void;
57
64
  protected setColorTransform(voiRange: any, averageWhite: any): any;
58
65
  getRenderingEngine(): IRenderingEngine;
59
66
  getRenderer(): vtkRenderer;
@@ -98,22 +105,26 @@ declare class Viewport {
98
105
  resetZoom?: boolean;
99
106
  resetToCenter?: boolean;
100
107
  storeAsInitialCamera?: boolean;
108
+ resetAspectRatio?: boolean;
101
109
  }): boolean;
102
110
  protected setInitialCamera(camera: ICamera): void;
103
111
  protected setFitToCanvasCamera(camera: ICamera): void;
104
- getPan(initialCamera?: ICamera): Point2;
112
+ getPan(initialCamera?: ICamera<number>): Point2;
105
113
  getCurrentImageIdIndex(): number;
106
114
  getSliceIndex(): number;
107
115
  getImageData(): any;
108
116
  getViewReferenceId(_specifier?: ViewReferenceSpecifier): string;
109
117
  setPan(pan: Point2, storeAsInitialCamera?: boolean): void;
110
- getZoom(compareCamera?: ICamera): number;
118
+ getZoom(compareCamera?: ICamera<number>): number;
111
119
  setZoom(value: number, storeAsInitialCamera?: boolean): void;
120
+ getAspectRatio(): Point2;
121
+ setAspectRatio(value: Point2, isFitViewportAfterStretch?: boolean, storeAsInitialCamera?: boolean): void;
112
122
  private _getFocalPointForViewPlaneReset;
113
123
  getCanvas(): HTMLCanvasElement;
114
124
  protected getVtkActiveCamera(): vtkCamera | vtkSlabCamera;
115
125
  protected getCameraNoRotation(): ICamera;
116
126
  getCamera(): ICamera;
127
+ private setAspectRatioForVTKCamera;
117
128
  setCamera(cameraInterface: ICamera, storeAsInitialCamera?: boolean): void;
118
129
  triggerCameraModifiedEventIfNecessary(previousCamera: ICamera, updatedCamera: ICamera): void;
119
130
  updateCameraClippingPlanesAndRange(): void;
@@ -125,7 +136,7 @@ declare class Viewport {
125
136
  isPlaneViewable(planeRestriction: PlaneRestriction, options?: ReferenceCompatibleOptions): boolean;
126
137
  isReferenceViewable(viewRef: ViewReference, options?: ReferenceCompatibleOptions): boolean;
127
138
  getViewPresentation(viewPresSel?: ViewPresentationSelector): ViewPresentation;
128
- setViewReference(viewRef: ViewReference): void;
139
+ setViewReference(_viewRef: ViewReference): void;
129
140
  setViewPresentation(viewPres: ViewPresentation): void;
130
141
  _getCorners(bounds: number[]): number[][];
131
142
  _getFocalPointForResetCamera(centeredFocalPoint: Point3, previousCamera: ICamera, { resetPan, resetToCenter }: {
@@ -135,6 +146,10 @@ declare class Viewport {
135
146
  _isInBounds(point: Point3, bounds: number[]): boolean;
136
147
  _getEdges(bounds: number[]): [number[], number[]][];
137
148
  static boundsRadius(bounds: number[]): number;
138
- setDataIds(_imageIds: string[], _options?: DataSetOptions): void;
149
+ setDataList(_entries: Array<{
150
+ dataId: string;
151
+ options?: DataSetOptions;
152
+ }>): void;
139
153
  }
154
+ export declare function getVolumeCenterIJK(dimensions: number[], direction: ArrayLike<number>, viewPlaneNormal: ArrayLike<number>): number[];
140
155
  export default Viewport;