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

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 (325) hide show
  1. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +23 -13
  2. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +36 -44
  3. package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.d.ts +1 -1
  4. package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.d.ts +1 -1
  5. package/dist/esm/RenderingEngine/CanvasActor/index.js +2 -1
  6. package/dist/esm/RenderingEngine/RenderingEngine.d.ts +7 -8
  7. package/dist/esm/RenderingEngine/RenderingEngine.js +18 -17
  8. package/dist/esm/RenderingEngine/StackViewport.d.ts +29 -18
  9. package/dist/esm/RenderingEngine/StackViewport.js +66 -50
  10. package/dist/esm/RenderingEngine/VideoViewport.d.ts +19 -28
  11. package/dist/esm/RenderingEngine/VideoViewport.js +59 -22
  12. package/dist/esm/RenderingEngine/Viewport.d.ts +25 -14
  13. package/dist/esm/RenderingEngine/Viewport.js +20 -14
  14. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +21 -9
  15. package/dist/esm/RenderingEngine/VolumeViewport.js +88 -8
  16. package/dist/esm/RenderingEngine/VolumeViewport3D.d.ts +3 -3
  17. package/dist/esm/RenderingEngine/VolumeViewport3D.js +10 -3
  18. package/dist/esm/RenderingEngine/WSIViewport.d.ts +58 -0
  19. package/dist/esm/RenderingEngine/WSIViewport.js +414 -0
  20. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.d.ts +1 -1
  21. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +3 -3
  22. package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.d.ts +1 -1
  23. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +1 -1
  24. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.js +1 -1
  25. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts +2 -2
  26. package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.js +15 -5
  27. package/dist/esm/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts +1 -1
  28. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts +1 -1
  29. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts +1 -1
  30. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +3 -3
  31. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts +1 -1
  32. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts +1 -1
  33. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts +1 -1
  34. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts +1 -1
  35. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.js +1 -1
  36. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts +1 -1
  37. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +2 -2
  38. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts +1 -1
  39. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts +1 -1
  40. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts +1 -1
  41. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts +1 -1
  42. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.js +1 -1
  43. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts +1 -1
  44. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts +1 -1
  45. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts +2 -1
  46. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.js +1 -1
  47. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts +1 -1
  48. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts +1 -1
  49. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +3 -4
  50. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts +1 -1
  51. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +2 -3
  52. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +2 -2
  53. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -1
  54. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts +1 -1
  55. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts +1 -1
  56. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts +1 -1
  57. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts +1 -1
  58. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts +1 -1
  59. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.js +1 -1
  60. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts +1 -1
  61. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.js +1 -1
  62. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.js +1 -1
  63. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts +1 -1
  64. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.js +1 -1
  65. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.js +1 -1
  66. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.js +1 -1
  67. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts +1 -1
  68. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.js +1 -1
  69. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts +1 -1
  70. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.js +1 -1
  71. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts +1 -1
  72. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts +2 -2
  73. package/dist/esm/RenderingEngine/helpers/createVolumeActor.d.ts +3 -3
  74. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +3 -6
  75. package/dist/esm/RenderingEngine/helpers/createVolumeMapper.d.ts +4 -1
  76. package/dist/esm/RenderingEngine/helpers/getOrCreateCanvas.js +5 -4
  77. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +2 -2
  78. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +10 -35
  79. package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.d.ts +1 -1
  80. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
  81. package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
  82. package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +1 -1
  83. package/dist/esm/RenderingEngine/renderingEngineCache.d.ts +1 -1
  84. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +4 -2
  85. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +87 -78
  86. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +1 -1
  87. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +83 -42
  88. package/dist/esm/Settings.d.ts +1 -1
  89. package/dist/esm/cache/cache.d.ts +15 -19
  90. package/dist/esm/cache/cache.js +110 -56
  91. package/dist/esm/cache/classes/Contour.d.ts +4 -4
  92. package/dist/esm/cache/classes/ContourSet.d.ts +3 -3
  93. package/dist/esm/cache/classes/ImageVolume.d.ts +19 -19
  94. package/dist/esm/cache/classes/ImageVolume.js +48 -254
  95. package/dist/esm/cache/classes/Surface.d.ts +3 -3
  96. package/dist/esm/constants/cpuColormaps.d.ts +1 -1
  97. package/dist/esm/constants/viewportPresets.d.ts +1 -1
  98. package/dist/esm/enums/GenerateImageType.d.ts +5 -0
  99. package/dist/esm/enums/GenerateImageType.js +6 -0
  100. package/dist/esm/enums/MetadataModules.d.ts +2 -1
  101. package/dist/esm/enums/MetadataModules.js +1 -0
  102. package/dist/esm/enums/ViewportType.d.ts +2 -1
  103. package/dist/esm/enums/ViewportType.js +1 -0
  104. package/dist/esm/enums/index.d.ts +2 -2
  105. package/dist/esm/enums/index.js +2 -2
  106. package/dist/esm/eventTarget.js +2 -3
  107. package/dist/esm/getEnabledElement.d.ts +1 -1
  108. package/dist/esm/global.d.ts +0 -1
  109. package/dist/esm/index.d.ts +4 -3
  110. package/dist/esm/index.js +3 -2
  111. package/dist/esm/init.d.ts +5 -8
  112. package/dist/esm/init.js +21 -82
  113. package/dist/esm/loaders/ProgressiveRetrieveImages.d.ts +5 -5
  114. package/dist/esm/loaders/ProgressiveRetrieveImages.js +3 -1
  115. package/dist/esm/loaders/configuration/interleavedRetrieve.d.ts +1 -1
  116. package/dist/esm/loaders/fillNearbyFrames.d.ts +2 -2
  117. package/dist/esm/loaders/geometryLoader.d.ts +3 -3
  118. package/dist/esm/loaders/imageLoader.d.ts +12 -17
  119. package/dist/esm/loaders/imageLoader.js +174 -95
  120. package/dist/esm/loaders/utils/contourSet/createContourSet.d.ts +1 -1
  121. package/dist/esm/loaders/utils/contourSet/validateContourSet.d.ts +1 -1
  122. package/dist/esm/loaders/utils/surface/createSurface.d.ts +1 -1
  123. package/dist/esm/loaders/utils/surface/validateSurface.d.ts +1 -1
  124. package/dist/esm/loaders/volumeLoader.d.ts +14 -22
  125. package/dist/esm/loaders/volumeLoader.js +62 -210
  126. package/dist/esm/metaData.d.ts +2 -4
  127. package/dist/esm/requestPool/requestPoolManager.d.ts +7 -9
  128. package/dist/esm/types/AABB2.d.ts +2 -2
  129. package/dist/esm/types/AABB3.d.ts +2 -2
  130. package/dist/esm/types/ActorSliceRange.d.ts +5 -5
  131. package/dist/esm/types/BoundsIJK.d.ts +1 -1
  132. package/dist/esm/types/BoundsLPS.d.ts +1 -1
  133. package/dist/esm/types/CPUFallbackColormap.d.ts +3 -3
  134. package/dist/esm/types/CPUFallbackColormapData.d.ts +4 -4
  135. package/dist/esm/types/CPUFallbackColormapsData.d.ts +3 -5
  136. package/dist/esm/types/CPUFallbackEnabledElement.d.ts +14 -11
  137. package/dist/esm/types/CPUFallbackLUT.d.ts +4 -3
  138. package/dist/esm/types/CPUFallbackLookupTable.d.ts +2 -2
  139. package/dist/esm/types/CPUFallbackRenderingTools.d.ts +5 -5
  140. package/dist/esm/types/CPUFallbackTransform.d.ts +3 -3
  141. package/dist/esm/types/CPUFallbackViewport.d.ts +6 -6
  142. package/dist/esm/types/CPUFallbackViewportDisplayedArea.d.ts +3 -3
  143. package/dist/esm/types/CPUIImageData.d.ts +17 -9
  144. package/dist/esm/types/Color.d.ts +1 -1
  145. package/dist/esm/types/Colormap.d.ts +7 -7
  146. package/dist/esm/types/ContourData.d.ts +6 -6
  147. package/dist/esm/types/Cornerstone3DConfig.d.ts +7 -7
  148. package/dist/esm/types/CustomEventType.d.ts +2 -2
  149. package/dist/esm/types/EventTypes.d.ts +55 -55
  150. package/dist/esm/types/FlipDirection.d.ts +3 -3
  151. package/dist/esm/types/IActor.d.ts +3 -3
  152. package/dist/esm/types/ICache.d.ts +4 -4
  153. package/dist/esm/types/ICachedGeometry.d.ts +3 -3
  154. package/dist/esm/types/ICachedImage.d.ts +3 -2
  155. package/dist/esm/types/ICachedVolume.d.ts +3 -2
  156. package/dist/esm/types/ICamera.d.ts +3 -3
  157. package/dist/esm/types/IContour.d.ts +4 -3
  158. package/dist/esm/types/IContourSet.d.ts +5 -2
  159. package/dist/esm/types/IDynamicImageVolume.d.ts +3 -3
  160. package/dist/esm/types/IEnabledElement.d.ts +2 -2
  161. package/dist/esm/types/IGeometry.d.ts +4 -4
  162. package/dist/esm/types/IImage.d.ts +12 -10
  163. package/dist/esm/types/IImageCalibration.d.ts +2 -2
  164. package/dist/esm/types/IImageData.d.ts +11 -4
  165. package/dist/esm/types/IImageFrame.d.ts +42 -0
  166. package/dist/esm/types/IImageFrame.js +1 -0
  167. package/dist/esm/types/IImageVolume.d.ts +17 -14
  168. package/dist/esm/types/ILoadObject.d.ts +3 -3
  169. package/dist/esm/types/IPointsManager.d.ts +23 -0
  170. package/dist/esm/types/IPointsManager.js +1 -0
  171. package/dist/esm/types/IRLEVoxelMap.d.ts +16 -0
  172. package/dist/esm/types/IRLEVoxelMap.js +1 -0
  173. package/dist/esm/types/IRegisterImageLoader.d.ts +2 -2
  174. package/dist/esm/types/IRenderingEngine.d.ts +11 -12
  175. package/dist/esm/types/IRetrieveConfiguration.d.ts +6 -6
  176. package/dist/esm/types/IStackInput.d.ts +1 -1
  177. package/dist/esm/types/IStackViewport.d.ts +69 -2
  178. package/dist/esm/types/IStreamingImageVolume.d.ts +3 -4
  179. package/dist/esm/types/IStreamingVolumeProperties.d.ts +5 -5
  180. package/dist/esm/types/ISurface.d.ts +1 -1
  181. package/dist/esm/types/ITransferFunctionNode.d.ts +9 -0
  182. package/dist/esm/types/ITransferFunctionNode.js +1 -0
  183. package/dist/esm/types/IVideoViewport.d.ts +40 -2
  184. package/dist/esm/types/IViewport.d.ts +62 -41
  185. package/dist/esm/types/IVolume.d.ts +2 -2
  186. package/dist/esm/types/IVolumeInput.d.ts +2 -2
  187. package/dist/esm/types/IVolumeViewport.d.ts +17 -16
  188. package/dist/esm/types/IVoxelManager.d.ts +54 -0
  189. package/dist/esm/types/IVoxelManager.js +1 -0
  190. package/dist/esm/types/IWSIViewport.d.ts +16 -0
  191. package/dist/esm/types/IWSIViewport.js +1 -0
  192. package/dist/esm/types/ImageLoadListener.d.ts +2 -2
  193. package/dist/esm/types/ImageLoaderFn.d.ts +3 -3
  194. package/dist/esm/types/ImagePixelModule.d.ts +1 -1
  195. package/dist/esm/types/ImagePlaneModule.d.ts +2 -2
  196. package/dist/esm/types/ImageSliceData.d.ts +3 -3
  197. package/dist/esm/types/ImageVolumeProps.d.ts +4 -4
  198. package/dist/esm/types/Mat3.d.ts +1 -1
  199. package/dist/esm/types/Metadata.d.ts +6 -6
  200. package/dist/esm/types/MetadataModuleTypes.d.ts +65 -0
  201. package/dist/esm/types/MetadataModuleTypes.js +1 -0
  202. package/dist/esm/types/OrientationVectors.d.ts +4 -4
  203. package/dist/esm/types/Plane.d.ts +1 -1
  204. package/dist/esm/types/Point2.d.ts +1 -1
  205. package/dist/esm/types/Point3.d.ts +3 -3
  206. package/dist/esm/types/Point4.d.ts +1 -1
  207. package/dist/esm/types/RGB.d.ts +1 -1
  208. package/dist/esm/types/ScalingParameters.d.ts +7 -7
  209. package/dist/esm/types/StackViewportProperties.d.ts +3 -3
  210. package/dist/esm/types/SurfaceData.d.ts +5 -5
  211. package/dist/esm/types/TransformMatrix2D.d.ts +1 -1
  212. package/dist/esm/types/VideoViewportProperties.d.ts +3 -3
  213. package/dist/esm/types/VideoViewportTypes.d.ts +7 -7
  214. package/dist/esm/types/ViewportInputOptions.d.ts +7 -7
  215. package/dist/esm/types/ViewportPreset.d.ts +1 -1
  216. package/dist/esm/types/ViewportProperties.d.ts +5 -5
  217. package/dist/esm/types/VolumeLoaderFn.d.ts +4 -3
  218. package/dist/esm/types/VolumeProps.d.ts +10 -5
  219. package/dist/esm/types/VolumeViewportProperties.d.ts +3 -3
  220. package/dist/esm/types/WSIViewportProperties.d.ts +3 -0
  221. package/dist/esm/types/WSIViewportProperties.js +1 -0
  222. package/dist/esm/types/WSIViewportTypes.d.ts +13 -0
  223. package/dist/esm/types/WSIViewportTypes.js +1 -0
  224. package/dist/esm/types/displayArea.d.ts +4 -4
  225. package/dist/esm/types/index.d.ts +16 -8
  226. package/dist/esm/types/voi.d.ts +4 -4
  227. package/dist/esm/utilities/PointsManager.d.ts +8 -10
  228. package/dist/esm/utilities/ProgressiveIterator.d.ts +1 -1
  229. package/dist/esm/utilities/ProgressiveIterator.js +3 -1
  230. package/dist/esm/utilities/RLEVoxelMap.d.ts +3 -8
  231. package/dist/esm/utilities/RLEVoxelMap.js +19 -19
  232. package/dist/esm/utilities/VoxelManager.d.ts +82 -20
  233. package/dist/esm/utilities/VoxelManager.js +466 -60
  234. package/dist/esm/utilities/actorCheck.d.ts +1 -1
  235. package/dist/esm/utilities/applyPreset.d.ts +2 -2
  236. package/dist/esm/utilities/calculateViewportsSpatialRegistration.d.ts +1 -1
  237. package/dist/esm/utilities/calculateViewportsSpatialRegistration.js +4 -4
  238. package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +1 -1
  239. package/dist/esm/utilities/colormap.d.ts +1 -1
  240. package/dist/esm/utilities/convertStackToVolumeViewport.d.ts +2 -2
  241. package/dist/esm/utilities/convertStackToVolumeViewport.js +4 -4
  242. package/dist/esm/utilities/convertVolumeToStackViewport.d.ts +1 -1
  243. package/dist/esm/utilities/convertVolumeToStackViewport.js +1 -1
  244. package/dist/esm/utilities/createLinearRGBTransferFunction.d.ts +1 -1
  245. package/dist/esm/utilities/createLinearRGBTransferFunction.js +1 -3
  246. package/dist/esm/utilities/createSigmoidRGBTransferFunction.d.ts +2 -3
  247. package/dist/esm/utilities/createSigmoidRGBTransferFunction.js +8 -7
  248. package/dist/esm/utilities/decimate.d.ts +1 -1
  249. package/dist/esm/utilities/eventListener/TargetEventListeners.js +5 -3
  250. package/dist/esm/utilities/generateVolumePropsFromImageIds.d.ts +1 -1
  251. package/dist/esm/utilities/generateVolumePropsFromImageIds.js +33 -80
  252. package/dist/esm/utilities/genericMetadataProvider.d.ts +9 -2
  253. package/dist/esm/utilities/genericMetadataProvider.js +7 -1
  254. package/dist/esm/utilities/getBufferConfiguration.d.ts +2 -3
  255. package/dist/esm/utilities/getBufferConfiguration.js +5 -15
  256. package/dist/esm/utilities/getClosestImageId.js +1 -1
  257. package/dist/esm/utilities/getClosestStackImageIndexForPoint.d.ts +1 -1
  258. package/dist/esm/utilities/getCurrentVolumeViewportSlice.d.ts +4 -5
  259. package/dist/esm/utilities/getCurrentVolumeViewportSlice.js +8 -58
  260. package/dist/esm/utilities/getImageLegacy.d.ts +1 -1
  261. package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +1 -1
  262. package/dist/esm/utilities/getMinMax.d.ts +2 -1
  263. package/dist/esm/utilities/getScalingParameters.d.ts +1 -1
  264. package/dist/esm/utilities/getSpacingInNormalDirection.d.ts +2 -2
  265. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
  266. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +2 -2
  267. package/dist/esm/utilities/getViewportImageCornersInWorld.d.ts +1 -1
  268. package/dist/esm/utilities/getViewportImageIds.d.ts +1 -1
  269. package/dist/esm/utilities/getViewportModality.d.ts +7 -3
  270. package/dist/esm/utilities/getViewportModality.js +9 -6
  271. package/dist/esm/utilities/getViewportsWithImageURI.d.ts +2 -2
  272. package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +2 -2
  273. package/dist/esm/utilities/getViewportsWithVolumeId.js +3 -7
  274. package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +1 -1
  275. package/dist/esm/utilities/getVolumeActorCorners.d.ts +2 -2
  276. package/dist/esm/utilities/getVolumeId.js +2 -2
  277. package/dist/esm/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
  278. package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
  279. package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.d.ts +2 -2
  280. package/dist/esm/utilities/hasFloatScalingParameters.d.ts +1 -1
  281. package/dist/esm/utilities/imageRetrieveMetadataProvider.d.ts +1 -1
  282. package/dist/esm/utilities/imageToWorldCoords.d.ts +1 -1
  283. package/dist/esm/utilities/index.d.ts +3 -8
  284. package/dist/esm/utilities/index.js +4 -8
  285. package/dist/esm/utilities/indexWithinDimensions.d.ts +1 -1
  286. package/dist/esm/utilities/invertRgbTransferFunction.d.ts +2 -1
  287. package/dist/esm/utilities/isEqual.js +6 -1
  288. package/dist/esm/utilities/isPTPrescaledWithSUV.d.ts +1 -1
  289. package/dist/esm/utilities/isPTPrescaledWithSUV.js +1 -1
  290. package/dist/esm/utilities/isTypedArray.d.ts +1 -1
  291. package/dist/esm/utilities/loadImageToCanvas.d.ts +6 -6
  292. package/dist/esm/utilities/makeVolumeMetadata.d.ts +2 -2
  293. package/dist/esm/utilities/planar.d.ts +2 -2
  294. package/dist/esm/utilities/renderToCanvasCPU.d.ts +1 -1
  295. package/dist/esm/utilities/renderToCanvasGPU.d.ts +2 -2
  296. package/dist/esm/utilities/renderToCanvasGPU.js +1 -1
  297. package/dist/esm/utilities/scaleRgbTransferFunction.d.ts +2 -1
  298. package/dist/esm/utilities/snapFocalPointToSlice.d.ts +1 -1
  299. package/dist/esm/utilities/sortImageIdsAndGetSpacing.d.ts +5 -5
  300. package/dist/esm/utilities/transformCanvasToIJK.d.ts +2 -2
  301. package/dist/esm/utilities/transformIJKToCanvas.d.ts +1 -1
  302. package/dist/esm/utilities/triggerEvent.js +1 -1
  303. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.d.ts +2 -2
  304. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +1 -1
  305. package/dist/esm/utilities/uuidv4.js +3 -1
  306. package/dist/esm/utilities/worldToImageCoords.d.ts +1 -1
  307. package/dist/umd/index.js +1 -1
  308. package/dist/umd/index.js.map +1 -1
  309. package/package.json +5 -6
  310. package/dist/esm/cache/utils/restoreImagesFromBuffer.d.ts +0 -2
  311. package/dist/esm/cache/utils/restoreImagesFromBuffer.js +0 -28
  312. package/dist/esm/enums/SharedArrayBufferModes.d.ts +0 -6
  313. package/dist/esm/enums/SharedArrayBufferModes.js +0 -7
  314. package/dist/esm/utilities/cacheUtils.d.ts +0 -2
  315. package/dist/esm/utilities/cacheUtils.js +0 -86
  316. package/dist/esm/utilities/createFloat32SharedArray.d.ts +0 -2
  317. package/dist/esm/utilities/createFloat32SharedArray.js +0 -27
  318. package/dist/esm/utilities/createInt16SharedArray.d.ts +0 -2
  319. package/dist/esm/utilities/createInt16SharedArray.js +0 -11
  320. package/dist/esm/utilities/createUInt16SharedArray.d.ts +0 -2
  321. package/dist/esm/utilities/createUInt16SharedArray.js +0 -11
  322. package/dist/esm/utilities/createUint8SharedArray.d.ts +0 -2
  323. package/dist/esm/utilities/createUint8SharedArray.js +0 -12
  324. package/dist/esm/utilities/getScalarDataType.d.ts +0 -2
  325. package/dist/esm/utilities/getScalarDataType.js +0 -19
@@ -1,2 +1,2 @@
1
- import { IGeometry, PublicSurfaceData } from '../../../types';
1
+ import type { IGeometry, PublicSurfaceData } from '../../../types';
2
2
  export declare function createSurface(geometryId: string, SurfaceData: PublicSurfaceData): IGeometry;
@@ -1,2 +1,2 @@
1
- import { PublicSurfaceData } from '../../../types';
1
+ import type { PublicSurfaceData } from '../../../types';
2
2
  export declare function validateSurface(contourSetData: PublicSurfaceData): void;
@@ -1,42 +1,34 @@
1
1
  import '@kitware/vtk.js/Rendering/Profiles/Volume';
2
- import { Point3, Metadata, Mat3, IImageVolume, VolumeLoaderFn, PixelDataTypedArray, PixelDataTypedArrayString } from '../types';
2
+ import type { Point3, Metadata, Mat3, IImageVolume, VolumeLoaderFn, PixelDataTypedArray, PixelDataTypedArrayString } from '../types';
3
3
  interface VolumeLoaderOptions {
4
- imageIds: Array<string>;
4
+ imageIds: string[];
5
5
  }
6
6
  interface DerivedVolumeOptions {
7
7
  volumeId: string;
8
- targetBuffer?: {
9
- type: PixelDataTypedArrayString;
10
- sharedArrayBuffer?: boolean;
11
- };
8
+ targetBufferType?: PixelDataTypedArrayString;
12
9
  }
13
- interface LocalVolumeOptions {
10
+ export interface LocalVolumeOptions {
14
11
  metadata: Metadata;
15
12
  dimensions: Point3;
16
13
  spacing: Point3;
17
14
  origin: Point3;
18
15
  direction: Mat3;
19
16
  scalarData?: PixelDataTypedArray;
20
- imageIds?: Array<string>;
21
- referencedImageIds?: Array<string>;
17
+ imageIds?: string[];
18
+ referencedImageIds?: string[];
22
19
  referencedVolumeId?: string;
23
- targetBuffer?: {
24
- type: PixelDataTypedArrayString;
25
- sharedArrayBuffer?: boolean;
26
- };
20
+ preventCache?: boolean;
21
+ targetBufferType?: PixelDataTypedArrayString;
27
22
  }
28
23
  export declare function loadVolume(volumeId: string, options?: VolumeLoaderOptions): Promise<IImageVolume>;
29
- export declare function createAndCacheEmptyVolume(volumeId: string, options?: VolumeLoaderOptions): Promise<Record<string, any>>;
30
- export declare function createAndCacheDerivedVolume(referencedVolumeId: string, options: DerivedVolumeOptions): Promise<IImageVolume>;
31
- export declare function createLocalVolume(options: LocalVolumeOptions, volumeId: string, preventCache?: boolean): IImageVolume;
32
- export declare function createAndCacheVolumeFromImages(volumeId: string, imageIds: string[], options?: {
33
- preventCache?: boolean;
34
- additionalDetails?: Record<string, any>;
35
- }): Promise<IImageVolume>;
24
+ export declare function createAndCacheVolume(volumeId: string, options?: VolumeLoaderOptions): Promise<IImageVolume>;
25
+ export declare function createAndCacheDerivedVolume(referencedVolumeId: string, options: DerivedVolumeOptions): IImageVolume;
26
+ export declare function createAndCacheVolumeFromImages(volumeId: string, imageIds: string[]): Promise<IImageVolume>;
27
+ export declare function createLocalVolume(volumeId: string, options?: LocalVolumeOptions): IImageVolume;
36
28
  export declare function registerVolumeLoader(scheme: string, volumeLoader: VolumeLoaderFn): void;
37
29
  export declare function getVolumeLoaderSchemes(): string[];
38
30
  export declare function registerUnknownVolumeLoader(volumeLoader: VolumeLoaderFn): VolumeLoaderFn | undefined;
39
31
  export declare function getUnknownVolumeLoaderSchema(): string;
40
- export declare function createAndCacheDerivedSegmentationVolume(referencedVolumeId: string, options?: DerivedVolumeOptions): Promise<IImageVolume>;
41
- export declare function createLocalSegmentationVolume(options: LocalVolumeOptions, volumeId: string, preventCache?: boolean): Promise<IImageVolume>;
32
+ export declare function createAndCacheDerivedSegmentationVolume(referencedVolumeId: string, options?: DerivedVolumeOptions): IImageVolume;
33
+ export declare function createLocalSegmentationVolume(options: LocalVolumeOptions, volumeId: string, preventCache?: boolean): IImageVolume;
42
34
  export {};
@@ -1,56 +1,12 @@
1
1
  import '@kitware/vtk.js/Rendering/Profiles/Volume';
2
- import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
3
- import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
4
2
  import { ImageVolume } from '../cache/classes/ImageVolume';
5
3
  import cache from '../cache/cache';
6
4
  import Events from '../enums/Events';
7
5
  import eventTarget from '../eventTarget';
8
6
  import triggerEvent from '../utilities/triggerEvent';
9
- import { createUint16SharedArray, createUint8SharedArray, createFloat32SharedArray, generateVolumePropsFromImageIds, getBufferConfiguration, uuidv4, } from '../utilities';
10
- import { getConfiguration, getShouldUseSharedArrayBuffer } from '../init';
11
- import { performCacheOptimizationForVolume, setupCacheOptimizationEventListener, } from '../utilities/cacheUtils';
12
- function addScalarDataToImageData(imageData, scalarData, dataArrayAttrs) {
13
- const scalarArray = vtkDataArray.newInstance({
14
- name: `Pixels`,
15
- values: scalarData,
16
- ...dataArrayAttrs,
17
- });
18
- imageData.getPointData().setScalars(scalarArray);
19
- }
20
- function addScalarDataArraysToImageData(imageData, scalarDataArrays, dataArrayAttrs) {
21
- scalarDataArrays.forEach((scalarData, i) => {
22
- const vtkScalarArray = vtkDataArray.newInstance({
23
- name: `timePoint-${i}`,
24
- values: scalarData,
25
- ...dataArrayAttrs,
26
- });
27
- imageData.getPointData().addArray(vtkScalarArray);
28
- });
29
- imageData.getPointData().setActiveScalars('timePoint-0');
30
- }
31
- function createInternalVTKRepresentation(volume) {
32
- const { dimensions, metadata, spacing, direction, origin } = volume;
33
- const { PhotometricInterpretation } = metadata;
34
- let numComponents = 1;
35
- if (PhotometricInterpretation === 'RGB') {
36
- numComponents = 3;
37
- }
38
- const imageData = vtkImageData.newInstance();
39
- const dataArrayAttrs = { numberOfComponents: numComponents };
40
- imageData.setDimensions(dimensions);
41
- imageData.setSpacing(spacing);
42
- imageData.setDirection(direction);
43
- imageData.setOrigin(origin);
44
- if (volume.isDynamicVolume()) {
45
- const scalarDataArrays = (volume).getScalarDataArrays();
46
- addScalarDataArraysToImageData(imageData, scalarDataArrays, dataArrayAttrs);
47
- }
48
- else {
49
- const scalarData = volume.getScalarData();
50
- addScalarDataToImageData(imageData, scalarData, dataArrayAttrs);
51
- }
52
- return imageData;
53
- }
7
+ import { getBufferConfiguration, uuidv4, VoxelManager } from '../utilities';
8
+ import { imageLoader } from '..';
9
+ import { createAndCacheLocalImage } from './imageLoader';
54
10
  const volumeLoaders = {};
55
11
  let unknownVolumeLoader;
56
12
  function loadVolumeFromVolumeLoader(volumeId, options) {
@@ -65,7 +21,6 @@ function loadVolumeFromVolumeLoader(volumeId, options) {
65
21
  loader = unknownVolumeLoader;
66
22
  }
67
23
  const volumeLoadObject = loader(volumeId, options);
68
- setupCacheOptimizationEventListener(volumeId);
69
24
  volumeLoadObject.promise.then(function (volume) {
70
25
  triggerEvent(eventTarget, Events.VOLUME_LOADED, { volume });
71
26
  }, function (error) {
@@ -87,179 +42,112 @@ export function loadVolume(volumeId, options = { imageIds: [] }) {
87
42
  }
88
43
  volumeLoadObject = loadVolumeFromVolumeLoader(volumeId, options);
89
44
  return volumeLoadObject.promise.then((volume) => {
90
- volume.imageData = createInternalVTKRepresentation(volume);
91
45
  return volume;
92
46
  });
93
47
  }
94
- export async function createAndCacheEmptyVolume(volumeId, options) {
48
+ export async function createAndCacheVolume(volumeId, options) {
95
49
  if (volumeId === undefined) {
96
- throw new Error('createAndCacheEmptyVolume: parameter volumeId must not be undefined');
50
+ throw new Error('createAndCacheVolume: parameter volumeId must not be undefined');
97
51
  }
98
52
  let volumeLoadObject = cache.getVolumeLoadObject(volumeId);
99
53
  if (volumeLoadObject !== undefined) {
100
54
  return volumeLoadObject.promise;
101
55
  }
102
56
  volumeLoadObject = loadVolumeFromVolumeLoader(volumeId, options);
103
- volumeLoadObject.promise.then((volume) => {
104
- volume.imageData = createInternalVTKRepresentation(volume);
105
- });
106
- cache.putVolumeLoadObject(volumeId, volumeLoadObject).catch((err) => {
107
- throw err;
108
- });
57
+ cache.putVolumeLoadObject(volumeId, volumeLoadObject);
109
58
  return volumeLoadObject.promise;
110
59
  }
111
- export async function createAndCacheDerivedVolume(referencedVolumeId, options) {
60
+ export function createAndCacheDerivedVolume(referencedVolumeId, options) {
112
61
  const referencedVolume = cache.getVolume(referencedVolumeId);
113
62
  if (!referencedVolume) {
114
63
  throw new Error(`Cannot created derived volume: Referenced volume with id ${referencedVolumeId} does not exist.`);
115
64
  }
116
65
  let { volumeId } = options;
117
- const { targetBuffer } = options;
118
66
  if (volumeId === undefined) {
119
67
  volumeId = uuidv4();
120
68
  }
121
69
  const { metadata, dimensions, spacing, origin, direction } = referencedVolume;
122
- const scalarData = referencedVolume.getScalarData();
123
- const scalarLength = scalarData.length;
124
- const { volumeScalarData, numBytes } = generateVolumeScalarData(targetBuffer, scalarLength);
125
- const scalarArray = vtkDataArray.newInstance({
126
- name: 'Pixels',
127
- numberOfComponents: 1,
128
- values: volumeScalarData,
129
- });
130
- const derivedImageData = vtkImageData.newInstance();
131
- derivedImageData.setDimensions(dimensions);
132
- derivedImageData.setSpacing(spacing);
133
- derivedImageData.setDirection(direction);
134
- derivedImageData.setOrigin(origin);
135
- derivedImageData.getPointData().setScalars(scalarArray);
136
70
  const referencedImageIds = referencedVolume.imageIds ?? [];
137
- let derivedVolumeImageIds = [];
138
- if (referencedImageIds.length) {
139
- derivedVolumeImageIds = referencedImageIds.map((imageId) => {
140
- return `derived:${imageId}`;
141
- });
142
- }
71
+ const derivedImages = imageLoader.createAndCacheDerivedImages(referencedImageIds, {
72
+ targetBufferType: options.targetBufferType,
73
+ });
74
+ const dataType = derivedImages[0].dataType;
75
+ const derivedVolumeImageIds = derivedImages.map((image) => image.imageId);
143
76
  const derivedVolume = new ImageVolume({
144
77
  volumeId,
78
+ dataType,
145
79
  metadata: structuredClone(metadata),
146
80
  dimensions: [dimensions[0], dimensions[1], dimensions[2]],
147
81
  spacing,
148
82
  origin,
149
83
  direction,
150
- imageData: derivedImageData,
151
- scalarData: volumeScalarData,
152
- sizeInBytes: numBytes,
153
84
  referencedVolumeId,
154
85
  imageIds: derivedVolumeImageIds,
155
86
  referencedImageIds: referencedVolume.imageIds ?? [],
156
87
  });
157
- const volumeLoadObject = {
158
- promise: Promise.resolve(derivedVolume),
159
- };
160
- await cache.putVolumeLoadObject(volumeId, volumeLoadObject);
161
- performCacheOptimizationForVolume(derivedVolume);
88
+ cache.putVolumeSync(volumeId, derivedVolume);
162
89
  return derivedVolume;
163
90
  }
164
- export function createLocalVolume(options, volumeId, preventCache = false) {
165
- const { metadata, dimensions, spacing, origin, direction, targetBuffer } = options;
166
- let { scalarData } = options;
167
- const validDataTypes = [
168
- 'Uint8Array',
169
- 'Float32Array',
170
- 'Uint16Array',
171
- 'Int16Array',
172
- ];
173
- const scalarLength = dimensions[0] * dimensions[1] * dimensions[2];
174
- if (!scalarData || !validDataTypes.includes(scalarData.constructor.name)) {
175
- if (!targetBuffer?.type || !validDataTypes.includes(targetBuffer.type)) {
176
- throw new Error('createLocalVolume: parameter scalarData must be provided and must be either Uint8Array, Float32Array, Uint16Array or Int16Array');
177
- }
178
- ({ volumeScalarData: scalarData } = generateVolumeScalarData(targetBuffer, scalarLength));
91
+ export async function createAndCacheVolumeFromImages(volumeId, imageIds) {
92
+ if (imageIds === undefined) {
93
+ throw new Error('createAndCacheVolumeFromImages: parameter imageIds must not be undefined');
179
94
  }
180
95
  if (volumeId === undefined) {
181
- volumeId = uuidv4();
96
+ throw new Error('createAndCacheVolumeFromImages: parameter volumeId must not be undefined');
182
97
  }
183
98
  const cachedVolume = cache.getVolume(volumeId);
184
99
  if (cachedVolume) {
185
100
  return cachedVolume;
186
101
  }
187
- const numBytes = scalarData ? scalarData.buffer.byteLength : scalarLength * 4;
188
- const isCacheable = cache.isCacheable(numBytes);
189
- if (!isCacheable) {
190
- throw new Error(Events.CACHE_SIZE_EXCEEDED);
102
+ const volume = (await createAndCacheVolume(volumeId, {
103
+ imageIds,
104
+ }));
105
+ return volume;
106
+ }
107
+ export function createLocalVolume(volumeId, options = {}) {
108
+ const { metadata, dimensions, spacing, origin, direction, scalarData, targetBufferType, preventCache = false, } = options;
109
+ const cachedVolume = cache.getVolume(volumeId);
110
+ if (cachedVolume) {
111
+ return cachedVolume;
191
112
  }
192
- const scalarArray = vtkDataArray.newInstance({
193
- name: 'Pixels',
194
- numberOfComponents: 1,
195
- values: scalarData,
196
- });
197
- const imageData = vtkImageData.newInstance();
198
- imageData.setDimensions(dimensions);
199
- imageData.setSpacing(spacing);
200
- imageData.setDirection(direction);
201
- imageData.setOrigin(origin);
202
- imageData.getPointData().setScalars(scalarArray);
203
- const derivedVolume = new ImageVolume({
113
+ const sliceLength = dimensions[0] * dimensions[1];
114
+ const dataType = scalarData
115
+ ? scalarData.constructor.name
116
+ : targetBufferType;
117
+ const imageIds = [];
118
+ const derivedImages = [];
119
+ for (let i = 0; i < dimensions[2]; i++) {
120
+ const imageId = `${volumeId}_slice_${i}`;
121
+ imageIds.push(imageId);
122
+ const sliceData = scalarData.subarray(i * sliceLength, (i + 1) * sliceLength);
123
+ const derivedImage = createAndCacheLocalImage(imageId, {
124
+ scalarData: sliceData,
125
+ dimensions: [dimensions[0], dimensions[1]],
126
+ spacing: [spacing[0], spacing[1]],
127
+ origin,
128
+ direction,
129
+ targetBufferType: dataType,
130
+ });
131
+ derivedImages.push(derivedImage);
132
+ }
133
+ const imageVolume = new ImageVolume({
204
134
  volumeId,
205
135
  metadata: structuredClone(metadata),
206
136
  dimensions: [dimensions[0], dimensions[1], dimensions[2]],
207
137
  spacing,
208
138
  origin,
209
139
  direction,
210
- imageData: imageData,
211
- scalarData,
212
- sizeInBytes: numBytes,
213
- referencedImageIds: options.referencedImageIds || [],
214
- referencedVolumeId: options.referencedVolumeId,
215
- imageIds: options.imageIds || [],
140
+ imageIds,
141
+ dataType,
216
142
  });
217
- if (preventCache) {
218
- return derivedVolume;
219
- }
220
- const volumeLoadObject = {
221
- promise: Promise.resolve(derivedVolume),
222
- };
223
- cache.putVolumeLoadObject(volumeId, volumeLoadObject);
224
- performCacheOptimizationForVolume(derivedVolume);
225
- return derivedVolume;
226
- }
227
- export async function createAndCacheVolumeFromImages(volumeId, imageIds, options = {}) {
228
- const { preventCache = false } = options;
229
- if (imageIds === undefined) {
230
- throw new Error('createAndCacheVolumeFromImages: parameter imageIds must not be undefined');
231
- }
232
- if (volumeId === undefined) {
233
- throw new Error('createAndCacheVolumeFromImages: parameter volumeId must not be undefined');
234
- }
235
- const cachedVolume = cache.getVolume(volumeId);
236
- if (cachedVolume) {
237
- return Promise.resolve(cachedVolume);
238
- }
239
- const volumeProps = generateVolumePropsFromImageIds(imageIds, volumeId);
240
- const imagePromises = volumeProps.imageIds.map((imageId, imageIdIndex) => {
241
- const imageLoadObject = cache.getImageLoadObject(imageId);
242
- return imageLoadObject.promise.then((image) => {
243
- const pixelData = image.getPixelData();
244
- const offset = imageIdIndex * image.rows * image.columns;
245
- volumeProps.scalarData.set(pixelData, offset);
246
- });
247
- });
248
- await Promise.all(imagePromises);
249
- const volume = new ImageVolume({
250
- ...volumeProps,
251
- referencedImageIds: imageIds,
252
- ...options,
143
+ const voxelManager = VoxelManager.createImageVolumeVoxelManager({
144
+ imageIds,
145
+ dimensions,
146
+ numberOfComponents: 1,
253
147
  });
254
- performCacheOptimizationForVolume(volume);
255
- const volumeLoadObject = {
256
- promise: Promise.resolve(volume),
257
- };
258
- if (preventCache) {
259
- return volumeLoadObject.promise;
260
- }
261
- cache.putVolumeLoadObject(volumeId, volumeLoadObject);
262
- return volumeLoadObject.promise;
148
+ imageVolume.voxelManager = voxelManager;
149
+ cache.putVolumeSync(volumeId, imageVolume);
150
+ return imageVolume;
263
151
  }
264
152
  export function registerVolumeLoader(scheme, volumeLoader) {
265
153
  volumeLoaders[scheme] = volumeLoader;
@@ -275,51 +163,15 @@ export function registerUnknownVolumeLoader(volumeLoader) {
275
163
  export function getUnknownVolumeLoaderSchema() {
276
164
  return unknownVolumeLoader.name;
277
165
  }
278
- export async function createAndCacheDerivedSegmentationVolume(referencedVolumeId, options = {}) {
166
+ export function createAndCacheDerivedSegmentationVolume(referencedVolumeId, options = {}) {
279
167
  return createAndCacheDerivedVolume(referencedVolumeId, {
280
168
  ...options,
281
- targetBuffer: {
282
- type: 'Uint8Array',
283
- },
169
+ targetBufferType: 'Uint8Array',
284
170
  });
285
171
  }
286
- export async function createLocalSegmentationVolume(options, volumeId, preventCache = false) {
172
+ export function createLocalSegmentationVolume(options, volumeId, preventCache = false) {
287
173
  if (!options.scalarData) {
288
174
  options.scalarData = new Uint8Array(options.dimensions[0] * options.dimensions[1] * options.dimensions[2]);
289
175
  }
290
- return createLocalVolume(options, volumeId, preventCache);
291
- }
292
- function generateVolumeScalarData(targetBuffer, scalarLength) {
293
- const { useNorm16Texture } = getConfiguration().rendering;
294
- const { TypedArrayConstructor, numBytes } = getBufferConfiguration(targetBuffer?.type, scalarLength, {
295
- use16BitTexture: useNorm16Texture,
296
- isVolumeBuffer: true,
297
- });
298
- const isCacheable = cache.isCacheable(numBytes);
299
- if (!isCacheable) {
300
- throw new Error(Events.CACHE_SIZE_EXCEEDED);
301
- }
302
- let volumeScalarData;
303
- if (targetBuffer?.sharedArrayBuffer ?? getShouldUseSharedArrayBuffer()) {
304
- switch (targetBuffer.type) {
305
- case 'Float32Array':
306
- volumeScalarData = createFloat32SharedArray(scalarLength);
307
- break;
308
- case 'Uint8Array':
309
- volumeScalarData = createUint8SharedArray(scalarLength);
310
- break;
311
- case 'Uint16Array':
312
- volumeScalarData = createUint16SharedArray(scalarLength);
313
- break;
314
- case 'Int16Array':
315
- volumeScalarData = createUint16SharedArray(scalarLength);
316
- break;
317
- default:
318
- throw new Error('generateVolumeScalarData: SharedArrayBuffer is not supported for the specified target buffer type');
319
- }
320
- }
321
- else {
322
- volumeScalarData = new TypedArrayConstructor(scalarLength);
323
- }
324
- return { volumeScalarData, numBytes };
176
+ return createLocalVolume(volumeId, { ...options, preventCache });
325
177
  }
@@ -1,7 +1,5 @@
1
- export declare function addProvider(provider: (type: string, ...query: string[]) => any, priority?: number): void;
2
- export declare function removeProvider(provider: (type: string, query: any) => {
3
- any: any;
4
- }): void;
1
+ export declare function addProvider(provider: (type: string, ...query: string[]) => unknown, priority?: number): void;
2
+ export declare function removeProvider(provider: (type: string, query: unknown) => unknown): void;
5
3
  export declare function removeAllProviders(): void;
6
4
  declare function getMetaData(type: string, ...queries: any[]): any;
7
5
  export { getMetaData as get };
@@ -1,18 +1,16 @@
1
1
  import RequestType from '../enums/RequestType';
2
- import { IImage } from '../types';
3
- type AdditionalDetails = {
2
+ import type { IImage } from '../types';
3
+ interface AdditionalDetails {
4
4
  imageId?: string;
5
5
  volumeId?: string;
6
- };
7
- type RequestDetailsInterface = {
6
+ }
7
+ interface RequestDetailsInterface {
8
8
  requestFn: () => Promise<IImage | void>;
9
9
  type: RequestType;
10
10
  additionalDetails: AdditionalDetails;
11
- };
11
+ }
12
12
  type RequestPool = {
13
- [name in RequestType]: {
14
- [key: number]: RequestDetailsInterface[];
15
- };
13
+ [name in RequestType]: Record<number, RequestDetailsInterface[]>;
16
14
  };
17
15
  declare class RequestPoolManager {
18
16
  private id;
@@ -38,7 +36,7 @@ declare class RequestPoolManager {
38
36
  private getNextRequest;
39
37
  protected startGrabbing(): void;
40
38
  protected startAgain(): void;
41
- protected getSortedPriorityGroups(type: string): Array<number>;
39
+ protected getSortedPriorityGroups(type: string): number[];
42
40
  getRequestPool(): RequestPool;
43
41
  }
44
42
  export { RequestPoolManager };
@@ -1,7 +1,7 @@
1
- type AABB2 = {
1
+ interface AABB2 {
2
2
  minX: number;
3
3
  maxX: number;
4
4
  minY: number;
5
5
  maxY: number;
6
- };
6
+ }
7
7
  export type { AABB2 as default };
@@ -1,9 +1,9 @@
1
- type AABB3 = {
1
+ interface AABB3 {
2
2
  minX: number;
3
3
  maxX: number;
4
4
  minY: number;
5
5
  maxY: number;
6
6
  minZ: number;
7
7
  maxZ: number;
8
- };
8
+ }
9
9
  export type { AABB3 as default };
@@ -1,11 +1,11 @@
1
- import { VolumeActor } from './IActor';
2
- import Point3 from './Point3';
3
- type ActorSliceRange = {
1
+ import type { VolumeActor } from './IActor';
2
+ import type Point3 from './Point3';
3
+ interface ActorSliceRange {
4
4
  actor: VolumeActor;
5
5
  viewPlaneNormal: Point3;
6
6
  focalPoint: Point3;
7
7
  min: number;
8
8
  max: number;
9
9
  current: number;
10
- };
11
- export default ActorSliceRange;
10
+ }
11
+ export type { ActorSliceRange as default };
@@ -1,3 +1,3 @@
1
1
  import type Point2 from './Point2';
2
2
  type BoundsIJK = [Point2, Point2, Point2];
3
- export default BoundsIJK;
3
+ export type { BoundsIJK as default };
@@ -1,3 +1,3 @@
1
1
  import type Point2 from './Point3';
2
2
  type BoundsLPS = [Point2, Point2, Point2];
3
- export default BoundsLPS;
3
+ export type { BoundsLPS };
@@ -1,5 +1,5 @@
1
- import Point4 from './Point4';
2
- import CPUFallbackLookupTable from './CPUFallbackLookupTable';
1
+ import type Point4 from './Point4';
2
+ import type CPUFallbackLookupTable from './CPUFallbackLookupTable';
3
3
  interface CPUFallbackColormap {
4
4
  getId: () => string;
5
5
  getColorSchemeName: () => string;
@@ -17,4 +17,4 @@ interface CPUFallbackColormap {
17
17
  createLookupTable: () => CPUFallbackLookupTable;
18
18
  isValidIndex: (index: number) => boolean;
19
19
  }
20
- export default CPUFallbackColormap;
20
+ export type { CPUFallbackColormap as default };
@@ -1,10 +1,10 @@
1
- import Point4 from './Point4';
2
- type CPUFallbackColormapData = {
1
+ import type Point4 from './Point4';
2
+ interface CPUFallbackColormapData {
3
3
  name: string;
4
4
  numOfColors?: number;
5
5
  colors?: Point4[];
6
6
  segmentedData?: unknown;
7
7
  numColors?: number;
8
8
  gamma?: number;
9
- };
10
- export default CPUFallbackColormapData;
9
+ }
10
+ export type { CPUFallbackColormapData as default };
@@ -1,5 +1,3 @@
1
- import CPUFallbackColormapData from './CPUFallbackColormapData';
2
- type CPUFallbackColormapsData = {
3
- [key: string]: CPUFallbackColormapData;
4
- };
5
- export default CPUFallbackColormapsData;
1
+ import type CPUFallbackColormapData from './CPUFallbackColormapData';
2
+ type CPUFallbackColormapsData = Record<string, CPUFallbackColormapData>;
3
+ export type { CPUFallbackColormapsData };
@@ -1,13 +1,15 @@
1
- import Point2 from './Point2';
2
- import Point3 from './Point3';
3
- import Mat3 from './Mat3';
4
- import IImage from './IImage';
5
- import CPUFallbackViewport from './CPUFallbackViewport';
6
- import CPUFallbackTransform from './CPUFallbackTransform';
7
- import CPUFallbackColormap from './CPUFallbackColormap';
8
- import CPUFallbackRenderingTools from './CPUFallbackRenderingTools';
9
- import { ImagePlaneModule } from './ImagePlaneModule';
10
- import { ImagePixelModule } from './ImagePixelModule';
1
+ import type Point2 from './Point2';
2
+ import type Point3 from './Point3';
3
+ import type Mat3 from './Mat3';
4
+ import type IImage from './IImage';
5
+ import type CPUFallbackViewport from './CPUFallbackViewport';
6
+ import type CPUFallbackTransform from './CPUFallbackTransform';
7
+ import type CPUFallbackColormap from './CPUFallbackColormap';
8
+ import type CPUFallbackRenderingTools from './CPUFallbackRenderingTools';
9
+ import type { ImagePlaneModule } from './ImagePlaneModule';
10
+ import type { ImagePixelModule } from './ImagePixelModule';
11
+ import type RGB from './RGB';
12
+ import type { IVoxelManager } from './IVoxelManager';
11
13
  interface CPUFallbackEnabledElement {
12
14
  scale?: number;
13
15
  pan?: Point2;
@@ -33,5 +35,6 @@ interface CPUFallbackEnabledElement {
33
35
  imagePlaneModule?: ImagePlaneModule;
34
36
  imagePixelModule?: ImagePixelModule;
35
37
  };
38
+ voxelManager?: IVoxelManager<number> | IVoxelManager<RGB>;
36
39
  }
37
- export default CPUFallbackEnabledElement;
40
+ export type { CPUFallbackEnabledElement as default };
@@ -1,4 +1,5 @@
1
- type CPUFallbackLUT = {
1
+ interface CPUFallbackLUT {
2
2
  lut: number[];
3
- };
4
- export default CPUFallbackLUT;
3
+ id?: string;
4
+ }
5
+ export type { CPUFallbackLUT as default };
@@ -1,4 +1,4 @@
1
- import Point4 from './Point4';
1
+ import type Point4 from './Point4';
2
2
  interface CPUFallbackLookupTable {
3
3
  setNumberOfTableValues: (number: number) => void;
4
4
  setRamp: (ramp: string) => void;
@@ -12,4 +12,4 @@ interface CPUFallbackLookupTable {
12
12
  build: (force: boolean) => void;
13
13
  setTableValue(index: number, rgba: Point4): any;
14
14
  }
15
- export default CPUFallbackLookupTable;
15
+ export type { CPUFallbackLookupTable as default };
@@ -1,6 +1,6 @@
1
- import CPUFallbackLookupTable from './CPUFallbackLookupTable';
2
- import CPUFallbackLUT from './CPUFallbackLUT';
3
- type CPUFallbackRenderingTools = {
1
+ import type CPUFallbackLookupTable from './CPUFallbackLookupTable';
2
+ import type CPUFallbackLUT from './CPUFallbackLUT';
3
+ interface CPUFallbackRenderingTools {
4
4
  renderCanvas?: HTMLCanvasElement;
5
5
  lastRenderedIsColor?: boolean;
6
6
  lastRenderedImageId?: string;
@@ -19,5 +19,5 @@ type CPUFallbackRenderingTools = {
19
19
  colormapId?: string;
20
20
  colorLUT?: CPUFallbackLookupTable;
21
21
  renderCanvasData?: ImageData;
22
- };
23
- export default CPUFallbackRenderingTools;
22
+ }
23
+ export type { CPUFallbackRenderingTools as default };
@@ -1,5 +1,5 @@
1
- import Point2 from './Point2';
2
- import TransformMatrix2D from './TransformMatrix2D';
1
+ import type Point2 from './Point2';
2
+ import type TransformMatrix2D from './TransformMatrix2D';
3
3
  interface CPUFallbackTransform {
4
4
  reset: () => void;
5
5
  clone: () => CPUFallbackTransform;
@@ -11,4 +11,4 @@ interface CPUFallbackTransform {
11
11
  scale: (sx: number, sy: number) => void;
12
12
  transformPoint: (point: Point2) => Point2;
13
13
  }
14
- export default CPUFallbackTransform;
14
+ export type { CPUFallbackTransform as default };