@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
@@ -0,0 +1,514 @@
1
+ import { buildPlanarActorEntry } from './buildPlanarActorEntry';
2
+ import CanvasActor from '../../CanvasActor';
3
+ import { Events, ViewportStatus, ViewportType } from '../../../enums';
4
+ import eventTarget from '../../../eventTarget';
5
+ import { ActorRenderMode } from '../../../types';
6
+ import triggerEvent from '../../../utilities/triggerEvent';
7
+ import { createCanvas } from '../../helpers/getOrCreateCanvas';
8
+ import drawImageSync from '../../helpers/cpuFallback/drawImageSync';
9
+ import setToPixelCoordinateSystem from '../../helpers/cpuFallback/rendering/setToPixelCoordinateSystem';
10
+ import { getDefaultVolumeVOIRange } from '../../helpers/setDefaultVolumeVOI';
11
+ import { getConfiguration } from '../../../init';
12
+ import uuidv4 from '../../../utilities/uuidv4';
13
+ import PlanarCPUVolumeSampler from './PlanarCPUVolumeSampler';
14
+ import { triggerPlanarVolumeNewImage } from './planarImageEvents';
15
+ import { canvasToWorldPlanarRenderPathProjection, getPlanarRenderPathActiveSourceICamera, resolvePlanarRenderPathProjection, worldToCanvasPlanarRenderPathProjection, } from './planarRenderPathProjection';
16
+ const DEFERRED_VIEWPORT_RESAMPLE_DELAY_MS = 80;
17
+ export class CpuVolumeSliceRenderPath {
18
+ constructor() {
19
+ this.sampler = new PlanarCPUVolumeSampler();
20
+ }
21
+ async addData(ctx, data, _options) {
22
+ const payload = data;
23
+ if (!payload.imageVolume) {
24
+ throw new Error('[PlanarViewport] CPU volume rendering requires a prepared image volume');
25
+ }
26
+ const defaultVOIRange = await getDefaultVolumeVOIRange(payload.imageVolume);
27
+ let rendering;
28
+ const compatibilityActor = new CanvasActor({
29
+ getImageData: () => this.getImageData(rendering),
30
+ }, payload.imageVolume.imageIds?.length
31
+ ? { imageId: payload.imageVolume.imageIds[0] }
32
+ : {});
33
+ compatibilityActor.setVisibility(true);
34
+ ctx.display.activateRenderMode(ActorRenderMode.CPU_VOLUME);
35
+ rendering = {
36
+ renderMode: ActorRenderMode.CPU_VOLUME,
37
+ actorEntryUID: uuidv4(),
38
+ compatibilityActor,
39
+ imageVolume: payload.imageVolume,
40
+ imageIds: payload.imageIds,
41
+ acquisitionOrientation: payload.acquisitionOrientation,
42
+ layerCanvas: createCanvas(null, ctx.cpu.canvas.width, ctx.cpu.canvas.height),
43
+ currentImageIdIndex: payload.initialImageIdIndex,
44
+ maxImageIdIndex: payload.imageIds.length - 1,
45
+ defaultVOIRange,
46
+ renderingInvalidated: true,
47
+ compositeActor: payload.reference?.kind === 'segmentation',
48
+ removeStreamingSubscriptions: (() => {
49
+ let isActive = true;
50
+ let pendingAnimationFrameId;
51
+ let pendingVolumeModifiedTimeoutId;
52
+ let lastVolumeModifiedRenderTime = -Infinity;
53
+ const volumeModifiedThrottleMs = getCpuVolumeModifiedThrottleMs();
54
+ const renderVolumeModified = () => {
55
+ if (!isActive) {
56
+ return;
57
+ }
58
+ lastVolumeModifiedRenderTime = performance.now();
59
+ ctx.display.renderNow();
60
+ };
61
+ const scheduleVolumeModifiedRender = () => {
62
+ if (volumeModifiedThrottleMs <= 0) {
63
+ renderVolumeModified();
64
+ return;
65
+ }
66
+ if (pendingVolumeModifiedTimeoutId !== undefined) {
67
+ return;
68
+ }
69
+ const remainingDelay = Math.max(0, volumeModifiedThrottleMs -
70
+ (performance.now() - lastVolumeModifiedRenderTime));
71
+ if (remainingDelay === 0) {
72
+ renderVolumeModified();
73
+ return;
74
+ }
75
+ pendingVolumeModifiedTimeoutId = window.setTimeout(() => {
76
+ pendingVolumeModifiedTimeoutId = undefined;
77
+ renderVolumeModified();
78
+ }, remainingDelay);
79
+ };
80
+ const unsubscribe = subscribeToVolumeEvents(payload.volumeId, (eventType) => {
81
+ if (!isActive) {
82
+ return;
83
+ }
84
+ const shouldResampleOnDeferredPass = eventType === Events.IMAGE_VOLUME_LOADING_COMPLETED;
85
+ const voxelManager = payload.imageVolume.voxelManager;
86
+ voxelManager?.invalidateCache?.();
87
+ if (voxelManager) {
88
+ this.sampler.clearCachedScalarRange(voxelManager);
89
+ }
90
+ cancelDeferredViewportResample(rendering);
91
+ rendering.pendingVolumeLoadCallback = false;
92
+ this.releaseSampledSliceState(rendering);
93
+ rendering.renderingInvalidated = true;
94
+ if (eventType === Events.IMAGE_VOLUME_MODIFIED) {
95
+ scheduleVolumeModifiedRender();
96
+ }
97
+ else {
98
+ if (pendingVolumeModifiedTimeoutId !== undefined) {
99
+ window.clearTimeout(pendingVolumeModifiedTimeoutId);
100
+ pendingVolumeModifiedTimeoutId = undefined;
101
+ }
102
+ ctx.display.renderNow();
103
+ }
104
+ if (!isActive) {
105
+ return;
106
+ }
107
+ if (!shouldResampleOnDeferredPass) {
108
+ return;
109
+ }
110
+ ctx.display.setNeedsRender();
111
+ pendingAnimationFrameId = window.requestAnimationFrame(() => {
112
+ pendingAnimationFrameId = undefined;
113
+ if (!isActive) {
114
+ return;
115
+ }
116
+ if (shouldResampleOnDeferredPass) {
117
+ voxelManager?.invalidateCache?.();
118
+ if (voxelManager) {
119
+ this.sampler.clearCachedScalarRange(voxelManager);
120
+ }
121
+ this.releaseSampledSliceState(rendering);
122
+ rendering.renderingInvalidated = true;
123
+ }
124
+ ctx.display.renderNow();
125
+ });
126
+ });
127
+ return () => {
128
+ isActive = false;
129
+ rendering.pendingVolumeLoadCallback = false;
130
+ this.releaseSampledSliceState(rendering);
131
+ if (pendingAnimationFrameId !== undefined) {
132
+ window.cancelAnimationFrame(pendingAnimationFrameId);
133
+ pendingAnimationFrameId = undefined;
134
+ }
135
+ if (pendingVolumeModifiedTimeoutId !== undefined) {
136
+ window.clearTimeout(pendingVolumeModifiedTimeoutId);
137
+ pendingVolumeModifiedTimeoutId = undefined;
138
+ }
139
+ unsubscribe();
140
+ };
141
+ })(),
142
+ };
143
+ triggerPlanarVolumeNewImage(ctx, {
144
+ camera: ctx.viewport.getViewState(),
145
+ acquisitionOrientation: rendering.acquisitionOrientation,
146
+ imageIds: rendering.imageIds,
147
+ imageIdIndex: rendering.currentImageIdIndex,
148
+ });
149
+ return {
150
+ rendering,
151
+ updateDataPresentation: (props) => {
152
+ this.updateDataPresentation(ctx, rendering, data.id, props);
153
+ },
154
+ applyViewState: (camera) => {
155
+ this.applyViewState(ctx, rendering, data.id, camera);
156
+ },
157
+ getFrameOfReferenceUID: () => {
158
+ return this.getFrameOfReferenceUID(rendering);
159
+ },
160
+ getActorEntry: (data) => {
161
+ const planarData = data;
162
+ return buildPlanarActorEntry(planarData, {
163
+ actor: rendering.compatibilityActor,
164
+ renderMode: ActorRenderMode.CPU_VOLUME,
165
+ uid: rendering.actorEntryUID,
166
+ referencedIdFallback: planarData.volumeId,
167
+ });
168
+ },
169
+ getImageData: () => {
170
+ return this.getImageData(rendering);
171
+ },
172
+ render: () => {
173
+ this.render(ctx, rendering);
174
+ },
175
+ resize: () => {
176
+ this.resize(ctx, rendering, data.id);
177
+ },
178
+ removeData: () => {
179
+ this.removeData(ctx, rendering);
180
+ },
181
+ };
182
+ }
183
+ updateDataPresentation(ctx, rendering, dataId, props) {
184
+ const previousInterpolationType = rendering.dataPresentation?.interpolationType;
185
+ const { slabThickness: _slabThickness, ...dataPresentation } = props || {};
186
+ rendering.dataPresentation = Object.keys(dataPresentation).length
187
+ ? dataPresentation
188
+ : undefined;
189
+ if (previousInterpolationType !==
190
+ rendering.dataPresentation?.interpolationType) {
191
+ this.syncRenderCamera(ctx, rendering, dataId, ctx.viewport.getViewState());
192
+ return;
193
+ }
194
+ rendering.renderingInvalidated = true;
195
+ }
196
+ applyViewState(ctx, rendering, dataId, cameraInput) {
197
+ ctx.display.activateRenderMode(ActorRenderMode.CPU_VOLUME);
198
+ this.syncRenderCamera(ctx, rendering, dataId, cameraInput);
199
+ }
200
+ canvasToWorld(ctx, rendering, canvasPos) {
201
+ return canvasToWorldPlanarRenderPathProjection({
202
+ canvas: ctx.cpu.canvas,
203
+ canvasPos,
204
+ ctx,
205
+ });
206
+ }
207
+ worldToCanvas(ctx, rendering, worldPos) {
208
+ return worldToCanvasPlanarRenderPathProjection({
209
+ canvas: ctx.cpu.canvas,
210
+ ctx,
211
+ worldPos,
212
+ });
213
+ }
214
+ getFrameOfReferenceUID(rendering) {
215
+ return rendering.imageVolume.metadata?.FrameOfReferenceUID;
216
+ }
217
+ getImageData(rendering) {
218
+ return buildPlanarVolumeImageData(rendering.imageVolume);
219
+ }
220
+ render(ctx, rendering) {
221
+ const runtime = rendering;
222
+ ctx.display.activateRenderMode(ActorRenderMode.CPU_VOLUME);
223
+ ctx.cpu.canvas.style.display = '';
224
+ ctx.cpu.canvas.style.opacity = '1';
225
+ if (runtime.dataPresentation?.visible === false) {
226
+ beginCompositePass(ctx);
227
+ return;
228
+ }
229
+ const loadStatus = runtime.imageVolume.loadStatus;
230
+ const hasStreamedFrameData = hasStreamedVolumeData(runtime.imageVolume);
231
+ const isVolumeReady = loadStatus === undefined ||
232
+ loadStatus.loaded === true ||
233
+ hasStreamedFrameData;
234
+ if (!isVolumeReady) {
235
+ if (!runtime.pendingVolumeLoadCallback) {
236
+ runtime.pendingVolumeLoadCallback = true;
237
+ runtime.imageVolume.load();
238
+ }
239
+ ctx.display.setNeedsRender();
240
+ return;
241
+ }
242
+ runtime.pendingVolumeLoadCallback = false;
243
+ if (!ctx.cpu.canvas.width || !ctx.cpu.canvas.height) {
244
+ return;
245
+ }
246
+ const activeSourceICamera = getPlanarRenderPathActiveSourceICamera(ctx);
247
+ if (!activeSourceICamera) {
248
+ return;
249
+ }
250
+ beginCompositePass(ctx);
251
+ const layerCanvasWasResized = syncLayerCanvasSize(runtime.layerCanvas, ctx.cpu.canvas);
252
+ if (layerCanvasWasResized) {
253
+ runtime.renderingInvalidated = true;
254
+ }
255
+ const useViewportSamplingForLinear = getUseViewportSamplingForLinearCPUVolume();
256
+ const resampleDecision = runtime.forceHighQualityResample
257
+ ? 'resample'
258
+ : this.sampler.getResampleDecision({
259
+ sampledSliceState: runtime.sampledSliceState,
260
+ width: ctx.cpu.canvas.width,
261
+ height: ctx.cpu.canvas.height,
262
+ camera: activeSourceICamera,
263
+ dataPresentation: runtime.dataPresentation,
264
+ deferViewportResample: useViewportSamplingForLinear,
265
+ });
266
+ const shouldResample = resampleDecision === 'resample';
267
+ if (resampleDecision === 'defer') {
268
+ scheduleDeferredViewportResample(ctx, runtime);
269
+ }
270
+ else {
271
+ cancelDeferredViewportResample(runtime);
272
+ }
273
+ let sampledSliceState = runtime.sampledSliceState;
274
+ if (shouldResample) {
275
+ this.releaseSampledSliceState(runtime);
276
+ runtime.forceHighQualityResample = false;
277
+ sampledSliceState = runtime.sampledSliceState =
278
+ this.sampler.sampleSliceImage({
279
+ volume: runtime.imageVolume,
280
+ width: ctx.cpu.canvas.width,
281
+ height: ctx.cpu.canvas.height,
282
+ camera: activeSourceICamera,
283
+ dataPresentation: runtime.dataPresentation,
284
+ useViewportSamplingForLinear,
285
+ });
286
+ }
287
+ if (!sampledSliceState) {
288
+ return;
289
+ }
290
+ if (shouldResample) {
291
+ runtime.renderingInvalidated = true;
292
+ }
293
+ runtime.enabledElement = this.sampler.createOrUpdateEnabledElement({
294
+ enabledElement: runtime.enabledElement,
295
+ canvas: runtime.layerCanvas,
296
+ image: sampledSliceState.image,
297
+ modality: runtime.imageVolume.metadata?.Modality,
298
+ });
299
+ this.sampler.updateCPUFallbackViewport({
300
+ enabledElement: runtime.enabledElement,
301
+ sampledSliceState,
302
+ camera: activeSourceICamera,
303
+ dataPresentation: runtime.dataPresentation,
304
+ defaultVOIRange: runtime.defaultVOIRange,
305
+ });
306
+ runtime.defaultVOIRange ||= this.sampler.getResolvedVOIRange(runtime.dataPresentation?.voiRange, sampledSliceState.image.minPixelValue ?? 0, sampledSliceState.image.maxPixelValue ?? 1);
307
+ if (shouldResample) {
308
+ runtime.compatibilityActor
309
+ .getMapper()
310
+ .getInputData()
311
+ .setDerivedImage(sampledSliceState.image);
312
+ }
313
+ if (runtime.compositeActor) {
314
+ renderCanvasActorLayer(runtime);
315
+ }
316
+ else {
317
+ drawImageSync(runtime.enabledElement, runtime.renderingInvalidated);
318
+ }
319
+ runtime.renderingInvalidated = false;
320
+ compositeLayerCanvas(ctx, runtime);
321
+ ctx.display.markRendered();
322
+ triggerEvent(ctx.viewport.element, Events.IMAGE_RENDERED, {
323
+ element: ctx.viewport.element,
324
+ viewportId: ctx.viewportId,
325
+ renderingEngineId: ctx.renderingEngineId,
326
+ viewportStatus: ViewportStatus.RENDERED,
327
+ });
328
+ }
329
+ resize(ctx, rendering, dataId) {
330
+ this.syncRenderCamera(ctx, rendering, dataId, ctx.viewport.getViewState());
331
+ }
332
+ removeData(ctx, rendering) {
333
+ const { removeStreamingSubscriptions } = rendering;
334
+ cancelDeferredViewportResample(rendering);
335
+ removeStreamingSubscriptions?.();
336
+ this.releaseSampledSliceState(rendering);
337
+ this.sampler.clearSliceArrayPool?.();
338
+ }
339
+ syncRenderCamera(ctx, rendering, dataId, camera) {
340
+ const projection = resolvePlanarRenderPathProjection({
341
+ ctx,
342
+ dataId,
343
+ rendering,
344
+ viewState: camera,
345
+ });
346
+ if (!projection) {
347
+ return;
348
+ }
349
+ const { currentImageIdIndex, maxImageIdIndex } = projection;
350
+ const imageIdIndexChanged = currentImageIdIndex !== rendering.currentImageIdIndex;
351
+ const maxImageIdIndexChanged = maxImageIdIndex !== rendering.maxImageIdIndex;
352
+ rendering.currentImageIdIndex = currentImageIdIndex;
353
+ rendering.maxImageIdIndex = maxImageIdIndex;
354
+ rendering.renderingInvalidated = true;
355
+ if (imageIdIndexChanged || maxImageIdIndexChanged) {
356
+ ctx.viewport.invalidateResolvedView();
357
+ }
358
+ if (imageIdIndexChanged) {
359
+ triggerPlanarVolumeNewImage(ctx, {
360
+ camera,
361
+ acquisitionOrientation: rendering.acquisitionOrientation,
362
+ imageIds: rendering.imageIds,
363
+ imageIdIndex: rendering.currentImageIdIndex,
364
+ });
365
+ }
366
+ }
367
+ releaseSampledSliceState(rendering) {
368
+ this.sampler.releaseSampledSliceState?.(rendering.sampledSliceState);
369
+ rendering.sampledSliceState = undefined;
370
+ }
371
+ }
372
+ function subscribeToVolumeEvents(volumeId, onUpdate) {
373
+ const handleUpdate = (evt) => {
374
+ const detail = evt.detail;
375
+ if (detail?.volumeId !== volumeId) {
376
+ return;
377
+ }
378
+ onUpdate(evt.type);
379
+ };
380
+ eventTarget.addEventListener(Events.IMAGE_VOLUME_MODIFIED, handleUpdate);
381
+ eventTarget.addEventListener(Events.IMAGE_VOLUME_LOADING_COMPLETED, handleUpdate);
382
+ return () => {
383
+ eventTarget.removeEventListener(Events.IMAGE_VOLUME_MODIFIED, handleUpdate);
384
+ eventTarget.removeEventListener(Events.IMAGE_VOLUME_LOADING_COMPLETED, handleUpdate);
385
+ };
386
+ }
387
+ function hasStreamedVolumeData(imageVolume) {
388
+ const streamingState = imageVolume;
389
+ return Boolean((streamingState.framesLoaded ?? 0) > 0 ||
390
+ (streamingState.framesProcessed ?? 0) > 0 ||
391
+ (streamingState.framesUpdated ?? 0) > 0);
392
+ }
393
+ function getCpuVolumeModifiedThrottleMs() {
394
+ const throttleMs = getConfiguration().rendering?.planar?.cpuVolume?.volumeModifiedThrottleMs;
395
+ if (!Number.isFinite(throttleMs)) {
396
+ return 0;
397
+ }
398
+ return Math.max(0, Math.trunc(throttleMs));
399
+ }
400
+ function getUseViewportSamplingForLinearCPUVolume() {
401
+ return (getConfiguration().rendering?.planar?.cpuVolume
402
+ ?.useViewportSamplingForLinear === true);
403
+ }
404
+ function scheduleDeferredViewportResample(ctx, rendering) {
405
+ cancelDeferredViewportResample(rendering);
406
+ ctx.display.setNeedsRender();
407
+ rendering.deferredResampleTimeoutId = window.setTimeout(() => {
408
+ rendering.deferredResampleTimeoutId = undefined;
409
+ rendering.forceHighQualityResample = true;
410
+ rendering.renderingInvalidated = true;
411
+ ctx.display.renderNow();
412
+ }, DEFERRED_VIEWPORT_RESAMPLE_DELAY_MS);
413
+ }
414
+ function cancelDeferredViewportResample(rendering) {
415
+ if (rendering.deferredResampleTimeoutId === undefined) {
416
+ return;
417
+ }
418
+ window.clearTimeout(rendering.deferredResampleTimeoutId);
419
+ rendering.deferredResampleTimeoutId = undefined;
420
+ }
421
+ export class CpuVolumeSlicePath {
422
+ constructor() {
423
+ this.id = 'planar:cpu-volume-slice';
424
+ this.type = ViewportType.PLANAR_NEXT;
425
+ }
426
+ matches(data, options) {
427
+ return (data.type === 'image' && options.renderMode === ActorRenderMode.CPU_VOLUME);
428
+ }
429
+ createRenderPath() {
430
+ return new CpuVolumeSliceRenderPath();
431
+ }
432
+ selectContext(rootContext) {
433
+ return {
434
+ viewportId: rootContext.viewportId,
435
+ renderingEngineId: rootContext.renderingEngineId,
436
+ type: rootContext.type,
437
+ viewport: rootContext.viewport,
438
+ renderPath: rootContext.renderPath,
439
+ view: rootContext.view,
440
+ display: rootContext.display,
441
+ cpu: rootContext.cpu,
442
+ };
443
+ }
444
+ }
445
+ function renderCanvasActorLayer(rendering) {
446
+ const enabledElement = rendering.enabledElement;
447
+ if (!enabledElement) {
448
+ return;
449
+ }
450
+ const context = rendering.layerCanvas.getContext('2d');
451
+ if (!context) {
452
+ return;
453
+ }
454
+ context.setTransform(1, 0, 0, 1, 0, 0);
455
+ context.clearRect(0, 0, rendering.layerCanvas.width, rendering.layerCanvas.height);
456
+ context.imageSmoothingEnabled = !enabledElement.viewport.pixelReplication;
457
+ setToPixelCoordinateSystem(enabledElement, context);
458
+ rendering.compatibilityActor.render(undefined, context);
459
+ }
460
+ function clearToBackground(ctx) {
461
+ ctx.cpu.context.setTransform(1, 0, 0, 1, 0, 0);
462
+ ctx.cpu.context.clearRect(0, 0, ctx.cpu.canvas.width, ctx.cpu.canvas.height);
463
+ ctx.cpu.context.fillStyle = '#000';
464
+ ctx.cpu.context.fillRect(0, 0, ctx.cpu.canvas.width, ctx.cpu.canvas.height);
465
+ }
466
+ function beginCompositePass(ctx) {
467
+ if (ctx.cpu.composition.clearedRenderPassId === ctx.cpu.composition.renderPassId) {
468
+ return;
469
+ }
470
+ clearToBackground(ctx);
471
+ ctx.cpu.composition.clearedRenderPassId = ctx.cpu.composition.renderPassId;
472
+ }
473
+ function syncLayerCanvasSize(layerCanvas, sharedCanvas) {
474
+ if (layerCanvas.width === sharedCanvas.width &&
475
+ layerCanvas.height === sharedCanvas.height) {
476
+ return false;
477
+ }
478
+ layerCanvas.width = sharedCanvas.width;
479
+ layerCanvas.height = sharedCanvas.height;
480
+ return true;
481
+ }
482
+ function compositeLayerCanvas(ctx, rendering) {
483
+ const compositeOpacity = rendering.dataPresentation?.opacity ?? 1;
484
+ if (compositeOpacity <= 0) {
485
+ return;
486
+ }
487
+ ctx.cpu.context.save();
488
+ ctx.cpu.context.globalAlpha = compositeOpacity;
489
+ ctx.cpu.context.drawImage(rendering.layerCanvas, 0, 0);
490
+ ctx.cpu.context.restore();
491
+ }
492
+ function buildPlanarVolumeImageData(imageVolume) {
493
+ const vtkImageData = imageVolume.imageData;
494
+ if (!vtkImageData) {
495
+ return;
496
+ }
497
+ return {
498
+ dimensions: vtkImageData.getDimensions(),
499
+ spacing: vtkImageData.getSpacing(),
500
+ origin: vtkImageData.getOrigin(),
501
+ direction: vtkImageData.getDirection(),
502
+ imageData: vtkImageData,
503
+ metadata: {
504
+ Modality: imageVolume.metadata?.Modality,
505
+ FrameOfReferenceUID: imageVolume.metadata?.FrameOfReferenceUID,
506
+ },
507
+ get scalarData() {
508
+ return imageVolume.voxelManager?.getScalarData();
509
+ },
510
+ scaling: imageVolume.scaling,
511
+ hasPixelSpacing: imageVolume.hasPixelSpacing,
512
+ voxelManager: imageVolume.voxelManager,
513
+ };
514
+ }
@@ -0,0 +1,6 @@
1
+ import type { LoadedData } from '../ViewportArchitectureTypes';
2
+ import type { PlanarDataProvider, PlanarDataLoadOptions, PlanarPayload } from './PlanarViewportTypes';
3
+ export declare class DefaultPlanarDataProvider implements PlanarDataProvider {
4
+ load(dataId: string, options?: PlanarDataLoadOptions): Promise<LoadedData<PlanarPayload>>;
5
+ private getDataSet;
6
+ }
@@ -0,0 +1,80 @@
1
+ import { loadAndCacheImage } from '../../../loaders/imageLoader';
2
+ import { createAndCacheVolume } from '../../../loaders/volumeLoader';
3
+ import { ActorRenderMode } from '../../../types';
4
+ import resolveViewportVolumeId from '../../helpers/resolveViewportVolumeId';
5
+ import { getGenericViewportPlanarDataSet } from '../genericViewportDataSetAccess';
6
+ export class DefaultPlanarDataProvider {
7
+ async load(dataId, options) {
8
+ const dataSet = this.getDataSet(dataId);
9
+ if (!dataSet) {
10
+ throw new Error(`[PlanarViewport] No registered planar dataset for ${dataId}`);
11
+ }
12
+ if (!options) {
13
+ throw new Error(`[PlanarViewport] No load options were provided for ${dataId}`);
14
+ }
15
+ if (!dataSet.imageIds.length) {
16
+ throw new Error('[PlanarViewport] Cannot load an empty planar dataset');
17
+ }
18
+ const clampedImageIdIndex = Math.min(Math.max(0, dataSet.initialImageIdIndex ?? 0), dataSet.imageIds.length - 1);
19
+ if (options.renderMode === ActorRenderMode.VTK_VOLUME_SLICE ||
20
+ options.renderMode === ActorRenderMode.CPU_VOLUME) {
21
+ const volumeId = resolveViewportVolumeId(options.volumeId);
22
+ const imageVolume = await createAndCacheVolume(volumeId, {
23
+ imageIds: dataSet.imageIds,
24
+ });
25
+ imageVolume.load();
26
+ const imageIds = imageVolume.imageIds
27
+ ? imageVolume.imageIds
28
+ : dataSet.imageIds;
29
+ return {
30
+ id: dataId,
31
+ type: 'image',
32
+ imageIds,
33
+ initialImageIdIndex: clampedImageIdIndex,
34
+ acquisitionOrientation: options.acquisitionOrientation,
35
+ imageData: dataSet.imageData,
36
+ imageVolume,
37
+ reference: dataSet.reference,
38
+ renderMode: options.renderMode,
39
+ useWorldCoordinateImageData: dataSet.useWorldCoordinateImageData,
40
+ volumeId,
41
+ };
42
+ }
43
+ const image = dataSet.image &&
44
+ dataSet.image.imageId === dataSet.imageIds[clampedImageIdIndex]
45
+ ? dataSet.image
46
+ : await loadAndCacheImage(dataSet.imageIds[clampedImageIdIndex]);
47
+ return {
48
+ id: dataId,
49
+ type: 'image',
50
+ imageIds: dataSet.imageIds,
51
+ image,
52
+ imageData: dataSet.imageData,
53
+ initialImageIdIndex: clampedImageIdIndex,
54
+ acquisitionOrientation: options.acquisitionOrientation,
55
+ reference: dataSet.reference,
56
+ renderMode: options.renderMode,
57
+ useWorldCoordinateImageData: dataSet.useWorldCoordinateImageData,
58
+ volumeId: options.volumeId,
59
+ };
60
+ }
61
+ getDataSet(dataId) {
62
+ const dataSet = getGenericViewportPlanarDataSet(dataId);
63
+ if (!isPlanarRegisteredDataSet(dataSet)) {
64
+ return;
65
+ }
66
+ return dataSet;
67
+ }
68
+ }
69
+ function isPlanarRegisteredDataSet(value) {
70
+ if (!value ||
71
+ typeof value !== 'object' ||
72
+ !Array.isArray(value.imageIds) ||
73
+ value.imageIds.length === 0) {
74
+ return false;
75
+ }
76
+ const dataSet = value;
77
+ return ((dataSet.initialImageIdIndex === undefined ||
78
+ typeof dataSet.initialImageIdIndex === 'number') &&
79
+ (dataSet.volumeId === undefined || typeof dataSet.volumeId === 'string'));
80
+ }
@@ -0,0 +1,47 @@
1
+ import { InterpolationType } from '../../../enums';
2
+ import type { IImageVolume, PixelDataTypedArray, Point3 } from '../../../types';
3
+ type SliceArray = PixelDataTypedArray;
4
+ export type ScalarViewportSampleResult = {
5
+ min: number;
6
+ max: number;
7
+ };
8
+ type AxisInterpolationPlan = {
9
+ lower: Int32Array;
10
+ upper: Int32Array;
11
+ fraction: Float64Array;
12
+ valid: Uint8Array;
13
+ };
14
+ export default class PlanarCPUScalarViewportSampler {
15
+ private completeScalarDataCache;
16
+ private axisAlignedGeometryCache;
17
+ clearCachedVoxelManager(voxelManager: NonNullable<IImageVolume['voxelManager']>): void;
18
+ getCompleteScalarDataArray(voxelManager: NonNullable<IImageVolume['voxelManager']>): ArrayLike<number> | undefined;
19
+ sampleAxisAligned(args: {
20
+ volume: IImageVolume;
21
+ voxelManager: NonNullable<IImageVolume['voxelManager']>;
22
+ pixelData: SliceArray;
23
+ width: number;
24
+ height: number;
25
+ rowStartIndex: Point3;
26
+ xStepIndexDelta: Point3;
27
+ yStepIndexDelta: Point3;
28
+ right: Point3;
29
+ up: Point3;
30
+ normal: Point3;
31
+ interpolationType: InterpolationType;
32
+ numberOfComponents: number;
33
+ fallbackMin: number;
34
+ fallbackMax: number;
35
+ }): ScalarViewportSampleResult | undefined;
36
+ private sampleGeneralAxisAligned;
37
+ private trySampleFixedAxisAligned;
38
+ private getOrCreateAxisAlignedGeometry;
39
+ createAxisInterpolationPlan(dimension: number, start: number, step: number, length: number, interpolationType: InterpolationType): AxisInterpolationPlan;
40
+ private createSingleAxisInterpolation;
41
+ private sampleNearestFixedAxis;
42
+ private sampleLinearFixedAxis;
43
+ private sampleScalarDataAtContinuousCoordinates;
44
+ private sampleNearestScalarDataAtContinuousCoordinates;
45
+ private sampleLinearScalarDataAtContinuousCoordinates;
46
+ }
47
+ export {};