@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
@@ -4,6 +4,9 @@ import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunc
4
4
  import isEqual from './isEqual';
5
5
  import { actorIsA } from './actorCheck';
6
6
  const _colormaps = new Map();
7
+ function normalizeColormapName(name) {
8
+ return name?.trim().toLowerCase();
9
+ }
7
10
  function registerColormap(colormap) {
8
11
  colormap.name = colormap.name || colormap.Name;
9
12
  _colormaps.set(colormap.name, colormap);
@@ -14,6 +17,42 @@ function getColormap(name) {
14
17
  function getColormapNames() {
15
18
  return Array.from(_colormaps.keys());
16
19
  }
20
+ function findRegisteredColormap(name) {
21
+ const exactMatch = getColormap(name);
22
+ if (exactMatch) {
23
+ return exactMatch;
24
+ }
25
+ const normalizedName = normalizeColormapName(name);
26
+ if (!normalizedName) {
27
+ return;
28
+ }
29
+ for (const [registeredName, registeredColormap] of _colormaps.entries()) {
30
+ if (normalizeColormapName(registeredName) === normalizedName ||
31
+ normalizeColormapName(registeredColormap.Name) === normalizedName) {
32
+ return registeredColormap;
33
+ }
34
+ }
35
+ }
36
+ function findVTKColormap(name) {
37
+ const exactMatch = vtkColorMaps.getPresetByName(name);
38
+ if (exactMatch) {
39
+ return exactMatch;
40
+ }
41
+ const normalizedName = normalizeColormapName(name);
42
+ if (!normalizedName) {
43
+ return;
44
+ }
45
+ const matchedPresetName = vtkColorMaps.rgbPresetNames.find((presetName) => normalizeColormapName(presetName) === normalizedName);
46
+ return matchedPresetName
47
+ ? vtkColorMaps.getPresetByName(matchedPresetName)
48
+ : undefined;
49
+ }
50
+ function resolveColormap(name) {
51
+ if (!name?.trim()) {
52
+ return;
53
+ }
54
+ return findRegisteredColormap(name) || findVTKColormap(name);
55
+ }
17
56
  function findMatchingColormap(rgbPoints, actor) {
18
57
  const colormapsVTK = vtkColorMaps.rgbPresetNames.map((presetName) => vtkColorMaps.getPresetByName(presetName));
19
58
  const colormapsCS3D = getColormapNames().map((colormapName) => getColormap(colormapName));
@@ -34,11 +73,11 @@ function findMatchingColormap(rgbPoints, actor) {
34
73
  return null;
35
74
  }
36
75
  const opacity = [];
37
- if (actorIsA(actor, 'vtkVolume')) {
76
+ if (actorIsA(actor, 'vtkVolume') || actorIsA(actor, 'vtkImageSlice')) {
38
77
  const opacityPoints = actor
39
78
  .getProperty()
40
- .getScalarOpacity(0)
41
- .getDataPointer();
79
+ ?.getScalarOpacity?.(0)
80
+ ?.getDataPointer?.();
42
81
  if (!opacityPoints) {
43
82
  return {
44
83
  name: matchedColormap.Name,
@@ -135,4 +174,4 @@ function getMaxOpacity(volumeActor) {
135
174
  }
136
175
  return maxOpacity;
137
176
  }
138
- export { getColormap, getColormapNames, registerColormap, findMatchingColormap, getThresholdValue, getMaxOpacity, };
177
+ export { getColormap, getColormapNames, resolveColormap, registerColormap, findMatchingColormap, getThresholdValue, getMaxOpacity, };
@@ -0,0 +1 @@
1
+ export declare function convertColorArrayToRgbString(colorArr: number[] | string): string;
@@ -0,0 +1,5 @@
1
+ export function convertColorArrayToRgbString(colorArr) {
2
+ return Array.isArray(colorArr)
3
+ ? `rgb(${colorArr.map((v) => Math.round(v * 255)).join(',')})`
4
+ : colorArr;
5
+ }
@@ -1 +1 @@
1
- export declare function deepClone(obj: unknown): unknown;
1
+ export declare function deepClone<T>(value: T): T;
@@ -1,23 +1,52 @@
1
- export function deepClone(obj) {
2
- if (obj === null || typeof obj !== 'object') {
3
- return obj;
1
+ export function deepClone(value) {
2
+ if (typeof structuredClone === 'function') {
3
+ try {
4
+ return structuredClone(value);
5
+ }
6
+ catch {
7
+ }
8
+ }
9
+ return cloneValue(value, new WeakMap());
10
+ }
11
+ function cloneValue(value, seen) {
12
+ if (value === null || typeof value !== 'object') {
13
+ return value;
4
14
  }
5
- if (typeof obj === 'function') {
6
- return obj;
15
+ const existingClone = seen.get(value);
16
+ if (existingClone) {
17
+ return existingClone;
7
18
  }
8
- if (typeof structuredClone === 'function') {
9
- return obj;
19
+ if (value instanceof Date) {
20
+ return new Date(value.getTime());
10
21
  }
11
- if (Array.isArray(obj)) {
12
- return obj.map(deepClone);
22
+ if (value instanceof Map) {
23
+ const clonedMap = new Map();
24
+ seen.set(value, clonedMap);
25
+ value.forEach((mapValue, mapKey) => {
26
+ clonedMap.set(cloneValue(mapKey, seen), cloneValue(mapValue, seen));
27
+ });
28
+ return clonedMap;
13
29
  }
14
- else {
15
- const clonedObj = {};
16
- for (const key in obj) {
17
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
18
- clonedObj[key] = deepClone(obj[key]);
19
- }
20
- }
21
- return clonedObj;
30
+ if (value instanceof Set) {
31
+ const clonedSet = new Set();
32
+ seen.set(value, clonedSet);
33
+ value.forEach((setValue) => {
34
+ clonedSet.add(cloneValue(setValue, seen));
35
+ });
36
+ return clonedSet;
37
+ }
38
+ if (Array.isArray(value)) {
39
+ const clonedArray = [];
40
+ seen.set(value, clonedArray);
41
+ value.forEach((item, index) => {
42
+ clonedArray[index] = cloneValue(item, seen);
43
+ });
44
+ return clonedArray;
22
45
  }
46
+ const clonedObject = {};
47
+ seen.set(value, clonedObject);
48
+ Reflect.ownKeys(value).forEach((key) => {
49
+ clonedObject[key] = cloneValue(value[key], seen);
50
+ });
51
+ return clonedObject;
23
52
  }
@@ -1,10 +1,11 @@
1
1
  import { addProvider } from '../metaData';
2
+ import { deepClone } from './deepClone';
2
3
  let state = {};
3
4
  const metadataProvider = {
4
5
  add: (imageId, payload) => {
5
6
  metadataProvider.addRaw(imageId, {
6
7
  ...payload,
7
- metadata: structuredClone(payload.metadata),
8
+ metadata: deepClone(payload.metadata),
8
9
  });
9
10
  },
10
11
  addRaw: (imageId, payload) => {
@@ -0,0 +1,8 @@
1
+ declare const genericViewportDataSetMetadataProvider: {
2
+ VIEWPORT_V2_DATA_SET: string;
3
+ add(dataId: string, dataSet: unknown): void;
4
+ get(type: string, dataId: string): unknown;
5
+ remove(dataId: string): void;
6
+ clear(): void;
7
+ };
8
+ export default genericViewportDataSetMetadataProvider;
@@ -0,0 +1,23 @@
1
+ import { addProvider } from '../metaData';
2
+ const VIEWPORT_V2_DATA_SET = 'genericViewportDataSet';
3
+ let state = {};
4
+ const genericViewportDataSetMetadataProvider = {
5
+ VIEWPORT_V2_DATA_SET,
6
+ add(dataId, dataSet) {
7
+ state[dataId] = dataSet;
8
+ },
9
+ get(type, dataId) {
10
+ if (type !== VIEWPORT_V2_DATA_SET) {
11
+ return;
12
+ }
13
+ return state[dataId];
14
+ },
15
+ remove(dataId) {
16
+ delete state[dataId];
17
+ },
18
+ clear() {
19
+ state = {};
20
+ },
21
+ };
22
+ addProvider(genericViewportDataSetMetadataProvider.get);
23
+ export default genericViewportDataSetMetadataProvider;
@@ -0,0 +1,2 @@
1
+ import type { IImageVolume, OrientationVectors } from '../types';
2
+ export default function getAcquisitionPlaneOrientation(imageVolume: IImageVolume): OrientationVectors;
@@ -0,0 +1,7 @@
1
+ export default function getAcquisitionPlaneOrientation(imageVolume) {
2
+ const { direction } = imageVolume;
3
+ return {
4
+ viewPlaneNormal: direction.slice(6, 9).map((x) => -x),
5
+ viewUp: direction.slice(3, 6).map((x) => -x),
6
+ };
7
+ }
@@ -1,5 +1,6 @@
1
1
  import { vec3 } from 'gl-matrix';
2
2
  import * as metaData from '../metaData';
3
+ import { MetadataModules } from '../enums';
3
4
  import { coreLog } from './logger';
4
5
  import getSpacingInNormalDirection from './getSpacingInNormalDirection';
5
6
  import { EPSILON } from '../constants';
@@ -24,7 +25,7 @@ export default function getClosestImageId(imageVolume, worldPos, viewPlaneNormal
24
25
  let minDistance = Infinity;
25
26
  for (let i = 0; i < imageIds.length; i++) {
26
27
  const imageId = imageIds[i];
27
- const imagePlaneModule = metaData.get('imagePlaneModule', imageId);
28
+ const imagePlaneModule = metaData.get(MetadataModules.IMAGE_PLANE, imageId);
28
29
  if (!imagePlaneModule?.imagePositionPatient) {
29
30
  log.warn(`Missing imagePositionPatient for imageId: ${imageId}`);
30
31
  continue;
@@ -1,6 +1,7 @@
1
1
  import { vec3 } from 'gl-matrix';
2
2
  import * as planar from './planar';
3
3
  import * as metaData from '../metaData';
4
+ import { MetadataModules } from '../enums';
4
5
  export default function getClosestStackImageIndexForPoint(point, viewport) {
5
6
  const minimalDistance = calculateMinimalDistanceForStackViewport(point, viewport);
6
7
  return minimalDistance ? minimalDistance.index : null;
@@ -57,7 +58,7 @@ export function calculateMinimalDistanceForStackViewport(point, viewport) {
57
58
  return closestStack.distance === Infinity ? null : closestStack;
58
59
  }
59
60
  function getPlaneMetadata(imageId) {
60
- const targetImagePlane = metaData.get('imagePlaneModule', imageId);
61
+ const targetImagePlane = metaData.get(MetadataModules.IMAGE_PLANE, imageId);
61
62
  if (!targetImagePlane ||
62
63
  !(targetImagePlane.rowCosines instanceof Array &&
63
64
  targetImagePlane.rowCosines.length === 3) ||
@@ -0,0 +1,2 @@
1
+ import type { Point2 } from '../types';
2
+ export declare const getNormalizedAspectRatio: (aspectRatio: Point2) => Point2;
@@ -0,0 +1,12 @@
1
+ import isEqual from './isEqual';
2
+ const EPSILON = 1e10;
3
+ export const getNormalizedAspectRatio = (aspectRatio) => {
4
+ const [width, height] = aspectRatio;
5
+ if (isEqual(width, height)) {
6
+ return [1, 1];
7
+ }
8
+ const min = Math.min(width, height);
9
+ const normalizedW = Math.round((width / min) * EPSILON) / EPSILON;
10
+ const normalizedH = Math.round((height / min) * EPSILON) / EPSILON;
11
+ return [normalizedW, normalizedH];
12
+ };
@@ -1,13 +1,5 @@
1
- import { CalibrationTypes } from '../enums';
2
- export declare function getERMF(instance: any): any;
3
- export declare function calculateRadiographicPixelSpacing(instance: any): {
4
- PixelSpacing: any;
5
- type: CalibrationTypes;
6
- isProjection: boolean;
7
- };
8
- export declare function getPixelSpacingInformation(instance: any): {
9
- PixelSpacing: any;
10
- type: CalibrationTypes;
11
- isProjection: boolean;
12
- };
13
- export default getPixelSpacingInformation;
1
+ import { utilities } from '@cornerstonejs/metadata';
2
+ declare const getPixelSpacingInformation: typeof utilities.getPixelSpacingInformation, calculateRadiographicPixelSpacing: typeof utilities.calculateRadiographicPixelSpacing, getERMF: typeof utilities.getERMF;
3
+ export { getPixelSpacingInformation, calculateRadiographicPixelSpacing, getERMF, };
4
+ declare const _default: typeof utilities.getPixelSpacingInformation;
5
+ export default _default;
@@ -1,93 +1,4 @@
1
- import { isEqual } from './isEqual';
2
- import { CalibrationTypes } from '../enums';
3
- const projectionRadiographSOPClassUIDs = new Set([
4
- '1.2.840.10008.5.1.4.1.1.1',
5
- '1.2.840.10008.5.1.4.1.1.1.1',
6
- '1.2.840.10008.5.1.4.1.1.1.1.1',
7
- '1.2.840.10008.5.1.4.1.1.1.2',
8
- '1.2.840.10008.5.1.4.1.1.1.2.1',
9
- '1.2.840.10008.5.1.4.1.1.1.3',
10
- '1.2.840.10008.5.1.4.1.1.1.3.1',
11
- '1.2.840.10008.5.1.4.1.1.12.1',
12
- '1.2.840.10008.5.1.4.1.1.12.1.1',
13
- '1.2.840.10008.5.1.4.1.1.12.2',
14
- '1.2.840.10008.5.1.4.1.1.12.2.1',
15
- '1.2.840.10008.5.1.4.1.1.12.3',
16
- ]);
17
- export function getERMF(instance) {
18
- const { PixelSpacing, ImagerPixelSpacing, EstimatedRadiographicMagnificationFactor: ermf, DistanceSourceToDetector: sid, DistanceSourceToPatient: sod, } = instance;
19
- if (ermf) {
20
- return ermf;
21
- }
22
- if (sod < sid) {
23
- return sid / sod;
24
- }
25
- if (ImagerPixelSpacing?.[0] > PixelSpacing?.[0]) {
26
- return true;
27
- }
28
- }
29
- export function calculateRadiographicPixelSpacing(instance) {
30
- const { PixelSpacing, ImagerPixelSpacing, PixelSpacingCalibrationType } = instance;
31
- const isProjection = true;
32
- if (PixelSpacing && PixelSpacingCalibrationType === 'GEOMETRY') {
33
- if (isEqual(PixelSpacing, ImagerPixelSpacing)) {
34
- console.warn('Calibration type is geometry, but pixel spacing and imager pixel spacing identical', PixelSpacing, ImagerPixelSpacing);
35
- }
36
- return {
37
- PixelSpacing,
38
- type: CalibrationTypes.ERMF,
39
- isProjection,
40
- };
41
- }
42
- if (PixelSpacing && PixelSpacingCalibrationType === 'FIDUCIAL') {
43
- return {
44
- PixelSpacing,
45
- type: CalibrationTypes.CALIBRATED,
46
- isProjection,
47
- };
48
- }
49
- if (ImagerPixelSpacing) {
50
- const ermf = getERMF(instance);
51
- if (ermf > 1) {
52
- const correctedPixelSpacing = ImagerPixelSpacing.map((pixelSpacing) => pixelSpacing / ermf);
53
- return {
54
- PixelSpacing: correctedPixelSpacing,
55
- type: CalibrationTypes.ERMF,
56
- isProjection,
57
- };
58
- }
59
- if (ermf === true) {
60
- return {
61
- PixelSpacing,
62
- type: CalibrationTypes.ERMF,
63
- isProjection,
64
- };
65
- }
66
- if (ermf) {
67
- console.error('Illegal ERMF value:', ermf);
68
- }
69
- return {
70
- PixelSpacing: PixelSpacing || ImagerPixelSpacing,
71
- type: CalibrationTypes.PROJECTION,
72
- isProjection,
73
- };
74
- }
75
- return {
76
- PixelSpacing,
77
- type: CalibrationTypes.UNKNOWN,
78
- isProjection,
79
- };
80
- }
81
- export function getPixelSpacingInformation(instance) {
82
- const { PixelSpacing, SOPClassUID } = instance;
83
- const isProjection = projectionRadiographSOPClassUIDs.has(SOPClassUID);
84
- if (isProjection) {
85
- return calculateRadiographicPixelSpacing(instance);
86
- }
87
- return {
88
- PixelSpacing,
89
- type: CalibrationTypes.NOT_APPLICABLE,
90
- isProjection: false,
91
- };
92
- }
93
- export default getPixelSpacingInformation;
1
+ import { utilities } from '@cornerstonejs/metadata';
2
+ const { getPixelSpacingInformation, calculateRadiographicPixelSpacing, getERMF, } = utilities;
3
+ export { getPixelSpacingInformation, calculateRadiographicPixelSpacing, getERMF, };
4
+ export default utilities.getPixelSpacingInformation;
@@ -1,14 +1,15 @@
1
1
  import * as metaData from '../metaData';
2
+ import { MetadataModules } from '../enums';
2
3
  export default function getScalingParameters(imageId) {
3
- const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
4
- const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
4
+ const modalityLutModule = metaData.get(MetadataModules.MODALITY_LUT, imageId) || {};
5
+ const generalSeriesModule = metaData.get(MetadataModules.GENERAL_SERIES, imageId) || {};
5
6
  const { modality } = generalSeriesModule;
6
7
  const scalingParameters = {
7
8
  rescaleSlope: modalityLutModule.rescaleSlope || 1,
8
9
  rescaleIntercept: modalityLutModule.rescaleIntercept ?? 0,
9
10
  modality,
10
11
  };
11
- const scalingModules = metaData.get('scalingModule', imageId) || {};
12
+ const scalingModules = metaData.get(MetadataModules.SCALING, imageId) || {};
12
13
  return {
13
14
  ...scalingParameters,
14
15
  ...(modality === 'PT' && {
@@ -0,0 +1,3 @@
1
+ import { VOILUTFunctionType } from '../enums';
2
+ import type { VOIRange } from '../types';
3
+ export default function getVOIRangeFromWindowLevel(windowWidth: number | number[] | undefined, windowCenter: number | number[] | undefined, voiLUTFunction?: VOILUTFunctionType): VOIRange | undefined;
@@ -0,0 +1,18 @@
1
+ import { VOILUTFunctionType } from '../enums';
2
+ import { toLowHighRange } from './windowLevel';
3
+ export default function getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction = VOILUTFunctionType.LINEAR) {
4
+ let center;
5
+ let width;
6
+ if (typeof windowCenter === 'number' && typeof windowWidth === 'number') {
7
+ center = windowCenter;
8
+ width = windowWidth;
9
+ }
10
+ else if (Array.isArray(windowCenter) && Array.isArray(windowWidth)) {
11
+ center = windowCenter[0];
12
+ width = windowWidth[0];
13
+ }
14
+ if (center === undefined || width === undefined) {
15
+ return;
16
+ }
17
+ return toLowHighRange(width, center, voiLUTFunction);
18
+ }
@@ -1,4 +1,4 @@
1
- import { VolumeViewport } from '../RenderingEngine';
1
+ import VolumeViewport from '../RenderingEngine/VolumeViewport';
2
2
  import cache from '../cache/cache';
3
3
  function getViewportImageIds(viewport) {
4
4
  if (viewport instanceof VolumeViewport) {
@@ -1,4 +1,2 @@
1
- import type { IBaseVolumeViewport, IStackViewport } from '../types';
2
- type Viewport = IStackViewport | IBaseVolumeViewport;
3
- export default function getViewportsWithImageURI(imageURI: string): Viewport[];
4
- export {};
1
+ import { type ImageSliceViewport } from './viewportCapabilities';
2
+ export default function getViewportsWithImageURI(imageURI: string): ImageSliceViewport[];
@@ -1,9 +1,12 @@
1
1
  import { getRenderingEngines } from '../RenderingEngine/getRenderingEngine';
2
+ import { viewportSupportsImageSlices, } from './viewportCapabilities';
2
3
  export default function getViewportsWithImageURI(imageURI) {
3
4
  const renderingEngines = getRenderingEngines();
4
5
  const viewports = [];
5
6
  renderingEngines.forEach((renderingEngine) => {
6
- const viewportsForRenderingEngine = renderingEngine.getViewports();
7
+ const viewportsForRenderingEngine = renderingEngine
8
+ .getViewports()
9
+ .filter(viewportSupportsImageSlices);
7
10
  viewportsForRenderingEngine.forEach((viewport) => {
8
11
  if (viewport.hasImageURI(imageURI)) {
9
12
  viewports.push(viewport);
@@ -1,3 +1,3 @@
1
- import type { IVolumeViewport } from '../types';
2
- declare function getViewportsWithVolumeId(volumeId: string): IVolumeViewport[];
1
+ import { type VolumeIdViewport } from './viewportCapabilities';
2
+ declare function getViewportsWithVolumeId(volumeId: string): VolumeIdViewport[];
3
3
  export default getViewportsWithVolumeId;
@@ -1,9 +1,12 @@
1
1
  import { getRenderingEngines } from '../RenderingEngine/getRenderingEngine';
2
+ import { viewportSupportsVolumeId, } from './viewportCapabilities';
2
3
  function getViewportsWithVolumeId(volumeId) {
3
4
  const renderingEngines = getRenderingEngines();
4
5
  const targetViewports = [];
5
6
  renderingEngines.forEach((renderingEngine) => {
6
- const viewports = renderingEngine.getVolumeViewports();
7
+ const viewports = renderingEngine
8
+ .getViewports()
9
+ .filter(viewportSupportsVolumeId);
7
10
  const filteredViewports = viewports.filter((vp) => vp.hasVolumeId(volumeId));
8
11
  targetViewports.push(...filteredViewports);
9
12
  });
@@ -1,3 +1,3 @@
1
- import type { IVolumeViewport } from '../types';
2
- declare function getViewportsWithVolumeURI(volumeURI: string, renderingEngineId?: string): IVolumeViewport[];
1
+ import { type VolumeURIViewport } from './viewportCapabilities';
2
+ declare function getViewportsWithVolumeURI(volumeURI: string, renderingEngineId?: string): VolumeURIViewport[];
3
3
  export default getViewportsWithVolumeURI;
@@ -1,11 +1,14 @@
1
1
  import { getRenderingEngines, getRenderingEngine, } from '../RenderingEngine/getRenderingEngine';
2
+ import { viewportSupportsVolumeURI, } from './viewportCapabilities';
2
3
  function getViewportsWithVolumeURI(volumeURI, renderingEngineId) {
3
4
  const renderingEngines = renderingEngineId
4
5
  ? [getRenderingEngine(renderingEngineId)]
5
6
  : getRenderingEngines();
6
7
  const targetViewports = [];
7
8
  renderingEngines.forEach((renderingEngine) => {
8
- const viewports = renderingEngine.getVolumeViewports();
9
+ const viewports = renderingEngine
10
+ .getViewports()
11
+ .filter(viewportSupportsVolumeURI);
9
12
  const filteredViewports = viewports.filter((vp) => vp.hasVolumeURI(volumeURI));
10
13
  targetViewports.push(...filteredViewports);
11
14
  });
@@ -0,0 +1,6 @@
1
+ import type { Point3 } from '../types';
2
+ export default function getVolumeViewReferenceId(args: {
3
+ sliceIndex: number;
4
+ viewPlaneNormal: Point3;
5
+ volumeId: string;
6
+ }): string;
@@ -0,0 +1,6 @@
1
+ export default function getVolumeViewReferenceId(args) {
2
+ const { sliceIndex, viewPlaneNormal, volumeId } = args;
3
+ const querySeparator = volumeId.includes('?') ? '&' : '?';
4
+ const formattedNormal = viewPlaneNormal.map((value) => value.toFixed(3));
5
+ return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${formattedNormal.join(',')}`;
6
+ }
@@ -5,7 +5,7 @@ declare function getVolumeViewportScrollInfo(viewport: IVolumeViewport, volumeId
5
5
  sliceRangeInfo: {
6
6
  sliceRange: import("../types").ActorSliceRange;
7
7
  spacingInNormalDirection: number;
8
- camera: import("../types").ICamera;
8
+ camera: import("../types").ICamera<number>;
9
9
  };
10
10
  };
11
11
  export default getVolumeViewportScrollInfo;
@@ -1,3 +1,3 @@
1
- import type { IVolumeViewport } from '../types';
2
- declare function getVolumeViewportsContainingSameVolumes(targetViewport: IVolumeViewport, renderingEngineId?: string): IVolumeViewport[];
1
+ import { type VolumeActorViewport } from './viewportCapabilities';
2
+ declare function getVolumeViewportsContainingSameVolumes(targetViewport: VolumeActorViewport, renderingEngineId?: string): VolumeActorViewport[];
3
3
  export default getVolumeViewportsContainingSameVolumes;
@@ -1,4 +1,5 @@
1
1
  import { getRenderingEngines, getRenderingEngine, } from '../RenderingEngine/getRenderingEngine';
2
+ import { viewportSupportsVolumeActors, } from './viewportCapabilities';
2
3
  function getVolumeViewportsContainingSameVolumes(targetViewport, renderingEngineId) {
3
4
  let renderingEngines;
4
5
  if (renderingEngineId) {
@@ -10,7 +11,9 @@ function getVolumeViewportsContainingSameVolumes(targetViewport, renderingEngine
10
11
  const sameVolumesViewports = [];
11
12
  renderingEngines.forEach((renderingEngine) => {
12
13
  const targetActors = targetViewport.getActors();
13
- const viewports = renderingEngine.getVolumeViewports();
14
+ const viewports = renderingEngine
15
+ .getViewports()
16
+ .filter(viewportSupportsVolumeActors);
14
17
  for (const vp of viewports) {
15
18
  const vpActors = vp.getActors();
16
19
  if (vpActors.length !== targetActors.length) {
@@ -0,0 +1 @@
1
+ export default function hasOwn<T extends object, K extends PropertyKey>(object: T, key: K): object is T & Record<K, unknown>;
@@ -0,0 +1,3 @@
1
+ export default function hasOwn(object, key) {
2
+ return Object.prototype.hasOwnProperty.call(object, key);
3
+ }
@@ -1 +1,3 @@
1
- export default function imageIdToURI(imageId: string): string;
1
+ import { utilities } from '@cornerstonejs/metadata';
2
+ declare const _default: typeof utilities.imageIdToURI;
3
+ export default _default;
@@ -1,4 +1,2 @@
1
- export default function imageIdToURI(imageId) {
2
- const colonIndex = imageId.indexOf(':');
3
- return imageId.substring(colonIndex + 1);
4
- }
1
+ import { utilities } from '@cornerstonejs/metadata';
2
+ export default utilities.imageIdToURI;