@cornerstonejs/core 1.28.3 → 1.30.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 (693) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.d.ts +24 -3
  2. package/dist/cjs/RenderingEngine/StackViewport.js +108 -90
  3. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/VideoViewport.d.ts +42 -3
  5. package/dist/cjs/RenderingEngine/VideoViewport.js +192 -13
  6. package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -1
  7. package/dist/cjs/RenderingEngine/Viewport.d.ts +1 -0
  8. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  9. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +1 -0
  10. package/dist/cjs/RenderingEngine/VolumeViewport.js +5 -0
  11. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  12. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +134 -775
  13. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js +15 -14
  14. package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  15. package/dist/cjs/cache/cache.js +2 -1
  16. package/dist/cjs/cache/cache.js.map +1 -1
  17. package/dist/cjs/enums/Events.d.ts +1 -1
  18. package/dist/cjs/enums/Events.js +1 -1
  19. package/dist/cjs/enums/Events.js.map +1 -1
  20. package/dist/cjs/enums/ImageQualityStatus.d.ts +8 -0
  21. package/dist/cjs/enums/ImageQualityStatus.js +12 -0
  22. package/dist/cjs/enums/ImageQualityStatus.js.map +1 -0
  23. package/dist/cjs/enums/MetadataModules.d.ts +11 -0
  24. package/dist/cjs/enums/MetadataModules.js +15 -0
  25. package/dist/cjs/enums/MetadataModules.js.map +1 -0
  26. package/dist/cjs/enums/index.d.ts +3 -1
  27. package/dist/cjs/enums/index.js +5 -1
  28. package/dist/cjs/enums/index.js.map +1 -1
  29. package/dist/cjs/index.d.ts +5 -3
  30. package/dist/cjs/index.js +3 -2
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/loaders/ProgressiveRetrieveImages.d.ts +35 -0
  33. package/dist/cjs/loaders/ProgressiveRetrieveImages.js +249 -0
  34. package/dist/cjs/loaders/ProgressiveRetrieveImages.js.map +1 -0
  35. package/dist/cjs/loaders/configuration/interleavedRetrieve.d.ts +3 -0
  36. package/dist/cjs/loaders/configuration/interleavedRetrieve.js +79 -0
  37. package/dist/cjs/loaders/configuration/interleavedRetrieve.js.map +1 -0
  38. package/dist/cjs/loaders/configuration/sequentialRetrieve.d.ts +3 -0
  39. package/dist/cjs/loaders/configuration/sequentialRetrieve.js +14 -0
  40. package/dist/cjs/loaders/configuration/sequentialRetrieve.js.map +1 -0
  41. package/dist/cjs/loaders/configuration/singleRetrieve.d.ts +3 -0
  42. package/dist/cjs/loaders/configuration/singleRetrieve.js +13 -0
  43. package/dist/cjs/loaders/configuration/singleRetrieve.js.map +1 -0
  44. package/dist/cjs/loaders/fillNearbyFrames.d.ts +3 -0
  45. package/dist/cjs/loaders/fillNearbyFrames.js +37 -0
  46. package/dist/cjs/loaders/fillNearbyFrames.js.map +1 -0
  47. package/dist/cjs/loaders/imageLoader.js +2 -1
  48. package/dist/cjs/loaders/imageLoader.js.map +1 -1
  49. package/dist/cjs/metaData.d.ts +1 -1
  50. package/dist/cjs/metaData.js +2 -1
  51. package/dist/cjs/metaData.js.map +1 -1
  52. package/dist/cjs/types/CPUIImageData.d.ts +1 -1
  53. package/dist/cjs/types/EventTypes.d.ts +10 -11
  54. package/dist/cjs/types/ICache.d.ts +1 -1
  55. package/dist/cjs/types/IImage.d.ts +6 -4
  56. package/dist/cjs/types/IRetrieveConfiguration.d.ts +38 -0
  57. package/dist/cjs/types/IRetrieveConfiguration.js +3 -0
  58. package/dist/cjs/types/IRetrieveConfiguration.js.map +1 -0
  59. package/dist/cjs/types/IStackViewport.d.ts +1 -1
  60. package/dist/cjs/types/IStreamingVolumeProperties.d.ts +2 -1
  61. package/dist/cjs/types/IVideoViewport.d.ts +1 -0
  62. package/dist/cjs/types/IViewport.d.ts +1 -0
  63. package/dist/cjs/types/ImageLoadListener.d.ts +5 -0
  64. package/dist/cjs/types/ImageLoadListener.js +3 -0
  65. package/dist/cjs/types/ImageLoadListener.js.map +1 -0
  66. package/dist/cjs/types/VideoViewportProperties.d.ts +1 -1
  67. package/dist/cjs/types/index.d.ts +3 -1
  68. package/dist/cjs/utilities/ProgressiveIterator.d.ts +24 -0
  69. package/dist/cjs/utilities/ProgressiveIterator.js +215 -0
  70. package/dist/cjs/utilities/ProgressiveIterator.js.map +1 -0
  71. package/dist/cjs/utilities/decimate.d.ts +1 -0
  72. package/dist/cjs/utilities/decimate.js +11 -0
  73. package/dist/cjs/utilities/decimate.js.map +1 -0
  74. package/dist/cjs/utilities/imageRetrieveMetadataProvider.d.ts +7 -0
  75. package/dist/cjs/utilities/imageRetrieveMetadataProvider.js +27 -0
  76. package/dist/cjs/utilities/imageRetrieveMetadataProvider.js.map +1 -0
  77. package/dist/cjs/utilities/index.d.ts +5 -1
  78. package/dist/cjs/utilities/index.js +9 -1
  79. package/dist/cjs/utilities/index.js.map +1 -1
  80. package/dist/cjs/utilities/isVideoTransferSyntax.d.ts +2 -0
  81. package/dist/cjs/utilities/isVideoTransferSyntax.js +30 -0
  82. package/dist/cjs/utilities/isVideoTransferSyntax.js.map +1 -0
  83. package/dist/esm/RenderingEngine/StackViewport.js +100 -78
  84. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  85. package/dist/esm/RenderingEngine/VideoViewport.js +170 -14
  86. package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -1
  87. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  88. package/dist/esm/RenderingEngine/VolumeViewport.js +5 -0
  89. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  90. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +12 -11
  91. package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
  92. package/dist/esm/cache/cache.js +2 -1
  93. package/dist/esm/cache/cache.js.map +1 -1
  94. package/dist/esm/enums/Events.js +1 -1
  95. package/dist/esm/enums/Events.js.map +1 -1
  96. package/dist/esm/enums/ImageQualityStatus.js +10 -0
  97. package/dist/esm/enums/ImageQualityStatus.js.map +1 -0
  98. package/dist/esm/enums/MetadataModules.js +13 -0
  99. package/dist/esm/enums/MetadataModules.js.map +1 -0
  100. package/dist/esm/enums/index.js +3 -1
  101. package/dist/esm/enums/index.js.map +1 -1
  102. package/dist/esm/index.js +2 -2
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/loaders/ProgressiveRetrieveImages.js +229 -0
  105. package/dist/esm/loaders/ProgressiveRetrieveImages.js.map +1 -0
  106. package/dist/esm/loaders/configuration/interleavedRetrieve.js +77 -0
  107. package/dist/esm/loaders/configuration/interleavedRetrieve.js.map +1 -0
  108. package/dist/esm/loaders/configuration/sequentialRetrieve.js +12 -0
  109. package/dist/esm/loaders/configuration/sequentialRetrieve.js.map +1 -0
  110. package/dist/esm/loaders/configuration/singleRetrieve.js +11 -0
  111. package/dist/esm/loaders/configuration/singleRetrieve.js.map +1 -0
  112. package/dist/esm/loaders/fillNearbyFrames.js +35 -0
  113. package/dist/esm/loaders/fillNearbyFrames.js.map +1 -0
  114. package/dist/esm/loaders/imageLoader.js +2 -1
  115. package/dist/esm/loaders/imageLoader.js.map +1 -1
  116. package/dist/esm/metaData.js +2 -1
  117. package/dist/esm/metaData.js.map +1 -1
  118. package/dist/esm/types/IRetrieveConfiguration.js +2 -0
  119. package/dist/esm/types/IRetrieveConfiguration.js.map +1 -0
  120. package/dist/esm/types/ImageLoadListener.js +2 -0
  121. package/dist/esm/types/ImageLoadListener.js.map +1 -0
  122. package/dist/esm/utilities/ProgressiveIterator.js +140 -0
  123. package/dist/esm/utilities/ProgressiveIterator.js.map +1 -0
  124. package/dist/esm/utilities/decimate.js +8 -0
  125. package/dist/esm/utilities/decimate.js.map +1 -0
  126. package/dist/esm/utilities/imageRetrieveMetadataProvider.js +25 -0
  127. package/dist/esm/utilities/imageRetrieveMetadataProvider.js.map +1 -0
  128. package/dist/esm/utilities/index.js +5 -1
  129. package/dist/esm/utilities/index.js.map +1 -1
  130. package/dist/esm/utilities/isVideoTransferSyntax.js +26 -0
  131. package/dist/esm/utilities/isVideoTransferSyntax.js.map +1 -0
  132. package/dist/{esm → types}/RenderingEngine/BaseVolumeViewport.d.ts +1 -0
  133. package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts.map +1 -0
  134. package/dist/{esm → types}/RenderingEngine/RenderingEngine.d.ts +1 -0
  135. package/dist/types/RenderingEngine/RenderingEngine.d.ts.map +1 -0
  136. package/dist/{esm → types}/RenderingEngine/StackViewport.d.ts +25 -3
  137. package/dist/types/RenderingEngine/StackViewport.d.ts.map +1 -0
  138. package/dist/{esm → types}/RenderingEngine/VideoViewport.d.ts +43 -3
  139. package/dist/types/RenderingEngine/VideoViewport.d.ts.map +1 -0
  140. package/dist/{esm → types}/RenderingEngine/Viewport.d.ts +2 -0
  141. package/dist/types/RenderingEngine/Viewport.d.ts.map +1 -0
  142. package/dist/{esm → types}/RenderingEngine/VolumeViewport.d.ts +2 -0
  143. package/dist/types/RenderingEngine/VolumeViewport.d.ts.map +1 -0
  144. package/dist/{esm → types}/RenderingEngine/VolumeViewport3D.d.ts +1 -0
  145. package/dist/types/RenderingEngine/VolumeViewport3D.d.ts.map +1 -0
  146. package/dist/{esm → types}/RenderingEngine/getRenderingEngine.d.ts +1 -0
  147. package/dist/types/RenderingEngine/getRenderingEngine.d.ts.map +1 -0
  148. package/dist/{esm → types}/RenderingEngine/helpers/addVolumesToViewports.d.ts +1 -0
  149. package/dist/types/RenderingEngine/helpers/addVolumesToViewports.d.ts.map +1 -0
  150. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +1 -0
  151. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts.map +1 -0
  152. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/index.d.ts +1 -0
  153. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/index.d.ts.map +1 -0
  154. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts +1 -0
  155. package/dist/types/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts.map +1 -0
  156. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts +1 -0
  157. package/dist/types/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts.map +1 -0
  158. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts +1 -0
  159. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts.map +1 -0
  160. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts +1 -0
  161. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts.map +1 -0
  162. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.d.ts +1 -0
  163. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/computeAutoVoi.d.ts.map +1 -0
  164. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +1 -0
  165. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts.map +1 -0
  166. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts +1 -0
  167. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts.map +1 -0
  168. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts +1 -0
  169. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts.map +1 -0
  170. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts +1 -0
  171. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts.map +1 -0
  172. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts +1 -0
  173. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts.map +1 -0
  174. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts +1 -0
  175. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts.map +1 -0
  176. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts +1 -0
  177. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts.map +1 -0
  178. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts +1 -0
  179. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts.map +1 -0
  180. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts +1 -0
  181. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts.map +1 -0
  182. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts +1 -0
  183. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts.map +1 -0
  184. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.d.ts +1 -0
  185. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getModalityLut.d.ts.map +1 -0
  186. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts +1 -0
  187. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts.map +1 -0
  188. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.d.ts +1 -0
  189. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/getVOILut.d.ts.map +1 -0
  190. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts +1 -0
  191. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts.map +1 -0
  192. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts +1 -0
  193. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts.map +1 -0
  194. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/now.d.ts +1 -0
  195. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/now.d.ts.map +1 -0
  196. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts +1 -0
  197. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts.map +1 -0
  198. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts +1 -0
  199. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts.map +1 -0
  200. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts +1 -0
  201. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts.map +1 -0
  202. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.d.ts +1 -0
  203. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.d.ts.map +1 -0
  204. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -0
  205. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts.map +1 -0
  206. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts +1 -0
  207. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts.map +1 -0
  208. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts +1 -0
  209. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts.map +1 -0
  210. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts +1 -0
  211. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts.map +1 -0
  212. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts +1 -0
  213. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts.map +1 -0
  214. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts +1 -0
  215. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts.map +1 -0
  216. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts +1 -0
  217. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts.map +1 -0
  218. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.d.ts +1 -0
  219. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.d.ts.map +1 -0
  220. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts +1 -0
  221. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts.map +1 -0
  222. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.d.ts +1 -0
  223. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.d.ts.map +1 -0
  224. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.d.ts +1 -0
  225. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.d.ts.map +1 -0
  226. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts +1 -0
  227. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts.map +1 -0
  228. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts +1 -0
  229. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts.map +1 -0
  230. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts +1 -0
  231. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts.map +1 -0
  232. package/dist/{esm → types}/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts +1 -0
  233. package/dist/types/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts.map +1 -0
  234. package/dist/{esm → types}/RenderingEngine/helpers/createVolumeActor.d.ts +1 -0
  235. package/dist/types/RenderingEngine/helpers/createVolumeActor.d.ts.map +1 -0
  236. package/dist/{esm → types}/RenderingEngine/helpers/createVolumeMapper.d.ts +1 -0
  237. package/dist/types/RenderingEngine/helpers/createVolumeMapper.d.ts.map +1 -0
  238. package/dist/{esm → types}/RenderingEngine/helpers/getOrCreateCanvas.d.ts +1 -0
  239. package/dist/types/RenderingEngine/helpers/getOrCreateCanvas.d.ts.map +1 -0
  240. package/dist/{esm → types}/RenderingEngine/helpers/index.d.ts +1 -0
  241. package/dist/types/RenderingEngine/helpers/index.d.ts.map +1 -0
  242. package/dist/{esm → types}/RenderingEngine/helpers/isRgbaSourceRgbDest.d.ts +1 -0
  243. package/dist/types/RenderingEngine/helpers/isRgbaSourceRgbDest.d.ts.map +1 -0
  244. package/dist/{esm → types}/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +1 -0
  245. package/dist/types/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts.map +1 -0
  246. package/dist/{esm → types}/RenderingEngine/helpers/setVolumesForViewports.d.ts +1 -0
  247. package/dist/types/RenderingEngine/helpers/setVolumesForViewports.d.ts.map +1 -0
  248. package/dist/{esm → types}/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +1 -0
  249. package/dist/types/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts.map +1 -0
  250. package/dist/{esm → types}/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts +1 -0
  251. package/dist/types/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts.map +1 -0
  252. package/dist/{esm → types}/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +1 -0
  253. package/dist/types/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts.map +1 -0
  254. package/dist/{esm → types}/RenderingEngine/index.d.ts +1 -0
  255. package/dist/types/RenderingEngine/index.d.ts.map +1 -0
  256. package/dist/{esm → types}/RenderingEngine/renderingEngineCache.d.ts +1 -0
  257. package/dist/types/RenderingEngine/renderingEngineCache.d.ts.map +1 -0
  258. package/dist/{esm → types}/RenderingEngine/vtkClasses/index.d.ts +1 -0
  259. package/dist/types/RenderingEngine/vtkClasses/index.d.ts.map +1 -0
  260. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.d.ts +1 -0
  261. package/dist/types/RenderingEngine/vtkClasses/vtkOffscreenMultiRenderWindow.d.ts.map +1 -0
  262. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.d.ts +1 -0
  263. package/dist/types/RenderingEngine/vtkClasses/vtkSharedVolumeMapper.d.ts.map +1 -0
  264. package/dist/types/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +141 -0
  265. package/dist/types/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts.map +1 -0
  266. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.d.ts +1 -0
  267. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLRenderWindow.d.ts.map +1 -0
  268. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.d.ts +1 -0
  269. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.d.ts.map +1 -0
  270. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts +1 -0
  271. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.d.ts.map +1 -0
  272. package/dist/{esm → types}/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts +1 -0
  273. package/dist/types/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.d.ts.map +1 -0
  274. package/dist/{esm → types}/Settings.d.ts +1 -0
  275. package/dist/types/Settings.d.ts.map +1 -0
  276. package/dist/{esm → types}/cache/cache.d.ts +1 -0
  277. package/dist/types/cache/cache.d.ts.map +1 -0
  278. package/dist/{esm → types}/cache/classes/Contour.d.ts +1 -0
  279. package/dist/types/cache/classes/Contour.d.ts.map +1 -0
  280. package/dist/{esm → types}/cache/classes/ContourSet.d.ts +1 -0
  281. package/dist/types/cache/classes/ContourSet.d.ts.map +1 -0
  282. package/dist/{esm → types}/cache/classes/ImageVolume.d.ts +1 -0
  283. package/dist/types/cache/classes/ImageVolume.d.ts.map +1 -0
  284. package/dist/{esm → types}/cache/classes/Surface.d.ts +1 -0
  285. package/dist/types/cache/classes/Surface.d.ts.map +1 -0
  286. package/dist/{esm → types}/cache/index.d.ts +1 -0
  287. package/dist/types/cache/index.d.ts.map +1 -0
  288. package/dist/{esm → types}/constants/cpuColormaps.d.ts +1 -0
  289. package/dist/types/constants/cpuColormaps.d.ts.map +1 -0
  290. package/dist/{esm → types}/constants/epsilon.d.ts +1 -0
  291. package/dist/types/constants/epsilon.d.ts.map +1 -0
  292. package/dist/{esm → types}/constants/index.d.ts +1 -0
  293. package/dist/types/constants/index.d.ts.map +1 -0
  294. package/dist/{esm → types}/constants/mprCameraValues.d.ts +1 -0
  295. package/dist/types/constants/mprCameraValues.d.ts.map +1 -0
  296. package/dist/{esm → types}/constants/rendering.d.ts +1 -0
  297. package/dist/types/constants/rendering.d.ts.map +1 -0
  298. package/dist/{esm → types}/constants/viewportPresets.d.ts +1 -0
  299. package/dist/types/constants/viewportPresets.d.ts.map +1 -0
  300. package/dist/{esm → types}/enums/BlendModes.d.ts +1 -0
  301. package/dist/types/enums/BlendModes.d.ts.map +1 -0
  302. package/dist/{esm → types}/enums/CalibrationTypes.d.ts +1 -0
  303. package/dist/types/enums/CalibrationTypes.d.ts.map +1 -0
  304. package/dist/{esm → types}/enums/ContourType.d.ts +1 -0
  305. package/dist/types/enums/ContourType.d.ts.map +1 -0
  306. package/dist/{esm → types}/enums/DynamicOperatorType.d.ts +1 -0
  307. package/dist/types/enums/DynamicOperatorType.d.ts.map +1 -0
  308. package/dist/{esm → types}/enums/Events.d.ts +2 -1
  309. package/dist/types/enums/Events.d.ts.map +1 -0
  310. package/dist/{esm → types}/enums/GeometryType.d.ts +1 -0
  311. package/dist/types/enums/GeometryType.d.ts.map +1 -0
  312. package/dist/types/enums/ImageQualityStatus.d.ts +9 -0
  313. package/dist/types/enums/ImageQualityStatus.d.ts.map +1 -0
  314. package/dist/{esm → types}/enums/InterpolationType.d.ts +1 -0
  315. package/dist/types/enums/InterpolationType.d.ts.map +1 -0
  316. package/dist/types/enums/MetadataModules.d.ts +12 -0
  317. package/dist/types/enums/MetadataModules.d.ts.map +1 -0
  318. package/dist/{esm → types}/enums/OrientationAxis.d.ts +1 -0
  319. package/dist/types/enums/OrientationAxis.d.ts.map +1 -0
  320. package/dist/{esm → types}/enums/RequestType.d.ts +1 -0
  321. package/dist/types/enums/RequestType.d.ts.map +1 -0
  322. package/dist/{esm → types}/enums/SharedArrayBufferModes.d.ts +1 -0
  323. package/dist/types/enums/SharedArrayBufferModes.d.ts.map +1 -0
  324. package/dist/{esm → types}/enums/VOILUTFunctionType.d.ts +1 -0
  325. package/dist/types/enums/VOILUTFunctionType.d.ts.map +1 -0
  326. package/dist/{esm → types}/enums/VideoViewport.d.ts +1 -0
  327. package/dist/types/enums/VideoViewport.d.ts.map +1 -0
  328. package/dist/{esm → types}/enums/ViewportStatus.d.ts +1 -0
  329. package/dist/types/enums/ViewportStatus.d.ts.map +1 -0
  330. package/dist/{esm → types}/enums/ViewportType.d.ts +1 -0
  331. package/dist/types/enums/ViewportType.d.ts.map +1 -0
  332. package/dist/{esm → types}/enums/index.d.ts +4 -1
  333. package/dist/types/enums/index.d.ts.map +1 -0
  334. package/dist/{esm → types}/eventTarget.d.ts +1 -0
  335. package/dist/types/eventTarget.d.ts.map +1 -0
  336. package/dist/{esm → types}/getEnabledElement.d.ts +1 -0
  337. package/dist/types/getEnabledElement.d.ts.map +1 -0
  338. package/dist/{esm → types}/global.d.ts +1 -0
  339. package/dist/types/global.d.ts.map +1 -0
  340. package/dist/{esm → types}/index.d.ts +6 -3
  341. package/dist/types/index.d.ts.map +1 -0
  342. package/dist/{esm → types}/init.d.ts +1 -0
  343. package/dist/types/init.d.ts.map +1 -0
  344. package/dist/types/loaders/ProgressiveRetrieveImages.d.ts +36 -0
  345. package/dist/types/loaders/ProgressiveRetrieveImages.d.ts.map +1 -0
  346. package/dist/types/loaders/configuration/interleavedRetrieve.d.ts +4 -0
  347. package/dist/types/loaders/configuration/interleavedRetrieve.d.ts.map +1 -0
  348. package/dist/types/loaders/configuration/sequentialRetrieve.d.ts +4 -0
  349. package/dist/types/loaders/configuration/sequentialRetrieve.d.ts.map +1 -0
  350. package/dist/types/loaders/configuration/singleRetrieve.d.ts +4 -0
  351. package/dist/types/loaders/configuration/singleRetrieve.d.ts.map +1 -0
  352. package/dist/types/loaders/fillNearbyFrames.d.ts +4 -0
  353. package/dist/types/loaders/fillNearbyFrames.d.ts.map +1 -0
  354. package/dist/{esm → types}/loaders/geometryLoader.d.ts +1 -0
  355. package/dist/types/loaders/geometryLoader.d.ts.map +1 -0
  356. package/dist/{esm → types}/loaders/imageLoader.d.ts +1 -0
  357. package/dist/types/loaders/imageLoader.d.ts.map +1 -0
  358. package/dist/{esm → types}/loaders/utils/contourSet/createContourSet.d.ts +1 -0
  359. package/dist/types/loaders/utils/contourSet/createContourSet.d.ts.map +1 -0
  360. package/dist/{esm → types}/loaders/utils/contourSet/validateContourSet.d.ts +1 -0
  361. package/dist/types/loaders/utils/contourSet/validateContourSet.d.ts.map +1 -0
  362. package/dist/{esm → types}/loaders/utils/surface/createSurface.d.ts +1 -0
  363. package/dist/types/loaders/utils/surface/createSurface.d.ts.map +1 -0
  364. package/dist/{esm → types}/loaders/utils/surface/validateSurface.d.ts +1 -0
  365. package/dist/types/loaders/utils/surface/validateSurface.d.ts.map +1 -0
  366. package/dist/{esm → types}/loaders/volumeLoader.d.ts +1 -0
  367. package/dist/types/loaders/volumeLoader.d.ts.map +1 -0
  368. package/dist/{esm → types}/metaData.d.ts +2 -1
  369. package/dist/types/metaData.d.ts.map +1 -0
  370. package/dist/{esm → types}/requestPool/imageLoadPoolManager.d.ts +1 -0
  371. package/dist/types/requestPool/imageLoadPoolManager.d.ts.map +1 -0
  372. package/dist/{esm → types}/requestPool/imageRetrievalPoolManager.d.ts +1 -0
  373. package/dist/types/requestPool/imageRetrievalPoolManager.d.ts.map +1 -0
  374. package/dist/{esm → types}/requestPool/requestPoolManager.d.ts +1 -0
  375. package/dist/types/requestPool/requestPoolManager.d.ts.map +1 -0
  376. package/dist/{esm → types}/types/ActorSliceRange.d.ts +1 -0
  377. package/dist/types/types/ActorSliceRange.d.ts.map +1 -0
  378. package/dist/{esm → types}/types/AffineMatrix.d.ts +1 -0
  379. package/dist/types/types/AffineMatrix.d.ts.map +1 -0
  380. package/dist/{esm → types}/types/CPUFallbackColormap.d.ts +1 -0
  381. package/dist/types/types/CPUFallbackColormap.d.ts.map +1 -0
  382. package/dist/{esm → types}/types/CPUFallbackColormapData.d.ts +1 -0
  383. package/dist/types/types/CPUFallbackColormapData.d.ts.map +1 -0
  384. package/dist/{esm → types}/types/CPUFallbackColormapsData.d.ts +1 -0
  385. package/dist/types/types/CPUFallbackColormapsData.d.ts.map +1 -0
  386. package/dist/{esm → types}/types/CPUFallbackEnabledElement.d.ts +1 -0
  387. package/dist/types/types/CPUFallbackEnabledElement.d.ts.map +1 -0
  388. package/dist/{esm → types}/types/CPUFallbackLUT.d.ts +1 -0
  389. package/dist/types/types/CPUFallbackLUT.d.ts.map +1 -0
  390. package/dist/{esm → types}/types/CPUFallbackLookupTable.d.ts +1 -0
  391. package/dist/types/types/CPUFallbackLookupTable.d.ts.map +1 -0
  392. package/dist/{esm → types}/types/CPUFallbackRenderingTools.d.ts +1 -0
  393. package/dist/types/types/CPUFallbackRenderingTools.d.ts.map +1 -0
  394. package/dist/{esm → types}/types/CPUFallbackTransform.d.ts +1 -0
  395. package/dist/types/types/CPUFallbackTransform.d.ts.map +1 -0
  396. package/dist/{esm → types}/types/CPUFallbackViewport.d.ts +1 -0
  397. package/dist/types/types/CPUFallbackViewport.d.ts.map +1 -0
  398. package/dist/{esm → types}/types/CPUFallbackViewportDisplayedArea.d.ts +1 -0
  399. package/dist/types/types/CPUFallbackViewportDisplayedArea.d.ts.map +1 -0
  400. package/dist/{esm → types}/types/CPUIImageData.d.ts +2 -1
  401. package/dist/types/types/CPUIImageData.d.ts.map +1 -0
  402. package/dist/{esm → types}/types/Colormap.d.ts +1 -0
  403. package/dist/types/types/Colormap.d.ts.map +1 -0
  404. package/dist/{esm → types}/types/ContourData.d.ts +1 -0
  405. package/dist/types/types/ContourData.d.ts.map +1 -0
  406. package/dist/{esm → types}/types/Cornerstone3DConfig.d.ts +1 -0
  407. package/dist/types/types/Cornerstone3DConfig.d.ts.map +1 -0
  408. package/dist/{esm → types}/types/CustomEventType.d.ts +1 -0
  409. package/dist/types/types/CustomEventType.d.ts.map +1 -0
  410. package/dist/{esm → types}/types/EventTypes.d.ts +11 -11
  411. package/dist/types/types/EventTypes.d.ts.map +1 -0
  412. package/dist/{esm → types}/types/FlipDirection.d.ts +1 -0
  413. package/dist/types/types/FlipDirection.d.ts.map +1 -0
  414. package/dist/{esm → types}/types/IActor.d.ts +1 -0
  415. package/dist/types/types/IActor.d.ts.map +1 -0
  416. package/dist/{esm → types}/types/ICache.d.ts +2 -1
  417. package/dist/types/types/ICache.d.ts.map +1 -0
  418. package/dist/{esm → types}/types/ICachedGeometry.d.ts +1 -0
  419. package/dist/types/types/ICachedGeometry.d.ts.map +1 -0
  420. package/dist/{esm → types}/types/ICachedImage.d.ts +1 -0
  421. package/dist/types/types/ICachedImage.d.ts.map +1 -0
  422. package/dist/{esm → types}/types/ICachedVolume.d.ts +1 -0
  423. package/dist/types/types/ICachedVolume.d.ts.map +1 -0
  424. package/dist/{esm → types}/types/ICamera.d.ts +1 -0
  425. package/dist/types/types/ICamera.d.ts.map +1 -0
  426. package/dist/{esm → types}/types/IContour.d.ts +1 -0
  427. package/dist/types/types/IContour.d.ts.map +1 -0
  428. package/dist/{esm → types}/types/IContourSet.d.ts +1 -0
  429. package/dist/types/types/IContourSet.d.ts.map +1 -0
  430. package/dist/{esm → types}/types/IDynamicImageVolume.d.ts +1 -0
  431. package/dist/types/types/IDynamicImageVolume.d.ts.map +1 -0
  432. package/dist/{esm → types}/types/IEnabledElement.d.ts +1 -0
  433. package/dist/types/types/IEnabledElement.d.ts.map +1 -0
  434. package/dist/{esm → types}/types/IGeometry.d.ts +1 -0
  435. package/dist/types/types/IGeometry.d.ts.map +1 -0
  436. package/dist/{esm → types}/types/IImage.d.ts +7 -4
  437. package/dist/types/types/IImage.d.ts.map +1 -0
  438. package/dist/{esm → types}/types/IImageCalibration.d.ts +1 -0
  439. package/dist/types/types/IImageCalibration.d.ts.map +1 -0
  440. package/dist/{esm → types}/types/IImageData.d.ts +1 -0
  441. package/dist/types/types/IImageData.d.ts.map +1 -0
  442. package/dist/{esm → types}/types/IImageVolume.d.ts +1 -0
  443. package/dist/types/types/IImageVolume.d.ts.map +1 -0
  444. package/dist/{esm → types}/types/ILoadObject.d.ts +1 -0
  445. package/dist/types/types/ILoadObject.d.ts.map +1 -0
  446. package/dist/{esm → types}/types/IRegisterImageLoader.d.ts +1 -0
  447. package/dist/types/types/IRegisterImageLoader.d.ts.map +1 -0
  448. package/dist/{esm → types}/types/IRenderingEngine.d.ts +1 -0
  449. package/dist/types/types/IRenderingEngine.d.ts.map +1 -0
  450. package/dist/types/types/IRetrieveConfiguration.d.ts +39 -0
  451. package/dist/types/types/IRetrieveConfiguration.d.ts.map +1 -0
  452. package/dist/{esm → types}/types/IStackViewport.d.ts +2 -1
  453. package/dist/types/types/IStackViewport.d.ts.map +1 -0
  454. package/dist/{esm → types}/types/IStreamingImageVolume.d.ts +1 -0
  455. package/dist/types/types/IStreamingImageVolume.d.ts.map +1 -0
  456. package/dist/{esm → types}/types/IStreamingVolumeProperties.d.ts +3 -1
  457. package/dist/types/types/IStreamingVolumeProperties.d.ts.map +1 -0
  458. package/dist/{esm → types}/types/IVideoViewport.d.ts +2 -0
  459. package/dist/types/types/IVideoViewport.d.ts.map +1 -0
  460. package/dist/{esm → types}/types/IViewport.d.ts +2 -0
  461. package/dist/types/types/IViewport.d.ts.map +1 -0
  462. package/dist/{esm → types}/types/IViewportId.d.ts +1 -0
  463. package/dist/types/types/IViewportId.d.ts.map +1 -0
  464. package/dist/{esm → types}/types/IVolume.d.ts +1 -0
  465. package/dist/types/types/IVolume.d.ts.map +1 -0
  466. package/dist/{esm → types}/types/IVolumeInput.d.ts +1 -0
  467. package/dist/types/types/IVolumeInput.d.ts.map +1 -0
  468. package/dist/{esm → types}/types/IVolumeViewport.d.ts +1 -0
  469. package/dist/types/types/IVolumeViewport.d.ts.map +1 -0
  470. package/dist/types/types/ImageLoadListener.d.ts +6 -0
  471. package/dist/types/types/ImageLoadListener.d.ts.map +1 -0
  472. package/dist/{esm → types}/types/ImageLoaderFn.d.ts +1 -0
  473. package/dist/types/types/ImageLoaderFn.d.ts.map +1 -0
  474. package/dist/{esm → types}/types/ImagePixelModule.d.ts +1 -0
  475. package/dist/types/types/ImagePixelModule.d.ts.map +1 -0
  476. package/dist/{esm → types}/types/ImagePlaneModule.d.ts +1 -0
  477. package/dist/types/types/ImagePlaneModule.d.ts.map +1 -0
  478. package/dist/{esm → types}/types/ImageSliceData.d.ts +1 -0
  479. package/dist/types/types/ImageSliceData.d.ts.map +1 -0
  480. package/dist/{esm → types}/types/Mat3.d.ts +1 -0
  481. package/dist/types/types/Mat3.d.ts.map +1 -0
  482. package/dist/{esm → types}/types/Metadata.d.ts +1 -0
  483. package/dist/types/types/Metadata.d.ts.map +1 -0
  484. package/dist/{esm → types}/types/OrientationVectors.d.ts +1 -0
  485. package/dist/types/types/OrientationVectors.d.ts.map +1 -0
  486. package/dist/{esm → types}/types/PixelDataTypedArray.d.ts +1 -0
  487. package/dist/types/types/PixelDataTypedArray.d.ts.map +1 -0
  488. package/dist/{esm → types}/types/Plane.d.ts +1 -0
  489. package/dist/types/types/Plane.d.ts.map +1 -0
  490. package/dist/{esm → types}/types/Point2.d.ts +1 -0
  491. package/dist/types/types/Point2.d.ts.map +1 -0
  492. package/dist/{esm → types}/types/Point3.d.ts +1 -0
  493. package/dist/types/types/Point3.d.ts.map +1 -0
  494. package/dist/{esm → types}/types/Point4.d.ts +1 -0
  495. package/dist/types/types/Point4.d.ts.map +1 -0
  496. package/dist/{esm → types}/types/RGB.d.ts +1 -0
  497. package/dist/types/types/RGB.d.ts.map +1 -0
  498. package/dist/{esm → types}/types/ScalingParameters.d.ts +1 -0
  499. package/dist/types/types/ScalingParameters.d.ts.map +1 -0
  500. package/dist/{esm → types}/types/StackViewportProperties.d.ts +1 -0
  501. package/dist/types/types/StackViewportProperties.d.ts.map +1 -0
  502. package/dist/{esm → types}/types/SurfaceData.d.ts +1 -0
  503. package/dist/types/types/SurfaceData.d.ts.map +1 -0
  504. package/dist/{esm → types}/types/TransformMatrix2D.d.ts +1 -0
  505. package/dist/types/types/TransformMatrix2D.d.ts.map +1 -0
  506. package/dist/{esm → types}/types/VideoViewportProperties.d.ts +2 -1
  507. package/dist/types/types/VideoViewportProperties.d.ts.map +1 -0
  508. package/dist/{esm → types}/types/VideoViewportTypes.d.ts +1 -0
  509. package/dist/types/types/VideoViewportTypes.d.ts.map +1 -0
  510. package/dist/{esm → types}/types/ViewportInputOptions.d.ts +1 -0
  511. package/dist/types/types/ViewportInputOptions.d.ts.map +1 -0
  512. package/dist/{esm → types}/types/ViewportPreset.d.ts +1 -0
  513. package/dist/types/types/ViewportPreset.d.ts.map +1 -0
  514. package/dist/{esm → types}/types/ViewportProperties.d.ts +1 -0
  515. package/dist/types/types/ViewportProperties.d.ts.map +1 -0
  516. package/dist/{esm → types}/types/VolumeLoaderFn.d.ts +1 -0
  517. package/dist/types/types/VolumeLoaderFn.d.ts.map +1 -0
  518. package/dist/{esm → types}/types/VolumeViewportProperties.d.ts +1 -0
  519. package/dist/types/types/VolumeViewportProperties.d.ts.map +1 -0
  520. package/dist/{esm → types}/types/displayArea.d.ts +1 -0
  521. package/dist/types/types/displayArea.d.ts.map +1 -0
  522. package/dist/{esm → types}/types/index.d.ts +4 -1
  523. package/dist/types/types/index.d.ts.map +1 -0
  524. package/dist/{esm → types}/types/voi.d.ts +1 -0
  525. package/dist/types/types/voi.d.ts.map +1 -0
  526. package/dist/types/utilities/ProgressiveIterator.d.ts +25 -0
  527. package/dist/types/utilities/ProgressiveIterator.d.ts.map +1 -0
  528. package/dist/{esm → types}/utilities/actorCheck.d.ts +1 -0
  529. package/dist/types/utilities/actorCheck.d.ts.map +1 -0
  530. package/dist/{esm → types}/utilities/applyPreset.d.ts +1 -0
  531. package/dist/types/utilities/applyPreset.d.ts.map +1 -0
  532. package/dist/{esm → types}/utilities/calculateViewportsSpatialRegistration.d.ts +1 -0
  533. package/dist/types/utilities/calculateViewportsSpatialRegistration.d.ts.map +1 -0
  534. package/dist/{esm → types}/utilities/calibratedPixelSpacingMetadataProvider.d.ts +1 -0
  535. package/dist/types/utilities/calibratedPixelSpacingMetadataProvider.d.ts.map +1 -0
  536. package/dist/{esm → types}/utilities/clamp.d.ts +1 -0
  537. package/dist/types/utilities/clamp.d.ts.map +1 -0
  538. package/dist/{esm → types}/utilities/colormap.d.ts +1 -0
  539. package/dist/types/utilities/colormap.d.ts.map +1 -0
  540. package/dist/{esm → types}/utilities/createFloat32SharedArray.d.ts +1 -0
  541. package/dist/types/utilities/createFloat32SharedArray.d.ts.map +1 -0
  542. package/dist/{esm → types}/utilities/createInt16SharedArray.d.ts +1 -0
  543. package/dist/types/utilities/createInt16SharedArray.d.ts.map +1 -0
  544. package/dist/{esm → types}/utilities/createLinearRGBTransferFunction.d.ts +1 -0
  545. package/dist/types/utilities/createLinearRGBTransferFunction.d.ts.map +1 -0
  546. package/dist/{esm → types}/utilities/createSigmoidRGBTransferFunction.d.ts +1 -0
  547. package/dist/types/utilities/createSigmoidRGBTransferFunction.d.ts.map +1 -0
  548. package/dist/{esm → types}/utilities/createUInt16SharedArray.d.ts +1 -0
  549. package/dist/types/utilities/createUInt16SharedArray.d.ts.map +1 -0
  550. package/dist/{esm → types}/utilities/createUint8SharedArray.d.ts +1 -0
  551. package/dist/types/utilities/createUint8SharedArray.d.ts.map +1 -0
  552. package/dist/types/utilities/decimate.d.ts +2 -0
  553. package/dist/types/utilities/decimate.d.ts.map +1 -0
  554. package/dist/{esm → types}/utilities/deepFreeze.d.ts +1 -0
  555. package/dist/types/utilities/deepFreeze.d.ts.map +1 -0
  556. package/dist/{esm → types}/utilities/deepMerge.d.ts +1 -0
  557. package/dist/types/utilities/deepMerge.d.ts.map +1 -0
  558. package/dist/{esm → types}/utilities/eventListener/MultiTargetEventListenerManager.d.ts +1 -0
  559. package/dist/types/utilities/eventListener/MultiTargetEventListenerManager.d.ts.map +1 -0
  560. package/dist/{esm → types}/utilities/eventListener/TargetEventListeners.d.ts +1 -0
  561. package/dist/types/utilities/eventListener/TargetEventListeners.d.ts.map +1 -0
  562. package/dist/{esm → types}/utilities/eventListener/index.d.ts +1 -0
  563. package/dist/types/utilities/eventListener/index.d.ts.map +1 -0
  564. package/dist/{esm → types}/utilities/getClosestImageId.d.ts +1 -0
  565. package/dist/types/utilities/getClosestImageId.d.ts.map +1 -0
  566. package/dist/{esm → types}/utilities/getClosestStackImageIndexForPoint.d.ts +1 -0
  567. package/dist/types/utilities/getClosestStackImageIndexForPoint.d.ts.map +1 -0
  568. package/dist/{esm → types}/utilities/getImageLegacy.d.ts +1 -0
  569. package/dist/types/utilities/getImageLegacy.d.ts.map +1 -0
  570. package/dist/{esm → types}/utilities/getImageSliceDataForVolumeViewport.d.ts +1 -0
  571. package/dist/types/utilities/getImageSliceDataForVolumeViewport.d.ts.map +1 -0
  572. package/dist/{esm → types}/utilities/getMinMax.d.ts +1 -0
  573. package/dist/types/utilities/getMinMax.d.ts.map +1 -0
  574. package/dist/{esm → types}/utilities/getRuntimeId.d.ts +1 -0
  575. package/dist/types/utilities/getRuntimeId.d.ts.map +1 -0
  576. package/dist/{esm → types}/utilities/getScalarDataType.d.ts +1 -0
  577. package/dist/types/utilities/getScalarDataType.d.ts.map +1 -0
  578. package/dist/{esm → types}/utilities/getScalingParameters.d.ts +1 -0
  579. package/dist/types/utilities/getScalingParameters.d.ts.map +1 -0
  580. package/dist/{esm → types}/utilities/getSliceRange.d.ts +1 -0
  581. package/dist/types/utilities/getSliceRange.d.ts.map +1 -0
  582. package/dist/{esm → types}/utilities/getSpacingInNormalDirection.d.ts +1 -0
  583. package/dist/types/utilities/getSpacingInNormalDirection.d.ts.map +1 -0
  584. package/dist/{esm → types}/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -0
  585. package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts.map +1 -0
  586. package/dist/{esm → types}/utilities/getViewportImageCornersInWorld.d.ts +1 -0
  587. package/dist/types/utilities/getViewportImageCornersInWorld.d.ts.map +1 -0
  588. package/dist/{esm → types}/utilities/getViewportModality.d.ts +1 -0
  589. package/dist/types/utilities/getViewportModality.d.ts.map +1 -0
  590. package/dist/{esm → types}/utilities/getViewportsWithImageURI.d.ts +1 -0
  591. package/dist/types/utilities/getViewportsWithImageURI.d.ts.map +1 -0
  592. package/dist/{esm → types}/utilities/getViewportsWithVolumeId.d.ts +1 -0
  593. package/dist/types/utilities/getViewportsWithVolumeId.d.ts.map +1 -0
  594. package/dist/{esm → types}/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +1 -0
  595. package/dist/types/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts.map +1 -0
  596. package/dist/{esm → types}/utilities/getVolumeActorCorners.d.ts +1 -0
  597. package/dist/types/utilities/getVolumeActorCorners.d.ts.map +1 -0
  598. package/dist/{esm → types}/utilities/getVolumeSliceRangeInfo.d.ts +1 -0
  599. package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts.map +1 -0
  600. package/dist/{esm → types}/utilities/getVolumeViewportScrollInfo.d.ts +1 -0
  601. package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts.map +1 -0
  602. package/dist/{esm → types}/utilities/getVolumeViewportsContainingSameVolumes.d.ts +1 -0
  603. package/dist/types/utilities/getVolumeViewportsContainingSameVolumes.d.ts.map +1 -0
  604. package/dist/{esm → types}/utilities/hasNaNValues.d.ts +1 -0
  605. package/dist/types/utilities/hasNaNValues.d.ts.map +1 -0
  606. package/dist/{esm → types}/utilities/imageIdToURI.d.ts +1 -0
  607. package/dist/types/utilities/imageIdToURI.d.ts.map +1 -0
  608. package/dist/types/utilities/imageRetrieveMetadataProvider.d.ts +8 -0
  609. package/dist/types/utilities/imageRetrieveMetadataProvider.d.ts.map +1 -0
  610. package/dist/{esm → types}/utilities/imageToWorldCoords.d.ts +1 -0
  611. package/dist/types/utilities/imageToWorldCoords.d.ts.map +1 -0
  612. package/dist/{esm → types}/utilities/index.d.ts +6 -1
  613. package/dist/types/utilities/index.d.ts.map +1 -0
  614. package/dist/{esm → types}/utilities/indexWithinDimensions.d.ts +1 -0
  615. package/dist/types/utilities/indexWithinDimensions.d.ts.map +1 -0
  616. package/dist/{esm → types}/utilities/invertRgbTransferFunction.d.ts +1 -0
  617. package/dist/types/utilities/invertRgbTransferFunction.d.ts.map +1 -0
  618. package/dist/{esm → types}/utilities/isEqual.d.ts +1 -0
  619. package/dist/types/utilities/isEqual.d.ts.map +1 -0
  620. package/dist/{esm → types}/utilities/isOpposite.d.ts +1 -0
  621. package/dist/types/utilities/isOpposite.d.ts.map +1 -0
  622. package/dist/{esm → types}/utilities/isPTPrescaledWithSUV.d.ts +1 -0
  623. package/dist/types/utilities/isPTPrescaledWithSUV.d.ts.map +1 -0
  624. package/dist/{esm → types}/utilities/isTypedArray.d.ts +1 -0
  625. package/dist/types/utilities/isTypedArray.d.ts.map +1 -0
  626. package/dist/types/utilities/isVideoTransferSyntax.d.ts +3 -0
  627. package/dist/types/utilities/isVideoTransferSyntax.d.ts.map +1 -0
  628. package/dist/{esm → types}/utilities/loadImageToCanvas.d.ts +1 -0
  629. package/dist/types/utilities/loadImageToCanvas.d.ts.map +1 -0
  630. package/dist/{esm → types}/utilities/planar.d.ts +1 -0
  631. package/dist/types/utilities/planar.d.ts.map +1 -0
  632. package/dist/{esm → types}/utilities/renderToCanvasCPU.d.ts +1 -0
  633. package/dist/types/utilities/renderToCanvasCPU.d.ts.map +1 -0
  634. package/dist/{esm → types}/utilities/renderToCanvasGPU.d.ts +1 -0
  635. package/dist/types/utilities/renderToCanvasGPU.d.ts.map +1 -0
  636. package/dist/{esm → types}/utilities/scaleRgbTransferFunction.d.ts +1 -0
  637. package/dist/types/utilities/scaleRgbTransferFunction.d.ts.map +1 -0
  638. package/dist/{esm → types}/utilities/snapFocalPointToSlice.d.ts +1 -0
  639. package/dist/types/utilities/snapFocalPointToSlice.d.ts.map +1 -0
  640. package/dist/{esm → types}/utilities/spatialRegistrationMetadataProvider.d.ts +1 -0
  641. package/dist/types/utilities/spatialRegistrationMetadataProvider.d.ts.map +1 -0
  642. package/dist/{esm → types}/utilities/transferFunctionUtils.d.ts +1 -0
  643. package/dist/types/utilities/transferFunctionUtils.d.ts.map +1 -0
  644. package/dist/{esm → types}/utilities/transformWorldToIndex.d.ts +1 -0
  645. package/dist/types/utilities/transformWorldToIndex.d.ts.map +1 -0
  646. package/dist/{esm → types}/utilities/triggerEvent.d.ts +1 -0
  647. package/dist/types/utilities/triggerEvent.d.ts.map +1 -0
  648. package/dist/{esm → types}/utilities/uuidv4.d.ts +1 -0
  649. package/dist/types/utilities/uuidv4.d.ts.map +1 -0
  650. package/dist/{esm → types}/utilities/windowLevel.d.ts +1 -0
  651. package/dist/types/utilities/windowLevel.d.ts.map +1 -0
  652. package/dist/{esm → types}/utilities/worldToImageCoords.d.ts +1 -0
  653. package/dist/types/utilities/worldToImageCoords.d.ts.map +1 -0
  654. package/dist/umd/index.js +1 -1
  655. package/dist/umd/index.js.map +1 -1
  656. package/package.json +3 -3
  657. package/src/RenderingEngine/StackViewport.ts +148 -107
  658. package/src/RenderingEngine/VideoViewport.ts +255 -16
  659. package/src/RenderingEngine/Viewport.ts +1 -0
  660. package/src/RenderingEngine/VolumeViewport.ts +7 -0
  661. package/{dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts → src/RenderingEngine/vtkClasses/vtkSlabCamera.ts} +153 -12
  662. package/src/cache/cache.ts +4 -1
  663. package/src/enums/Events.ts +10 -9
  664. package/src/enums/ImageQualityStatus.ts +37 -0
  665. package/src/enums/MetadataModules.ts +20 -0
  666. package/src/enums/index.ts +4 -0
  667. package/src/index.ts +19 -2
  668. package/src/loaders/ProgressiveRetrieveImages.ts +380 -0
  669. package/src/loaders/configuration/interleavedRetrieve.ts +96 -0
  670. package/src/loaders/configuration/sequentialRetrieve.ts +17 -0
  671. package/src/loaders/configuration/singleRetrieve.ts +18 -0
  672. package/src/loaders/fillNearbyFrames.ts +53 -0
  673. package/src/loaders/imageLoader.ts +2 -1
  674. package/src/metaData.ts +4 -1
  675. package/src/types/CPUIImageData.ts +1 -1
  676. package/src/types/EventTypes.ts +12 -25
  677. package/src/types/ICache.ts +2 -1
  678. package/src/types/IImage.ts +7 -4
  679. package/src/types/IRetrieveConfiguration.ts +194 -0
  680. package/src/types/IStackViewport.ts +4 -1
  681. package/src/types/IStreamingVolumeProperties.ts +3 -1
  682. package/src/types/IVideoViewport.ts +7 -0
  683. package/src/types/IViewport.ts +3 -0
  684. package/src/types/ImageLoadListener.ts +20 -0
  685. package/src/types/VideoViewportProperties.ts +1 -3
  686. package/src/types/index.ts +11 -0
  687. package/src/utilities/ProgressiveIterator.ts +190 -0
  688. package/src/utilities/decimate.ts +17 -0
  689. package/src/utilities/imageRetrieveMetadataProvider.ts +39 -0
  690. package/src/utilities/index.ts +8 -0
  691. package/src/utilities/isVideoTransferSyntax.ts +26 -0
  692. package/src/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +0 -781
  693. package/src/RenderingEngine/vtkClasses/vtkSlabCamera.js +0 -155
@@ -1,4 +1,9 @@
1
- import { Events as EVENTS, VideoViewport as VideoViewportEnum } from '../enums';
1
+ import { vec3 } from 'gl-matrix';
2
+ import {
3
+ Events as EVENTS,
4
+ VideoViewport as VideoViewportEnum,
5
+ MetadataModules,
6
+ } from '../enums';
2
7
  import {
3
8
  IVideoViewport,
4
9
  VideoViewportProperties,
@@ -7,7 +12,9 @@ import {
7
12
  ICamera,
8
13
  InternalVideoCamera,
9
14
  VideoViewportInput,
15
+ VOIRange,
10
16
  } from '../types';
17
+ import * as metaData from '../metaData';
11
18
  import { Transform } from './helpers/cpuFallback/rendering/transform';
12
19
  import { triggerEvent } from '../utilities';
13
20
  import Viewport from './Viewport';
@@ -18,7 +25,9 @@ import { getOrCreateCanvas } from './helpers';
18
25
  * looking into an internal scene, and an associated target output `canvas`.
19
26
  */
20
27
  class VideoViewport extends Viewport implements IVideoViewport {
28
+ public modality;
21
29
  // Viewport Data
30
+ protected imageId: string;
22
31
  readonly uid;
23
32
  readonly renderingEngineId: string;
24
33
  readonly canvasContext: CanvasRenderingContext2D;
@@ -30,12 +39,43 @@ class VideoViewport extends Viewport implements IVideoViewport {
30
39
  private mute = true;
31
40
  private isPlaying = false;
32
41
  private scrollSpeed = 1;
33
- private fps = 30; // TODO We need to find a good solution for this.
42
+ private playbackRate = 1;
43
+
44
+ protected metadata;
45
+
46
+ /**
47
+ * The fps, frames per second is used to calculate time/frame mapping values.
48
+ * It is provided by the CINE Module in the metadata, defaulting to 30 if not
49
+ * provided.
50
+ */
51
+ private fps = 30;
52
+
34
53
  private videoCamera: InternalVideoCamera = {
35
54
  panWorld: [0, 0],
36
55
  parallelScale: 1,
37
56
  };
38
57
 
58
+ /**
59
+ * feFilter is an inline string value for the CSS filter on the video
60
+ * CSS filters can reference SVG filters, so for the typical use case here
61
+ * the CSS filter is actually an link link to a SVG filter.
62
+ */
63
+ private feFilter: string;
64
+
65
+ /**
66
+ * An average white point value, used to color balance the image so that
67
+ * the given white is mapped to [255,255,255] via multiplication per channel.
68
+ */
69
+ private averageWhite: [number, number, number];
70
+
71
+ /**
72
+ * The VOI Range is used to apply contrast/brightness adjustments to the image.
73
+ */
74
+ private voiRange: VOIRange = {
75
+ lower: 0,
76
+ upper: 255,
77
+ };
78
+
39
79
  constructor(props: VideoViewportInput) {
40
80
  super({
41
81
  ...props,
@@ -82,6 +122,86 @@ class VideoViewport extends Viewport implements IVideoViewport {
82
122
  this.videoElement.remove();
83
123
  }
84
124
 
125
+ private _getImageDataMetadata() {
126
+ const imagePlaneModule = metaData.get(
127
+ MetadataModules.IMAGE_PLANE,
128
+ this.imageId
129
+ );
130
+
131
+ let rowCosines = <Point3>imagePlaneModule.rowCosines;
132
+ let columnCosines = <Point3>imagePlaneModule.columnCosines;
133
+
134
+ // if null or undefined
135
+ if (rowCosines == null || columnCosines == null) {
136
+ rowCosines = <Point3>[1, 0, 0];
137
+ columnCosines = <Point3>[0, 1, 0];
138
+ }
139
+
140
+ const rowCosineVec = vec3.fromValues(
141
+ rowCosines[0],
142
+ rowCosines[1],
143
+ rowCosines[2]
144
+ );
145
+ const colCosineVec = vec3.fromValues(
146
+ columnCosines[0],
147
+ columnCosines[1],
148
+ columnCosines[2]
149
+ );
150
+ const scanAxisNormal = vec3.create();
151
+ vec3.cross(scanAxisNormal, rowCosineVec, colCosineVec);
152
+
153
+ let origin = imagePlaneModule.imagePositionPatient;
154
+ // if null or undefined
155
+ if (origin == null) {
156
+ origin = [0, 0, 0];
157
+ }
158
+
159
+ const xSpacing = imagePlaneModule.columnPixelSpacing;
160
+ const ySpacing = imagePlaneModule.rowPixelSpacing;
161
+ const xVoxels = imagePlaneModule.columns;
162
+ const yVoxels = imagePlaneModule.rows;
163
+
164
+ const zSpacing = 1;
165
+ const zVoxels = 1;
166
+
167
+ return {
168
+ bitsAllocated: 8,
169
+ numComps: 3,
170
+ origin,
171
+ direction: [...rowCosineVec, ...colCosineVec, ...scanAxisNormal],
172
+ dimensions: [xVoxels, yVoxels, zVoxels],
173
+ spacing: [xSpacing, ySpacing, zSpacing],
174
+ numVoxels: xVoxels * yVoxels * zVoxels,
175
+ imagePlaneModule,
176
+ };
177
+ }
178
+
179
+ /**
180
+ * Sets the video image id to show and hte frame number.
181
+ * Requirements are to have the imageUrlModule in the metadata
182
+ * with the rendered endpoint being the raw video in video/mp4 format.
183
+ */
184
+ public setVideo(
185
+ imageIds: string | string[],
186
+ frameNumber?: number
187
+ ): Promise<unknown> {
188
+ this.imageId = Array.isArray(imageIds) ? imageIds[0] : imageIds;
189
+ const { imageId } = this;
190
+ const { rendered } = metaData.get(MetadataModules.IMAGE_URL, imageId);
191
+ const generalSeries = metaData.get(MetadataModules.GENERAL_SERIES, imageId);
192
+ this.modality = generalSeries?.Modality;
193
+ this.metadata = this._getImageDataMetadata();
194
+
195
+ return this.setVideoURL(rendered).then(() => {
196
+ const { cineRate = 30 } = metaData.get(MetadataModules.CINE, imageId);
197
+ this.fps = cineRate;
198
+ if (frameNumber !== undefined) {
199
+ this.pause();
200
+ this.setFrame(frameNumber);
201
+ }
202
+ });
203
+ }
204
+
85
205
  public async setVideoURL(videoURL: string) {
86
206
  return new Promise((resolve) => {
87
207
  this.videoElement.src = videoURL;
@@ -126,10 +246,8 @@ class VideoViewport extends Viewport implements IVideoViewport {
126
246
  }
127
247
 
128
248
  public async pause() {
129
- if (this.isPlaying) {
130
- await this.videoElement.pause();
131
- this.isPlaying = false;
132
- }
249
+ await this.videoElement.pause();
250
+ this.isPlaying = false;
133
251
  }
134
252
 
135
253
  public async scroll(delta = 1) {
@@ -162,8 +280,6 @@ class VideoViewport extends Viewport implements IVideoViewport {
162
280
  if (videoElement.paused) {
163
281
  // Need to wait for seek update
164
282
  const seekEventListener = (evt) => {
165
- console.log('seeked');
166
-
167
283
  renderFrame();
168
284
 
169
285
  videoElement.removeEventListener('seeked', seekEventListener);
@@ -214,21 +330,30 @@ class VideoViewport extends Viewport implements IVideoViewport {
214
330
  this.setTime((frame - 1) / this.fps);
215
331
  }
216
332
 
217
- public setProperties(videoInterface: VideoViewportProperties) {
218
- if (videoInterface.loop !== undefined) {
219
- this.videoElement.loop = videoInterface.loop;
333
+ public setProperties(props: VideoViewportProperties) {
334
+ if (props.loop !== undefined) {
335
+ this.videoElement.loop = props.loop;
220
336
  }
221
337
 
222
- if (videoInterface.muted !== undefined) {
223
- this.videoElement.muted = videoInterface.muted;
338
+ if (props.muted !== undefined) {
339
+ this.videoElement.muted = props.muted;
224
340
  }
225
341
 
226
- if (videoInterface.playbackRate !== undefined) {
227
- this.setPlaybackRate(videoInterface.playbackRate);
342
+ if (props.playbackRate !== undefined) {
343
+ this.setPlaybackRate(props.playbackRate);
344
+ }
345
+
346
+ if (props.scrollSpeed !== undefined) {
347
+ this.setScrollSpeed(props.scrollSpeed);
348
+ }
349
+
350
+ if (props.voiRange) {
351
+ this.setVOI(props.voiRange);
228
352
  }
229
353
  }
230
354
 
231
355
  public setPlaybackRate(rate = 1) {
356
+ this.playbackRate = rate;
232
357
  // Minimum playback speed in chrome is 0.0625 compared to normal
233
358
  if (rate < 0.0625) {
234
359
  this.pause();
@@ -255,6 +380,9 @@ class VideoViewport extends Viewport implements IVideoViewport {
255
380
  return {
256
381
  loop: this.videoElement.loop,
257
382
  muted: this.videoElement.muted,
383
+ playbackRate: this.playbackRate,
384
+ scrollSpeed: this.scrollSpeed,
385
+ voiRange: { ...this.voiRange },
258
386
  };
259
387
  };
260
388
 
@@ -265,8 +393,101 @@ class VideoViewport extends Viewport implements IVideoViewport {
265
393
  });
266
394
  }
267
395
 
396
+ protected getScalarData() {
397
+ const canvas = document.createElement('canvas');
398
+ canvas.width = this.videoWidth;
399
+ canvas.height = this.videoHeight;
400
+ const context = canvas.getContext('2d');
401
+ context.drawImage(this.videoElement, 0, 0);
402
+ const canvasData = context.getImageData(
403
+ 0,
404
+ 0,
405
+ this.videoWidth,
406
+ this.videoHeight
407
+ );
408
+ const { data: scalarData } = canvasData;
409
+ (scalarData as any).getRange = () => [0, 255];
410
+ return scalarData;
411
+ }
412
+
268
413
  public getImageData() {
269
- return null;
414
+ const { metadata } = this;
415
+
416
+ const spacing = metadata.spacing;
417
+
418
+ return {
419
+ dimensions: metadata.dimensions,
420
+ spacing,
421
+ origin: metadata.origin,
422
+ direction: metadata.direction,
423
+ metadata: { Modality: this.modality },
424
+ imageData: {
425
+ getDirection: () => metadata.direction,
426
+ getDimensions: () => metadata.dimensions,
427
+ getRange: () => [0, 255],
428
+ getScalarData: () => this.getScalarData(),
429
+ getSpacing: () => metadata.spacing,
430
+ worldToIndex: (point: Point3) => {
431
+ const canvasPoint = this.worldToCanvas(point);
432
+ const pixelCoord = this.canvasToIndex(canvasPoint);
433
+ return [pixelCoord[0], pixelCoord[1], 0];
434
+ },
435
+ indexToWorld: (point: Point3) => {
436
+ const canvasPoint = this.indexToCanvas([point[0], point[1]]);
437
+ return this.canvasToWorld(canvasPoint);
438
+ },
439
+ },
440
+ hasPixelSpacing: this.hasPixelSpacing,
441
+ calibration: this.calibration,
442
+ preScale: {
443
+ scaled: false,
444
+ },
445
+ };
446
+ }
447
+
448
+ public setVOI(voiRange: VOIRange): void {
449
+ this.voiRange = voiRange;
450
+ this.setColorTransform();
451
+ }
452
+
453
+ public setWindowLevel(windowWidth = 256, windowCenter = 128) {
454
+ const lower = windowCenter - windowWidth / 2;
455
+ const upper = windowCenter + windowWidth / 2 - 1;
456
+ this.setVOI({ lower, upper });
457
+ this.setColorTransform();
458
+ }
459
+
460
+ public setAverageWhite(averageWhite: [number, number, number]) {
461
+ this.averageWhite = averageWhite;
462
+ this.setColorTransform();
463
+ }
464
+
465
+ protected setColorTransform() {
466
+ if (!this.voiRange && !this.averageWhite) {
467
+ this.feFilter = null;
468
+ return;
469
+ }
470
+ const white = this.averageWhite || [255, 255, 255];
471
+ const maxWhite = Math.max(...white);
472
+ const scaleWhite = white.map((c) => maxWhite / c);
473
+ // From the DICOM standard: ((x - (c - 0.5)) / (w-1) + 0.5) * (ymax- ymin) + ymin
474
+ // which is x/(w-1) - (c - 0.5) / (w-1) + 0.5 for this case
475
+ const { lower = 0, upper = 255 } = this.voiRange || {};
476
+ const wlScale = (upper - lower + 1) / 255;
477
+ const wlDelta = lower / 255;
478
+ this.feFilter = `url('data:image/svg+xml,\
479
+ <svg xmlns="http://www.w3.org/2000/svg">\
480
+ <filter id="colour" color-interpolation-filters="linearRGB">\
481
+ <feColorMatrix type="matrix" \
482
+ values="\
483
+ ${scaleWhite[0] * wlScale} 0 0 0 ${wlDelta} \
484
+ 0 ${scaleWhite[1] * wlScale} 0 0 ${wlDelta} \
485
+ 0 0 ${scaleWhite[2] * wlScale} 0 ${wlDelta} \
486
+ 0 0 0 1 0" />\
487
+ </filter>\
488
+ </svg>#colour')`;
489
+
490
+ this.canvas.style.filter = this.feFilter;
270
491
  }
271
492
 
272
493
  public setCamera(camera: ICamera): void {
@@ -339,6 +560,10 @@ class VideoViewport extends Viewport implements IVideoViewport {
339
560
  return true;
340
561
  };
341
562
 
563
+ public getNumberOfSlices = (): number => {
564
+ return (this.videoElement.duration * this.fps) / this.scrollSpeed;
565
+ };
566
+
342
567
  public getFrameOfReferenceUID = (): string => {
343
568
  // The video itself is the frame of reference.
344
569
  return this.videoElement.src;
@@ -411,6 +636,20 @@ class VideoViewport extends Viewport implements IVideoViewport {
411
636
  return canvasPos;
412
637
  };
413
638
 
639
+ protected canvasToIndex = (canvasPos: Point2): Point2 => {
640
+ const [x, y] = canvasPos;
641
+ const ratio = this.videoWidth / this.canvas.width;
642
+ const pan = this.getPan();
643
+ return [(x + pan[0]) * ratio, (y + pan[1]) * ratio];
644
+ };
645
+
646
+ protected indexToCanvas = (indexPos: Point2): Point2 => {
647
+ const [x, y] = indexPos;
648
+ const ratio = this.canvas.width / this.videoWidth;
649
+ const pan = this.getPan();
650
+ return [x * ratio - pan[0], y * ratio - pan[1]];
651
+ };
652
+
414
653
  private refreshRenderValues() {
415
654
  // this means that each unit (pixel) in the world (video) would be
416
655
  // represented by n pixels in the canvas.
@@ -127,6 +127,7 @@ class Viewport implements IViewport {
127
127
  resize: () => void;
128
128
  getProperties: () => void;
129
129
  updateRenderingPipeline: () => void;
130
+ getNumberOfSlices: () => number;
130
131
 
131
132
  static get useCustomRenderingPipeline(): boolean {
132
133
  return false;
@@ -25,6 +25,7 @@ import BaseVolumeViewport from './BaseVolumeViewport';
25
25
  import setDefaultVolumeVOI from './helpers/setDefaultVolumeVOI';
26
26
  import { setTransferFunctionNodes } from '../utilities/transferFunctionUtils';
27
27
  import { ImageActor } from '../types/IActor';
28
+ import getImageSliceDataForVolumeViewport from '../utilities/getImageSliceDataForVolumeViewport';
28
29
 
29
30
  /**
30
31
  * An object representing a VolumeViewport. VolumeViewports are used to render
@@ -82,6 +83,12 @@ class VolumeViewport extends BaseVolumeViewport {
82
83
  return super.setVolumes(volumeInputArray, immediate, suppressEvents);
83
84
  }
84
85
 
86
+ /** Gets the number of slices the volume is broken up into in the camera direction */
87
+ public getNumberOfSlices = (): number => {
88
+ const { numberOfSlices } = getImageSliceDataForVolumeViewport(this);
89
+ return numberOfSlices;
90
+ };
91
+
85
92
  /**
86
93
  * Creates and adds volume actors for all volumes defined in the `volumeInputArray`.
87
94
  * For each entry, if a `callback` is supplied, it will be called with the new volume actor as input.
@@ -1,4 +1,7 @@
1
- import type { mat4 } from 'gl-matrix';
1
+ import macro from '@kitware/vtk.js/macros';
2
+ import vtkCamera from '@kitware/vtk.js/Rendering/Core/Camera';
3
+ import vtkMath from '@kitware/vtk.js/Common/Core/Math';
4
+ import { vec3, mat4 } from 'gl-matrix';
2
5
  import type { vtkObject } from '@kitware/vtk.js/interfaces';
3
6
 
4
7
  // Copied from VTKCamera
@@ -744,6 +747,10 @@ export interface vtkSlabCamera extends vtkObject {
744
747
  setIsPerformingCoordinateTransformation(status: boolean): void;
745
748
  }
746
749
 
750
+ const DEFAULT_VALUES = {
751
+ isPerformingCoordinateTransformation: false,
752
+ };
753
+
747
754
  /**
748
755
  * Method use to decorate a given object (publicAPI+model) with vtkRenderer characteristics.
749
756
  *
@@ -751,11 +758,20 @@ export interface vtkSlabCamera extends vtkObject {
751
758
  * @param model - object on which data structure will be bounds (protected)
752
759
  * @param initialValues -
753
760
  */
754
- export function extend(
761
+ function extend(
755
762
  publicAPI: any,
756
763
  model: any,
757
- initialValues?: ICameraInitialValues
758
- ): void;
764
+ initialValues: ICameraInitialValues = {}
765
+ ): void {
766
+ Object.assign(model, DEFAULT_VALUES, initialValues);
767
+
768
+ vtkCamera.extend(publicAPI, model, initialValues);
769
+
770
+ macro.setGet(publicAPI, model, ['isPerformingCoordinateTransformation']);
771
+
772
+ // Object methods
773
+ vtkSlabCamera(publicAPI, model);
774
+ }
759
775
 
760
776
  /**
761
777
  * Method use to create a new instance of vtkCamera with its focal point at the origin,
@@ -763,9 +779,8 @@ export function extend(
763
779
  * and the clipping range is (.1,1000).
764
780
  * @param initialValues - for pre-setting some of its content
765
781
  */
766
- export function newInstance(
767
- initialValues?: ICameraInitialValues
768
- ): vtkSlabCamera;
782
+ const newInstance: (initialValues?: ICameraInitialValues) => vtkSlabCamera =
783
+ macro.newInstance(extend, 'vtkSlabCamera');
769
784
 
770
785
  /**
771
786
  * vtkCamera is a virtual camera for 3D rendering. It provides methods
@@ -774,8 +789,134 @@ export function newInstance(
774
789
  * complex methods allow the manipulation of the computer graphics model
775
790
  * including view up vector, clipping planes, and camera perspective.
776
791
  */
777
- export declare const vtkSlabCamera: {
778
- newInstance: typeof newInstance;
779
- extend: typeof extend;
780
- };
781
- export default vtkSlabCamera;
792
+
793
+ /**
794
+ * vtkSlabCamera - A derived class of the core vtkCamera class
795
+ *
796
+ * This customization is necesssary because when we do coordinate transformations
797
+ * we need to set the cRange between [d, d + 0.1],
798
+ * where d is distance between the camera position and the focal point.
799
+ * While when we render we set to the clippingRange [0.01, d * 2],
800
+ * where d is the calculated from the bounds of all the actors.
801
+ *
802
+ * @param {*} publicAPI The public API to extend
803
+ * @param {*} model The private model to extend.
804
+ */
805
+ function vtkSlabCamera(publicAPI, model) {
806
+ model.classHierarchy.push('vtkSlabCamera');
807
+
808
+ // Set up private variables and methods
809
+ const tmpMatrix = mat4.identity(new Float64Array(16) as unknown as mat4);
810
+ const tmpvec1 = new Float64Array(3) as unknown as vec3;
811
+
812
+ /**
813
+ * getProjectionMatrix - A fork of vtkCamera's getProjectionMatrix method.
814
+ * This fork performs most of the same actions, but define crange around
815
+ * model.distance when doing coordinate transformations.
816
+ */
817
+ publicAPI.getProjectionMatrix = (aspect, nearz, farz) => {
818
+ const result = mat4.create();
819
+
820
+ if (model.projectionMatrix) {
821
+ const scale = 1 / model.physicalScale;
822
+ vec3.set(tmpvec1, scale, scale, scale);
823
+
824
+ mat4.copy(result, model.projectionMatrix);
825
+ mat4.scale(result, result, tmpvec1);
826
+ mat4.transpose(result, result);
827
+ return result;
828
+ }
829
+
830
+ mat4.identity(tmpMatrix);
831
+
832
+ let cRange0 = model.clippingRange[0];
833
+ let cRange1 = model.clippingRange[1];
834
+ if (model.isPerformingCoordinateTransformation) {
835
+ /**
836
+ * NOTE: this is necessary because we want the coordinate transformation
837
+ * respect to the view plane (plane orthogonal to the camera and passing to
838
+ * the focal point).
839
+ *
840
+ * When vtk.js computes the coordinate transformations, it simply uses the
841
+ * camera matrix (no ray casting).
842
+ *
843
+ * However for the volume viewport the clipping range is set to be
844
+ * (-RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE).
845
+ * The clipping range is used in the camera method getProjectionMatrix().
846
+ * The projection matrix is used then for viewToWorld/worldToView methods of
847
+ * the renderer. This means that vkt.js will not return the coordinates of
848
+ * the point on the view plane (i.e. the depth coordinate will corresponded
849
+ * to the focal point).
850
+ *
851
+ * Therefore the clipping range has to be set to (distance, distance + 0.01),
852
+ * where now distance is the distance between the camera position and focal
853
+ * point. This is done internally, in our camera customization when the flag
854
+ * isPerformingCoordinateTransformation is set to true.
855
+ */
856
+ cRange0 = model.distance;
857
+ cRange1 = model.distance + 0.1;
858
+ }
859
+
860
+ const cWidth = cRange1 - cRange0;
861
+ const cRange = [
862
+ cRange0 + ((nearz + 1) * cWidth) / 2.0,
863
+ cRange0 + ((farz + 1) * cWidth) / 2.0,
864
+ ];
865
+
866
+ if (model.parallelProjection) {
867
+ // set up a rectangular parallelipiped
868
+ const width = model.parallelScale * aspect;
869
+ const height = model.parallelScale;
870
+
871
+ const xmin = (model.windowCenter[0] - 1.0) * width;
872
+ const xmax = (model.windowCenter[0] + 1.0) * width;
873
+ const ymin = (model.windowCenter[1] - 1.0) * height;
874
+ const ymax = (model.windowCenter[1] + 1.0) * height;
875
+
876
+ mat4.ortho(tmpMatrix, xmin, xmax, ymin, ymax, cRange[0], cRange[1]);
877
+ mat4.transpose(tmpMatrix, tmpMatrix);
878
+ } else if (model.useOffAxisProjection) {
879
+ throw new Error('Off-Axis projection is not supported at this time');
880
+ } else {
881
+ const tmp = Math.tan(vtkMath.radiansFromDegrees(model.viewAngle) / 2.0);
882
+ let width;
883
+ let height;
884
+ if (model.useHorizontalViewAngle === true) {
885
+ width = cRange0 * tmp;
886
+ height = (cRange0 * tmp) / aspect;
887
+ } else {
888
+ width = cRange0 * tmp * aspect;
889
+ height = cRange0 * tmp;
890
+ }
891
+
892
+ const xmin = (model.windowCenter[0] - 1.0) * width;
893
+ const xmax = (model.windowCenter[0] + 1.0) * width;
894
+ const ymin = (model.windowCenter[1] - 1.0) * height;
895
+ const ymax = (model.windowCenter[1] + 1.0) * height;
896
+ const znear = cRange[0];
897
+ const zfar = cRange[1];
898
+
899
+ tmpMatrix[0] = (2.0 * znear) / (xmax - xmin);
900
+ tmpMatrix[5] = (2.0 * znear) / (ymax - ymin);
901
+ tmpMatrix[2] = (xmin + xmax) / (xmax - xmin);
902
+ tmpMatrix[6] = (ymin + ymax) / (ymax - ymin);
903
+ tmpMatrix[10] = -(znear + zfar) / (zfar - znear);
904
+ tmpMatrix[14] = -1.0;
905
+ tmpMatrix[11] = (-2.0 * znear * zfar) / (zfar - znear);
906
+ tmpMatrix[15] = 0.0;
907
+ }
908
+
909
+ mat4.copy(result, tmpMatrix);
910
+
911
+ return result;
912
+ };
913
+ }
914
+
915
+ // ----------------------------------------------------------------------------
916
+ // Object factory
917
+ // ----------------------------------------------------------------------------
918
+
919
+ // ----------------------------------------------------------------------------
920
+
921
+ export default { newInstance, extend };
922
+ export { newInstance, extend };
@@ -377,7 +377,10 @@ class Cache implements ICache {
377
377
  return;
378
378
  }
379
379
 
380
- if (Number.isNaN(image.sizeInBytes)) {
380
+ if (
381
+ image.sizeInBytes === undefined ||
382
+ Number.isNaN(image.sizeInBytes)
383
+ ) {
381
384
  throw new Error(
382
385
  'putImageLoadObject: image.sizeInBytes must not be undefined'
383
386
  );
@@ -85,12 +85,21 @@ enum Events {
85
85
  */
86
86
  IMAGE_VOLUME_LOADING_COMPLETED = 'CORNERSTONE_IMAGE_VOLUME_LOADING_COMPLETED',
87
87
  /**
88
- * Triggers on the eventTarget when the image has successfully loaded by imageLoaders
88
+ * Triggers on the eventTarget when the image has successfully loaded by imageLoaders.
89
+ * This event may be fired multiple times for different statuses as the image data gets loaded.
89
90
  *
90
91
  * Make use of {@link EventTypes.ImageLoadedEvent | ImageLoaded Event Type } for typing your event listeners for IMAGE_LOADED event,
91
92
  * and see what event detail is included in {@link EventTypes.ImageLoadedEventDetail | ImageLoaded Event Detail }
92
93
  */
93
94
  IMAGE_LOADED = 'CORNERSTONE_IMAGE_LOADED',
95
+ /**
96
+ * Triggers on the eventTarget when progressive loading stages are completed.
97
+ * That is, the stage is complete for all images included in that stage (which
98
+ * can be zero). If you need individual image load information related to
99
+ * the stage, see the status attribute on the IMAGE_LOADED event - which has
100
+ * the status of the image, but not the actual stage that loaded it.
101
+ */
102
+ IMAGE_RETRIEVAL_STAGE = 'CORNERSTONE_IMAGE_RETRIEVAL_STAGE',
94
103
  /**
95
104
  * Triggers on the eventTarget when the image has failed loading by imageLoaders
96
105
  *
@@ -176,14 +185,6 @@ enum Events {
176
185
  * and see what event detail is included in {@link EventTypes.ImageSpacingCalibratedEventDetail | ImageSpacingCalibrated Event Detail }
177
186
  */
178
187
  IMAGE_SPACING_CALIBRATED = 'CORNERSTONE_IMAGE_SPACING_CALIBRATED',
179
- /**
180
- * Triggers on the eventTarget when there is a progress in the image load process. Note: this event
181
- * is being used in the dicom-image-loader repository. See {@link https://github.com/cornerstonejs/cornerstoneDICOMImageLoader/blob/master/src/imageLoader/internal/xhrRequest.js | here}
182
- *
183
- * Make use of {@link EventTypes.ImageLoadProgress | ImageLoadProgress Event Type } for typing your event listeners for IMAGE_LOAD_PROGRESS event,
184
- * and see what event detail is included in {@link EventTypes.ImageLoadProgressEventDetail | ImageLoadProgress Event Detail }
185
- */
186
- IMAGE_LOAD_PROGRESS = 'CORNERSTONE_IMAGE_LOAD_PROGRESS',
187
188
 
188
189
  /**
189
190
  * Triggers on the event target when a new stack is set on its stack viewport.
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Status of a frame as it gets loaded. This is ordered, with lower
3
+ * values being more lossy, and higher values being less lossy.
4
+ */
5
+ enum ImageQualityStatus {
6
+ /**
7
+ * Replicate is a duplicated image, from some larger distance
8
+ */
9
+ FAR_REPLICATE = 1,
10
+
11
+ // Skipping a value here and after the next replicate to allow for interpolation
12
+ // enum values.
13
+
14
+ /**
15
+ * Adjacent replicate is a duplicated image of a nearby image
16
+ */
17
+ ADJACENT_REPLICATE = 3,
18
+
19
+ /**
20
+ * Sub resolution images are encodings of smaller than full resolution
21
+ * images. The encoding may or may not be lossy, but the lower resolution
22
+ * means it has lost information already compared to full resolution/lossless.
23
+ */
24
+ SUBRESOLUTION = 6,
25
+
26
+ /**
27
+ * Lossy images, encoded with a lossy encoding, but full resolution or size.
28
+ */
29
+ LOSSY = 7,
30
+ /**
31
+ * Full resolution means the image is full resolution/complete data/lossless
32
+ * (or at least as lossless as the image is going to get)
33
+ */
34
+ FULL_RESOLUTION = 8,
35
+ }
36
+
37
+ export default ImageQualityStatus;