@cornerstonejs/core 1.28.3 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (656) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.d.ts +23 -3
  2. package/dist/cjs/RenderingEngine/StackViewport.js +105 -90
  3. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +134 -775
  5. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js +15 -14
  6. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  7. package/dist/cjs/cache/cache.js +2 -1
  8. package/dist/cjs/cache/cache.js.map +1 -1
  9. package/dist/cjs/enums/Events.d.ts +1 -1
  10. package/dist/cjs/enums/Events.js +1 -1
  11. package/dist/cjs/enums/Events.js.map +1 -1
  12. package/dist/cjs/enums/ImageQualityStatus.d.ts +8 -0
  13. package/dist/cjs/enums/ImageQualityStatus.js +12 -0
  14. package/dist/cjs/enums/ImageQualityStatus.js.map +1 -0
  15. package/dist/cjs/enums/index.d.ts +2 -1
  16. package/dist/cjs/enums/index.js +3 -1
  17. package/dist/cjs/enums/index.js.map +1 -1
  18. package/dist/cjs/index.d.ts +5 -3
  19. package/dist/cjs/index.js +3 -2
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/loaders/ProgressiveRetrieveImages.d.ts +35 -0
  22. package/dist/cjs/loaders/ProgressiveRetrieveImages.js +249 -0
  23. package/dist/cjs/loaders/ProgressiveRetrieveImages.js.map +1 -0
  24. package/dist/cjs/loaders/configuration/interleavedRetrieve.d.ts +3 -0
  25. package/dist/cjs/loaders/configuration/interleavedRetrieve.js +79 -0
  26. package/dist/cjs/loaders/configuration/interleavedRetrieve.js.map +1 -0
  27. package/dist/cjs/loaders/configuration/sequentialRetrieve.d.ts +3 -0
  28. package/dist/cjs/loaders/configuration/sequentialRetrieve.js +14 -0
  29. package/dist/cjs/loaders/configuration/sequentialRetrieve.js.map +1 -0
  30. package/dist/cjs/loaders/configuration/singleRetrieve.d.ts +3 -0
  31. package/dist/cjs/loaders/configuration/singleRetrieve.js +13 -0
  32. package/dist/cjs/loaders/configuration/singleRetrieve.js.map +1 -0
  33. package/dist/cjs/loaders/fillNearbyFrames.d.ts +3 -0
  34. package/dist/cjs/loaders/fillNearbyFrames.js +37 -0
  35. package/dist/cjs/loaders/fillNearbyFrames.js.map +1 -0
  36. package/dist/cjs/loaders/imageLoader.js +2 -1
  37. package/dist/cjs/loaders/imageLoader.js.map +1 -1
  38. package/dist/cjs/metaData.d.ts +1 -1
  39. package/dist/cjs/metaData.js +2 -1
  40. package/dist/cjs/metaData.js.map +1 -1
  41. package/dist/cjs/types/CPUIImageData.d.ts +1 -1
  42. package/dist/cjs/types/EventTypes.d.ts +10 -11
  43. package/dist/cjs/types/ICache.d.ts +1 -1
  44. package/dist/cjs/types/IImage.d.ts +6 -4
  45. package/dist/cjs/types/IRetrieveConfiguration.d.ts +38 -0
  46. package/dist/cjs/types/IRetrieveConfiguration.js +3 -0
  47. package/dist/cjs/types/IRetrieveConfiguration.js.map +1 -0
  48. package/dist/cjs/types/IStackViewport.d.ts +1 -1
  49. package/dist/cjs/types/IStreamingVolumeProperties.d.ts +2 -1
  50. package/dist/cjs/types/ImageLoadListener.d.ts +5 -0
  51. package/dist/cjs/types/ImageLoadListener.js +3 -0
  52. package/dist/cjs/types/ImageLoadListener.js.map +1 -0
  53. package/dist/cjs/types/index.d.ts +3 -1
  54. package/dist/cjs/utilities/ProgressiveIterator.d.ts +24 -0
  55. package/dist/cjs/utilities/ProgressiveIterator.js +215 -0
  56. package/dist/cjs/utilities/ProgressiveIterator.js.map +1 -0
  57. package/dist/cjs/utilities/decimate.d.ts +1 -0
  58. package/dist/cjs/utilities/decimate.js +11 -0
  59. package/dist/cjs/utilities/decimate.js.map +1 -0
  60. package/dist/cjs/utilities/imageRetrieveMetadataProvider.d.ts +7 -0
  61. package/dist/cjs/utilities/imageRetrieveMetadataProvider.js +27 -0
  62. package/dist/cjs/utilities/imageRetrieveMetadataProvider.js.map +1 -0
  63. package/dist/cjs/utilities/index.d.ts +4 -1
  64. package/dist/cjs/utilities/index.js +7 -1
  65. package/dist/cjs/utilities/index.js.map +1 -1
  66. package/dist/esm/RenderingEngine/StackViewport.js +97 -78
  67. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  68. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +12 -11
  69. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  70. package/dist/esm/cache/cache.js +2 -1
  71. package/dist/esm/cache/cache.js.map +1 -1
  72. package/dist/esm/enums/Events.js +1 -1
  73. package/dist/esm/enums/Events.js.map +1 -1
  74. package/dist/esm/enums/ImageQualityStatus.js +10 -0
  75. package/dist/esm/enums/ImageQualityStatus.js.map +1 -0
  76. package/dist/esm/enums/index.js +2 -1
  77. package/dist/esm/enums/index.js.map +1 -1
  78. package/dist/esm/index.js +2 -2
  79. package/dist/esm/index.js.map +1 -1
  80. package/dist/esm/loaders/ProgressiveRetrieveImages.js +229 -0
  81. package/dist/esm/loaders/ProgressiveRetrieveImages.js.map +1 -0
  82. package/dist/esm/loaders/configuration/interleavedRetrieve.js +77 -0
  83. package/dist/esm/loaders/configuration/interleavedRetrieve.js.map +1 -0
  84. package/dist/esm/loaders/configuration/sequentialRetrieve.js +12 -0
  85. package/dist/esm/loaders/configuration/sequentialRetrieve.js.map +1 -0
  86. package/dist/esm/loaders/configuration/singleRetrieve.js +11 -0
  87. package/dist/esm/loaders/configuration/singleRetrieve.js.map +1 -0
  88. package/dist/esm/loaders/fillNearbyFrames.js +35 -0
  89. package/dist/esm/loaders/fillNearbyFrames.js.map +1 -0
  90. package/dist/esm/loaders/imageLoader.js +2 -1
  91. package/dist/esm/loaders/imageLoader.js.map +1 -1
  92. package/dist/esm/metaData.js +2 -1
  93. package/dist/esm/metaData.js.map +1 -1
  94. package/dist/esm/types/IRetrieveConfiguration.js +2 -0
  95. package/dist/esm/types/IRetrieveConfiguration.js.map +1 -0
  96. package/dist/esm/types/ImageLoadListener.js +2 -0
  97. package/dist/esm/types/ImageLoadListener.js.map +1 -0
  98. package/dist/esm/utilities/ProgressiveIterator.js +140 -0
  99. package/dist/esm/utilities/ProgressiveIterator.js.map +1 -0
  100. package/dist/esm/utilities/decimate.js +8 -0
  101. package/dist/esm/utilities/decimate.js.map +1 -0
  102. package/dist/esm/utilities/imageRetrieveMetadataProvider.js +25 -0
  103. package/dist/esm/utilities/imageRetrieveMetadataProvider.js.map +1 -0
  104. package/dist/esm/utilities/index.js +4 -1
  105. package/dist/esm/utilities/index.js.map +1 -1
  106. package/dist/{esm → types}/RenderingEngine/BaseVolumeViewport.d.ts +1 -0
  107. package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts.map +1 -0
  108. package/dist/{esm → types}/RenderingEngine/RenderingEngine.d.ts +1 -0
  109. package/dist/types/RenderingEngine/RenderingEngine.d.ts.map +1 -0
  110. package/dist/{esm → types}/RenderingEngine/StackViewport.d.ts +24 -3
  111. package/dist/types/RenderingEngine/StackViewport.d.ts.map +1 -0
  112. package/dist/{esm → types}/RenderingEngine/VideoViewport.d.ts +1 -0
  113. package/dist/types/RenderingEngine/VideoViewport.d.ts.map +1 -0
  114. package/dist/{esm → types}/RenderingEngine/Viewport.d.ts +1 -0
  115. package/dist/types/RenderingEngine/Viewport.d.ts.map +1 -0
  116. package/dist/{esm → types}/RenderingEngine/VolumeViewport.d.ts +1 -0
  117. package/dist/types/RenderingEngine/VolumeViewport.d.ts.map +1 -0
  118. package/dist/{esm → types}/RenderingEngine/VolumeViewport3D.d.ts +1 -0
  119. package/dist/types/RenderingEngine/VolumeViewport3D.d.ts.map +1 -0
  120. package/dist/{esm → types}/RenderingEngine/getRenderingEngine.d.ts +1 -0
  121. package/dist/types/RenderingEngine/getRenderingEngine.d.ts.map +1 -0
  122. package/dist/{esm → types}/RenderingEngine/helpers/addVolumesToViewports.d.ts +1 -0
  123. package/dist/types/RenderingEngine/helpers/addVolumesToViewports.d.ts.map +1 -0
  124. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +1 -0
  125. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts.map +1 -0
  126. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/index.d.ts +1 -0
  127. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/index.d.ts.map +1 -0
  128. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts +1 -0
  129. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts.map +1 -0
  130. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts +1 -0
  131. package/dist/types/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts.map +1 -0
  132. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts +1 -0
  133. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts.map +1 -0
  134. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts +1 -0
  135. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts.map +1 -0
  136. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.d.ts +1 -0
  137. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.d.ts.map +1 -0
  138. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +1 -0
  139. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts.map +1 -0
  140. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts +1 -0
  141. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts.map +1 -0
  142. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts +1 -0
  143. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts.map +1 -0
  144. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts +1 -0
  145. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts.map +1 -0
  146. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts +1 -0
  147. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts.map +1 -0
  148. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts +1 -0
  149. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts.map +1 -0
  150. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts +1 -0
  151. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts.map +1 -0
  152. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts +1 -0
  153. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts.map +1 -0
  154. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts +1 -0
  155. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts.map +1 -0
  156. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts +1 -0
  157. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts.map +1 -0
  158. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.d.ts +1 -0
  159. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.d.ts.map +1 -0
  160. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts +1 -0
  161. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts.map +1 -0
  162. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.d.ts +1 -0
  163. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.d.ts.map +1 -0
  164. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts +1 -0
  165. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts.map +1 -0
  166. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts +1 -0
  167. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts.map +1 -0
  168. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/now.d.ts +1 -0
  169. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/now.d.ts.map +1 -0
  170. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts +1 -0
  171. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts.map +1 -0
  172. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts +1 -0
  173. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts.map +1 -0
  174. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts +1 -0
  175. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts.map +1 -0
  176. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.d.ts +1 -0
  177. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.d.ts.map +1 -0
  178. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -0
  179. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts.map +1 -0
  180. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts +1 -0
  181. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts.map +1 -0
  182. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts +1 -0
  183. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts.map +1 -0
  184. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts +1 -0
  185. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts.map +1 -0
  186. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts +1 -0
  187. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts.map +1 -0
  188. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts +1 -0
  189. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts.map +1 -0
  190. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts +1 -0
  191. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts.map +1 -0
  192. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.d.ts +1 -0
  193. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.d.ts.map +1 -0
  194. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts +1 -0
  195. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts.map +1 -0
  196. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.d.ts +1 -0
  197. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.d.ts.map +1 -0
  198. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.d.ts +1 -0
  199. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.d.ts.map +1 -0
  200. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts +1 -0
  201. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts.map +1 -0
  202. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts +1 -0
  203. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts.map +1 -0
  204. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts +1 -0
  205. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts.map +1 -0
  206. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts +1 -0
  207. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts.map +1 -0
  208. package/dist/{esm → types}/RenderingEngine/helpers/createVolumeActor.d.ts +1 -0
  209. package/dist/types/RenderingEngine/helpers/createVolumeActor.d.ts.map +1 -0
  210. package/dist/{esm → types}/RenderingEngine/helpers/createVolumeMapper.d.ts +1 -0
  211. package/dist/types/RenderingEngine/helpers/createVolumeMapper.d.ts.map +1 -0
  212. package/dist/{esm → types}/RenderingEngine/helpers/getOrCreateCanvas.d.ts +1 -0
  213. package/dist/types/RenderingEngine/helpers/getOrCreateCanvas.d.ts.map +1 -0
  214. package/dist/{esm → types}/RenderingEngine/helpers/index.d.ts +1 -0
  215. package/dist/types/RenderingEngine/helpers/index.d.ts.map +1 -0
  216. package/dist/{esm → types}/RenderingEngine/helpers/isRgbaSourceRgbDest.d.ts +1 -0
  217. package/dist/types/RenderingEngine/helpers/isRgbaSourceRgbDest.d.ts.map +1 -0
  218. package/dist/{esm → types}/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +1 -0
  219. package/dist/types/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts.map +1 -0
  220. package/dist/{esm → types}/RenderingEngine/helpers/setVolumesForViewports.d.ts +1 -0
  221. package/dist/types/RenderingEngine/helpers/setVolumesForViewports.d.ts.map +1 -0
  222. package/dist/{esm → types}/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +1 -0
  223. package/dist/types/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts.map +1 -0
  224. package/dist/{esm → types}/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts +1 -0
  225. package/dist/types/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts.map +1 -0
  226. package/dist/{esm → types}/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +1 -0
  227. package/dist/types/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts.map +1 -0
  228. package/dist/{esm → types}/RenderingEngine/index.d.ts +1 -0
  229. package/dist/types/RenderingEngine/index.d.ts.map +1 -0
  230. package/dist/{esm → types}/RenderingEngine/renderingEngineCache.d.ts +1 -0
  231. package/dist/types/RenderingEngine/renderingEngineCache.d.ts.map +1 -0
  232. package/dist/{esm → types}/RenderingEngine/vtkClasses/index.d.ts +1 -0
  233. package/dist/types/RenderingEngine/vtkClasses/index.d.ts.map +1 -0
  234. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.d.ts +1 -0
  235. package/dist/types/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.d.ts.map +1 -0
  236. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.d.ts +1 -0
  237. package/dist/types/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.d.ts.map +1 -0
  238. package/dist/types/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +141 -0
  239. package/dist/types/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts.map +1 -0
  240. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.d.ts +1 -0
  241. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.d.ts.map +1 -0
  242. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.d.ts +1 -0
  243. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.d.ts.map +1 -0
  244. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts +1 -0
  245. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts.map +1 -0
  246. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts +1 -0
  247. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts.map +1 -0
  248. package/dist/{esm → types}/Settings.d.ts +1 -0
  249. package/dist/types/Settings.d.ts.map +1 -0
  250. package/dist/{esm → types}/cache/cache.d.ts +1 -0
  251. package/dist/types/cache/cache.d.ts.map +1 -0
  252. package/dist/{esm → types}/cache/classes/Contour.d.ts +1 -0
  253. package/dist/types/cache/classes/Contour.d.ts.map +1 -0
  254. package/dist/{esm → types}/cache/classes/ContourSet.d.ts +1 -0
  255. package/dist/types/cache/classes/ContourSet.d.ts.map +1 -0
  256. package/dist/{esm → types}/cache/classes/ImageVolume.d.ts +1 -0
  257. package/dist/types/cache/classes/ImageVolume.d.ts.map +1 -0
  258. package/dist/{esm → types}/cache/classes/Surface.d.ts +1 -0
  259. package/dist/types/cache/classes/Surface.d.ts.map +1 -0
  260. package/dist/{esm → types}/cache/index.d.ts +1 -0
  261. package/dist/types/cache/index.d.ts.map +1 -0
  262. package/dist/{esm → types}/constants/cpuColormaps.d.ts +1 -0
  263. package/dist/types/constants/cpuColormaps.d.ts.map +1 -0
  264. package/dist/{esm → types}/constants/epsilon.d.ts +1 -0
  265. package/dist/types/constants/epsilon.d.ts.map +1 -0
  266. package/dist/{esm → types}/constants/index.d.ts +1 -0
  267. package/dist/types/constants/index.d.ts.map +1 -0
  268. package/dist/{esm → types}/constants/mprCameraValues.d.ts +1 -0
  269. package/dist/types/constants/mprCameraValues.d.ts.map +1 -0
  270. package/dist/{esm → types}/constants/rendering.d.ts +1 -0
  271. package/dist/types/constants/rendering.d.ts.map +1 -0
  272. package/dist/{esm → types}/constants/viewportPresets.d.ts +1 -0
  273. package/dist/types/constants/viewportPresets.d.ts.map +1 -0
  274. package/dist/{esm → types}/enums/BlendModes.d.ts +1 -0
  275. package/dist/types/enums/BlendModes.d.ts.map +1 -0
  276. package/dist/{esm → types}/enums/CalibrationTypes.d.ts +1 -0
  277. package/dist/types/enums/CalibrationTypes.d.ts.map +1 -0
  278. package/dist/{esm → types}/enums/ContourType.d.ts +1 -0
  279. package/dist/types/enums/ContourType.d.ts.map +1 -0
  280. package/dist/{esm → types}/enums/DynamicOperatorType.d.ts +1 -0
  281. package/dist/types/enums/DynamicOperatorType.d.ts.map +1 -0
  282. package/dist/{esm → types}/enums/Events.d.ts +2 -1
  283. package/dist/types/enums/Events.d.ts.map +1 -0
  284. package/dist/{esm → types}/enums/GeometryType.d.ts +1 -0
  285. package/dist/types/enums/GeometryType.d.ts.map +1 -0
  286. package/dist/types/enums/ImageQualityStatus.d.ts +9 -0
  287. package/dist/types/enums/ImageQualityStatus.d.ts.map +1 -0
  288. package/dist/{esm → types}/enums/InterpolationType.d.ts +1 -0
  289. package/dist/types/enums/InterpolationType.d.ts.map +1 -0
  290. package/dist/{esm → types}/enums/OrientationAxis.d.ts +1 -0
  291. package/dist/types/enums/OrientationAxis.d.ts.map +1 -0
  292. package/dist/{esm → types}/enums/RequestType.d.ts +1 -0
  293. package/dist/types/enums/RequestType.d.ts.map +1 -0
  294. package/dist/{esm → types}/enums/SharedArrayBufferModes.d.ts +1 -0
  295. package/dist/types/enums/SharedArrayBufferModes.d.ts.map +1 -0
  296. package/dist/{esm → types}/enums/VOILUTFunctionType.d.ts +1 -0
  297. package/dist/types/enums/VOILUTFunctionType.d.ts.map +1 -0
  298. package/dist/{esm → types}/enums/VideoViewport.d.ts +1 -0
  299. package/dist/types/enums/VideoViewport.d.ts.map +1 -0
  300. package/dist/{esm → types}/enums/ViewportStatus.d.ts +1 -0
  301. package/dist/types/enums/ViewportStatus.d.ts.map +1 -0
  302. package/dist/{esm → types}/enums/ViewportType.d.ts +1 -0
  303. package/dist/types/enums/ViewportType.d.ts.map +1 -0
  304. package/dist/{esm → types}/enums/index.d.ts +3 -1
  305. package/dist/types/enums/index.d.ts.map +1 -0
  306. package/dist/{esm → types}/eventTarget.d.ts +1 -0
  307. package/dist/types/eventTarget.d.ts.map +1 -0
  308. package/dist/{esm → types}/getEnabledElement.d.ts +1 -0
  309. package/dist/types/getEnabledElement.d.ts.map +1 -0
  310. package/dist/{esm → types}/global.d.ts +1 -0
  311. package/dist/types/global.d.ts.map +1 -0
  312. package/dist/{esm → types}/index.d.ts +6 -3
  313. package/dist/types/index.d.ts.map +1 -0
  314. package/dist/{esm → types}/init.d.ts +1 -0
  315. package/dist/types/init.d.ts.map +1 -0
  316. package/dist/types/loaders/ProgressiveRetrieveImages.d.ts +36 -0
  317. package/dist/types/loaders/ProgressiveRetrieveImages.d.ts.map +1 -0
  318. package/dist/types/loaders/configuration/interleavedRetrieve.d.ts +4 -0
  319. package/dist/types/loaders/configuration/interleavedRetrieve.d.ts.map +1 -0
  320. package/dist/types/loaders/configuration/sequentialRetrieve.d.ts +4 -0
  321. package/dist/types/loaders/configuration/sequentialRetrieve.d.ts.map +1 -0
  322. package/dist/types/loaders/configuration/singleRetrieve.d.ts +4 -0
  323. package/dist/types/loaders/configuration/singleRetrieve.d.ts.map +1 -0
  324. package/dist/types/loaders/fillNearbyFrames.d.ts +4 -0
  325. package/dist/types/loaders/fillNearbyFrames.d.ts.map +1 -0
  326. package/dist/{esm → types}/loaders/geometryLoader.d.ts +1 -0
  327. package/dist/types/loaders/geometryLoader.d.ts.map +1 -0
  328. package/dist/{esm → types}/loaders/imageLoader.d.ts +1 -0
  329. package/dist/types/loaders/imageLoader.d.ts.map +1 -0
  330. package/dist/{esm → types}/loaders/utils/contourSet/createContourSet.d.ts +1 -0
  331. package/dist/types/loaders/utils/contourSet/createContourSet.d.ts.map +1 -0
  332. package/dist/{esm → types}/loaders/utils/contourSet/validateContourSet.d.ts +1 -0
  333. package/dist/types/loaders/utils/contourSet/validateContourSet.d.ts.map +1 -0
  334. package/dist/{esm → types}/loaders/utils/surface/createSurface.d.ts +1 -0
  335. package/dist/types/loaders/utils/surface/createSurface.d.ts.map +1 -0
  336. package/dist/{esm → types}/loaders/utils/surface/validateSurface.d.ts +1 -0
  337. package/dist/types/loaders/utils/surface/validateSurface.d.ts.map +1 -0
  338. package/dist/{esm → types}/loaders/volumeLoader.d.ts +1 -0
  339. package/dist/types/loaders/volumeLoader.d.ts.map +1 -0
  340. package/dist/{esm → types}/metaData.d.ts +2 -1
  341. package/dist/types/metaData.d.ts.map +1 -0
  342. package/dist/{esm → types}/requestPool/imageLoadPoolManager.d.ts +1 -0
  343. package/dist/types/requestPool/imageLoadPoolManager.d.ts.map +1 -0
  344. package/dist/{esm → types}/requestPool/imageRetrievalPoolManager.d.ts +1 -0
  345. package/dist/types/requestPool/imageRetrievalPoolManager.d.ts.map +1 -0
  346. package/dist/{esm → types}/requestPool/requestPoolManager.d.ts +1 -0
  347. package/dist/types/requestPool/requestPoolManager.d.ts.map +1 -0
  348. package/dist/{esm → types}/types/ActorSliceRange.d.ts +1 -0
  349. package/dist/types/types/ActorSliceRange.d.ts.map +1 -0
  350. package/dist/{esm → types}/types/AffineMatrix.d.ts +1 -0
  351. package/dist/types/types/AffineMatrix.d.ts.map +1 -0
  352. package/dist/{esm → types}/types/CPUFallbackColormap.d.ts +1 -0
  353. package/dist/types/types/CPUFallbackColormap.d.ts.map +1 -0
  354. package/dist/{esm → types}/types/CPUFallbackColormapData.d.ts +1 -0
  355. package/dist/types/types/CPUFallbackColormapData.d.ts.map +1 -0
  356. package/dist/{esm → types}/types/CPUFallbackColormapsData.d.ts +1 -0
  357. package/dist/types/types/CPUFallbackColormapsData.d.ts.map +1 -0
  358. package/dist/{esm → types}/types/CPUFallbackEnabledElement.d.ts +1 -0
  359. package/dist/types/types/CPUFallbackEnabledElement.d.ts.map +1 -0
  360. package/dist/{esm → types}/types/CPUFallbackLUT.d.ts +1 -0
  361. package/dist/types/types/CPUFallbackLUT.d.ts.map +1 -0
  362. package/dist/{esm → types}/types/CPUFallbackLookupTable.d.ts +1 -0
  363. package/dist/types/types/CPUFallbackLookupTable.d.ts.map +1 -0
  364. package/dist/{esm → types}/types/CPUFallbackRenderingTools.d.ts +1 -0
  365. package/dist/types/types/CPUFallbackRenderingTools.d.ts.map +1 -0
  366. package/dist/{esm → types}/types/CPUFallbackTransform.d.ts +1 -0
  367. package/dist/types/types/CPUFallbackTransform.d.ts.map +1 -0
  368. package/dist/{esm → types}/types/CPUFallbackViewport.d.ts +1 -0
  369. package/dist/types/types/CPUFallbackViewport.d.ts.map +1 -0
  370. package/dist/{esm → types}/types/CPUFallbackViewportDisplayedArea.d.ts +1 -0
  371. package/dist/types/types/CPUFallbackViewportDisplayedArea.d.ts.map +1 -0
  372. package/dist/{esm → types}/types/CPUIImageData.d.ts +2 -1
  373. package/dist/types/types/CPUIImageData.d.ts.map +1 -0
  374. package/dist/{esm → types}/types/Colormap.d.ts +1 -0
  375. package/dist/types/types/Colormap.d.ts.map +1 -0
  376. package/dist/{esm → types}/types/ContourData.d.ts +1 -0
  377. package/dist/types/types/ContourData.d.ts.map +1 -0
  378. package/dist/{esm → types}/types/Cornerstone3DConfig.d.ts +1 -0
  379. package/dist/types/types/Cornerstone3DConfig.d.ts.map +1 -0
  380. package/dist/{esm → types}/types/CustomEventType.d.ts +1 -0
  381. package/dist/types/types/CustomEventType.d.ts.map +1 -0
  382. package/dist/{esm → types}/types/EventTypes.d.ts +11 -11
  383. package/dist/types/types/EventTypes.d.ts.map +1 -0
  384. package/dist/{esm → types}/types/FlipDirection.d.ts +1 -0
  385. package/dist/types/types/FlipDirection.d.ts.map +1 -0
  386. package/dist/{esm → types}/types/IActor.d.ts +1 -0
  387. package/dist/types/types/IActor.d.ts.map +1 -0
  388. package/dist/{esm → types}/types/ICache.d.ts +2 -1
  389. package/dist/types/types/ICache.d.ts.map +1 -0
  390. package/dist/{esm → types}/types/ICachedGeometry.d.ts +1 -0
  391. package/dist/types/types/ICachedGeometry.d.ts.map +1 -0
  392. package/dist/{esm → types}/types/ICachedImage.d.ts +1 -0
  393. package/dist/types/types/ICachedImage.d.ts.map +1 -0
  394. package/dist/{esm → types}/types/ICachedVolume.d.ts +1 -0
  395. package/dist/types/types/ICachedVolume.d.ts.map +1 -0
  396. package/dist/{esm → types}/types/ICamera.d.ts +1 -0
  397. package/dist/types/types/ICamera.d.ts.map +1 -0
  398. package/dist/{esm → types}/types/IContour.d.ts +1 -0
  399. package/dist/types/types/IContour.d.ts.map +1 -0
  400. package/dist/{esm → types}/types/IContourSet.d.ts +1 -0
  401. package/dist/types/types/IContourSet.d.ts.map +1 -0
  402. package/dist/{esm → types}/types/IDynamicImageVolume.d.ts +1 -0
  403. package/dist/types/types/IDynamicImageVolume.d.ts.map +1 -0
  404. package/dist/{esm → types}/types/IEnabledElement.d.ts +1 -0
  405. package/dist/types/types/IEnabledElement.d.ts.map +1 -0
  406. package/dist/{esm → types}/types/IGeometry.d.ts +1 -0
  407. package/dist/types/types/IGeometry.d.ts.map +1 -0
  408. package/dist/{esm → types}/types/IImage.d.ts +7 -4
  409. package/dist/types/types/IImage.d.ts.map +1 -0
  410. package/dist/{esm → types}/types/IImageCalibration.d.ts +1 -0
  411. package/dist/types/types/IImageCalibration.d.ts.map +1 -0
  412. package/dist/{esm → types}/types/IImageData.d.ts +1 -0
  413. package/dist/types/types/IImageData.d.ts.map +1 -0
  414. package/dist/{esm → types}/types/IImageVolume.d.ts +1 -0
  415. package/dist/types/types/IImageVolume.d.ts.map +1 -0
  416. package/dist/{esm → types}/types/ILoadObject.d.ts +1 -0
  417. package/dist/types/types/ILoadObject.d.ts.map +1 -0
  418. package/dist/{esm → types}/types/IRegisterImageLoader.d.ts +1 -0
  419. package/dist/types/types/IRegisterImageLoader.d.ts.map +1 -0
  420. package/dist/{esm → types}/types/IRenderingEngine.d.ts +1 -0
  421. package/dist/types/types/IRenderingEngine.d.ts.map +1 -0
  422. package/dist/types/types/IRetrieveConfiguration.d.ts +39 -0
  423. package/dist/types/types/IRetrieveConfiguration.d.ts.map +1 -0
  424. package/dist/{esm → types}/types/IStackViewport.d.ts +2 -1
  425. package/dist/types/types/IStackViewport.d.ts.map +1 -0
  426. package/dist/{esm → types}/types/IStreamingImageVolume.d.ts +1 -0
  427. package/dist/types/types/IStreamingImageVolume.d.ts.map +1 -0
  428. package/dist/{esm → types}/types/IStreamingVolumeProperties.d.ts +3 -1
  429. package/dist/types/types/IStreamingVolumeProperties.d.ts.map +1 -0
  430. package/dist/{esm → types}/types/IVideoViewport.d.ts +1 -0
  431. package/dist/types/types/IVideoViewport.d.ts.map +1 -0
  432. package/dist/{esm → types}/types/IViewport.d.ts +1 -0
  433. package/dist/types/types/IViewport.d.ts.map +1 -0
  434. package/dist/{esm → types}/types/IViewportId.d.ts +1 -0
  435. package/dist/types/types/IViewportId.d.ts.map +1 -0
  436. package/dist/{esm → types}/types/IVolume.d.ts +1 -0
  437. package/dist/types/types/IVolume.d.ts.map +1 -0
  438. package/dist/{esm → types}/types/IVolumeInput.d.ts +1 -0
  439. package/dist/types/types/IVolumeInput.d.ts.map +1 -0
  440. package/dist/{esm → types}/types/IVolumeViewport.d.ts +1 -0
  441. package/dist/types/types/IVolumeViewport.d.ts.map +1 -0
  442. package/dist/types/types/ImageLoadListener.d.ts +6 -0
  443. package/dist/types/types/ImageLoadListener.d.ts.map +1 -0
  444. package/dist/{esm → types}/types/ImageLoaderFn.d.ts +1 -0
  445. package/dist/types/types/ImageLoaderFn.d.ts.map +1 -0
  446. package/dist/{esm → types}/types/ImagePixelModule.d.ts +1 -0
  447. package/dist/types/types/ImagePixelModule.d.ts.map +1 -0
  448. package/dist/{esm → types}/types/ImagePlaneModule.d.ts +1 -0
  449. package/dist/types/types/ImagePlaneModule.d.ts.map +1 -0
  450. package/dist/{esm → types}/types/ImageSliceData.d.ts +1 -0
  451. package/dist/types/types/ImageSliceData.d.ts.map +1 -0
  452. package/dist/{esm → types}/types/Mat3.d.ts +1 -0
  453. package/dist/types/types/Mat3.d.ts.map +1 -0
  454. package/dist/{esm → types}/types/Metadata.d.ts +1 -0
  455. package/dist/types/types/Metadata.d.ts.map +1 -0
  456. package/dist/{esm → types}/types/OrientationVectors.d.ts +1 -0
  457. package/dist/types/types/OrientationVectors.d.ts.map +1 -0
  458. package/dist/{esm → types}/types/PixelDataTypedArray.d.ts +1 -0
  459. package/dist/types/types/PixelDataTypedArray.d.ts.map +1 -0
  460. package/dist/{esm → types}/types/Plane.d.ts +1 -0
  461. package/dist/types/types/Plane.d.ts.map +1 -0
  462. package/dist/{esm → types}/types/Point2.d.ts +1 -0
  463. package/dist/types/types/Point2.d.ts.map +1 -0
  464. package/dist/{esm → types}/types/Point3.d.ts +1 -0
  465. package/dist/types/types/Point3.d.ts.map +1 -0
  466. package/dist/{esm → types}/types/Point4.d.ts +1 -0
  467. package/dist/types/types/Point4.d.ts.map +1 -0
  468. package/dist/{esm → types}/types/RGB.d.ts +1 -0
  469. package/dist/types/types/RGB.d.ts.map +1 -0
  470. package/dist/{esm → types}/types/ScalingParameters.d.ts +1 -0
  471. package/dist/types/types/ScalingParameters.d.ts.map +1 -0
  472. package/dist/{esm → types}/types/StackViewportProperties.d.ts +1 -0
  473. package/dist/types/types/StackViewportProperties.d.ts.map +1 -0
  474. package/dist/{esm → types}/types/SurfaceData.d.ts +1 -0
  475. package/dist/types/types/SurfaceData.d.ts.map +1 -0
  476. package/dist/{esm → types}/types/TransformMatrix2D.d.ts +1 -0
  477. package/dist/types/types/TransformMatrix2D.d.ts.map +1 -0
  478. package/dist/{esm → types}/types/VideoViewportProperties.d.ts +1 -0
  479. package/dist/types/types/VideoViewportProperties.d.ts.map +1 -0
  480. package/dist/{esm → types}/types/VideoViewportTypes.d.ts +1 -0
  481. package/dist/types/types/VideoViewportTypes.d.ts.map +1 -0
  482. package/dist/{esm → types}/types/ViewportInputOptions.d.ts +1 -0
  483. package/dist/types/types/ViewportInputOptions.d.ts.map +1 -0
  484. package/dist/{esm → types}/types/ViewportPreset.d.ts +1 -0
  485. package/dist/types/types/ViewportPreset.d.ts.map +1 -0
  486. package/dist/{esm → types}/types/ViewportProperties.d.ts +1 -0
  487. package/dist/types/types/ViewportProperties.d.ts.map +1 -0
  488. package/dist/{esm → types}/types/VolumeLoaderFn.d.ts +1 -0
  489. package/dist/types/types/VolumeLoaderFn.d.ts.map +1 -0
  490. package/dist/{esm → types}/types/VolumeViewportProperties.d.ts +1 -0
  491. package/dist/types/types/VolumeViewportProperties.d.ts.map +1 -0
  492. package/dist/{esm → types}/types/displayArea.d.ts +1 -0
  493. package/dist/types/types/displayArea.d.ts.map +1 -0
  494. package/dist/{esm → types}/types/index.d.ts +4 -1
  495. package/dist/types/types/index.d.ts.map +1 -0
  496. package/dist/{esm → types}/types/voi.d.ts +1 -0
  497. package/dist/types/types/voi.d.ts.map +1 -0
  498. package/dist/types/utilities/ProgressiveIterator.d.ts +25 -0
  499. package/dist/types/utilities/ProgressiveIterator.d.ts.map +1 -0
  500. package/dist/{esm → types}/utilities/actorCheck.d.ts +1 -0
  501. package/dist/types/utilities/actorCheck.d.ts.map +1 -0
  502. package/dist/{esm → types}/utilities/applyPreset.d.ts +1 -0
  503. package/dist/types/utilities/applyPreset.d.ts.map +1 -0
  504. package/dist/{esm → types}/utilities/calculateViewportsSpatialRegistration.d.ts +1 -0
  505. package/dist/types/utilities/calculateViewportsSpatialRegistration.d.ts.map +1 -0
  506. package/dist/{esm → types}/utilities/calibratedPixelSpacingMetadataProvider.d.ts +1 -0
  507. package/dist/types/utilities/calibratedPixelSpacingMetadataProvider.d.ts.map +1 -0
  508. package/dist/{esm → types}/utilities/clamp.d.ts +1 -0
  509. package/dist/types/utilities/clamp.d.ts.map +1 -0
  510. package/dist/{esm → types}/utilities/colormap.d.ts +1 -0
  511. package/dist/types/utilities/colormap.d.ts.map +1 -0
  512. package/dist/{esm → types}/utilities/createFloat32SharedArray.d.ts +1 -0
  513. package/dist/types/utilities/createFloat32SharedArray.d.ts.map +1 -0
  514. package/dist/{esm → types}/utilities/createInt16SharedArray.d.ts +1 -0
  515. package/dist/types/utilities/createInt16SharedArray.d.ts.map +1 -0
  516. package/dist/{esm → types}/utilities/createLinearRGBTransferFunction.d.ts +1 -0
  517. package/dist/types/utilities/createLinearRGBTransferFunction.d.ts.map +1 -0
  518. package/dist/{esm → types}/utilities/createSigmoidRGBTransferFunction.d.ts +1 -0
  519. package/dist/types/utilities/createSigmoidRGBTransferFunction.d.ts.map +1 -0
  520. package/dist/{esm → types}/utilities/createUInt16SharedArray.d.ts +1 -0
  521. package/dist/types/utilities/createUInt16SharedArray.d.ts.map +1 -0
  522. package/dist/{esm → types}/utilities/createUint8SharedArray.d.ts +1 -0
  523. package/dist/types/utilities/createUint8SharedArray.d.ts.map +1 -0
  524. package/dist/types/utilities/decimate.d.ts +2 -0
  525. package/dist/types/utilities/decimate.d.ts.map +1 -0
  526. package/dist/{esm → types}/utilities/deepFreeze.d.ts +1 -0
  527. package/dist/types/utilities/deepFreeze.d.ts.map +1 -0
  528. package/dist/{esm → types}/utilities/deepMerge.d.ts +1 -0
  529. package/dist/types/utilities/deepMerge.d.ts.map +1 -0
  530. package/dist/{esm → types}/utilities/eventListener/MultiTargetEventListenerManager.d.ts +1 -0
  531. package/dist/types/utilities/eventListener/MultiTargetEventListenerManager.d.ts.map +1 -0
  532. package/dist/{esm → types}/utilities/eventListener/TargetEventListeners.d.ts +1 -0
  533. package/dist/types/utilities/eventListener/TargetEventListeners.d.ts.map +1 -0
  534. package/dist/{esm → types}/utilities/eventListener/index.d.ts +1 -0
  535. package/dist/types/utilities/eventListener/index.d.ts.map +1 -0
  536. package/dist/{esm → types}/utilities/getClosestImageId.d.ts +1 -0
  537. package/dist/types/utilities/getClosestImageId.d.ts.map +1 -0
  538. package/dist/{esm → types}/utilities/getClosestStackImageIndexForPoint.d.ts +1 -0
  539. package/dist/types/utilities/getClosestStackImageIndexForPoint.d.ts.map +1 -0
  540. package/dist/{esm → types}/utilities/getImageLegacy.d.ts +1 -0
  541. package/dist/types/utilities/getImageLegacy.d.ts.map +1 -0
  542. package/dist/{esm → types}/utilities/getImageSliceDataForVolumeViewport.d.ts +1 -0
  543. package/dist/types/utilities/getImageSliceDataForVolumeViewport.d.ts.map +1 -0
  544. package/dist/{esm → types}/utilities/getMinMax.d.ts +1 -0
  545. package/dist/types/utilities/getMinMax.d.ts.map +1 -0
  546. package/dist/{esm → types}/utilities/getRuntimeId.d.ts +1 -0
  547. package/dist/types/utilities/getRuntimeId.d.ts.map +1 -0
  548. package/dist/{esm → types}/utilities/getScalarDataType.d.ts +1 -0
  549. package/dist/types/utilities/getScalarDataType.d.ts.map +1 -0
  550. package/dist/{esm → types}/utilities/getScalingParameters.d.ts +1 -0
  551. package/dist/types/utilities/getScalingParameters.d.ts.map +1 -0
  552. package/dist/{esm → types}/utilities/getSliceRange.d.ts +1 -0
  553. package/dist/types/utilities/getSliceRange.d.ts.map +1 -0
  554. package/dist/{esm → types}/utilities/getSpacingInNormalDirection.d.ts +1 -0
  555. package/dist/types/utilities/getSpacingInNormalDirection.d.ts.map +1 -0
  556. package/dist/{esm → types}/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -0
  557. package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts.map +1 -0
  558. package/dist/{esm → types}/utilities/getViewportImageCornersInWorld.d.ts +1 -0
  559. package/dist/types/utilities/getViewportImageCornersInWorld.d.ts.map +1 -0
  560. package/dist/{esm → types}/utilities/getViewportModality.d.ts +1 -0
  561. package/dist/types/utilities/getViewportModality.d.ts.map +1 -0
  562. package/dist/{esm → types}/utilities/getViewportsWithImageURI.d.ts +1 -0
  563. package/dist/types/utilities/getViewportsWithImageURI.d.ts.map +1 -0
  564. package/dist/{esm → types}/utilities/getViewportsWithVolumeId.d.ts +1 -0
  565. package/dist/types/utilities/getViewportsWithVolumeId.d.ts.map +1 -0
  566. package/dist/{esm → types}/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +1 -0
  567. package/dist/types/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts.map +1 -0
  568. package/dist/{esm → types}/utilities/getVolumeActorCorners.d.ts +1 -0
  569. package/dist/types/utilities/getVolumeActorCorners.d.ts.map +1 -0
  570. package/dist/{esm → types}/utilities/getVolumeSliceRangeInfo.d.ts +1 -0
  571. package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts.map +1 -0
  572. package/dist/{esm → types}/utilities/getVolumeViewportScrollInfo.d.ts +1 -0
  573. package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts.map +1 -0
  574. package/dist/{esm → types}/utilities/getVolumeViewportsContainingSameVolumes.d.ts +1 -0
  575. package/dist/types/utilities/getVolumeViewportsContainingSameVolumes.d.ts.map +1 -0
  576. package/dist/{esm → types}/utilities/hasNaNValues.d.ts +1 -0
  577. package/dist/types/utilities/hasNaNValues.d.ts.map +1 -0
  578. package/dist/{esm → types}/utilities/imageIdToURI.d.ts +1 -0
  579. package/dist/types/utilities/imageIdToURI.d.ts.map +1 -0
  580. package/dist/types/utilities/imageRetrieveMetadataProvider.d.ts +8 -0
  581. package/dist/types/utilities/imageRetrieveMetadataProvider.d.ts.map +1 -0
  582. package/dist/{esm → types}/utilities/imageToWorldCoords.d.ts +1 -0
  583. package/dist/types/utilities/imageToWorldCoords.d.ts.map +1 -0
  584. package/dist/{esm → types}/utilities/index.d.ts +5 -1
  585. package/dist/types/utilities/index.d.ts.map +1 -0
  586. package/dist/{esm → types}/utilities/indexWithinDimensions.d.ts +1 -0
  587. package/dist/types/utilities/indexWithinDimensions.d.ts.map +1 -0
  588. package/dist/{esm → types}/utilities/invertRgbTransferFunction.d.ts +1 -0
  589. package/dist/types/utilities/invertRgbTransferFunction.d.ts.map +1 -0
  590. package/dist/{esm → types}/utilities/isEqual.d.ts +1 -0
  591. package/dist/types/utilities/isEqual.d.ts.map +1 -0
  592. package/dist/{esm → types}/utilities/isOpposite.d.ts +1 -0
  593. package/dist/types/utilities/isOpposite.d.ts.map +1 -0
  594. package/dist/{esm → types}/utilities/isPTPrescaledWithSUV.d.ts +1 -0
  595. package/dist/types/utilities/isPTPrescaledWithSUV.d.ts.map +1 -0
  596. package/dist/{esm → types}/utilities/isTypedArray.d.ts +1 -0
  597. package/dist/types/utilities/isTypedArray.d.ts.map +1 -0
  598. package/dist/{esm → types}/utilities/loadImageToCanvas.d.ts +1 -0
  599. package/dist/types/utilities/loadImageToCanvas.d.ts.map +1 -0
  600. package/dist/{esm → types}/utilities/planar.d.ts +1 -0
  601. package/dist/types/utilities/planar.d.ts.map +1 -0
  602. package/dist/{esm → types}/utilities/renderToCanvasCPU.d.ts +1 -0
  603. package/dist/types/utilities/renderToCanvasCPU.d.ts.map +1 -0
  604. package/dist/{esm → types}/utilities/renderToCanvasGPU.d.ts +1 -0
  605. package/dist/types/utilities/renderToCanvasGPU.d.ts.map +1 -0
  606. package/dist/{esm → types}/utilities/scaleRgbTransferFunction.d.ts +1 -0
  607. package/dist/types/utilities/scaleRgbTransferFunction.d.ts.map +1 -0
  608. package/dist/{esm → types}/utilities/snapFocalPointToSlice.d.ts +1 -0
  609. package/dist/types/utilities/snapFocalPointToSlice.d.ts.map +1 -0
  610. package/dist/{esm → types}/utilities/spatialRegistrationMetadataProvider.d.ts +1 -0
  611. package/dist/types/utilities/spatialRegistrationMetadataProvider.d.ts.map +1 -0
  612. package/dist/{esm → types}/utilities/transferFunctionUtils.d.ts +1 -0
  613. package/dist/types/utilities/transferFunctionUtils.d.ts.map +1 -0
  614. package/dist/{esm → types}/utilities/transformWorldToIndex.d.ts +1 -0
  615. package/dist/types/utilities/transformWorldToIndex.d.ts.map +1 -0
  616. package/dist/{esm → types}/utilities/triggerEvent.d.ts +1 -0
  617. package/dist/types/utilities/triggerEvent.d.ts.map +1 -0
  618. package/dist/{esm → types}/utilities/uuidv4.d.ts +1 -0
  619. package/dist/types/utilities/uuidv4.d.ts.map +1 -0
  620. package/dist/{esm → types}/utilities/windowLevel.d.ts +1 -0
  621. package/dist/types/utilities/windowLevel.d.ts.map +1 -0
  622. package/dist/{esm → types}/utilities/worldToImageCoords.d.ts +1 -0
  623. package/dist/types/utilities/worldToImageCoords.d.ts.map +1 -0
  624. package/dist/umd/index.js +1 -1
  625. package/dist/umd/index.js.map +1 -1
  626. package/package.json +3 -3
  627. package/src/RenderingEngine/StackViewport.ts +143 -107
  628. package/{dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts → src/RenderingEngine/vtkClasses/vtkSlabCamera.ts} +153 -12
  629. package/src/cache/cache.ts +4 -1
  630. package/src/enums/Events.ts +10 -9
  631. package/src/enums/ImageQualityStatus.ts +37 -0
  632. package/src/enums/index.ts +2 -0
  633. package/src/index.ts +19 -2
  634. package/src/loaders/ProgressiveRetrieveImages.ts +380 -0
  635. package/src/loaders/configuration/interleavedRetrieve.ts +96 -0
  636. package/src/loaders/configuration/sequentialRetrieve.ts +17 -0
  637. package/src/loaders/configuration/singleRetrieve.ts +18 -0
  638. package/src/loaders/fillNearbyFrames.ts +53 -0
  639. package/src/loaders/imageLoader.ts +2 -1
  640. package/src/metaData.ts +4 -1
  641. package/src/types/CPUIImageData.ts +1 -1
  642. package/src/types/EventTypes.ts +12 -25
  643. package/src/types/ICache.ts +2 -1
  644. package/src/types/IImage.ts +7 -4
  645. package/src/types/IRetrieveConfiguration.ts +194 -0
  646. package/src/types/IStackViewport.ts +4 -1
  647. package/src/types/IStreamingVolumeProperties.ts +3 -1
  648. package/src/types/IViewport.ts +1 -0
  649. package/src/types/ImageLoadListener.ts +20 -0
  650. package/src/types/index.ts +11 -0
  651. package/src/utilities/ProgressiveIterator.ts +190 -0
  652. package/src/utilities/decimate.ts +17 -0
  653. package/src/utilities/imageRetrieveMetadataProvider.ts +39 -0
  654. package/src/utilities/index.ts +6 -0
  655. package/src/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +0 -781
  656. package/src/RenderingEngine/vtkClasses/vtkSlabCamera.js +0 -155
@@ -11,6 +11,7 @@ import VOILUTFunctionType from './VOILUTFunctionType';
11
11
  import DynamicOperatorType from './DynamicOperatorType';
12
12
  import CalibrationTypes from './CalibrationTypes';
13
13
  import ViewportStatus from './ViewportStatus';
14
+ import ImageQualityStatus from './ImageQualityStatus';
14
15
  import * as VideoViewport from './VideoViewport';
15
16
 
16
17
  export {
@@ -28,4 +29,5 @@ export {
28
29
  DynamicOperatorType,
29
30
  ViewportStatus,
30
31
  VideoViewport,
32
+ ImageQualityStatus,
31
33
  };
package/src/index.ts CHANGED
@@ -49,7 +49,15 @@ import Settings from './Settings';
49
49
  import * as volumeLoader from './loaders/volumeLoader';
50
50
  import * as imageLoader from './loaders/imageLoader';
51
51
  import * as geometryLoader from './loaders/geometryLoader';
52
- import * as Types from './types';
52
+ import ProgressiveRetrieveImages from './loaders/ProgressiveRetrieveImages';
53
+ import type * as Types from './types';
54
+ import {
55
+ IRetrieveConfiguration,
56
+ IImagesLoader,
57
+ RetrieveOptions,
58
+ RetrieveStage,
59
+ ImageLoadListener,
60
+ } from './types';
53
61
  import * as utilities from './utilities';
54
62
  import { registerImageLoader } from './loaders/imageLoader'; // since it is used by CSWIL right now
55
63
 
@@ -60,7 +68,15 @@ import {
60
68
  addVolumesToViewports,
61
69
  } from './RenderingEngine/helpers';
62
70
 
63
- export type { Types };
71
+ // Add new types here so that they can be imported singly as required.
72
+ export type {
73
+ Types,
74
+ IRetrieveConfiguration,
75
+ RetrieveOptions,
76
+ RetrieveStage,
77
+ ImageLoadListener,
78
+ IImagesLoader,
79
+ };
64
80
 
65
81
  export {
66
82
  // init
@@ -124,4 +140,5 @@ export {
124
140
  resetUseSharedArrayBuffer,
125
141
  // Geometry Loader
126
142
  geometryLoader,
143
+ ProgressiveRetrieveImages,
127
144
  };
@@ -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
 
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 = {