@cornerstonejs/core 2.0.0-beta.3 → 2.0.0-beta.5

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 (693) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.d.ts +23 -3
  2. package/dist/cjs/RenderingEngine/StackViewport.js +111 -100
  3. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/Viewport.js +8 -9
  5. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  6. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +1 -1
  7. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +134 -775
  8. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js +15 -14
  9. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  10. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -0
  11. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  12. package/dist/cjs/Settings.js +3 -1
  13. package/dist/cjs/Settings.js.map +1 -1
  14. package/dist/cjs/cache/cache.js +2 -1
  15. package/dist/cjs/cache/cache.js.map +1 -1
  16. package/dist/cjs/cache/classes/Contour.d.ts +1 -1
  17. package/dist/cjs/cache/classes/ContourSet.d.ts +1 -1
  18. package/dist/cjs/enums/Events.d.ts +1 -1
  19. package/dist/cjs/enums/Events.js +1 -1
  20. package/dist/cjs/enums/Events.js.map +1 -1
  21. package/dist/cjs/enums/ImageQualityStatus.d.ts +8 -0
  22. package/dist/cjs/enums/ImageQualityStatus.js +12 -0
  23. package/dist/cjs/enums/ImageQualityStatus.js.map +1 -0
  24. package/dist/cjs/enums/index.d.ts +2 -1
  25. package/dist/cjs/enums/index.js +3 -1
  26. package/dist/cjs/enums/index.js.map +1 -1
  27. package/dist/cjs/index.d.ts +5 -3
  28. package/dist/cjs/index.js +3 -2
  29. package/dist/cjs/index.js.map +1 -1
  30. package/dist/cjs/loaders/ProgressiveRetrieveImages.d.ts +35 -0
  31. package/dist/cjs/loaders/ProgressiveRetrieveImages.js +249 -0
  32. package/dist/cjs/loaders/ProgressiveRetrieveImages.js.map +1 -0
  33. package/dist/cjs/loaders/configuration/interleavedRetrieve.d.ts +3 -0
  34. package/dist/cjs/loaders/configuration/interleavedRetrieve.js +79 -0
  35. package/dist/cjs/loaders/configuration/interleavedRetrieve.js.map +1 -0
  36. package/dist/cjs/loaders/configuration/sequentialRetrieve.d.ts +3 -0
  37. package/dist/cjs/loaders/configuration/sequentialRetrieve.js +14 -0
  38. package/dist/cjs/loaders/configuration/sequentialRetrieve.js.map +1 -0
  39. package/dist/cjs/loaders/configuration/singleRetrieve.d.ts +3 -0
  40. package/dist/cjs/loaders/configuration/singleRetrieve.js +13 -0
  41. package/dist/cjs/loaders/configuration/singleRetrieve.js.map +1 -0
  42. package/dist/cjs/loaders/fillNearbyFrames.d.ts +3 -0
  43. package/dist/cjs/loaders/fillNearbyFrames.js +37 -0
  44. package/dist/cjs/loaders/fillNearbyFrames.js.map +1 -0
  45. package/dist/cjs/loaders/geometryLoader.d.ts +1 -1
  46. package/dist/cjs/loaders/imageLoader.js +2 -1
  47. package/dist/cjs/loaders/imageLoader.js.map +1 -1
  48. package/dist/cjs/loaders/volumeLoader.js +2 -3
  49. package/dist/cjs/loaders/volumeLoader.js.map +1 -1
  50. package/dist/cjs/metaData.d.ts +1 -1
  51. package/dist/cjs/metaData.js +2 -1
  52. package/dist/cjs/metaData.js.map +1 -1
  53. package/dist/cjs/requestPool/requestPoolManager.d.ts +3 -3
  54. package/dist/cjs/types/ActorSliceRange.d.ts +1 -1
  55. package/dist/cjs/types/AffineMatrix.d.ts +1 -1
  56. package/dist/cjs/types/CPUFallbackColormapData.d.ts +1 -1
  57. package/dist/cjs/types/CPUFallbackColormapsData.d.ts +1 -1
  58. package/dist/cjs/types/CPUFallbackLUT.d.ts +1 -1
  59. package/dist/cjs/types/CPUFallbackRenderingTools.d.ts +1 -1
  60. package/dist/cjs/types/CPUFallbackViewport.d.ts +1 -1
  61. package/dist/cjs/types/CPUFallbackViewportDisplayedArea.d.ts +1 -1
  62. package/dist/cjs/types/CPUIImageData.d.ts +3 -3
  63. package/dist/cjs/types/Colormap.d.ts +3 -3
  64. package/dist/cjs/types/ContourData.d.ts +3 -3
  65. package/dist/cjs/types/Cornerstone3DConfig.d.ts +1 -1
  66. package/dist/cjs/types/EventTypes.d.ts +54 -55
  67. package/dist/cjs/types/FlipDirection.d.ts +1 -1
  68. package/dist/cjs/types/IActor.d.ts +4 -4
  69. package/dist/cjs/types/ICache.d.ts +1 -1
  70. package/dist/cjs/types/IImage.d.ts +6 -4
  71. package/dist/cjs/types/IRetrieveConfiguration.d.ts +38 -0
  72. package/dist/cjs/types/IRetrieveConfiguration.js +3 -0
  73. package/dist/cjs/types/IRetrieveConfiguration.js.map +1 -0
  74. package/dist/cjs/types/IStackViewport.d.ts +1 -1
  75. package/dist/cjs/types/IStreamingVolumeProperties.d.ts +2 -1
  76. package/dist/cjs/types/IViewport.d.ts +4 -4
  77. package/dist/cjs/types/IVolume.d.ts +1 -1
  78. package/dist/cjs/types/IVolumeInput.d.ts +1 -1
  79. package/dist/cjs/types/ImageLoadListener.d.ts +5 -0
  80. package/dist/cjs/types/ImageLoadListener.js +3 -0
  81. package/dist/cjs/types/ImageLoadListener.js.map +1 -0
  82. package/dist/cjs/types/ImageLoaderFn.d.ts +1 -1
  83. package/dist/cjs/types/ImageSliceData.d.ts +1 -1
  84. package/dist/cjs/types/Mat3.d.ts +1 -1
  85. package/dist/cjs/types/Metadata.d.ts +1 -1
  86. package/dist/cjs/types/OrientationVectors.d.ts +1 -1
  87. package/dist/cjs/types/PixelDataTypedArray.d.ts +1 -1
  88. package/dist/cjs/types/Plane.d.ts +1 -1
  89. package/dist/cjs/types/Point2.d.ts +1 -1
  90. package/dist/cjs/types/Point3.d.ts +1 -1
  91. package/dist/cjs/types/Point4.d.ts +1 -1
  92. package/dist/cjs/types/RGB.d.ts +1 -1
  93. package/dist/cjs/types/ScalingParameters.d.ts +3 -3
  94. package/dist/cjs/types/StackViewportProperties.d.ts +1 -1
  95. package/dist/cjs/types/TransformMatrix2D.d.ts +1 -1
  96. package/dist/cjs/types/ViewportInputOptions.d.ts +1 -1
  97. package/dist/cjs/types/ViewportProperties.d.ts +1 -1
  98. package/dist/cjs/types/VolumeLoaderFn.d.ts +1 -1
  99. package/dist/cjs/types/VolumeViewportProperties.d.ts +1 -1
  100. package/dist/cjs/types/displayArea.d.ts +1 -1
  101. package/dist/cjs/types/index.d.ts +3 -1
  102. package/dist/cjs/types/voi.d.ts +2 -2
  103. package/dist/cjs/utilities/ProgressiveIterator.d.ts +24 -0
  104. package/dist/cjs/utilities/ProgressiveIterator.js +236 -0
  105. package/dist/cjs/utilities/ProgressiveIterator.js.map +1 -0
  106. package/dist/cjs/utilities/actorCheck.d.ts +1 -1
  107. package/dist/cjs/utilities/decimate.d.ts +1 -0
  108. package/dist/cjs/utilities/decimate.js +11 -0
  109. package/dist/cjs/utilities/decimate.js.map +1 -0
  110. package/dist/cjs/utilities/getViewportsWithImageURI.d.ts +1 -1
  111. package/dist/cjs/utilities/imageRetrieveMetadataProvider.d.ts +7 -0
  112. package/dist/cjs/utilities/imageRetrieveMetadataProvider.js +27 -0
  113. package/dist/cjs/utilities/imageRetrieveMetadataProvider.js.map +1 -0
  114. package/dist/cjs/utilities/index.d.ts +4 -1
  115. package/dist/cjs/utilities/index.js +7 -1
  116. package/dist/cjs/utilities/index.js.map +1 -1
  117. package/dist/esm/RenderingEngine/StackViewport.js +100 -83
  118. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  119. package/dist/esm/RenderingEngine/Viewport.js +8 -9
  120. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  121. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +12 -11
  122. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  123. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -0
  124. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  125. package/dist/esm/Settings.js +3 -1
  126. package/dist/esm/Settings.js.map +1 -1
  127. package/dist/esm/cache/cache.js +2 -1
  128. package/dist/esm/cache/cache.js.map +1 -1
  129. package/dist/esm/enums/Events.js +1 -1
  130. package/dist/esm/enums/Events.js.map +1 -1
  131. package/dist/esm/enums/ImageQualityStatus.js +10 -0
  132. package/dist/esm/enums/ImageQualityStatus.js.map +1 -0
  133. package/dist/esm/enums/index.js +2 -1
  134. package/dist/esm/enums/index.js.map +1 -1
  135. package/dist/esm/index.js +2 -2
  136. package/dist/esm/index.js.map +1 -1
  137. package/dist/esm/loaders/ProgressiveRetrieveImages.js +229 -0
  138. package/dist/esm/loaders/ProgressiveRetrieveImages.js.map +1 -0
  139. package/dist/esm/loaders/configuration/interleavedRetrieve.js +77 -0
  140. package/dist/esm/loaders/configuration/interleavedRetrieve.js.map +1 -0
  141. package/dist/esm/loaders/configuration/sequentialRetrieve.js +12 -0
  142. package/dist/esm/loaders/configuration/sequentialRetrieve.js.map +1 -0
  143. package/dist/esm/loaders/configuration/singleRetrieve.js +11 -0
  144. package/dist/esm/loaders/configuration/singleRetrieve.js.map +1 -0
  145. package/dist/esm/loaders/fillNearbyFrames.js +35 -0
  146. package/dist/esm/loaders/fillNearbyFrames.js.map +1 -0
  147. package/dist/esm/loaders/imageLoader.js +2 -1
  148. package/dist/esm/loaders/imageLoader.js.map +1 -1
  149. package/dist/esm/loaders/volumeLoader.js +2 -3
  150. package/dist/esm/loaders/volumeLoader.js.map +1 -1
  151. package/dist/esm/metaData.js +2 -1
  152. package/dist/esm/metaData.js.map +1 -1
  153. package/dist/esm/types/IRetrieveConfiguration.js +2 -0
  154. package/dist/esm/types/IRetrieveConfiguration.js.map +1 -0
  155. package/dist/esm/types/ImageLoadListener.js +2 -0
  156. package/dist/esm/types/ImageLoadListener.js.map +1 -0
  157. package/dist/esm/utilities/ProgressiveIterator.js +140 -0
  158. package/dist/esm/utilities/ProgressiveIterator.js.map +1 -0
  159. package/dist/esm/utilities/decimate.js +8 -0
  160. package/dist/esm/utilities/decimate.js.map +1 -0
  161. package/dist/esm/utilities/imageRetrieveMetadataProvider.js +25 -0
  162. package/dist/esm/utilities/imageRetrieveMetadataProvider.js.map +1 -0
  163. package/dist/esm/utilities/index.js +4 -1
  164. package/dist/esm/utilities/index.js.map +1 -1
  165. package/dist/{esm → types}/RenderingEngine/BaseVolumeViewport.d.ts +1 -0
  166. package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts.map +1 -0
  167. package/dist/{esm → types}/RenderingEngine/RenderingEngine.d.ts +1 -0
  168. package/dist/types/RenderingEngine/RenderingEngine.d.ts.map +1 -0
  169. package/dist/{esm → types}/RenderingEngine/StackViewport.d.ts +24 -3
  170. package/dist/types/RenderingEngine/StackViewport.d.ts.map +1 -0
  171. package/dist/{esm → types}/RenderingEngine/Viewport.d.ts +1 -0
  172. package/dist/types/RenderingEngine/Viewport.d.ts.map +1 -0
  173. package/dist/{esm → types}/RenderingEngine/VolumeViewport.d.ts +1 -0
  174. package/dist/types/RenderingEngine/VolumeViewport.d.ts.map +1 -0
  175. package/dist/{esm → types}/RenderingEngine/VolumeViewport3D.d.ts +1 -0
  176. package/dist/types/RenderingEngine/VolumeViewport3D.d.ts.map +1 -0
  177. package/dist/{esm → types}/RenderingEngine/getRenderingEngine.d.ts +1 -0
  178. package/dist/types/RenderingEngine/getRenderingEngine.d.ts.map +1 -0
  179. package/dist/{esm → types}/RenderingEngine/helpers/addVolumesToViewports.d.ts +1 -0
  180. package/dist/types/RenderingEngine/helpers/addVolumesToViewports.d.ts.map +1 -0
  181. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +1 -0
  182. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts.map +1 -0
  183. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/index.d.ts +1 -0
  184. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/index.d.ts.map +1 -0
  185. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts +1 -0
  186. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts.map +1 -0
  187. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts +1 -0
  188. package/dist/types/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts.map +1 -0
  189. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts +1 -0
  190. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts.map +1 -0
  191. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts +1 -0
  192. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts.map +1 -0
  193. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.d.ts +1 -0
  194. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.d.ts.map +1 -0
  195. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +2 -1
  196. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts.map +1 -0
  197. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts +1 -0
  198. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts.map +1 -0
  199. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts +1 -0
  200. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts.map +1 -0
  201. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts +1 -0
  202. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts.map +1 -0
  203. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts +1 -0
  204. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts.map +1 -0
  205. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts +1 -0
  206. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts.map +1 -0
  207. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts +1 -0
  208. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts.map +1 -0
  209. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts +1 -0
  210. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts.map +1 -0
  211. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts +1 -0
  212. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts.map +1 -0
  213. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts +1 -0
  214. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts.map +1 -0
  215. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.d.ts +1 -0
  216. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.d.ts.map +1 -0
  217. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts +1 -0
  218. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts.map +1 -0
  219. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.d.ts +1 -0
  220. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.d.ts.map +1 -0
  221. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts +1 -0
  222. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts.map +1 -0
  223. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts +1 -0
  224. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts.map +1 -0
  225. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/now.d.ts +1 -0
  226. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/now.d.ts.map +1 -0
  227. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts +1 -0
  228. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts.map +1 -0
  229. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts +1 -0
  230. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts.map +1 -0
  231. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts +1 -0
  232. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts.map +1 -0
  233. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.d.ts +1 -0
  234. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.d.ts.map +1 -0
  235. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -0
  236. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts.map +1 -0
  237. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts +1 -0
  238. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts.map +1 -0
  239. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts +1 -0
  240. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts.map +1 -0
  241. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts +1 -0
  242. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts.map +1 -0
  243. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts +1 -0
  244. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts.map +1 -0
  245. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts +1 -0
  246. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts.map +1 -0
  247. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts +1 -0
  248. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts.map +1 -0
  249. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.d.ts +1 -0
  250. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.d.ts.map +1 -0
  251. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts +1 -0
  252. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts.map +1 -0
  253. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.d.ts +1 -0
  254. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.d.ts.map +1 -0
  255. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.d.ts +1 -0
  256. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.d.ts.map +1 -0
  257. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts +1 -0
  258. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts.map +1 -0
  259. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts +1 -0
  260. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts.map +1 -0
  261. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts +1 -0
  262. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts.map +1 -0
  263. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts +1 -0
  264. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts.map +1 -0
  265. package/dist/{esm → types}/RenderingEngine/helpers/createVolumeActor.d.ts +1 -0
  266. package/dist/types/RenderingEngine/helpers/createVolumeActor.d.ts.map +1 -0
  267. package/dist/{esm → types}/RenderingEngine/helpers/createVolumeMapper.d.ts +1 -0
  268. package/dist/types/RenderingEngine/helpers/createVolumeMapper.d.ts.map +1 -0
  269. package/dist/{esm → types}/RenderingEngine/helpers/getOrCreateCanvas.d.ts +1 -0
  270. package/dist/types/RenderingEngine/helpers/getOrCreateCanvas.d.ts.map +1 -0
  271. package/dist/{esm → types}/RenderingEngine/helpers/index.d.ts +1 -0
  272. package/dist/types/RenderingEngine/helpers/index.d.ts.map +1 -0
  273. package/dist/{esm → types}/RenderingEngine/helpers/isRgbaSourceRgbDest.d.ts +1 -0
  274. package/dist/types/RenderingEngine/helpers/isRgbaSourceRgbDest.d.ts.map +1 -0
  275. package/dist/{esm → types}/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +1 -0
  276. package/dist/types/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts.map +1 -0
  277. package/dist/{esm → types}/RenderingEngine/helpers/setVolumesForViewports.d.ts +1 -0
  278. package/dist/types/RenderingEngine/helpers/setVolumesForViewports.d.ts.map +1 -0
  279. package/dist/{esm → types}/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +1 -0
  280. package/dist/types/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts.map +1 -0
  281. package/dist/{esm → types}/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts +1 -0
  282. package/dist/types/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts.map +1 -0
  283. package/dist/{esm → types}/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +1 -0
  284. package/dist/types/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts.map +1 -0
  285. package/dist/{esm → types}/RenderingEngine/index.d.ts +1 -0
  286. package/dist/types/RenderingEngine/index.d.ts.map +1 -0
  287. package/dist/{esm → types}/RenderingEngine/renderingEngineCache.d.ts +1 -0
  288. package/dist/types/RenderingEngine/renderingEngineCache.d.ts.map +1 -0
  289. package/dist/{esm → types}/RenderingEngine/vtkClasses/index.d.ts +1 -0
  290. package/dist/types/RenderingEngine/vtkClasses/index.d.ts.map +1 -0
  291. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.d.ts +1 -0
  292. package/dist/types/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.d.ts.map +1 -0
  293. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.d.ts +1 -0
  294. package/dist/types/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.d.ts.map +1 -0
  295. package/dist/types/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +141 -0
  296. package/dist/types/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts.map +1 -0
  297. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.d.ts +1 -0
  298. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.d.ts.map +1 -0
  299. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.d.ts +1 -0
  300. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.d.ts.map +1 -0
  301. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts +1 -0
  302. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts.map +1 -0
  303. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts +1 -0
  304. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts.map +1 -0
  305. package/dist/{esm → types}/Settings.d.ts +1 -0
  306. package/dist/types/Settings.d.ts.map +1 -0
  307. package/dist/{esm → types}/cache/cache.d.ts +1 -0
  308. package/dist/types/cache/cache.d.ts.map +1 -0
  309. package/dist/{esm → types}/cache/classes/Contour.d.ts +2 -1
  310. package/dist/types/cache/classes/Contour.d.ts.map +1 -0
  311. package/dist/{esm → types}/cache/classes/ContourSet.d.ts +2 -1
  312. package/dist/types/cache/classes/ContourSet.d.ts.map +1 -0
  313. package/dist/{esm → types}/cache/classes/ImageVolume.d.ts +1 -0
  314. package/dist/types/cache/classes/ImageVolume.d.ts.map +1 -0
  315. package/dist/{esm → types}/cache/index.d.ts +1 -0
  316. package/dist/types/cache/index.d.ts.map +1 -0
  317. package/dist/{esm → types}/constants/cpuColormaps.d.ts +1 -0
  318. package/dist/types/constants/cpuColormaps.d.ts.map +1 -0
  319. package/dist/{esm → types}/constants/epsilon.d.ts +1 -0
  320. package/dist/types/constants/epsilon.d.ts.map +1 -0
  321. package/dist/{esm → types}/constants/index.d.ts +1 -0
  322. package/dist/types/constants/index.d.ts.map +1 -0
  323. package/dist/{esm → types}/constants/mprCameraValues.d.ts +1 -0
  324. package/dist/types/constants/mprCameraValues.d.ts.map +1 -0
  325. package/dist/{esm → types}/constants/rendering.d.ts +1 -0
  326. package/dist/types/constants/rendering.d.ts.map +1 -0
  327. package/dist/{esm → types}/constants/viewportPresets.d.ts +1 -0
  328. package/dist/types/constants/viewportPresets.d.ts.map +1 -0
  329. package/dist/{esm → types}/enums/BlendModes.d.ts +1 -0
  330. package/dist/types/enums/BlendModes.d.ts.map +1 -0
  331. package/dist/{esm → types}/enums/CalibrationTypes.d.ts +1 -0
  332. package/dist/types/enums/CalibrationTypes.d.ts.map +1 -0
  333. package/dist/{esm → types}/enums/ContourType.d.ts +1 -0
  334. package/dist/types/enums/ContourType.d.ts.map +1 -0
  335. package/dist/{esm → types}/enums/DynamicOperatorType.d.ts +1 -0
  336. package/dist/types/enums/DynamicOperatorType.d.ts.map +1 -0
  337. package/dist/{esm → types}/enums/Events.d.ts +2 -1
  338. package/dist/types/enums/Events.d.ts.map +1 -0
  339. package/dist/{esm → types}/enums/GeometryType.d.ts +1 -0
  340. package/dist/types/enums/GeometryType.d.ts.map +1 -0
  341. package/dist/types/enums/ImageQualityStatus.d.ts +9 -0
  342. package/dist/types/enums/ImageQualityStatus.d.ts.map +1 -0
  343. package/dist/{esm → types}/enums/InterpolationType.d.ts +1 -0
  344. package/dist/types/enums/InterpolationType.d.ts.map +1 -0
  345. package/dist/{esm → types}/enums/OrientationAxis.d.ts +1 -0
  346. package/dist/types/enums/OrientationAxis.d.ts.map +1 -0
  347. package/dist/{esm → types}/enums/RequestType.d.ts +1 -0
  348. package/dist/types/enums/RequestType.d.ts.map +1 -0
  349. package/dist/{esm → types}/enums/SharedArrayBufferModes.d.ts +1 -0
  350. package/dist/types/enums/SharedArrayBufferModes.d.ts.map +1 -0
  351. package/dist/{esm → types}/enums/VOILUTFunctionType.d.ts +1 -0
  352. package/dist/types/enums/VOILUTFunctionType.d.ts.map +1 -0
  353. package/dist/{esm → types}/enums/ViewportStatus.d.ts +1 -0
  354. package/dist/types/enums/ViewportStatus.d.ts.map +1 -0
  355. package/dist/{esm → types}/enums/ViewportType.d.ts +1 -0
  356. package/dist/types/enums/ViewportType.d.ts.map +1 -0
  357. package/dist/{esm → types}/enums/index.d.ts +3 -1
  358. package/dist/types/enums/index.d.ts.map +1 -0
  359. package/dist/{esm → types}/eventTarget.d.ts +1 -0
  360. package/dist/types/eventTarget.d.ts.map +1 -0
  361. package/dist/{esm → types}/getEnabledElement.d.ts +1 -0
  362. package/dist/types/getEnabledElement.d.ts.map +1 -0
  363. package/dist/{esm → types}/global.d.ts +1 -0
  364. package/dist/types/global.d.ts.map +1 -0
  365. package/dist/{esm → types}/index.d.ts +6 -3
  366. package/dist/types/index.d.ts.map +1 -0
  367. package/dist/{esm → types}/init.d.ts +1 -0
  368. package/dist/types/init.d.ts.map +1 -0
  369. package/dist/types/loaders/ProgressiveRetrieveImages.d.ts +36 -0
  370. package/dist/types/loaders/ProgressiveRetrieveImages.d.ts.map +1 -0
  371. package/dist/types/loaders/configuration/interleavedRetrieve.d.ts +4 -0
  372. package/dist/types/loaders/configuration/interleavedRetrieve.d.ts.map +1 -0
  373. package/dist/types/loaders/configuration/sequentialRetrieve.d.ts +4 -0
  374. package/dist/types/loaders/configuration/sequentialRetrieve.d.ts.map +1 -0
  375. package/dist/types/loaders/configuration/singleRetrieve.d.ts +4 -0
  376. package/dist/types/loaders/configuration/singleRetrieve.d.ts.map +1 -0
  377. package/dist/types/loaders/fillNearbyFrames.d.ts +4 -0
  378. package/dist/types/loaders/fillNearbyFrames.d.ts.map +1 -0
  379. package/dist/{esm → types}/loaders/geometryLoader.d.ts +2 -1
  380. package/dist/types/loaders/geometryLoader.d.ts.map +1 -0
  381. package/dist/{esm → types}/loaders/imageLoader.d.ts +1 -0
  382. package/dist/types/loaders/imageLoader.d.ts.map +1 -0
  383. package/dist/{esm → types}/loaders/volumeLoader.d.ts +1 -0
  384. package/dist/types/loaders/volumeLoader.d.ts.map +1 -0
  385. package/dist/{esm → types}/metaData.d.ts +2 -1
  386. package/dist/types/metaData.d.ts.map +1 -0
  387. package/dist/{esm → types}/requestPool/imageLoadPoolManager.d.ts +1 -0
  388. package/dist/types/requestPool/imageLoadPoolManager.d.ts.map +1 -0
  389. package/dist/{esm → types}/requestPool/imageRetrievalPoolManager.d.ts +1 -0
  390. package/dist/types/requestPool/imageRetrievalPoolManager.d.ts.map +1 -0
  391. package/dist/{esm → types}/requestPool/requestPoolManager.d.ts +4 -3
  392. package/dist/types/requestPool/requestPoolManager.d.ts.map +1 -0
  393. package/dist/{esm → types}/types/ActorSliceRange.d.ts +2 -1
  394. package/dist/types/types/ActorSliceRange.d.ts.map +1 -0
  395. package/dist/{esm → types}/types/AffineMatrix.d.ts +2 -1
  396. package/dist/types/types/AffineMatrix.d.ts.map +1 -0
  397. package/dist/{esm → types}/types/CPUFallbackColormap.d.ts +1 -0
  398. package/dist/types/types/CPUFallbackColormap.d.ts.map +1 -0
  399. package/dist/{esm → types}/types/CPUFallbackColormapData.d.ts +2 -1
  400. package/dist/types/types/CPUFallbackColormapData.d.ts.map +1 -0
  401. package/dist/{esm → types}/types/CPUFallbackColormapsData.d.ts +2 -1
  402. package/dist/types/types/CPUFallbackColormapsData.d.ts.map +1 -0
  403. package/dist/{esm → types}/types/CPUFallbackEnabledElement.d.ts +1 -0
  404. package/dist/types/types/CPUFallbackEnabledElement.d.ts.map +1 -0
  405. package/dist/types/types/CPUFallbackLUT.d.ts +5 -0
  406. package/dist/types/types/CPUFallbackLUT.d.ts.map +1 -0
  407. package/dist/{esm → types}/types/CPUFallbackLookupTable.d.ts +1 -0
  408. package/dist/types/types/CPUFallbackLookupTable.d.ts.map +1 -0
  409. package/dist/{esm → types}/types/CPUFallbackRenderingTools.d.ts +2 -1
  410. package/dist/types/types/CPUFallbackRenderingTools.d.ts.map +1 -0
  411. package/dist/{esm → types}/types/CPUFallbackTransform.d.ts +1 -0
  412. package/dist/types/types/CPUFallbackTransform.d.ts.map +1 -0
  413. package/dist/{esm → types}/types/CPUFallbackViewport.d.ts +2 -1
  414. package/dist/types/types/CPUFallbackViewport.d.ts.map +1 -0
  415. package/dist/{esm → types}/types/CPUFallbackViewportDisplayedArea.d.ts +2 -1
  416. package/dist/types/types/CPUFallbackViewportDisplayedArea.d.ts.map +1 -0
  417. package/dist/{esm → types}/types/CPUIImageData.d.ts +4 -3
  418. package/dist/types/types/CPUIImageData.d.ts.map +1 -0
  419. package/dist/{esm → types}/types/Colormap.d.ts +4 -3
  420. package/dist/types/types/Colormap.d.ts.map +1 -0
  421. package/dist/{esm → types}/types/ContourData.d.ts +4 -3
  422. package/dist/types/types/ContourData.d.ts.map +1 -0
  423. package/dist/{esm → types}/types/Cornerstone3DConfig.d.ts +2 -1
  424. package/dist/types/types/Cornerstone3DConfig.d.ts.map +1 -0
  425. package/dist/{esm → types}/types/CustomEventType.d.ts +1 -0
  426. package/dist/types/types/CustomEventType.d.ts.map +1 -0
  427. package/dist/{esm → types}/types/EventTypes.d.ts +55 -55
  428. package/dist/types/types/EventTypes.d.ts.map +1 -0
  429. package/dist/{esm → types}/types/FlipDirection.d.ts +2 -1
  430. package/dist/types/types/FlipDirection.d.ts.map +1 -0
  431. package/dist/{esm → types}/types/IActor.d.ts +5 -4
  432. package/dist/types/types/IActor.d.ts.map +1 -0
  433. package/dist/{esm → types}/types/ICache.d.ts +2 -1
  434. package/dist/types/types/ICache.d.ts.map +1 -0
  435. package/dist/{esm → types}/types/ICachedGeometry.d.ts +1 -0
  436. package/dist/types/types/ICachedGeometry.d.ts.map +1 -0
  437. package/dist/{esm → types}/types/ICachedImage.d.ts +1 -0
  438. package/dist/types/types/ICachedImage.d.ts.map +1 -0
  439. package/dist/{esm → types}/types/ICachedVolume.d.ts +1 -0
  440. package/dist/types/types/ICachedVolume.d.ts.map +1 -0
  441. package/dist/{esm → types}/types/ICamera.d.ts +1 -0
  442. package/dist/types/types/ICamera.d.ts.map +1 -0
  443. package/dist/{esm → types}/types/IContour.d.ts +1 -0
  444. package/dist/types/types/IContour.d.ts.map +1 -0
  445. package/dist/{esm → types}/types/IContourSet.d.ts +1 -0
  446. package/dist/types/types/IContourSet.d.ts.map +1 -0
  447. package/dist/{esm → types}/types/IDynamicImageVolume.d.ts +1 -0
  448. package/dist/types/types/IDynamicImageVolume.d.ts.map +1 -0
  449. package/dist/{esm → types}/types/IEnabledElement.d.ts +1 -0
  450. package/dist/types/types/IEnabledElement.d.ts.map +1 -0
  451. package/dist/{esm → types}/types/IGeometry.d.ts +1 -0
  452. package/dist/types/types/IGeometry.d.ts.map +1 -0
  453. package/dist/{esm → types}/types/IImage.d.ts +7 -4
  454. package/dist/types/types/IImage.d.ts.map +1 -0
  455. package/dist/{esm → types}/types/IImageCalibration.d.ts +1 -0
  456. package/dist/types/types/IImageCalibration.d.ts.map +1 -0
  457. package/dist/{esm → types}/types/IImageData.d.ts +1 -0
  458. package/dist/types/types/IImageData.d.ts.map +1 -0
  459. package/dist/{esm → types}/types/IImageVolume.d.ts +1 -0
  460. package/dist/types/types/IImageVolume.d.ts.map +1 -0
  461. package/dist/{esm → types}/types/ILoadObject.d.ts +1 -0
  462. package/dist/types/types/ILoadObject.d.ts.map +1 -0
  463. package/dist/{esm → types}/types/IRegisterImageLoader.d.ts +1 -0
  464. package/dist/types/types/IRegisterImageLoader.d.ts.map +1 -0
  465. package/dist/{esm → types}/types/IRenderingEngine.d.ts +1 -0
  466. package/dist/types/types/IRenderingEngine.d.ts.map +1 -0
  467. package/dist/types/types/IRetrieveConfiguration.d.ts +39 -0
  468. package/dist/types/types/IRetrieveConfiguration.d.ts.map +1 -0
  469. package/dist/{esm → types}/types/IStackViewport.d.ts +2 -1
  470. package/dist/types/types/IStackViewport.d.ts.map +1 -0
  471. package/dist/{esm → types}/types/IStreamingImageVolume.d.ts +1 -0
  472. package/dist/types/types/IStreamingImageVolume.d.ts.map +1 -0
  473. package/dist/{esm → types}/types/IStreamingVolumeProperties.d.ts +3 -1
  474. package/dist/types/types/IStreamingVolumeProperties.d.ts.map +1 -0
  475. package/dist/{esm → types}/types/IViewport.d.ts +5 -4
  476. package/dist/types/types/IViewport.d.ts.map +1 -0
  477. package/dist/{esm → types}/types/IViewportId.d.ts +1 -0
  478. package/dist/types/types/IViewportId.d.ts.map +1 -0
  479. package/dist/{esm → types}/types/IVolume.d.ts +2 -1
  480. package/dist/types/types/IVolume.d.ts.map +1 -0
  481. package/dist/{esm → types}/types/IVolumeInput.d.ts +2 -1
  482. package/dist/types/types/IVolumeInput.d.ts.map +1 -0
  483. package/dist/{esm → types}/types/IVolumeViewport.d.ts +1 -0
  484. package/dist/types/types/IVolumeViewport.d.ts.map +1 -0
  485. package/dist/types/types/ImageLoadListener.d.ts +6 -0
  486. package/dist/types/types/ImageLoadListener.d.ts.map +1 -0
  487. package/dist/{esm → types}/types/ImageLoaderFn.d.ts +2 -1
  488. package/dist/types/types/ImageLoaderFn.d.ts.map +1 -0
  489. package/dist/{esm → types}/types/ImagePixelModule.d.ts +1 -0
  490. package/dist/types/types/ImagePixelModule.d.ts.map +1 -0
  491. package/dist/{esm → types}/types/ImagePlaneModule.d.ts +1 -0
  492. package/dist/types/types/ImagePlaneModule.d.ts.map +1 -0
  493. package/dist/{esm → types}/types/ImageSliceData.d.ts +2 -1
  494. package/dist/types/types/ImageSliceData.d.ts.map +1 -0
  495. package/dist/types/types/Mat3.d.ts +3 -0
  496. package/dist/types/types/Mat3.d.ts.map +1 -0
  497. package/dist/{esm → types}/types/Metadata.d.ts +2 -1
  498. package/dist/types/types/Metadata.d.ts.map +1 -0
  499. package/dist/{esm → types}/types/OrientationVectors.d.ts +2 -1
  500. package/dist/types/types/OrientationVectors.d.ts.map +1 -0
  501. package/dist/types/types/PixelDataTypedArray.d.ts +2 -0
  502. package/dist/types/types/PixelDataTypedArray.d.ts.map +1 -0
  503. package/dist/types/types/Plane.d.ts +3 -0
  504. package/dist/types/types/Plane.d.ts.map +1 -0
  505. package/dist/types/types/Point2.d.ts +3 -0
  506. package/dist/types/types/Point2.d.ts.map +1 -0
  507. package/dist/types/types/Point3.d.ts +3 -0
  508. package/dist/types/types/Point3.d.ts.map +1 -0
  509. package/dist/types/types/Point4.d.ts +3 -0
  510. package/dist/types/types/Point4.d.ts.map +1 -0
  511. package/dist/types/types/RGB.d.ts +3 -0
  512. package/dist/types/types/RGB.d.ts.map +1 -0
  513. package/dist/{esm → types}/types/ScalingParameters.d.ts +4 -3
  514. package/dist/types/types/ScalingParameters.d.ts.map +1 -0
  515. package/dist/{esm → types}/types/StackViewportProperties.d.ts +2 -1
  516. package/dist/types/types/StackViewportProperties.d.ts.map +1 -0
  517. package/dist/types/types/TransformMatrix2D.d.ts +3 -0
  518. package/dist/types/types/TransformMatrix2D.d.ts.map +1 -0
  519. package/dist/{esm → types}/types/ViewportInputOptions.d.ts +2 -1
  520. package/dist/types/types/ViewportInputOptions.d.ts.map +1 -0
  521. package/dist/{esm → types}/types/ViewportPreset.d.ts +1 -0
  522. package/dist/types/types/ViewportPreset.d.ts.map +1 -0
  523. package/dist/{esm → types}/types/ViewportProperties.d.ts +2 -1
  524. package/dist/types/types/ViewportProperties.d.ts.map +1 -0
  525. package/dist/{esm → types}/types/VolumeLoaderFn.d.ts +2 -1
  526. package/dist/types/types/VolumeLoaderFn.d.ts.map +1 -0
  527. package/dist/{esm → types}/types/VolumeViewportProperties.d.ts +2 -1
  528. package/dist/types/types/VolumeViewportProperties.d.ts.map +1 -0
  529. package/dist/{esm → types}/types/displayArea.d.ts +2 -1
  530. package/dist/types/types/displayArea.d.ts.map +1 -0
  531. package/dist/{esm → types}/types/index.d.ts +4 -1
  532. package/dist/types/types/index.d.ts.map +1 -0
  533. package/dist/{esm → types}/types/voi.d.ts +3 -2
  534. package/dist/types/types/voi.d.ts.map +1 -0
  535. package/dist/types/utilities/ProgressiveIterator.d.ts +25 -0
  536. package/dist/types/utilities/ProgressiveIterator.d.ts.map +1 -0
  537. package/dist/{esm → types}/utilities/actorCheck.d.ts +2 -1
  538. package/dist/types/utilities/actorCheck.d.ts.map +1 -0
  539. package/dist/{esm → types}/utilities/applyPreset.d.ts +1 -0
  540. package/dist/types/utilities/applyPreset.d.ts.map +1 -0
  541. package/dist/{esm → types}/utilities/calculateViewportsSpatialRegistration.d.ts +1 -0
  542. package/dist/types/utilities/calculateViewportsSpatialRegistration.d.ts.map +1 -0
  543. package/dist/{esm → types}/utilities/calibratedPixelSpacingMetadataProvider.d.ts +1 -0
  544. package/dist/types/utilities/calibratedPixelSpacingMetadataProvider.d.ts.map +1 -0
  545. package/dist/{esm → types}/utilities/colormap.d.ts +1 -0
  546. package/dist/types/utilities/colormap.d.ts.map +1 -0
  547. package/dist/{esm → types}/utilities/createFloat32SharedArray.d.ts +1 -0
  548. package/dist/types/utilities/createFloat32SharedArray.d.ts.map +1 -0
  549. package/dist/{esm → types}/utilities/createInt16SharedArray.d.ts +1 -0
  550. package/dist/types/utilities/createInt16SharedArray.d.ts.map +1 -0
  551. package/dist/{esm → types}/utilities/createLinearRGBTransferFunction.d.ts +1 -0
  552. package/dist/types/utilities/createLinearRGBTransferFunction.d.ts.map +1 -0
  553. package/dist/{esm → types}/utilities/createSigmoidRGBTransferFunction.d.ts +1 -0
  554. package/dist/types/utilities/createSigmoidRGBTransferFunction.d.ts.map +1 -0
  555. package/dist/{esm → types}/utilities/createUInt16SharedArray.d.ts +1 -0
  556. package/dist/types/utilities/createUInt16SharedArray.d.ts.map +1 -0
  557. package/dist/{esm → types}/utilities/createUint8SharedArray.d.ts +1 -0
  558. package/dist/types/utilities/createUint8SharedArray.d.ts.map +1 -0
  559. package/dist/types/utilities/decimate.d.ts +2 -0
  560. package/dist/types/utilities/decimate.d.ts.map +1 -0
  561. package/dist/{esm → types}/utilities/deepFreeze.d.ts +1 -0
  562. package/dist/types/utilities/deepFreeze.d.ts.map +1 -0
  563. package/dist/{esm → types}/utilities/deepMerge.d.ts +1 -0
  564. package/dist/types/utilities/deepMerge.d.ts.map +1 -0
  565. package/dist/{esm → types}/utilities/getClosestImageId.d.ts +1 -0
  566. package/dist/types/utilities/getClosestImageId.d.ts.map +1 -0
  567. package/dist/{esm → types}/utilities/getClosestStackImageIndexForPoint.d.ts +1 -0
  568. package/dist/types/utilities/getClosestStackImageIndexForPoint.d.ts.map +1 -0
  569. package/dist/{esm → types}/utilities/getImageLegacy.d.ts +1 -0
  570. package/dist/types/utilities/getImageLegacy.d.ts.map +1 -0
  571. package/dist/{esm → types}/utilities/getImageSliceDataForVolumeViewport.d.ts +1 -0
  572. package/dist/types/utilities/getImageSliceDataForVolumeViewport.d.ts.map +1 -0
  573. package/dist/{esm → types}/utilities/getMinMax.d.ts +1 -0
  574. package/dist/types/utilities/getMinMax.d.ts.map +1 -0
  575. package/dist/{esm → types}/utilities/getRuntimeId.d.ts +1 -0
  576. package/dist/types/utilities/getRuntimeId.d.ts.map +1 -0
  577. package/dist/{esm → types}/utilities/getScalarDataType.d.ts +1 -0
  578. package/dist/types/utilities/getScalarDataType.d.ts.map +1 -0
  579. package/dist/{esm → types}/utilities/getScalingParameters.d.ts +1 -0
  580. package/dist/types/utilities/getScalingParameters.d.ts.map +1 -0
  581. package/dist/{esm → types}/utilities/getSliceRange.d.ts +1 -0
  582. package/dist/types/utilities/getSliceRange.d.ts.map +1 -0
  583. package/dist/{esm → types}/utilities/getSpacingInNormalDirection.d.ts +1 -0
  584. package/dist/types/utilities/getSpacingInNormalDirection.d.ts.map +1 -0
  585. package/dist/{esm → types}/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -0
  586. package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts.map +1 -0
  587. package/dist/{esm → types}/utilities/getViewportImageCornersInWorld.d.ts +1 -0
  588. package/dist/types/utilities/getViewportImageCornersInWorld.d.ts.map +1 -0
  589. package/dist/{esm → types}/utilities/getViewportsWithImageURI.d.ts +2 -1
  590. package/dist/types/utilities/getViewportsWithImageURI.d.ts.map +1 -0
  591. package/dist/{esm → types}/utilities/getViewportsWithVolumeId.d.ts +1 -0
  592. package/dist/types/utilities/getViewportsWithVolumeId.d.ts.map +1 -0
  593. package/dist/{esm → types}/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +1 -0
  594. package/dist/types/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts.map +1 -0
  595. package/dist/{esm → types}/utilities/getVolumeActorCorners.d.ts +1 -0
  596. package/dist/types/utilities/getVolumeActorCorners.d.ts.map +1 -0
  597. package/dist/{esm → types}/utilities/getVolumeSliceRangeInfo.d.ts +1 -0
  598. package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts.map +1 -0
  599. package/dist/{esm → types}/utilities/getVolumeViewportScrollInfo.d.ts +1 -0
  600. package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts.map +1 -0
  601. package/dist/{esm → types}/utilities/getVolumeViewportsContainingSameVolumes.d.ts +1 -0
  602. package/dist/types/utilities/getVolumeViewportsContainingSameVolumes.d.ts.map +1 -0
  603. package/dist/{esm → types}/utilities/hasNaNValues.d.ts +1 -0
  604. package/dist/types/utilities/hasNaNValues.d.ts.map +1 -0
  605. package/dist/{esm → types}/utilities/imageIdToURI.d.ts +1 -0
  606. package/dist/types/utilities/imageIdToURI.d.ts.map +1 -0
  607. package/dist/types/utilities/imageRetrieveMetadataProvider.d.ts +8 -0
  608. package/dist/types/utilities/imageRetrieveMetadataProvider.d.ts.map +1 -0
  609. package/dist/{esm → types}/utilities/imageToWorldCoords.d.ts +1 -0
  610. package/dist/types/utilities/imageToWorldCoords.d.ts.map +1 -0
  611. package/dist/{esm → types}/utilities/index.d.ts +5 -1
  612. package/dist/types/utilities/index.d.ts.map +1 -0
  613. package/dist/{esm → types}/utilities/indexWithinDimensions.d.ts +1 -0
  614. package/dist/types/utilities/indexWithinDimensions.d.ts.map +1 -0
  615. package/dist/{esm → types}/utilities/invertRgbTransferFunction.d.ts +1 -0
  616. package/dist/types/utilities/invertRgbTransferFunction.d.ts.map +1 -0
  617. package/dist/{esm → types}/utilities/isEqual.d.ts +1 -0
  618. package/dist/types/utilities/isEqual.d.ts.map +1 -0
  619. package/dist/{esm → types}/utilities/isOpposite.d.ts +1 -0
  620. package/dist/types/utilities/isOpposite.d.ts.map +1 -0
  621. package/dist/{esm → types}/utilities/isPTPrescaledWithSUV.d.ts +1 -0
  622. package/dist/types/utilities/isPTPrescaledWithSUV.d.ts.map +1 -0
  623. package/dist/{esm → types}/utilities/isTypedArray.d.ts +1 -0
  624. package/dist/types/utilities/isTypedArray.d.ts.map +1 -0
  625. package/dist/{esm → types}/utilities/loadImageToCanvas.d.ts +1 -0
  626. package/dist/types/utilities/loadImageToCanvas.d.ts.map +1 -0
  627. package/dist/{esm → types}/utilities/planar.d.ts +1 -0
  628. package/dist/types/utilities/planar.d.ts.map +1 -0
  629. package/dist/{esm → types}/utilities/renderToCanvasCPU.d.ts +1 -0
  630. package/dist/types/utilities/renderToCanvasCPU.d.ts.map +1 -0
  631. package/dist/{esm → types}/utilities/renderToCanvasGPU.d.ts +1 -0
  632. package/dist/types/utilities/renderToCanvasGPU.d.ts.map +1 -0
  633. package/dist/{esm → types}/utilities/scaleRgbTransferFunction.d.ts +1 -0
  634. package/dist/types/utilities/scaleRgbTransferFunction.d.ts.map +1 -0
  635. package/dist/{esm → types}/utilities/snapFocalPointToSlice.d.ts +1 -0
  636. package/dist/types/utilities/snapFocalPointToSlice.d.ts.map +1 -0
  637. package/dist/{esm → types}/utilities/spatialRegistrationMetadataProvider.d.ts +1 -0
  638. package/dist/types/utilities/spatialRegistrationMetadataProvider.d.ts.map +1 -0
  639. package/dist/{esm → types}/utilities/transformWorldToIndex.d.ts +1 -0
  640. package/dist/types/utilities/transformWorldToIndex.d.ts.map +1 -0
  641. package/dist/{esm → types}/utilities/triggerEvent.d.ts +1 -0
  642. package/dist/types/utilities/triggerEvent.d.ts.map +1 -0
  643. package/dist/{esm → types}/utilities/uuidv4.d.ts +1 -0
  644. package/dist/types/utilities/uuidv4.d.ts.map +1 -0
  645. package/dist/{esm → types}/utilities/windowLevel.d.ts +1 -0
  646. package/dist/types/utilities/windowLevel.d.ts.map +1 -0
  647. package/dist/{esm → types}/utilities/worldToImageCoords.d.ts +1 -0
  648. package/dist/types/utilities/worldToImageCoords.d.ts.map +1 -0
  649. package/dist/umd/index.js +1 -1
  650. package/dist/umd/index.js.map +1 -1
  651. package/package.json +4 -5
  652. package/src/RenderingEngine/StackViewport.ts +146 -117
  653. package/src/RenderingEngine/Viewport.ts +8 -9
  654. package/{dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts → src/RenderingEngine/vtkClasses/vtkSlabCamera.ts} +153 -12
  655. package/src/Settings.ts +3 -1
  656. package/src/cache/cache.ts +4 -1
  657. package/src/enums/Events.ts +10 -9
  658. package/src/enums/ImageQualityStatus.ts +37 -0
  659. package/src/enums/index.ts +2 -0
  660. package/src/index.ts +19 -2
  661. package/src/loaders/ProgressiveRetrieveImages.ts +380 -0
  662. package/src/loaders/configuration/interleavedRetrieve.ts +96 -0
  663. package/src/loaders/configuration/sequentialRetrieve.ts +17 -0
  664. package/src/loaders/configuration/singleRetrieve.ts +18 -0
  665. package/src/loaders/fillNearbyFrames.ts +53 -0
  666. package/src/loaders/imageLoader.ts +2 -1
  667. package/src/loaders/volumeLoader.ts +2 -3
  668. package/src/metaData.ts +4 -1
  669. package/src/types/CPUIImageData.ts +1 -1
  670. package/src/types/EventTypes.ts +12 -25
  671. package/src/types/ICache.ts +2 -1
  672. package/src/types/IImage.ts +7 -4
  673. package/src/types/IRetrieveConfiguration.ts +194 -0
  674. package/src/types/IStackViewport.ts +4 -1
  675. package/src/types/IStreamingVolumeProperties.ts +3 -1
  676. package/src/types/IViewport.ts +1 -0
  677. package/src/types/ImageLoadListener.ts +20 -0
  678. package/src/types/index.ts +11 -0
  679. package/src/utilities/ProgressiveIterator.ts +190 -0
  680. package/src/utilities/decimate.ts +17 -0
  681. package/src/utilities/imageRetrieveMetadataProvider.ts +39 -0
  682. package/src/utilities/index.ts +6 -0
  683. package/dist/esm/types/CPUFallbackLUT.d.ts +0 -4
  684. package/dist/esm/types/Mat3.d.ts +0 -2
  685. package/dist/esm/types/PixelDataTypedArray.d.ts +0 -1
  686. package/dist/esm/types/Plane.d.ts +0 -2
  687. package/dist/esm/types/Point2.d.ts +0 -2
  688. package/dist/esm/types/Point3.d.ts +0 -2
  689. package/dist/esm/types/Point4.d.ts +0 -2
  690. package/dist/esm/types/RGB.d.ts +0 -2
  691. package/dist/esm/types/TransformMatrix2D.d.ts +0 -2
  692. package/src/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +0 -781
  693. package/src/RenderingEngine/vtkClasses/vtkSlabCamera.js +0 -155
@@ -0,0 +1,380 @@
1
+ import {
2
+ IRetrieveConfiguration,
3
+ IImagesLoader,
4
+ IImage,
5
+ RetrieveStage,
6
+ EventTypes,
7
+ ImageLoadListener,
8
+ RetrieveOptions,
9
+ } from '../types';
10
+ import singleRetrieveStages from './configuration/singleRetrieve';
11
+ import sequentialRetrieveStages from './configuration/sequentialRetrieve';
12
+ import interleavedRetrieveStages from './configuration/interleavedRetrieve';
13
+ import { loadAndCacheImage } from './imageLoader';
14
+ import { triggerEvent, ProgressiveIterator, decimate } from '../utilities';
15
+ import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
16
+ import { ImageQualityStatus, RequestType, Events } from '../enums';
17
+ import cache from '../cache';
18
+ import eventTarget from '../eventTarget';
19
+ import { fillNearbyFrames } from './fillNearbyFrames';
20
+
21
+ export {
22
+ sequentialRetrieveStages,
23
+ interleavedRetrieveStages,
24
+ singleRetrieveStages,
25
+ };
26
+
27
+ type StageStatus = {
28
+ stageId: string;
29
+ // startTime is the overall start of loading a given image id
30
+ startTime?: number;
31
+ // stageStartTime is the time to start loading this stage item
32
+ stageStartTime?: number;
33
+ totalImageCount: number;
34
+ imageLoadFailedCount: number;
35
+ imageLoadPendingCount: number;
36
+ };
37
+
38
+ /**
39
+ * A nearby request is a request that can be fulfilled by copying another image
40
+ */
41
+ export type NearbyRequest = {
42
+ // The item id to fill
43
+ itemId: string;
44
+ linearId?: string;
45
+ // The new status of the filled image (will only fill if the existing status
46
+ // is less than this one)
47
+ imageQualityStatus: ImageQualityStatus;
48
+ };
49
+
50
+ export type ProgressiveRequest = {
51
+ imageId: string;
52
+ stage: RetrieveStage;
53
+ next?: ProgressiveRequest;
54
+ /**
55
+ * Nearby requests are a set of requests for filling nearby images which
56
+ * could be filled by using this image as a copied image to generate the
57
+ * nearby data as a low-resolution alternative image.
58
+ */
59
+ nearbyRequests?: NearbyRequest[];
60
+ };
61
+
62
+ /**
63
+ * A progressive loader is given some number of images to load,
64
+ * and calls a success or failure callback some number of times in some
65
+ * ordering, possibly calling back multiple times.
66
+ * This allows the progressive loader to be configured for different setups
67
+ * and to return render results for various images.
68
+ *
69
+ * When used by the a stack viewport, the progressive loader can return multiple
70
+ * representations to the viewport, replacing earlier/more lossy versions with better ones.
71
+ *
72
+ * When used by a streaming loader, the progressive loader can change the ordering
73
+ * of the rendering to retrieve high priority images first, and the lower priority
74
+ * images later to provide a complete final rendering.
75
+ *
76
+ * Requests are held in a queue, such that subsequent requests for a given
77
+ * image can be cancelled or ensured to be not initiated until the higher
78
+ * priority image sets have been completed.
79
+ *
80
+ * This loader is also used for the base streamimg image volume, configured with
81
+ * a minimal interleaved load order, combined with filling nearby volume slices
82
+ * on load, resulting in much faster initial apparent display.
83
+ *
84
+ * The loader will load images from existing cached images, cached volumes, and
85
+ * from other nearby images or one or more calls to back end services.
86
+ *
87
+ * @param imageIds - the set of images to load. For a volume, these should be
88
+ * ordered from top to bottom.
89
+ * @param listener - has success and failure callbacks to listen for image deliver events, and may
90
+ * have a getTargetOptions to get information on the retrieve
91
+ * @param retrieveOptions - is a set of retrieve options to use
92
+ */
93
+ export class ProgressiveRetrieveImages
94
+ implements IImagesLoader, IRetrieveConfiguration
95
+ {
96
+ public static createProgressive = createProgressive;
97
+
98
+ public static interleavedRetrieveStages = {
99
+ stages: interleavedRetrieveStages,
100
+ };
101
+
102
+ public static singleRetrieveStages = {
103
+ stages: singleRetrieveStages,
104
+ };
105
+
106
+ public static sequentialRetrieveStages = {
107
+ stages: sequentialRetrieveStages,
108
+ };
109
+
110
+ stages: RetrieveStage[];
111
+ retrieveOptions: Record<string, RetrieveOptions>;
112
+
113
+ constructor(imageRetrieveConfiguration: IRetrieveConfiguration) {
114
+ this.stages = imageRetrieveConfiguration.stages || singleRetrieveStages;
115
+ this.retrieveOptions = imageRetrieveConfiguration.retrieveOptions || {};
116
+ }
117
+
118
+ public loadImages(imageIds: string[], listener: ImageLoadListener) {
119
+ const instance = new ProgressiveRetrieveImagesInstance(
120
+ this,
121
+ imageIds,
122
+ listener
123
+ );
124
+ return instance.loadImages();
125
+ }
126
+ }
127
+
128
+ class ProgressiveRetrieveImagesInstance {
129
+ imageIds: string[];
130
+ listener: ImageLoadListener;
131
+ stages: RetrieveStage[];
132
+ retrieveOptions: Record<string, RetrieveOptions>;
133
+ outstandingRequests = 0;
134
+
135
+ stageStatusMap = new Map<string, StageStatus>();
136
+ imageQualityStatusMap = new Map<string, ImageQualityStatus>();
137
+ displayedIterator = new ProgressiveIterator<void | IImage>('displayed');
138
+
139
+ constructor(configuration: IRetrieveConfiguration, imageIds, listener) {
140
+ this.stages = configuration.stages;
141
+ this.retrieveOptions = configuration.retrieveOptions;
142
+ this.imageIds = imageIds;
143
+ this.listener = listener;
144
+ }
145
+
146
+ public async loadImages() {
147
+ // The actual function is to just setup the interleave and add the
148
+ // requests, with all the actual work being handled by the nested functions
149
+ const interleaved = this.createStageRequests();
150
+ this.outstandingRequests = interleaved.length;
151
+ for (const request of interleaved) {
152
+ this.addRequest(request);
153
+ }
154
+ if (this.outstandingRequests === 0) {
155
+ return Promise.resolve(null);
156
+ }
157
+
158
+ return this.displayedIterator.getDonePromise();
159
+ }
160
+
161
+ protected sendRequest(request, options) {
162
+ const { imageId, next } = request;
163
+ const errorCallback = (reason, done) => {
164
+ this.listener.errorCallback(imageId, complete || !next, reason);
165
+ if (done) {
166
+ this.updateStageStatus(request.stage, reason);
167
+ }
168
+ };
169
+ const loadedPromise = (options.loader || loadAndCacheImage)(
170
+ imageId,
171
+ options
172
+ );
173
+ const uncompressedIterator = ProgressiveIterator.as(loadedPromise);
174
+ let complete = false;
175
+
176
+ uncompressedIterator
177
+ .forEach(async (image, done) => {
178
+ const oldStatus = this.imageQualityStatusMap.get(imageId);
179
+ if (!image) {
180
+ console.warn('No image retrieved', imageId);
181
+ return;
182
+ }
183
+ const { imageQualityStatus } = image;
184
+ complete ||= imageQualityStatus === ImageQualityStatus.FULL_RESOLUTION;
185
+ if (oldStatus !== undefined && oldStatus > imageQualityStatus) {
186
+ // We already have a better status, so don't update it
187
+ this.updateStageStatus(request.stage, null, true);
188
+ return;
189
+ }
190
+
191
+ this.listener.successCallback(imageId, image);
192
+ this.imageQualityStatusMap.set(imageId, imageQualityStatus);
193
+ this.displayedIterator.add(image);
194
+ if (done) {
195
+ this.updateStageStatus(request.stage);
196
+ }
197
+ fillNearbyFrames(
198
+ this.listener,
199
+ this.imageQualityStatusMap,
200
+ request,
201
+ image,
202
+ options
203
+ );
204
+ }, errorCallback)
205
+ .finally(() => {
206
+ if (!complete && next) {
207
+ if (cache.getImageLoadObject(imageId)) {
208
+ cache.removeImageLoadObject(imageId);
209
+ }
210
+ this.addRequest(next, options.streamingData);
211
+ } else {
212
+ if (!complete) {
213
+ this.listener.errorCallback(imageId, true, "Couldn't decode");
214
+ }
215
+ this.outstandingRequests--;
216
+ for (let skip = next; skip; skip = skip.next) {
217
+ this.updateStageStatus(skip.stage, null, true);
218
+ }
219
+ }
220
+ if (this.outstandingRequests <= 0) {
221
+ this.displayedIterator.resolve();
222
+ }
223
+ });
224
+ const doneLoad = uncompressedIterator.getDonePromise();
225
+ // Errors already handled above in the callback
226
+ return doneLoad.catch((e) => null);
227
+ }
228
+
229
+ /** Adds a rquest to the image load pool manager */
230
+ protected addRequest(request, streamingData = {}) {
231
+ const { imageId, stage } = request;
232
+ const baseOptions = this.listener.getLoaderImageOptions(imageId);
233
+ if (!baseOptions) {
234
+ // Image no longer of interest
235
+ return;
236
+ }
237
+ const { retrieveType = 'default' } = stage;
238
+ const { retrieveOptions: keyedRetrieveOptions } = this;
239
+ const retrieveOptions =
240
+ keyedRetrieveOptions[retrieveType] || keyedRetrieveOptions.default;
241
+ const options = {
242
+ ...baseOptions,
243
+ retrieveType,
244
+ retrieveOptions,
245
+ streamingData,
246
+ };
247
+ const priority = stage.priority ?? -5;
248
+ const requestType = stage.requestType || RequestType.Interaction;
249
+ const additionalDetails = { imageId };
250
+
251
+ imageLoadPoolManager.addRequest(
252
+ this.sendRequest.bind(this, request, options),
253
+ requestType,
254
+ additionalDetails,
255
+ priority
256
+ );
257
+ }
258
+
259
+ protected updateStageStatus(stage, failure?, skipped = false) {
260
+ const { id } = stage;
261
+ const stageStatus = this.stageStatusMap.get(id);
262
+ if (!stageStatus) {
263
+ return;
264
+ }
265
+ stageStatus.imageLoadPendingCount--;
266
+ if (failure) {
267
+ stageStatus.imageLoadFailedCount++;
268
+ } else if (!skipped) {
269
+ stageStatus.totalImageCount++;
270
+ }
271
+ if (!skipped && !stageStatus.stageStartTime) {
272
+ stageStatus.stageStartTime = Date.now();
273
+ }
274
+ if (!stageStatus.imageLoadPendingCount) {
275
+ const {
276
+ imageLoadFailedCount: numberOfFailures,
277
+ totalImageCount: numberOfImages,
278
+ stageStartTime = Date.now(),
279
+ startTime,
280
+ } = stageStatus;
281
+ const detail: EventTypes.ImageLoadStageEventDetail = {
282
+ stageId: id,
283
+ numberOfFailures,
284
+ numberOfImages,
285
+ stageDurationInMS: stageStartTime ? Date.now() - stageStartTime : null,
286
+ startDurationInMS: Date.now() - startTime,
287
+ };
288
+ triggerEvent(eventTarget, Events.IMAGE_RETRIEVAL_STAGE, detail);
289
+ this.stageStatusMap.delete(id);
290
+ }
291
+ }
292
+
293
+ /** Interleaves the values according to the stages definition */
294
+ protected createStageRequests() {
295
+ const interleaved = new Array<ProgressiveRequest>();
296
+ // Maps image id to the LAST progressive request - to allow tail append
297
+ const imageRequests = new Map<string, ProgressiveRequest>();
298
+
299
+ const addStageInstance = (stage, position) => {
300
+ const index =
301
+ position < 0
302
+ ? this.imageIds.length + position
303
+ : position < 1
304
+ ? Math.floor((this.imageIds.length - 1) * position)
305
+ : position;
306
+ const imageId = this.imageIds[index];
307
+ if (!imageId) {
308
+ throw new Error(`No value found to add to requests at ${position}`);
309
+ }
310
+ const request: ProgressiveRequest = {
311
+ imageId,
312
+ stage,
313
+ nearbyRequests: this.findNearbyRequests(index, stage),
314
+ };
315
+ this.addStageStatus(stage);
316
+ const existingRequest = imageRequests.get(imageId);
317
+ if (existingRequest) {
318
+ existingRequest.next = request;
319
+ } else {
320
+ interleaved.push(request);
321
+ }
322
+ imageRequests.set(imageId, request);
323
+ };
324
+
325
+ for (const stage of this.stages) {
326
+ const indices =
327
+ stage.positions ||
328
+ decimate(this.imageIds, stage.decimate || 1, stage.offset ?? 0);
329
+ indices.forEach((index) => addStageInstance(stage, index));
330
+ }
331
+ return interleaved;
332
+ }
333
+
334
+ /**
335
+ * Finds nearby requests to fulfill to show the merge information earlier.
336
+ * @param index - to use as the base value
337
+ * @param imageIds - set of image ids to request
338
+ * @param stage - to find information from
339
+ * @returns Array of nearby frames to fill when the main stage is done
340
+ */
341
+ protected findNearbyRequests(index: number, stage): NearbyRequest[] {
342
+ const nearby = new Array<NearbyRequest>();
343
+ if (!stage.nearbyFrames) {
344
+ return nearby;
345
+ }
346
+ for (const nearbyItem of stage.nearbyFrames) {
347
+ const nearbyIndex = index + nearbyItem.offset;
348
+ if (nearbyIndex < 0 || nearbyIndex >= this.imageIds.length) {
349
+ continue;
350
+ }
351
+ nearby.push({
352
+ itemId: this.imageIds[nearbyIndex],
353
+ imageQualityStatus: nearbyItem.imageQualityStatus,
354
+ });
355
+ }
356
+
357
+ return nearby;
358
+ }
359
+
360
+ protected addStageStatus(stage) {
361
+ const { id } = stage;
362
+ const stageStatus = this.stageStatusMap.get(id) || {
363
+ stageId: id,
364
+ startTime: Date.now(),
365
+ stageStartTime: null,
366
+ totalImageCount: 0,
367
+ imageLoadFailedCount: 0,
368
+ imageLoadPendingCount: 0,
369
+ };
370
+ stageStatus.imageLoadPendingCount++;
371
+ this.stageStatusMap.set(id, stageStatus);
372
+ return stageStatus;
373
+ }
374
+ }
375
+
376
+ export function createProgressive(configuration: IRetrieveConfiguration) {
377
+ return new ProgressiveRetrieveImages(configuration);
378
+ }
379
+
380
+ export default ProgressiveRetrieveImages;
@@ -0,0 +1,96 @@
1
+ import { RetrieveStage, NearbyFrames } from '../../types';
2
+ import { RequestType, ImageQualityStatus } from '../../enums';
3
+
4
+ // Defines some nearby frames to replicate to
5
+ const nearbyFrames: NearbyFrames[] = [
6
+ {
7
+ offset: -1,
8
+ imageQualityStatus: ImageQualityStatus.ADJACENT_REPLICATE,
9
+ },
10
+ {
11
+ offset: +1,
12
+ imageQualityStatus: ImageQualityStatus.ADJACENT_REPLICATE,
13
+ },
14
+ { offset: +2, imageQualityStatus: ImageQualityStatus.FAR_REPLICATE },
15
+ ];
16
+
17
+ /**
18
+ * This configuration is designed to interleave the data requests, using
19
+ * lossy/thumbnail requests when available, but falling back to full retrieve
20
+ * requests in an interleaved manner.
21
+ * The basic ordering is:
22
+ * 1. Retrieve middle image, first, last
23
+ * 2. Retrieve every 4th image, offset 1, lossy if available
24
+ * 3. Retrieve every 4th image, offset 3, lossy if available
25
+ * 4. Retrieve every 4th image, offset 0, full images
26
+ * 5. Retrieve every 4th image, offset 2, full images
27
+ * 6. Retrieve every 4th image, offsets 1 and 3, full images if not already done
28
+ */
29
+ const interleavedRetrieveConfiguration: RetrieveStage[] = [
30
+ {
31
+ id: 'initialImages',
32
+ // Values between -1 and 1 are relative to size, so 0.5 is middle image
33
+ // and 0 is first image, -1 is last image
34
+ positions: [0.5, 0, -1],
35
+ retrieveType: 'default',
36
+ requestType: RequestType.Thumbnail,
37
+ priority: 5,
38
+ nearbyFrames,
39
+ },
40
+ {
41
+ id: 'quarterThumb',
42
+ decimate: 4,
43
+ offset: 3,
44
+ requestType: RequestType.Thumbnail,
45
+ retrieveType: 'multipleFast',
46
+ priority: 6,
47
+ nearbyFrames,
48
+ },
49
+ {
50
+ id: 'halfThumb',
51
+ decimate: 4,
52
+ offset: 1,
53
+ priority: 7,
54
+ requestType: RequestType.Thumbnail,
55
+ retrieveType: 'multipleFast',
56
+ nearbyFrames,
57
+ },
58
+ {
59
+ id: 'quarterFull',
60
+ decimate: 4,
61
+ offset: 2,
62
+ priority: 8,
63
+ requestType: RequestType.Thumbnail,
64
+ retrieveType: 'multipleFinal',
65
+ },
66
+ {
67
+ id: 'halfFull',
68
+ decimate: 4,
69
+ offset: 0,
70
+ priority: 9,
71
+ requestType: RequestType.Thumbnail,
72
+ retrieveType: 'multipleFinal',
73
+ },
74
+ {
75
+ id: 'threeQuarterFull',
76
+ decimate: 4,
77
+ offset: 1,
78
+ priority: 10,
79
+ requestType: RequestType.Thumbnail,
80
+ retrieveType: 'multipleFinal',
81
+ },
82
+ {
83
+ id: 'finalFull',
84
+ decimate: 4,
85
+ offset: 3,
86
+ priority: 11,
87
+ requestType: RequestType.Thumbnail,
88
+ retrieveType: 'multipleFinal',
89
+ },
90
+ {
91
+ // This goes back to basic retrieve to recover from retrieving against
92
+ // servers returning errors for any of the above requests.
93
+ id: 'errorRetrieve',
94
+ },
95
+ ];
96
+ export default interleavedRetrieveConfiguration;
@@ -0,0 +1,17 @@
1
+ import type { RetrieveStage } from '../../types';
2
+
3
+ /**
4
+ * This simply retrieves the images sequentially as provided.
5
+ */
6
+ const sequentialRetrieveStages: RetrieveStage[] = [
7
+ {
8
+ id: 'lossySequential',
9
+ retrieveType: 'singleFast',
10
+ },
11
+ {
12
+ id: 'finalSequential',
13
+ retrieveType: 'singleFinal',
14
+ },
15
+ ];
16
+
17
+ export default sequentialRetrieveStages;
@@ -0,0 +1,18 @@
1
+ import type { RetrieveStage } from '../../types';
2
+
3
+ /**
4
+ * This simply retrieves the images sequentially as provided.
5
+ */
6
+ const singleRetrieveStages: RetrieveStage[] = [
7
+ {
8
+ id: 'initialImages',
9
+ retrieveType: 'single',
10
+ },
11
+ // Shouldn't be necessary, but if the server returns an error for the above
12
+ // configuration, this will ensure the image is still fetched.
13
+ {
14
+ id: 'errorRetrieve',
15
+ },
16
+ ];
17
+
18
+ export default singleRetrieveStages;
@@ -0,0 +1,53 @@
1
+ import { ImageLoadListener } from '../types';
2
+ import { ImageQualityStatus } from '../enums';
3
+
4
+ /** Actually fills the nearby frames from the given frame */
5
+ export function fillNearbyFrames(
6
+ listener: ImageLoadListener,
7
+ imageQualityStatusMap: Map<string, ImageQualityStatus>,
8
+ request,
9
+ image,
10
+ options
11
+ ) {
12
+ if (!request?.nearbyRequests?.length) {
13
+ return;
14
+ }
15
+
16
+ const {
17
+ arrayBuffer,
18
+ offset: srcOffset,
19
+ type,
20
+ length: frameLength,
21
+ } = options.targetBuffer;
22
+ if (!arrayBuffer || srcOffset === undefined || !type) {
23
+ return;
24
+ }
25
+ const scalarData = new Float32Array(arrayBuffer);
26
+ const bytesPerPixel = scalarData.byteLength / scalarData.length;
27
+ const offset = options.targetBuffer.offset / bytesPerPixel; // in bytes
28
+
29
+ // since set is based on the underlying type,
30
+ // we need to divide the offset bytes by the byte type
31
+ const src = scalarData.slice(offset, offset + frameLength);
32
+
33
+ for (const nearbyItem of request.nearbyRequests) {
34
+ try {
35
+ const { itemId: targetId, imageQualityStatus } = nearbyItem;
36
+ const targetStatus = imageQualityStatusMap.get(targetId);
37
+ if (targetStatus !== undefined && targetStatus >= imageQualityStatus) {
38
+ continue;
39
+ }
40
+ const targetOptions = listener.getLoaderImageOptions(targetId);
41
+ const { offset: targetOffset } = targetOptions.targetBuffer as any;
42
+ scalarData.set(src, targetOffset / bytesPerPixel);
43
+ const nearbyImage = {
44
+ ...image,
45
+ imageQualityStatus,
46
+ };
47
+ listener.successCallback(targetId, nearbyImage);
48
+ imageQualityStatusMap.set(targetId, imageQualityStatus);
49
+ } catch (e) {
50
+ console.log("Couldn't fill nearby item ", nearbyItem.itemId, e);
51
+ }
52
+ }
53
+ }
@@ -239,7 +239,8 @@ export function cancelLoadAll(): void {
239
239
 
240
240
  Object.keys(requests).forEach((priority) => {
241
241
  const requestDetails = requests[priority].pop();
242
- const { imageId, volumeId } = requestDetails.additionalDetails;
242
+ const additionalDetails = requestDetails.additionalDetails as any;
243
+ const { imageId, volumeId } = additionalDetails;
243
244
 
244
245
  let loadObject;
245
246
 
@@ -3,7 +3,6 @@ import '@kitware/vtk.js/Rendering/Profiles/Volume';
3
3
  import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
4
4
  import type { vtkImageData as vtkImageDataType } from '@kitware/vtk.js/Common/DataModel/ImageData';
5
5
  import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
6
- import cloneDeep from 'lodash.clonedeep';
7
6
 
8
7
  import { ImageVolume } from '../cache/classes/ImageVolume';
9
8
  import type * as Types from '../types';
@@ -330,7 +329,7 @@ export async function createAndCacheDerivedVolume(
330
329
 
331
330
  const derivedVolume = new ImageVolume({
332
331
  volumeId,
333
- metadata: cloneDeep(metadata),
332
+ metadata: structuredClone(metadata),
334
333
  dimensions: [dimensions[0], dimensions[1], dimensions[2]],
335
334
  spacing,
336
335
  origin,
@@ -419,7 +418,7 @@ export function createLocalVolume(
419
418
 
420
419
  const derivedVolume = new ImageVolume({
421
420
  volumeId,
422
- metadata: cloneDeep(metadata),
421
+ metadata: structuredClone(metadata),
423
422
  dimensions: [dimensions[0], dimensions[1], dimensions[2]],
424
423
  spacing,
425
424
  origin,
package/src/metaData.ts CHANGED
@@ -66,11 +66,14 @@ export function removeAllProviders(): void {
66
66
  *
67
67
  * @param type - The type of metadata requested from the metadata store
68
68
  * @param query - The query for the metadata store, often imageId
69
+ * Some metadata providers support multi-valued strings, which are interpretted
70
+ * as the provider chooses.
69
71
  *
70
72
  * @returns The metadata retrieved from the metadata store
71
73
  * @category MetaData
72
74
  */
73
- function getMetaData(type: string, query: string): any {
75
+ function getMetaData(type: string, ...queries): any {
76
+ const query = queries.length === 1 ? queries[0] : queries;
74
77
  // Invoke each provider in priority order until one returns something
75
78
  for (let i = 0; i < providers.length; i++) {
76
79
  const result = providers[i].provider(type, query);
@@ -1,4 +1,4 @@
1
- import { Point3, Scaling, Mat3, PixelDataTypedArray } from '../types';
1
+ import type { Point3, Scaling, Mat3, PixelDataTypedArray } from '../types';
2
2
  import IImageCalibration from './IImageCalibration';
3
3
 
4
4
  type CPUImageData = {
@@ -7,8 +7,8 @@ import type ICamera from './ICamera';
7
7
  import type IImage from './IImage';
8
8
  import type IImageVolume from './IImageVolume';
9
9
  import type { VOIRange } from './voi';
10
- import type VOILUTFunctionType from '../enums/VOILUTFunctionType';
11
- import type ViewportStatus from '../enums/ViewportStatus';
10
+ import VOILUTFunctionType from '../enums/VOILUTFunctionType';
11
+ import ViewportStatus from '../enums/ViewportStatus';
12
12
  import type DisplayArea from './displayArea';
13
13
  import IImageCalibration from './IImageCalibration';
14
14
 
@@ -129,6 +129,16 @@ type ImageLoadedEventDetail = {
129
129
  image: IImage;
130
130
  };
131
131
 
132
+ export type ImageLoadStageEventDetail = {
133
+ stageId: string;
134
+ numberOfImages: number;
135
+ numberOfFailures: number;
136
+ // The duration of just this stage
137
+ stageDurationInMS: number;
138
+ // The overall duration
139
+ startDurationInMS: number;
140
+ };
141
+
132
142
  /**
133
143
  * IMAGE_LOADED_FAILED Event's data
134
144
  */
@@ -245,22 +255,6 @@ type ImageSpacingCalibratedEventDetail = {
245
255
  worldToIndex: mat4;
246
256
  };
247
257
 
248
- /**
249
- * IMAGE_LOAD_PROGRESS Event's data. Note this is only for one image load and NOT volume load.
250
- */
251
- type ImageLoadProgressEventDetail = {
252
- /** url we are loading from */
253
- url: string;
254
- /** loading image image id */
255
- imageId: string;
256
- /** the bytes browser receive */
257
- loaded: number;
258
- /** the total bytes settled by the header */
259
- total: number;
260
- /** loaded divided by total * 100 - shows the percentage of the image loaded */
261
- percent: number;
262
- };
263
-
264
258
  /**
265
259
  * The STACK_VIEWPORT_NEW_STACK event's data, when a new stack is set on a StackViewport
266
260
  */
@@ -391,11 +385,6 @@ type PreStackNewImageEvent = CustomEventType<PreStackNewImageEventDetail>;
391
385
  type ImageSpacingCalibratedEvent =
392
386
  CustomEventType<ImageSpacingCalibratedEventDetail>;
393
387
 
394
- /**
395
- * IMAGE_LOAD_PROGRESS
396
- */
397
- type ImageLoadProgressEvent = CustomEventType<ImageLoadProgressEventDetail>;
398
-
399
388
  /**
400
389
  * STACK_VIEWPORT_NEW_STACK
401
390
  */
@@ -443,8 +432,6 @@ export type {
443
432
  PreStackNewImageEventDetail,
444
433
  ImageSpacingCalibratedEvent,
445
434
  ImageSpacingCalibratedEventDetail,
446
- ImageLoadProgressEvent,
447
- ImageLoadProgressEventDetail,
448
435
  VolumeNewImageEvent,
449
436
  VolumeNewImageEventDetail,
450
437
  StackViewportNewStackEvent,