@cornerstonejs/core 4.22.13 → 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 (404) hide show
  1. package/dist/esm/RenderingEngine/BaseRenderingEngine.d.ts +4 -5
  2. package/dist/esm/RenderingEngine/BaseRenderingEngine.js +48 -61
  3. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +10 -17
  4. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.d.ts +1 -0
  5. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js +3 -0
  6. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.d.ts +10 -2
  7. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js +64 -6
  8. package/dist/esm/RenderingEngine/CanvasActor/index.d.ts +4 -0
  9. package/dist/esm/RenderingEngine/CanvasActor/index.js +59 -48
  10. package/dist/esm/RenderingEngine/ContextPoolRenderingEngine.d.ts +3 -4
  11. package/dist/esm/RenderingEngine/ContextPoolRenderingEngine.js +52 -34
  12. package/dist/esm/RenderingEngine/ECGViewport.d.ts +1 -1
  13. package/dist/esm/RenderingEngine/ECGViewport.js +33 -160
  14. package/dist/esm/RenderingEngine/GenericViewport/DefaultRenderPathResolver.d.ts +10 -0
  15. package/dist/esm/RenderingEngine/GenericViewport/DefaultRenderPathResolver.js +25 -0
  16. package/dist/esm/RenderingEngine/GenericViewport/ECG/CanvasECGRenderPath.d.ts +17 -0
  17. package/dist/esm/RenderingEngine/GenericViewport/ECG/CanvasECGRenderPath.js +144 -0
  18. package/dist/esm/RenderingEngine/GenericViewport/ECG/DefaultECGDataProvider.d.ts +5 -0
  19. package/dist/esm/RenderingEngine/GenericViewport/ECG/DefaultECGDataProvider.js +13 -0
  20. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGProjectionTypes.d.ts +42 -0
  21. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGProjectionTypes.js +2 -0
  22. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGRenderPathResolver.d.ts +4 -0
  23. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGRenderPathResolver.js +8 -0
  24. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGResolvedView.d.ts +27 -0
  25. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGResolvedView.js +121 -0
  26. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewport.d.ts +55 -0
  27. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewport.js +289 -0
  28. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportLegacyAdapter.d.ts +13 -0
  29. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportLegacyAdapter.js +70 -0
  30. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportTypes.d.ts +69 -0
  31. package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportTypes.js +0 -0
  32. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionAdapter.d.ts +8 -0
  33. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionAdapter.js +12 -0
  34. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionPresentation.d.ts +7 -0
  35. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionPresentation.js +52 -0
  36. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionSnapshot.d.ts +2 -0
  37. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionSnapshot.js +94 -0
  38. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgViewportCamera.d.ts +27 -0
  39. package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgViewportCamera.js +82 -0
  40. package/dist/esm/RenderingEngine/GenericViewport/ECG/index.d.ts +10 -0
  41. package/dist/esm/RenderingEngine/GenericViewport/ECG/index.js +8 -0
  42. package/dist/esm/RenderingEngine/GenericViewport/GenericViewport.d.ts +82 -0
  43. package/dist/esm/RenderingEngine/GenericViewport/GenericViewport.js +369 -0
  44. package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuImageSliceRenderPath.d.ts +24 -0
  45. package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuImageSliceRenderPath.js +456 -0
  46. package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuVolumeSliceRenderPath.d.ts +25 -0
  47. package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuVolumeSliceRenderPath.js +514 -0
  48. package/dist/esm/RenderingEngine/GenericViewport/Planar/DefaultPlanarDataProvider.d.ts +6 -0
  49. package/dist/esm/RenderingEngine/GenericViewport/Planar/DefaultPlanarDataProvider.js +80 -0
  50. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUScalarViewportSampler.d.ts +47 -0
  51. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUScalarViewportSampler.js +439 -0
  52. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUVolumeSampler.d.ts +98 -0
  53. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUVolumeSampler.js +686 -0
  54. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarLegacyCompatibilityController.d.ts +81 -0
  55. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarLegacyCompatibilityController.js +526 -0
  56. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarMountedData.d.ts +34 -0
  57. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarMountedData.js +111 -0
  58. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarProjectionTypes.d.ts +58 -0
  59. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarProjectionTypes.js +2 -0
  60. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathDecisionService.d.ts +28 -0
  61. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathDecisionService.js +145 -0
  62. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathResolver.d.ts +4 -0
  63. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathResolver.js +16 -0
  64. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarResolvedView.d.ts +91 -0
  65. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarResolvedView.js +305 -0
  66. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewReferenceController.d.ts +72 -0
  67. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewReferenceController.js +406 -0
  68. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewport.d.ts +187 -0
  69. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewport.js +1175 -0
  70. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportLegacyAdapter.d.ts +44 -0
  71. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportLegacyAdapter.js +279 -0
  72. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportTypes.d.ts +151 -0
  73. package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportTypes.js +0 -0
  74. package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkImageMapperRenderPath.d.ts +21 -0
  75. package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkImageMapperRenderPath.js +259 -0
  76. package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkVolumeSliceRenderPath.d.ts +23 -0
  77. package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkVolumeSliceRenderPath.js +289 -0
  78. package/dist/esm/RenderingEngine/GenericViewport/Planar/buildPlanarActorEntry.d.ts +10 -0
  79. package/dist/esm/RenderingEngine/GenericViewport/Planar/buildPlanarActorEntry.js +54 -0
  80. package/dist/esm/RenderingEngine/GenericViewport/Planar/index.d.ts +23 -0
  81. package/dist/esm/RenderingEngine/GenericViewport/Planar/index.js +20 -0
  82. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarActorCompatibility.d.ts +4 -0
  83. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarActorCompatibility.js +42 -0
  84. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarAdapterCoordinateTransforms.d.ts +44 -0
  85. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarAdapterCoordinateTransforms.js +129 -0
  86. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCPUVolumeSamplingUtils.d.ts +11 -0
  87. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCPUVolumeSamplingUtils.js +54 -0
  88. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCameraScale.d.ts +10 -0
  89. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCameraScale.js +35 -0
  90. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuImageTransforms.d.ts +3 -0
  91. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuImageTransforms.js +35 -0
  92. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuViewportMath.d.ts +10 -0
  93. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuViewportMath.js +35 -0
  94. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarImageEvents.d.ts +22 -0
  95. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarImageEvents.js +28 -0
  96. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarLegacyCompatibility.d.ts +13 -0
  97. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarLegacyCompatibility.js +136 -0
  98. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarMath.d.ts +3 -0
  99. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarMath.js +15 -0
  100. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarOrientationVectors.d.ts +12 -0
  101. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarOrientationVectors.js +37 -0
  102. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionAdapter.d.ts +7 -0
  103. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionAdapter.js +28 -0
  104. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionFallback.d.ts +4 -0
  105. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionFallback.js +25 -0
  106. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionPresentation.d.ts +5 -0
  107. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionPresentation.js +95 -0
  108. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionSnapshot.d.ts +6 -0
  109. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionSnapshot.js +126 -0
  110. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderCamera.d.ts +46 -0
  111. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderCamera.js +332 -0
  112. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathProjection.d.ts +51 -0
  113. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathProjection.js +96 -0
  114. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathSelector.d.ts +4 -0
  115. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathSelector.js +12 -0
  116. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRuntimeTypes.d.ts +86 -0
  117. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRuntimeTypes.js +0 -0
  118. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarSliceBasis.d.ts +51 -0
  119. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarSliceBasis.js +330 -0
  120. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewPresentation.d.ts +16 -0
  121. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewPresentation.js +25 -0
  122. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewReference.d.ts +46 -0
  123. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewReference.js +243 -0
  124. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewState.d.ts +5 -0
  125. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewState.js +59 -0
  126. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumePresentation.d.ts +10 -0
  127. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumePresentation.js +223 -0
  128. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumeSliceBlendMode.d.ts +5 -0
  129. package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumeSliceBlendMode.js +36 -0
  130. package/dist/esm/RenderingEngine/GenericViewport/ResolvedViewportView.d.ts +12 -0
  131. package/dist/esm/RenderingEngine/GenericViewport/ResolvedViewportView.js +10 -0
  132. package/dist/esm/RenderingEngine/GenericViewport/Video/DefaultVideoDataProvider.d.ts +5 -0
  133. package/dist/esm/RenderingEngine/GenericViewport/Video/DefaultVideoDataProvider.js +18 -0
  134. package/dist/esm/RenderingEngine/GenericViewport/Video/HtmlVideoRenderPath.d.ts +19 -0
  135. package/dist/esm/RenderingEngine/GenericViewport/Video/HtmlVideoRenderPath.js +141 -0
  136. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoProjectionTypes.d.ts +45 -0
  137. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoProjectionTypes.js +2 -0
  138. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoRenderPathResolver.d.ts +4 -0
  139. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoRenderPathResolver.js +8 -0
  140. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoResolvedView.d.ts +29 -0
  141. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoResolvedView.js +108 -0
  142. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewport.d.ts +59 -0
  143. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewport.js +458 -0
  144. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportLegacyAdapter.d.ts +15 -0
  145. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportLegacyAdapter.js +114 -0
  146. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportTypes.d.ts +45 -0
  147. package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportTypes.js +0 -0
  148. package/dist/esm/RenderingEngine/GenericViewport/Video/index.d.ts +10 -0
  149. package/dist/esm/RenderingEngine/GenericViewport/Video/index.js +8 -0
  150. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionAdapter.d.ts +8 -0
  151. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionAdapter.js +12 -0
  152. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionPresentation.d.ts +7 -0
  153. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionPresentation.js +66 -0
  154. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionSnapshot.d.ts +2 -0
  155. package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionSnapshot.js +86 -0
  156. package/dist/esm/RenderingEngine/GenericViewport/Video/videoViewportCamera.d.ts +30 -0
  157. package/dist/esm/RenderingEngine/GenericViewport/Video/videoViewportCamera.js +105 -0
  158. package/dist/esm/RenderingEngine/GenericViewport/ViewportArchitectureTypes.d.ts +126 -0
  159. package/dist/esm/RenderingEngine/GenericViewport/ViewportArchitectureTypes.js +20 -0
  160. package/dist/esm/RenderingEngine/GenericViewport/ViewportCameraTypes.d.ts +12 -0
  161. package/dist/esm/RenderingEngine/GenericViewport/ViewportCameraTypes.js +0 -0
  162. package/dist/esm/RenderingEngine/GenericViewport/ViewportProjectionTypes.d.ts +101 -0
  163. package/dist/esm/RenderingEngine/GenericViewport/ViewportProjectionTypes.js +0 -0
  164. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/DefaultVolume3DDataProvider.d.ts +8 -0
  165. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/DefaultVolume3DDataProvider.js +58 -0
  166. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DProjectionTypes.d.ts +35 -0
  167. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DProjectionTypes.js +2 -0
  168. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DRenderPathResolver.d.ts +4 -0
  169. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DRenderPathResolver.js +9 -0
  170. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DResolvedView.d.ts +18 -0
  171. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DResolvedView.js +42 -0
  172. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VolumeViewport3DLegacyAdapter.d.ts +39 -0
  173. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VolumeViewport3DLegacyAdapter.js +296 -0
  174. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkGeometry3DRenderPath.d.ts +22 -0
  175. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkGeometry3DRenderPath.js +156 -0
  176. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkVolume3DRenderPath.d.ts +23 -0
  177. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkVolume3DRenderPath.js +205 -0
  178. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/applyVolume3DCamera.d.ts +4 -0
  179. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/applyVolume3DCamera.js +33 -0
  180. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/index.d.ts +10 -0
  181. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/index.js +8 -0
  182. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3D.d.ts +60 -0
  183. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3D.js +399 -0
  184. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3DTypes.d.ts +88 -0
  185. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3DTypes.js +0 -0
  186. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionAdapter.d.ts +7 -0
  187. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionAdapter.js +27 -0
  188. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionCamera.d.ts +12 -0
  189. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionCamera.js +35 -0
  190. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionPresentation.d.ts +4 -0
  191. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionPresentation.js +22 -0
  192. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionSnapshot.d.ts +2 -0
  193. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionSnapshot.js +52 -0
  194. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/vtkVolume3DInitialCamera.d.ts +3 -0
  195. package/dist/esm/RenderingEngine/GenericViewport/Volume3D/vtkVolume3DInitialCamera.js +110 -0
  196. package/dist/esm/RenderingEngine/GenericViewport/WSI/DefaultWSIDataProvider.d.ts +6 -0
  197. package/dist/esm/RenderingEngine/GenericViewport/WSI/DefaultWSIDataProvider.js +35 -0
  198. package/dist/esm/RenderingEngine/GenericViewport/WSI/DicomMicroscopyRenderPath.d.ts +16 -0
  199. package/dist/esm/RenderingEngine/GenericViewport/WSI/DicomMicroscopyRenderPath.js +125 -0
  200. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIProjectionTypes.d.ts +40 -0
  201. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIProjectionTypes.js +2 -0
  202. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIRenderPathResolver.d.ts +4 -0
  203. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIRenderPathResolver.js +8 -0
  204. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIResolvedView.d.ts +26 -0
  205. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIResolvedView.js +104 -0
  206. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewport.d.ts +69 -0
  207. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewport.js +392 -0
  208. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportLegacyAdapter.d.ts +22 -0
  209. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportLegacyAdapter.js +144 -0
  210. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportTypes.d.ts +58 -0
  211. package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportTypes.js +0 -0
  212. package/dist/esm/RenderingEngine/GenericViewport/WSI/index.d.ts +10 -0
  213. package/dist/esm/RenderingEngine/GenericViewport/WSI/index.js +8 -0
  214. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionAdapter.d.ts +8 -0
  215. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionAdapter.js +12 -0
  216. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionPresentation.d.ts +7 -0
  217. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionPresentation.js +47 -0
  218. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionSnapshot.d.ts +2 -0
  219. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionSnapshot.js +90 -0
  220. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiTransformUtils.d.ts +29 -0
  221. package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiTransformUtils.js +128 -0
  222. package/dist/esm/RenderingEngine/GenericViewport/genericViewportDataSetAccess.d.ts +35 -0
  223. package/dist/esm/RenderingEngine/GenericViewport/genericViewportDataSetAccess.js +87 -0
  224. package/dist/esm/RenderingEngine/GenericViewport/genericViewportReferenceCompatibility.d.ts +18 -0
  225. package/dist/esm/RenderingEngine/GenericViewport/genericViewportReferenceCompatibility.js +238 -0
  226. package/dist/esm/RenderingEngine/GenericViewport/index.d.ts +23 -0
  227. package/dist/esm/RenderingEngine/GenericViewport/index.js +14 -0
  228. package/dist/esm/RenderingEngine/GenericViewport/setVtkCameraClippingRange.d.ts +2 -0
  229. package/dist/esm/RenderingEngine/GenericViewport/setVtkCameraClippingRange.js +8 -0
  230. package/dist/esm/RenderingEngine/GenericViewport/viewportProjection.d.ts +98 -0
  231. package/dist/esm/RenderingEngine/GenericViewport/viewportProjection.js +81 -0
  232. package/dist/esm/RenderingEngine/RenderingEngine.d.ts +3 -5
  233. package/dist/esm/RenderingEngine/RenderingEngine.js +3 -9
  234. package/dist/esm/RenderingEngine/StackViewport.d.ts +0 -1
  235. package/dist/esm/RenderingEngine/StackViewport.js +37 -45
  236. package/dist/esm/RenderingEngine/TiledRenderingEngine.d.ts +1 -0
  237. package/dist/esm/RenderingEngine/TiledRenderingEngine.js +23 -20
  238. package/dist/esm/RenderingEngine/VideoViewport.d.ts +5 -13
  239. package/dist/esm/RenderingEngine/VideoViewport.js +32 -68
  240. package/dist/esm/RenderingEngine/Viewport.d.ts +14 -5
  241. package/dist/esm/RenderingEngine/Viewport.js +60 -24
  242. package/dist/esm/RenderingEngine/VolumeViewport.js +20 -7
  243. package/dist/esm/RenderingEngine/WSIViewport.d.ts +12 -12
  244. package/dist/esm/RenderingEngine/WSIViewport.js +28 -101
  245. package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.js +6 -8
  246. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +4 -1
  247. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.js +157 -0
  248. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/index.d.ts +2 -3
  249. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/index.js +2 -3
  250. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.js +13 -3
  251. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +13 -3
  252. package/dist/esm/RenderingEngine/helpers/createVolumeSliceActor.d.ts +14 -0
  253. package/dist/esm/RenderingEngine/helpers/createVolumeSliceActor.js +69 -0
  254. package/dist/esm/RenderingEngine/helpers/getCameraVectors.d.ts +2 -1
  255. package/dist/esm/RenderingEngine/helpers/getCameraVectors.js +1 -1
  256. package/dist/esm/RenderingEngine/helpers/planarImageRendering.d.ts +51 -0
  257. package/dist/esm/RenderingEngine/helpers/planarImageRendering.js +116 -0
  258. package/dist/esm/RenderingEngine/helpers/planarVolumeRendering.d.ts +22 -0
  259. package/dist/esm/RenderingEngine/helpers/planarVolumeRendering.js +28 -0
  260. package/dist/esm/RenderingEngine/helpers/resolveViewportVolumeId.d.ts +1 -0
  261. package/dist/esm/RenderingEngine/helpers/resolveViewportVolumeId.js +19 -0
  262. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -2
  263. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +46 -15
  264. package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.js +6 -9
  265. package/dist/esm/RenderingEngine/helpers/stats/RenderModesPanel.d.ts +19 -0
  266. package/dist/esm/RenderingEngine/helpers/stats/RenderModesPanel.js +228 -0
  267. package/dist/esm/RenderingEngine/helpers/stats/StatsOverlay.d.ts +22 -3
  268. package/dist/esm/RenderingEngine/helpers/stats/StatsOverlay.js +192 -18
  269. package/dist/esm/RenderingEngine/helpers/stats/constants.d.ts +13 -1
  270. package/dist/esm/RenderingEngine/helpers/stats/constants.js +14 -1
  271. package/dist/esm/RenderingEngine/helpers/stats/enums.d.ts +2 -1
  272. package/dist/esm/RenderingEngine/helpers/stats/enums.js +1 -0
  273. package/dist/esm/RenderingEngine/helpers/stats/types.d.ts +1 -1
  274. package/dist/esm/RenderingEngine/helpers/supportsVolumeCompatibilityApi.d.ts +4 -0
  275. package/dist/esm/RenderingEngine/helpers/supportsVolumeCompatibilityApi.js +7 -0
  276. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +27 -4
  277. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +126 -11
  278. package/dist/esm/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts +3 -1
  279. package/dist/esm/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.js +9 -2
  280. package/dist/esm/RenderingEngine/helpers/vtkCanvasCoordinateTransforms.d.ts +12 -0
  281. package/dist/esm/RenderingEngine/helpers/vtkCanvasCoordinateTransforms.js +57 -0
  282. package/dist/esm/RenderingEngine/index.d.ts +69 -1
  283. package/dist/esm/RenderingEngine/index.js +40 -1
  284. package/dist/esm/RenderingEngine/vtkClasses/index.d.ts +3 -1
  285. package/dist/esm/RenderingEngine/vtkClasses/index.js +3 -1
  286. package/dist/esm/RenderingEngine/vtkClasses/vtkSharedImageResliceMapper.d.ts +7 -0
  287. package/dist/esm/RenderingEngine/vtkClasses/vtkSharedImageResliceMapper.js +21 -0
  288. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLImageResliceMapper.d.ts +7 -0
  289. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLImageResliceMapper.js +420 -0
  290. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +7 -0
  291. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +9 -3
  292. package/dist/esm/cache/cache.d.ts +1 -1
  293. package/dist/esm/cache/cache.js +4 -1
  294. package/dist/esm/cache/classes/BaseStreamingImageVolume.js +6 -6
  295. package/dist/esm/cache/classes/ImageVolume.js +5 -0
  296. package/dist/esm/enums/CalibrationTypes.d.ts +4 -12
  297. package/dist/esm/enums/CalibrationTypes.js +3 -13
  298. package/dist/esm/enums/MetadataModules.d.ts +3 -38
  299. package/dist/esm/enums/MetadataModules.js +2 -39
  300. package/dist/esm/enums/ViewportType.d.ts +6 -1
  301. package/dist/esm/enums/ViewportType.js +5 -0
  302. package/dist/esm/enums/ViewportTypes.d.ts +5 -0
  303. package/dist/esm/enums/ViewportTypes.js +23 -0
  304. package/dist/esm/enums/index.d.ts +2 -1
  305. package/dist/esm/enums/index.js +2 -1
  306. package/dist/esm/getEnabledElement.js +4 -1
  307. package/dist/esm/index.d.ts +72 -2
  308. package/dist/esm/index.js +41 -2
  309. package/dist/esm/init.d.ts +2 -1
  310. package/dist/esm/init.js +14 -1
  311. package/dist/esm/loaders/ProgressiveRetrieveImages.js +11 -11
  312. package/dist/esm/loaders/cornerstoneMeshLoader.js +1 -1
  313. package/dist/esm/loaders/imageLoader.d.ts +2 -1
  314. package/dist/esm/loaders/imageLoader.js +25 -10
  315. package/dist/esm/loaders/volumeLoader.js +8 -4
  316. package/dist/esm/metaData.d.ts +2 -8
  317. package/dist/esm/metaData.js +2 -75
  318. package/dist/esm/types/Cornerstone3DConfig.d.ts +11 -0
  319. package/dist/esm/types/EventTypes.d.ts +3 -3
  320. package/dist/esm/types/IActor.d.ts +33 -0
  321. package/dist/esm/types/IActor.js +8 -0
  322. package/dist/esm/types/ICamera.d.ts +2 -2
  323. package/dist/esm/types/IEnabledElement.d.ts +1 -1
  324. package/dist/esm/types/IImageCalibration.d.ts +2 -11
  325. package/dist/esm/types/IViewport.d.ts +9 -1
  326. package/dist/esm/types/IWSIViewport.d.ts +3 -2
  327. package/dist/esm/types/ImagePlaneModule.d.ts +3 -1
  328. package/dist/esm/types/MetadataModuleTypes.d.ts +1 -70
  329. package/dist/esm/types/ViewportTypeRegistry.d.ts +33 -0
  330. package/dist/esm/types/ViewportTypeRegistry.js +0 -0
  331. package/dist/esm/types/index.d.ts +7 -3
  332. package/dist/esm/types/index.js +2 -0
  333. package/dist/esm/utilities/ECGUtilities.d.ts +83 -0
  334. package/dist/esm/utilities/ECGUtilities.js +228 -0
  335. package/dist/esm/utilities/FrameRange.js +3 -2
  336. package/dist/esm/utilities/RLEVoxelMap.js +9 -7
  337. package/dist/esm/utilities/VideoUtilities.d.ts +34 -0
  338. package/dist/esm/utilities/VideoUtilities.js +102 -0
  339. package/dist/esm/utilities/VoxelManager.d.ts +20 -1
  340. package/dist/esm/utilities/VoxelManager.js +162 -27
  341. package/dist/esm/utilities/WSIUtilities.d.ts +119 -0
  342. package/dist/esm/utilities/WSIUtilities.js +110 -0
  343. package/dist/esm/utilities/buildMetadata.js +23 -23
  344. package/dist/esm/utilities/calculateSpacingBetweenImageIds.js +6 -5
  345. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +5 -5
  346. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.js +2 -15
  347. package/dist/esm/utilities/clonePoint3.d.ts +3 -0
  348. package/dist/esm/utilities/clonePoint3.js +3 -0
  349. package/dist/esm/utilities/colormap.d.ts +2 -1
  350. package/dist/esm/utilities/colormap.js +43 -4
  351. package/dist/esm/utilities/deepClone.d.ts +1 -1
  352. package/dist/esm/utilities/deepClone.js +46 -17
  353. package/dist/esm/utilities/genericMetadataProvider.js +2 -1
  354. package/dist/esm/utilities/genericViewportDataSetMetadataProvider.d.ts +8 -0
  355. package/dist/esm/utilities/genericViewportDataSetMetadataProvider.js +23 -0
  356. package/dist/esm/utilities/getAcquisitionPlaneOrientation.d.ts +2 -0
  357. package/dist/esm/utilities/getAcquisitionPlaneOrientation.js +7 -0
  358. package/dist/esm/utilities/getClosestImageId.js +2 -1
  359. package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +2 -1
  360. package/dist/esm/utilities/getPixelSpacingInformation.d.ts +5 -13
  361. package/dist/esm/utilities/getPixelSpacingInformation.js +4 -93
  362. package/dist/esm/utilities/getScalingParameters.js +4 -3
  363. package/dist/esm/utilities/getVOIRangeFromWindowLevel.d.ts +3 -0
  364. package/dist/esm/utilities/getVOIRangeFromWindowLevel.js +18 -0
  365. package/dist/esm/utilities/getViewportImageIds.js +1 -1
  366. package/dist/esm/utilities/getViewportsWithImageURI.d.ts +2 -4
  367. package/dist/esm/utilities/getViewportsWithImageURI.js +4 -1
  368. package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +2 -2
  369. package/dist/esm/utilities/getViewportsWithVolumeId.js +4 -1
  370. package/dist/esm/utilities/getViewportsWithVolumeURI.d.ts +2 -2
  371. package/dist/esm/utilities/getViewportsWithVolumeURI.js +4 -1
  372. package/dist/esm/utilities/getVolumeViewReferenceId.d.ts +6 -0
  373. package/dist/esm/utilities/getVolumeViewReferenceId.js +6 -0
  374. package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
  375. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.d.ts +2 -2
  376. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.js +4 -1
  377. package/dist/esm/utilities/hasOwn.d.ts +1 -0
  378. package/dist/esm/utilities/hasOwn.js +3 -0
  379. package/dist/esm/utilities/imageIdToURI.d.ts +3 -1
  380. package/dist/esm/utilities/imageIdToURI.js +2 -7
  381. package/dist/esm/utilities/index.d.ts +11 -1
  382. package/dist/esm/utilities/index.js +11 -1
  383. package/dist/esm/utilities/isEqual.d.ts +3 -5
  384. package/dist/esm/utilities/isEqual.js +3 -48
  385. package/dist/esm/utilities/isValidVolume.js +19 -4
  386. package/dist/esm/utilities/isVideoTransferSyntax.d.ts +3 -1
  387. package/dist/esm/utilities/isVideoTransferSyntax.js +3 -25
  388. package/dist/esm/utilities/loadImageToCanvas.js +2 -2
  389. package/dist/esm/utilities/logger.d.ts +3 -14
  390. package/dist/esm/utilities/logger.js +2 -23
  391. package/dist/esm/utilities/rotateToViewCoordinates.js +7 -7
  392. package/dist/esm/utilities/scroll.d.ts +1 -1
  393. package/dist/esm/utilities/scroll.js +2 -1
  394. package/dist/esm/utilities/sortImageIdsAndGetSpacing.js +4 -3
  395. package/dist/esm/utilities/splitImageIdsBy4DTags.d.ts +2 -10
  396. package/dist/esm/utilities/splitImageIdsBy4DTags.js +2 -312
  397. package/dist/esm/utilities/toNumber.d.ts +3 -1
  398. package/dist/esm/utilities/toNumber.js +3 -3
  399. package/dist/esm/utilities/viewportCapabilities.d.ts +19 -0
  400. package/dist/esm/utilities/viewportCapabilities.js +32 -0
  401. package/dist/esm/version.d.ts +1 -1
  402. package/dist/esm/version.js +1 -1
  403. package/dist/esm/webWorkerManager/webWorkerManager.js +3 -1
  404. package/package.json +16 -8
@@ -17,26 +17,25 @@ declare abstract class BaseRenderingEngine {
17
17
  constructor(id?: string);
18
18
  enableElement(viewportInputEntry: PublicViewportInput): void;
19
19
  disableElement(viewportId: string): void;
20
+ disableViewport(viewportId: string): void;
20
21
  setViewports(publicViewportInputEntries: PublicViewportInput[]): void;
21
22
  resize(immediate?: boolean, keepCamera?: boolean): void;
22
- getViewport(viewportId: string): IViewport;
23
+ getViewport<T = IViewport>(viewportId: string): T;
23
24
  getViewports(): IViewport[];
24
- getStackViewport(viewportId: string): IStackViewport;
25
- getStackViewports(): IStackViewport[];
26
- getVolumeViewports(): IVolumeViewport[];
27
25
  render(): void;
28
26
  renderFrameOfReference: (FrameOfReferenceUID: string) => void;
29
27
  renderViewports(viewportIds: string[]): void;
30
28
  renderViewport(viewportId: string): void;
31
29
  destroy(): void;
32
30
  fillCanvasWithBackgroundColor(canvas: HTMLCanvasElement, backgroundColor: [number, number, number]): void;
31
+ private static readonly NEXT_TYPE_REMAP;
33
32
  private _normalizeViewportInputEntry;
34
33
  private _normalizeViewportInputEntries;
35
34
  private _resizeUsingCustomResizeHandler;
36
35
  private _removeViewport;
37
36
  private addCustomViewport;
38
37
  getRenderer(viewportId: any): import("@kitware/vtk.js/Rendering/Core/Renderer").vtkRenderer;
39
- getOffscreenMultiRenderWindow(viewportId?: string): VtkOffscreenMultiRenderWindow;
38
+ getOffscreenMultiRenderWindow(_viewportId?: string): VtkOffscreenMultiRenderWindow;
40
39
  private setCustomViewports;
41
40
  protected _getViewportsAsArray(): IViewport[];
42
41
  private _setViewportsToBeRenderedNextFrame;
@@ -4,12 +4,10 @@ import eventTarget from '../eventTarget';
4
4
  import uuidv4 from '../utilities/uuidv4';
5
5
  import triggerEvent from '../utilities/triggerEvent';
6
6
  import ViewportType from '../enums/ViewportType';
7
- import BaseVolumeViewport from './BaseVolumeViewport';
8
- import StackViewport from './StackViewport';
9
- import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesCustomRenderingPipeline';
7
+ import viewportTypeUsesCustomRenderingPipeline, { viewportUsesCustomRenderingPipeline, } from './helpers/viewportTypeUsesCustomRenderingPipeline';
10
8
  import getOrCreateCanvas from './helpers/getOrCreateCanvas';
11
- import { getShouldUseCPURendering, isCornerstoneInitialized, getConfiguration, } from '../init';
12
- import viewportTypeToViewportClass from './helpers/viewportTypeToViewportClass';
9
+ import { getShouldUseCPURendering, getUseGenericViewport, isCornerstoneInitialized, getConfiguration, } from '../init';
10
+ import { getViewportClassForInput } from './helpers/viewportTypeToViewportClass';
13
11
  import ViewportStatus from '../enums/ViewportStatus';
14
12
  import { OrientationAxis } from '../enums';
15
13
  import { StatsOverlay } from './helpers/stats';
@@ -55,7 +53,7 @@ class BaseRenderingEngine {
55
53
  }
56
54
  const { type } = viewportInput;
57
55
  const viewportUsesCustomRenderingPipeline = viewportTypeUsesCustomRenderingPipeline(type);
58
- if (!this.useCPURendering && !viewportUsesCustomRenderingPipeline) {
56
+ if (!viewportUsesCustomRenderingPipeline) {
59
57
  this.enableVTKjsDrivenViewport(viewportInput);
60
58
  }
61
59
  else {
@@ -74,10 +72,8 @@ class BaseRenderingEngine {
74
72
  }
75
73
  this._resetViewport(viewport);
76
74
  if (!viewportTypeUsesCustomRenderingPipeline(viewport.type) &&
77
- !this.useCPURendering) {
78
- if (this.offscreenMultiRenderWindow) {
79
- this.offscreenMultiRenderWindow.removeRenderer(viewportId);
80
- }
75
+ this.offscreenMultiRenderWindow) {
76
+ this.offscreenMultiRenderWindow.removeRenderer(viewportId);
81
77
  }
82
78
  this._removeViewport(viewportId);
83
79
  viewport.isDisabled = true;
@@ -87,6 +83,9 @@ class BaseRenderingEngine {
87
83
  this._clearAnimationFrame();
88
84
  }
89
85
  }
86
+ disableViewport(viewportId) {
87
+ this.disableElement(viewportId);
88
+ }
90
89
  setViewports(publicViewportInputEntries) {
91
90
  const viewportInputEntries = this._normalizeViewportInputEntries(publicViewportInputEntries);
92
91
  this._throwIfDestroyed();
@@ -94,8 +93,7 @@ class BaseRenderingEngine {
94
93
  const vtkDrivenViewportInputEntries = [];
95
94
  const customRenderingViewportInputEntries = [];
96
95
  viewportInputEntries.forEach((vpie) => {
97
- if (!this.useCPURendering &&
98
- !viewportTypeUsesCustomRenderingPipeline(vpie.type)) {
96
+ if (!viewportTypeUsesCustomRenderingPipeline(vpie.type)) {
99
97
  vtkDrivenViewportInputEntries.push(vpie);
100
98
  }
101
99
  else {
@@ -116,7 +114,7 @@ class BaseRenderingEngine {
116
114
  const vtkDrivenViewports = [];
117
115
  const customRenderingViewports = [];
118
116
  viewports.forEach((vpie) => {
119
- if (!viewportTypeUsesCustomRenderingPipeline(vpie.type)) {
117
+ if (!viewportUsesCustomRenderingPipeline(vpie)) {
120
118
  vtkDrivenViewports.push(vpie);
121
119
  }
122
120
  else {
@@ -137,30 +135,6 @@ class BaseRenderingEngine {
137
135
  this._throwIfDestroyed();
138
136
  return this._getViewportsAsArray();
139
137
  }
140
- getStackViewport(viewportId) {
141
- this._throwIfDestroyed();
142
- const viewport = this.getViewport(viewportId);
143
- if (!viewport) {
144
- throw new Error(`Viewport with Id ${viewportId} does not exist`);
145
- }
146
- if (!(viewport instanceof StackViewport)) {
147
- throw new Error(`Viewport with Id ${viewportId} is not a StackViewport.`);
148
- }
149
- return viewport;
150
- }
151
- getStackViewports() {
152
- this._throwIfDestroyed();
153
- const viewports = this.getViewports();
154
- return viewports.filter((vp) => vp instanceof StackViewport);
155
- }
156
- getVolumeViewports() {
157
- this._throwIfDestroyed();
158
- const viewports = this.getViewports();
159
- const isVolumeViewport = (viewport) => {
160
- return viewport instanceof BaseVolumeViewport;
161
- };
162
- return viewports.filter(isVolumeViewport);
163
- }
164
138
  render() {
165
139
  const viewports = this.getViewports();
166
140
  const viewportIds = viewports.map((vp) => vp.id);
@@ -177,19 +151,19 @@ class BaseRenderingEngine {
177
151
  return;
178
152
  }
179
153
  StatsOverlay.cleanup();
180
- if (!this.useCPURendering) {
181
- const viewports = this._getViewportsAsArray();
154
+ const viewports = this._getViewportsAsArray();
155
+ this._reset();
156
+ if (this.offscreenMultiRenderWindow) {
182
157
  viewports.forEach((vp) => {
183
- if (this.offscreenMultiRenderWindow) {
158
+ if (this.offscreenMultiRenderWindow &&
159
+ !viewportUsesCustomRenderingPipeline(vp) &&
160
+ this.offscreenMultiRenderWindow.getRenderer(vp.id)) {
184
161
  this.offscreenMultiRenderWindow.removeRenderer(vp.id);
185
162
  }
186
163
  });
187
- if (this.offscreenMultiRenderWindow) {
188
- this.offscreenMultiRenderWindow.delete();
189
- }
164
+ this.offscreenMultiRenderWindow.delete();
190
165
  delete this.offscreenMultiRenderWindow;
191
166
  }
192
- this._reset();
193
167
  renderingEngineCache.delete(this.id);
194
168
  this.hasBeenDestroyed = true;
195
169
  }
@@ -202,7 +176,15 @@ class BaseRenderingEngine {
202
176
  ctx.fillRect(0, 0, canvas.width, canvas.height);
203
177
  }
204
178
  _normalizeViewportInputEntry(viewportInputEntry) {
205
- const { type, defaultOptions } = viewportInputEntry;
179
+ const requestedType = viewportInputEntry.type;
180
+ let { type } = viewportInputEntry;
181
+ const { defaultOptions } = viewportInputEntry;
182
+ if (getUseGenericViewport()) {
183
+ const remapped = BaseRenderingEngine.NEXT_TYPE_REMAP[type];
184
+ if (remapped) {
185
+ type = remapped;
186
+ }
187
+ }
206
188
  let options = defaultOptions;
207
189
  if (!options || Object.keys(options).length === 0) {
208
190
  options = {
@@ -210,7 +192,7 @@ class BaseRenderingEngine {
210
192
  orientation: null,
211
193
  displayArea: null,
212
194
  };
213
- if (type === ViewportType.ORTHOGRAPHIC) {
195
+ if (requestedType === ViewportType.ORTHOGRAPHIC) {
214
196
  options = {
215
197
  ...options,
216
198
  orientation: OrientationAxis.AXIAL,
@@ -219,6 +201,10 @@ class BaseRenderingEngine {
219
201
  }
220
202
  return {
221
203
  ...viewportInputEntry,
204
+ requestedType: requestedType !== type || getUseGenericViewport()
205
+ ? requestedType
206
+ : undefined,
207
+ type,
222
208
  defaultOptions: options,
223
209
  };
224
210
  }
@@ -231,16 +217,7 @@ class BaseRenderingEngine {
231
217
  }
232
218
  _resizeUsingCustomResizeHandler(customRenderingViewports, keepCamera = true, immediate = true) {
233
219
  customRenderingViewports.forEach((vp) => {
234
- if (typeof vp.resize === 'function') {
235
- vp.resize();
236
- }
237
- });
238
- customRenderingViewports.forEach((vp) => {
239
- const prevCamera = vp.getCamera();
240
- vp.resetCamera();
241
- if (keepCamera) {
242
- vp.setCamera(prevCamera);
243
- }
220
+ vp.resizeForRenderingEngine({ keepCamera });
244
221
  });
245
222
  if (immediate) {
246
223
  this.render();
@@ -275,8 +252,9 @@ class BaseRenderingEngine {
275
252
  sHeight: clientHeight,
276
253
  defaultOptions: defaultOptions || {},
277
254
  };
278
- const ViewportType = viewportTypeToViewportClass[type];
279
- const viewport = new ViewportType(viewportInput);
255
+ const ViewportClass = getViewportClassForInput(viewportInputEntry);
256
+ const viewport = new ViewportClass(viewportInput);
257
+ viewport.requestedType = type;
280
258
  this._viewports.set(viewportId, viewport);
281
259
  const eventDetail = {
282
260
  element,
@@ -288,9 +266,9 @@ class BaseRenderingEngine {
288
266
  getRenderer(viewportId) {
289
267
  return this.offscreenMultiRenderWindow.getRenderer(viewportId);
290
268
  }
291
- getOffscreenMultiRenderWindow(viewportId) {
292
- if (this.useCPURendering) {
293
- throw new Error('Offscreen multi render window is not available when using CPU rendering.');
269
+ getOffscreenMultiRenderWindow(_viewportId) {
270
+ if (!this.offscreenMultiRenderWindow) {
271
+ throw new Error('Offscreen multi render window is not available.');
294
272
  }
295
273
  return this.offscreenMultiRenderWindow;
296
274
  }
@@ -328,6 +306,7 @@ class BaseRenderingEngine {
328
306
  };
329
307
  viewport.removeWidgets();
330
308
  triggerEvent(eventTarget, Events.ELEMENT_DISABLED, eventDetail);
309
+ viewport.destroy?.();
331
310
  element.removeAttribute('data-viewport-uid');
332
311
  element.removeAttribute('data-rendering-engine-uid');
333
312
  const context = canvas.getContext('2d');
@@ -353,4 +332,12 @@ class BaseRenderingEngine {
353
332
  }
354
333
  }
355
334
  }
335
+ BaseRenderingEngine.NEXT_TYPE_REMAP = {
336
+ [ViewportType.STACK]: ViewportType.PLANAR_NEXT,
337
+ [ViewportType.ORTHOGRAPHIC]: ViewportType.PLANAR_NEXT,
338
+ [ViewportType.VIDEO]: ViewportType.VIDEO_NEXT,
339
+ [ViewportType.WHOLE_SLIDE]: ViewportType.WHOLE_SLIDE_NEXT,
340
+ [ViewportType.ECG]: ViewportType.ECG_NEXT,
341
+ [ViewportType.VOLUME_3D]: ViewportType.VOLUME_3D_NEXT,
342
+ };
356
343
  export default BaseRenderingEngine;
@@ -1,5 +1,4 @@
1
1
  import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
2
- import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps';
3
2
  import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
4
3
  import { vec2, vec3 } from 'gl-matrix';
5
4
  import cache from '../cache/cache';
@@ -14,6 +13,7 @@ import invertRgbTransferFunction from '../utilities/invertRgbTransferFunction';
14
13
  import createSigmoidRGBTransferFunction from '../utilities/createSigmoidRGBTransferFunction';
15
14
  import transformWorldToIndex from '../utilities/transformWorldToIndex';
16
15
  import { findMatchingColormap, updateOpacity as colormapUpdateOpacity, updateThreshold as colormapUpdateThreshold, getThresholdValue, getMaxOpacity, } from '../utilities/colormap';
16
+ import getAcquisitionPlaneOrientation from '../utilities/getAcquisitionPlaneOrientation';
17
17
  import { getTransferFunctionNodes, setTransferFunctionNodes, } from '../utilities/transferFunctionUtils';
18
18
  import createVolumeActor from './helpers/createVolumeActor';
19
19
  import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './helpers/volumeNewImageEventDispatcher';
@@ -31,6 +31,7 @@ import { getCameraVectors } from './helpers/getCameraVectors';
31
31
  import { isContextPoolRenderingEngine } from './helpers/isContextPoolRenderingEngine';
32
32
  import mprCameraValues from '../constants/mprCameraValues';
33
33
  import { isInvalidNumber } from './helpers/isInvalidNumber';
34
+ import getVolumeViewReferenceId from '../utilities/getVolumeViewReferenceId';
34
35
  import { createSharpeningRenderPass, createSmoothingRenderPass, } from './renderPasses';
35
36
  class BaseVolumeViewport extends Viewport {
36
37
  constructor(props) {
@@ -434,11 +435,7 @@ class BaseVolumeViewport extends Viewport {
434
435
  }
435
436
  const { volumeActor } = applicableVolumeActorInfo;
436
437
  const cfun = vtkColorTransferFunction.newInstance();
437
- let colormapObj = colormapUtils.getColormap(colormap.name);
438
- const { name } = colormap;
439
- if (!colormapObj) {
440
- colormapObj = vtkColorMaps.getPresetByName(name);
441
- }
438
+ const colormapObj = colormapUtils.resolveColormap(colormap.name);
442
439
  if (!colormapObj) {
443
440
  throw new Error(`Colormap ${colormap} not found`);
444
441
  }
@@ -1175,13 +1172,7 @@ class BaseVolumeViewport extends Viewport {
1175
1172
  if (!imageVolume) {
1176
1173
  throw new Error(`imageVolume with id: ${volumeId} does not exist in cache`);
1177
1174
  }
1178
- const { direction } = imageVolume;
1179
- const viewPlaneNormal = direction.slice(6, 9).map((x) => -x);
1180
- const viewUp = direction.slice(3, 6).map((x) => -x);
1181
- return {
1182
- viewPlaneNormal,
1183
- viewUp,
1184
- };
1175
+ return getAcquisitionPlaneOrientation(imageVolume);
1185
1176
  }
1186
1177
  getSlabThickness() {
1187
1178
  const actors = this.getActors();
@@ -1231,10 +1222,12 @@ class BaseVolumeViewport extends Viewport {
1231
1222
  }
1232
1223
  const currentIndex = this.getSliceIndex();
1233
1224
  sliceIndex ??= currentIndex;
1234
- const { viewPlaneNormal, focalPoint } = this.getCamera();
1235
- const querySeparator = volumeId.includes('?') ? '&' : '?';
1236
- const formattedNormal = viewPlaneNormal.map((v) => v.toFixed(3)).join(',');
1237
- return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${formattedNormal}`;
1225
+ const { viewPlaneNormal } = this.getCamera();
1226
+ return getVolumeViewReferenceId({
1227
+ sliceIndex,
1228
+ viewPlaneNormal,
1229
+ volumeId,
1230
+ });
1238
1231
  }
1239
1232
  _addVolumeId(volumeId) {
1240
1233
  this.volumeIds.add(volumeId);
@@ -3,4 +3,5 @@ export default class CanvasMapper {
3
3
  private actor;
4
4
  constructor(actor: CanvasActor);
5
5
  getInputData(): any;
6
+ modified(): void;
6
7
  }
@@ -5,4 +5,7 @@ export default class CanvasMapper {
5
5
  getInputData() {
6
6
  return this.actor.getImage();
7
7
  }
8
+ modified() {
9
+ this.actor.modified();
10
+ }
8
11
  }
@@ -4,12 +4,20 @@ export default class CanvasProperties {
4
4
  private opacity;
5
5
  private outlineOpacity;
6
6
  private transferFunction;
7
+ private scalarOpacityFunction;
8
+ private colorCache;
7
9
  constructor(actor: CanvasActor);
8
10
  setRGBTransferFunction(index: any, cfun: any): void;
9
- setScalarOpacity(opacity: number): void;
11
+ getRGBTransferFunction(index?: number): any;
12
+ setScalarOpacity(indexOrOpacity: any, scalarOpacityFunction?: any): void;
13
+ getScalarOpacity(): any;
14
+ getOpacity(): number;
10
15
  setInterpolationTypeToNearest(): void;
11
16
  setUseLabelOutline(): void;
12
17
  setLabelOutlineOpacity(opacity: any): void;
13
18
  setLabelOutlineThickness(): void;
14
- getColor(index: number): any[];
19
+ modified(): void;
20
+ getColorBytes(index: number, destination?: Uint8ClampedArray | Uint8Array | number[], offset?: number): [number, number, number, number];
21
+ getColor(index: number): number[];
22
+ private invalidateColorCache;
15
23
  }
@@ -3,12 +3,37 @@ export default class CanvasProperties {
3
3
  this.opacity = 0.4;
4
4
  this.outlineOpacity = 0.4;
5
5
  this.transferFunction = [];
6
+ this.colorCache = new Map();
6
7
  this.actor = actor;
7
8
  }
8
9
  setRGBTransferFunction(index, cfun) {
9
10
  this.transferFunction[index] = cfun;
11
+ this.invalidateColorCache();
10
12
  }
11
- setScalarOpacity(opacity) {
13
+ getRGBTransferFunction(index = 0) {
14
+ return this.transferFunction[index];
15
+ }
16
+ setScalarOpacity(indexOrOpacity, scalarOpacityFunction) {
17
+ if (scalarOpacityFunction?.getValue) {
18
+ this.scalarOpacityFunction = scalarOpacityFunction;
19
+ this.invalidateColorCache();
20
+ return;
21
+ }
22
+ if (indexOrOpacity?.getValue) {
23
+ this.scalarOpacityFunction = indexOrOpacity;
24
+ this.invalidateColorCache();
25
+ return;
26
+ }
27
+ if (typeof indexOrOpacity === 'number') {
28
+ this.opacity = indexOrOpacity;
29
+ this.invalidateColorCache();
30
+ }
31
+ }
32
+ getScalarOpacity() {
33
+ return this.scalarOpacityFunction;
34
+ }
35
+ getOpacity() {
36
+ return this.opacity;
12
37
  }
13
38
  setInterpolationTypeToNearest() {
14
39
  }
@@ -19,11 +44,44 @@ export default class CanvasProperties {
19
44
  }
20
45
  setLabelOutlineThickness() {
21
46
  }
47
+ modified() {
48
+ this.invalidateColorCache();
49
+ }
50
+ getColorBytes(index, destination, offset = 0) {
51
+ let color = this.colorCache.get(index);
52
+ if (!color) {
53
+ const cfun = this.transferFunction[0];
54
+ if (!cfun) {
55
+ color = [0, 0, 0, 0];
56
+ }
57
+ else {
58
+ const rawOpacity = this.scalarOpacityFunction?.getValue
59
+ ? this.scalarOpacityFunction.getValue(index)
60
+ : this.opacity;
61
+ const opacity = Math.min(Math.max(rawOpacity, 0), 1);
62
+ color = [
63
+ Math.round(Math.min(Math.max(cfun.getRedValue(index), 0), 1) * 255),
64
+ Math.round(Math.min(Math.max(cfun.getGreenValue(index), 0), 1) * 255),
65
+ Math.round(Math.min(Math.max(cfun.getBlueValue(index), 0), 1) * 255),
66
+ Math.round(opacity * 255),
67
+ ];
68
+ }
69
+ this.colorCache.set(index, color);
70
+ }
71
+ if (destination) {
72
+ destination[offset] = color[0];
73
+ destination[offset + 1] = color[1];
74
+ destination[offset + 2] = color[2];
75
+ destination[offset + 3] = color[3];
76
+ }
77
+ return color;
78
+ }
22
79
  getColor(index) {
23
- const cfun = this.transferFunction[0];
24
- const r = cfun.getRedValue(index);
25
- const g = cfun.getGreenValue(index);
26
- const b = cfun.getBlueValue(index);
27
- return [r, g, b, this.opacity];
80
+ const [r, g, b, opacity] = this.getColorBytes(index);
81
+ return [r / 255, g / 255, b / 255, opacity / 255];
82
+ }
83
+ invalidateColorCache() {
84
+ this.colorCache.clear();
85
+ this.actor.modified();
28
86
  }
29
87
  }
@@ -8,6 +8,9 @@ export default class CanvasActor {
8
8
  private visibility;
9
9
  private mapper;
10
10
  private viewport;
11
+ private rasterDirty;
12
+ private hasCachedRaster;
13
+ private cachedImageData?;
11
14
  protected className: string;
12
15
  protected canvas: any;
13
16
  constructor(viewport: IViewport, derivedImage: any);
@@ -19,5 +22,6 @@ export default class CanvasActor {
19
22
  setVisibility(visibility: boolean): void;
20
23
  getMapper(): CanvasMapper;
21
24
  isA(actorType: any): boolean;
25
+ modified(): void;
22
26
  getImage(): any;
23
27
  }
@@ -5,6 +5,8 @@ export default class CanvasActor {
5
5
  this.canvasProperties = new CanvasProperties(this);
6
6
  this.visibility = false;
7
7
  this.mapper = new CanvasMapper(this);
8
+ this.rasterDirty = true;
9
+ this.hasCachedRaster = false;
8
10
  this.className = 'CanvasActor';
9
11
  this.derivedImage = derivedImage;
10
12
  this.viewport = viewport;
@@ -14,53 +16,54 @@ export default class CanvasActor {
14
16
  let { canvas } = this;
15
17
  if (!canvas || canvas.width !== width || canvas.height !== height) {
16
18
  this.canvas = canvas = new window.OffscreenCanvas(width, height);
19
+ this.cachedImageData = undefined;
20
+ this.rasterDirty = true;
21
+ }
22
+ if (!this.rasterDirty) {
23
+ if (this.hasCachedRaster) {
24
+ context.drawImage(canvas, 0, 0);
25
+ }
26
+ return;
17
27
  }
18
28
  const localContext = canvas.getContext('2d');
19
- const imageData = localContext.createImageData(width, height);
29
+ let imageData = this.cachedImageData;
30
+ if (!imageData) {
31
+ imageData = localContext.createImageData(width, height);
32
+ this.cachedImageData = imageData;
33
+ }
20
34
  const { data: imageArray } = imageData;
21
35
  imageArray.fill(0);
22
36
  const { map } = voxelManager;
23
- let dirtyX = Infinity;
24
- let dirtyY = Infinity;
25
- let dirtyX2 = -Infinity;
26
- let dirtyY2 = -Infinity;
37
+ let hasVisiblePixels = false;
27
38
  for (let y = 0; y < height; y++) {
28
39
  const row = map.getRun(y, 0);
29
40
  if (!row) {
30
41
  continue;
31
42
  }
32
- dirtyY = Math.min(dirtyY, y);
33
- dirtyY2 = Math.max(dirtyY2, y);
34
43
  const baseOffset = (y * width) << 2;
35
- let indicesToDelete;
36
44
  for (const run of row) {
37
45
  const { start, end, value: segmentIndex } = run;
38
46
  if (segmentIndex === 0) {
39
- indicesToDelete ||= [];
40
- indicesToDelete.push(row.indexOf(run));
41
47
  continue;
42
48
  }
43
- dirtyX = Math.min(dirtyX, start);
44
- dirtyX2 = Math.max(dirtyX2, end);
45
- const rgb = this.canvasProperties
46
- .getColor(segmentIndex)
47
- .map((v) => v * 255);
49
+ hasVisiblePixels = true;
48
50
  let startOffset = baseOffset + (start << 2);
49
51
  for (let i = start; i < end; i++) {
50
- imageArray[startOffset++] = rgb[0];
51
- imageArray[startOffset++] = rgb[1];
52
- imageArray[startOffset++] = rgb[2];
53
- imageArray[startOffset++] = rgb[3];
52
+ this.canvasProperties.getColorBytes(segmentIndex, imageArray, startOffset);
53
+ startOffset += 4;
54
54
  }
55
55
  }
56
56
  }
57
- if (dirtyX > width) {
57
+ if (!hasVisiblePixels) {
58
+ localContext.clearRect(0, 0, width, height);
59
+ this.hasCachedRaster = false;
60
+ this.rasterDirty = false;
58
61
  return;
59
62
  }
60
- const dirtyWidth = dirtyX2 - dirtyX;
61
- const dirtyHeight = dirtyY2 - dirtyY;
62
- localContext.putImageData(imageData, 0, 0, dirtyX - 1, dirtyY - 1, dirtyWidth + 2, dirtyHeight + 2);
63
- context.drawImage(canvas, dirtyX, dirtyY, dirtyWidth, dirtyHeight, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
63
+ localContext.putImageData(imageData, 0, 0);
64
+ this.hasCachedRaster = true;
65
+ this.rasterDirty = false;
66
+ context.drawImage(canvas, 0, 0);
64
67
  }
65
68
  setMapper(mapper) {
66
69
  this.mapper = mapper;
@@ -76,49 +79,53 @@ export default class CanvasActor {
76
79
  return;
77
80
  }
78
81
  const { voxelManager } = image;
79
- if (voxelManager) {
80
- if (voxelManager.map.getRun) {
81
- this.renderRLE(viewport, context, voxelManager);
82
- return;
83
- }
82
+ if (voxelManager?.map?.getRun) {
83
+ this.renderRLE(viewport, context, voxelManager);
84
+ return;
84
85
  }
85
86
  let { canvas } = this;
86
87
  if (!canvas || canvas.width !== width || canvas.height !== height) {
87
88
  this.canvas = canvas = new window.OffscreenCanvas(width, height);
89
+ this.cachedImageData = undefined;
90
+ this.rasterDirty = true;
91
+ }
92
+ if (!this.rasterDirty) {
93
+ if (this.hasCachedRaster) {
94
+ context.drawImage(canvas, 0, 0);
95
+ }
96
+ return;
88
97
  }
89
98
  const localContext = canvas.getContext('2d');
90
- const imageData = localContext.createImageData(width, height);
99
+ let imageData = this.cachedImageData;
100
+ if (!imageData) {
101
+ imageData = localContext.createImageData(width, height);
102
+ this.cachedImageData = imageData;
103
+ }
91
104
  const { data: imageArray } = imageData;
105
+ imageArray.fill(0);
92
106
  let offset = 0;
93
107
  let destOffset = 0;
94
- let dirtyX = Infinity;
95
- let dirtyY = Infinity;
96
- let dirtyX2 = -Infinity;
97
- let dirtyY2 = -Infinity;
108
+ let hasVisiblePixels = false;
98
109
  for (let y = 0; y < height; y++) {
99
110
  for (let x = 0; x < width; x++) {
100
111
  const segmentIndex = data[offset++];
101
112
  if (segmentIndex) {
102
- dirtyX = Math.min(x, dirtyX);
103
- dirtyY = Math.min(y, dirtyY);
104
- dirtyX2 = Math.max(x, dirtyX2);
105
- dirtyY2 = Math.max(y, dirtyY2);
106
- const rgb = this.canvasProperties.getColor(segmentIndex);
107
- imageArray[destOffset] = rgb[0] * 255;
108
- imageArray[destOffset + 1] = rgb[1] * 255;
109
- imageArray[destOffset + 2] = rgb[2] * 255;
110
- imageArray[destOffset + 3] = 127;
113
+ hasVisiblePixels = true;
114
+ this.canvasProperties.getColorBytes(segmentIndex, imageArray, destOffset);
111
115
  }
112
116
  destOffset += 4;
113
117
  }
114
118
  }
115
- if (dirtyX > width) {
119
+ if (!hasVisiblePixels) {
120
+ localContext.clearRect(0, 0, width, height);
121
+ this.hasCachedRaster = false;
122
+ this.rasterDirty = false;
116
123
  return;
117
124
  }
118
- const dirtyWidth = dirtyX2 - dirtyX + 1;
119
- const dirtyHeight = dirtyY2 - dirtyY + 1;
120
- localContext.putImageData(imageData, 0, 0, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
121
- context.drawImage(canvas, dirtyX, dirtyY, dirtyWidth, dirtyHeight, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
125
+ localContext.putImageData(imageData, 0, 0);
126
+ this.hasCachedRaster = true;
127
+ this.rasterDirty = false;
128
+ context.drawImage(canvas, 0, 0);
122
129
  }
123
130
  getClassName() {
124
131
  return this.className;
@@ -135,6 +142,9 @@ export default class CanvasActor {
135
142
  isA(actorType) {
136
143
  return actorType === this.className;
137
144
  }
145
+ modified() {
146
+ this.rasterDirty = true;
147
+ }
138
148
  getImage() {
139
149
  if (this.image) {
140
150
  return this.image;
@@ -152,6 +162,7 @@ export default class CanvasActor {
152
162
  setDerivedImage: (image) => {
153
163
  this.derivedImage = image;
154
164
  this.image = null;
165
+ this.modified();
155
166
  },
156
167
  modified: () => null,
157
168
  });
@@ -1,17 +1,16 @@
1
1
  import BaseRenderingEngine from './BaseRenderingEngine';
2
- import type IStackViewport from '../types/IStackViewport';
3
- import type IVolumeViewport from '../types/IVolumeViewport';
4
2
  import type * as EventTypes from '../types/EventTypes';
5
3
  import type { InternalViewportInput, NormalizedViewportInput, IViewport } from '../types/IViewport';
6
4
  import type vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer';
7
5
  import type { VtkOffscreenMultiRenderWindow } from '../types';
8
6
  declare class ContextPoolRenderingEngine extends BaseRenderingEngine {
9
- private contextPool;
7
+ private contextPool?;
10
8
  constructor(id?: string);
9
+ private ensureContextPool;
11
10
  protected enableVTKjsDrivenViewport(viewportInputEntry: NormalizedViewportInput): void;
12
11
  protected addVtkjsDrivenViewport(viewportInputEntry: InternalViewportInput): void;
13
12
  protected setVtkjsDrivenViewports(viewportInputEntries: NormalizedViewportInput[]): void;
14
- protected _resizeVTKViewports(vtkDrivenViewports: (IStackViewport | IVolumeViewport)[], keepCamera?: boolean, immediate?: boolean): void;
13
+ protected _resizeVTKViewports(vtkDrivenViewports: IViewport[], keepCamera?: boolean, immediate?: boolean): void;
15
14
  protected _renderFlaggedViewports: () => void;
16
15
  private renderViewportUsingCustomOrVtkPipeline;
17
16
  private _renderViewportWithContext;