@cornerstonejs/dicom-image-loader 2.0.0-beta.1 → 2.0.0-beta.10

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 (482) hide show
  1. package/dist/744.bundle.min.js +3 -0
  2. package/dist/744.bundle.min.js.LICENSE.txt +5 -0
  3. package/dist/744.bundle.min.js.map +1 -0
  4. package/dist/cornerstoneDICOMImageLoader.bundle.min.js +1 -1
  5. package/dist/cornerstoneDICOMImageLoader.bundle.min.js.map +1 -1
  6. package/dist/dynamic-import/{65916ef3def695744bda.wasm → 031089e563a18ada8441.wasm} +0 -0
  7. package/dist/dynamic-import/20fc4c659b85ccd2a9c0.wasm +0 -0
  8. package/dist/dynamic-import/584.min.js +2 -0
  9. package/dist/dynamic-import/584.min.js.map +1 -0
  10. package/dist/dynamic-import/595.min.js +2 -0
  11. package/dist/dynamic-import/595.min.js.map +1 -0
  12. package/dist/dynamic-import/610.min.js +2 -0
  13. package/dist/dynamic-import/610.min.js.map +1 -0
  14. package/dist/dynamic-import/958.min.js +3 -0
  15. package/dist/dynamic-import/958.min.js.LICENSE.txt +5 -0
  16. package/dist/dynamic-import/958.min.js.map +1 -0
  17. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js +1 -1
  18. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js.map +1 -1
  19. package/dist/esm/codecs/jpeg.js +891 -0
  20. package/dist/esm/codecs/jpeg.js.map +1 -0
  21. package/dist/esm/codecs/jpegLossless.js +1220 -0
  22. package/dist/esm/codecs/jpegLossless.js.map +1 -0
  23. package/dist/esm/src/constants/transferSyntaxes.js +47 -0
  24. package/dist/esm/src/constants/transferSyntaxes.js.map +1 -0
  25. package/dist/esm/src/externalModules.js +45 -0
  26. package/dist/esm/src/externalModules.js.map +1 -0
  27. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js +78 -0
  28. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js.map +1 -0
  29. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js +22 -0
  30. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js.map +1 -0
  31. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js +29 -0
  32. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js.map +1 -0
  33. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js +45 -0
  34. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js.map +1 -0
  35. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js +34 -0
  36. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js.map +1 -0
  37. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js +36 -0
  38. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js.map +1 -0
  39. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js +8 -0
  40. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js.map +1 -0
  41. package/dist/esm/src/imageLoader/configure.js +12 -0
  42. package/dist/esm/src/imageLoader/configure.js.map +1 -0
  43. package/dist/esm/src/imageLoader/convertColorSpace.js +41 -0
  44. package/dist/esm/src/imageLoader/convertColorSpace.js.map +1 -0
  45. package/dist/esm/src/imageLoader/createImage.js +249 -0
  46. package/dist/esm/src/imageLoader/createImage.js.map +1 -0
  47. package/dist/esm/src/imageLoader/decodeImageFrame.js +66 -0
  48. package/dist/esm/src/imageLoader/decodeImageFrame.js.map +1 -0
  49. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js +65 -0
  50. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js.map +1 -0
  51. package/dist/esm/src/imageLoader/getImageFrame.js +27 -0
  52. package/dist/esm/src/imageLoader/getImageFrame.js.map +1 -0
  53. package/dist/esm/src/imageLoader/getInstanceModule.js +41 -0
  54. package/dist/esm/src/imageLoader/getInstanceModule.js.map +1 -0
  55. package/dist/esm/src/imageLoader/getMinMax.js +16 -0
  56. package/dist/esm/src/imageLoader/getMinMax.js.map +1 -0
  57. package/dist/esm/src/imageLoader/getScalingParameters.js +16 -0
  58. package/dist/esm/src/imageLoader/getScalingParameters.js.map +1 -0
  59. package/dist/esm/src/imageLoader/imageIdToURI.js +5 -0
  60. package/dist/esm/src/imageLoader/imageIdToURI.js.map +1 -0
  61. package/dist/esm/src/imageLoader/index.js +37 -0
  62. package/dist/esm/src/imageLoader/index.js.map +1 -0
  63. package/dist/esm/src/imageLoader/internal/index.js +9 -0
  64. package/dist/esm/src/imageLoader/internal/index.js.map +1 -0
  65. package/dist/esm/src/imageLoader/internal/options.js +24 -0
  66. package/dist/esm/src/imageLoader/internal/options.js.map +1 -0
  67. package/dist/esm/src/imageLoader/internal/rangeRequest.js +122 -0
  68. package/dist/esm/src/imageLoader/internal/rangeRequest.js.map +1 -0
  69. package/dist/esm/src/imageLoader/internal/streamRequest.js +93 -0
  70. package/dist/esm/src/imageLoader/internal/streamRequest.js.map +1 -0
  71. package/dist/esm/src/imageLoader/internal/xhrRequest.js +103 -0
  72. package/dist/esm/src/imageLoader/internal/xhrRequest.js.map +1 -0
  73. package/dist/esm/src/imageLoader/isColorConversionRequired.js +23 -0
  74. package/dist/esm/src/imageLoader/isColorConversionRequired.js.map +1 -0
  75. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js +10 -0
  76. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js.map +1 -0
  77. package/dist/esm/src/imageLoader/isNMReconstructable.js +4 -0
  78. package/dist/esm/src/imageLoader/isNMReconstructable.js.map +1 -0
  79. package/dist/esm/src/imageLoader/registerLoaders.js +8 -0
  80. package/dist/esm/src/imageLoader/registerLoaders.js.map +1 -0
  81. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js +45 -0
  82. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js.map +1 -0
  83. package/dist/esm/src/imageLoader/wadors/extractMultipart.js +74 -0
  84. package/dist/esm/src/imageLoader/wadors/extractMultipart.js.map +1 -0
  85. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js +33 -0
  86. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js.map +1 -0
  87. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js +9 -0
  88. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js.map +1 -0
  89. package/dist/esm/src/imageLoader/wadors/getPixelData.js +36 -0
  90. package/dist/esm/src/imageLoader/wadors/getPixelData.js.map +1 -0
  91. package/dist/esm/src/imageLoader/wadors/getTagValue.js +10 -0
  92. package/dist/esm/src/imageLoader/wadors/getTagValue.js.map +1 -0
  93. package/dist/esm/src/imageLoader/wadors/index.js +22 -0
  94. package/dist/esm/src/imageLoader/wadors/index.js.map +1 -0
  95. package/dist/esm/src/imageLoader/wadors/loadImage.js +126 -0
  96. package/dist/esm/src/imageLoader/wadors/loadImage.js.map +1 -0
  97. package/dist/esm/src/imageLoader/wadors/loadImage_test.js +42 -0
  98. package/dist/esm/src/imageLoader/wadors/loadImage_test.js.map +1 -0
  99. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js +39 -0
  100. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js.map +1 -0
  101. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js +47 -0
  102. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js.map +1 -0
  103. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js +19 -0
  104. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js.map +1 -0
  105. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js +7 -0
  106. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js.map +1 -0
  107. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js +10 -0
  108. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js.map +1 -0
  109. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js +10 -0
  110. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js.map +1 -0
  111. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js +21 -0
  112. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js.map +1 -0
  113. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js +39 -0
  114. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js.map +1 -0
  115. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js +15 -0
  116. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js.map +1 -0
  117. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js +15 -0
  118. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js.map +1 -0
  119. package/dist/esm/src/imageLoader/wadors/metaData/index.js +8 -0
  120. package/dist/esm/src/imageLoader/wadors/metaData/index.js.map +1 -0
  121. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js +262 -0
  122. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js.map +1 -0
  123. package/dist/esm/src/imageLoader/wadors/metaDataManager.js +48 -0
  124. package/dist/esm/src/imageLoader/wadors/metaDataManager.js.map +1 -0
  125. package/dist/esm/src/imageLoader/wadors/register.js +7 -0
  126. package/dist/esm/src/imageLoader/wadors/register.js.map +1 -0
  127. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js +27 -0
  128. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js.map +1 -0
  129. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js +68 -0
  130. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js.map +1 -0
  131. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js +143 -0
  132. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js.map +1 -0
  133. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js +11 -0
  134. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js.map +1 -0
  135. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js +57 -0
  136. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js.map +1 -0
  137. package/dist/esm/src/imageLoader/wadouri/fileManager.js +21 -0
  138. package/dist/esm/src/imageLoader/wadouri/fileManager.js.map +1 -0
  139. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js +34 -0
  140. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js.map +1 -0
  141. package/dist/esm/src/imageLoader/wadouri/getPixelData.js +14 -0
  142. package/dist/esm/src/imageLoader/wadouri/getPixelData.js.map +1 -0
  143. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js +48 -0
  144. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js.map +1 -0
  145. package/dist/esm/src/imageLoader/wadouri/index.js +32 -0
  146. package/dist/esm/src/imageLoader/wadouri/index.js.map +1 -0
  147. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js +18 -0
  148. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js.map +1 -0
  149. package/dist/esm/src/imageLoader/wadouri/loadImage.js +105 -0
  150. package/dist/esm/src/imageLoader/wadouri/loadImage.js.map +1 -0
  151. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js +81 -0
  152. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js.map +1 -0
  153. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js +80 -0
  154. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js.map +1 -0
  155. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js +45 -0
  156. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js.map +1 -0
  157. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js +31 -0
  158. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js.map +1 -0
  159. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js +17 -0
  160. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js.map +1 -0
  161. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js +37 -0
  162. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js.map +1 -0
  163. package/dist/esm/src/imageLoader/wadouri/metaData/index.js +6 -0
  164. package/dist/esm/src/imageLoader/wadouri/metaData/index.js.map +1 -0
  165. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js +211 -0
  166. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js.map +1 -0
  167. package/dist/esm/src/imageLoader/wadouri/parseImageId.js +21 -0
  168. package/dist/esm/src/imageLoader/wadouri/parseImageId.js.map +1 -0
  169. package/dist/esm/src/imageLoader/wadouri/register.js +9 -0
  170. package/dist/esm/src/imageLoader/wadouri/register.js.map +1 -0
  171. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js +58 -0
  172. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js.map +1 -0
  173. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js +15 -0
  174. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js.map +1 -0
  175. package/dist/esm/src/shared/calculateMinMax.js +25 -0
  176. package/dist/esm/src/shared/calculateMinMax.js.map +1 -0
  177. package/dist/esm/src/shared/calculateMinMax_test.js +39 -0
  178. package/dist/esm/src/shared/calculateMinMax_test.js.map +1 -0
  179. package/dist/esm/src/shared/decodeImageFrame.js +269 -0
  180. package/dist/esm/src/shared/decodeImageFrame.js.map +1 -0
  181. package/dist/esm/src/shared/decoders/decodeBigEndian.js +29 -0
  182. package/dist/esm/src/shared/decoders/decodeBigEndian.js.map +1 -0
  183. package/dist/esm/src/shared/decoders/decodeHTJ2K.js +110 -0
  184. package/dist/esm/src/shared/decoders/decodeHTJ2K.js.map +1 -0
  185. package/dist/esm/src/shared/decoders/decodeJPEG2000.js +94 -0
  186. package/dist/esm/src/shared/decoders/decodeJPEG2000.js.map +1 -0
  187. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js +35 -0
  188. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js.map +1 -0
  189. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +2 -0
  190. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js.map +1 -0
  191. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js +63 -0
  192. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js.map +1 -0
  193. package/dist/esm/src/shared/decoders/decodeJPEGLS.js +85 -0
  194. package/dist/esm/src/shared/decoders/decodeJPEGLS.js.map +1 -0
  195. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js +40 -0
  196. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js.map +1 -0
  197. package/dist/esm/src/shared/decoders/decodeLittleEndian.js +30 -0
  198. package/dist/esm/src/shared/decoders/decodeLittleEndian.js.map +1 -0
  199. package/dist/esm/src/shared/decoders/decodeRLE.js +129 -0
  200. package/dist/esm/src/shared/decoders/decodeRLE.js.map +1 -0
  201. package/dist/esm/src/shared/getMinMax.js +17 -0
  202. package/dist/esm/src/shared/getMinMax.js.map +1 -0
  203. package/dist/esm/src/shared/getMinMax_test.js +10 -0
  204. package/dist/esm/src/shared/getMinMax_test.js.map +1 -0
  205. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js +23 -0
  206. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js.map +1 -0
  207. package/dist/esm/src/shared/isColorImage.js +11 -0
  208. package/dist/esm/src/shared/isColorImage.js.map +1 -0
  209. package/dist/esm/src/shared/scaling/bilinear.js +33 -0
  210. package/dist/esm/src/shared/scaling/bilinear.js.map +1 -0
  211. package/dist/esm/src/shared/scaling/replicate.js +21 -0
  212. package/dist/esm/src/shared/scaling/replicate.js.map +1 -0
  213. package/dist/esm/src/shared/scaling/scaleArray.js +16 -0
  214. package/dist/esm/src/shared/scaling/scaleArray.js.map +1 -0
  215. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js +2 -0
  216. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js.map +1 -0
  217. package/dist/esm/src/types/DICOMLoaderIImage.js +2 -0
  218. package/dist/esm/src/types/DICOMLoaderIImage.js.map +1 -0
  219. package/dist/esm/src/types/DICOMLoaderImageOptions.js +2 -0
  220. package/dist/esm/src/types/DICOMLoaderImageOptions.js.map +1 -0
  221. package/dist/esm/src/types/ImageFrame.js +2 -0
  222. package/dist/esm/src/types/ImageFrame.js.map +1 -0
  223. package/dist/esm/src/types/LoadRequestFunction.js +2 -0
  224. package/dist/esm/src/types/LoadRequestFunction.js.map +1 -0
  225. package/dist/esm/src/types/LoaderDecodeOptions.js +2 -0
  226. package/dist/esm/src/types/LoaderDecodeOptions.js.map +1 -0
  227. package/dist/esm/src/types/LoaderOptions.js +2 -0
  228. package/dist/esm/src/types/LoaderOptions.js.map +1 -0
  229. package/dist/esm/src/types/LutType.js +2 -0
  230. package/dist/esm/src/types/LutType.js.map +1 -0
  231. package/dist/esm/src/types/MetadataModules.js +2 -0
  232. package/dist/esm/src/types/MetadataModules.js.map +1 -0
  233. package/dist/esm/src/types/PixelDataTypedArray.js +2 -0
  234. package/dist/esm/src/types/PixelDataTypedArray.js.map +1 -0
  235. package/dist/esm/src/types/WADORSMetaData.js +2 -0
  236. package/dist/esm/src/types/WADORSMetaData.js.map +1 -0
  237. package/dist/esm/src/types/WebWorkerTypes.js +2 -0
  238. package/dist/esm/src/types/WebWorkerTypes.js.map +1 -0
  239. package/dist/esm/src/types/XHRRequest.js +2 -0
  240. package/dist/esm/src/types/XHRRequest.js.map +1 -0
  241. package/dist/esm/src/types/index.js +2 -0
  242. package/dist/esm/src/types/index.js.map +1 -0
  243. package/dist/esm/src/version.js +2 -0
  244. package/dist/esm/src/version.js.map +1 -0
  245. package/dist/types/codecs/jpeg.d.ts +11 -0
  246. package/dist/types/codecs/jpeg.d.ts.map +1 -0
  247. package/dist/types/codecs/jpegLossless.d.ts +8 -0
  248. package/dist/types/codecs/jpegLossless.d.ts.map +1 -0
  249. package/dist/types/src/constants/transferSyntaxes.d.ts +47 -0
  250. package/dist/types/src/constants/transferSyntaxes.d.ts.map +1 -0
  251. package/dist/types/src/externalModules.d.ts +6 -0
  252. package/dist/types/src/externalModules.d.ts.map +1 -0
  253. package/dist/types/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts +4 -0
  254. package/dist/types/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts.map +1 -0
  255. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts +3 -0
  256. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts.map +1 -0
  257. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts +3 -0
  258. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts.map +1 -0
  259. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +3 -0
  260. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts.map +1 -0
  261. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts +3 -0
  262. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts.map +1 -0
  263. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts +3 -0
  264. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts.map +1 -0
  265. package/dist/types/src/imageLoader/colorSpaceConverters/index.d.ts +8 -0
  266. package/dist/types/src/imageLoader/colorSpaceConverters/index.d.ts.map +1 -0
  267. package/dist/types/src/imageLoader/configure.d.ts +4 -0
  268. package/dist/types/src/imageLoader/configure.d.ts.map +1 -0
  269. package/dist/types/src/imageLoader/convertColorSpace.d.ts +2 -0
  270. package/dist/types/src/imageLoader/convertColorSpace.d.ts.map +1 -0
  271. package/dist/types/src/imageLoader/createImage.d.ts +5 -0
  272. package/dist/types/src/imageLoader/createImage.d.ts.map +1 -0
  273. package/dist/types/src/imageLoader/decodeImageFrame.d.ts +4 -0
  274. package/dist/types/src/imageLoader/decodeImageFrame.d.ts.map +1 -0
  275. package/dist/types/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts +5 -0
  276. package/dist/types/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts.map +1 -0
  277. package/dist/types/src/imageLoader/getImageFrame.d.ts +4 -0
  278. package/dist/types/src/imageLoader/getImageFrame.d.ts.map +1 -0
  279. package/dist/types/src/imageLoader/getInstanceModule.d.ts +4 -0
  280. package/dist/types/src/imageLoader/getInstanceModule.d.ts.map +1 -0
  281. package/dist/types/src/imageLoader/getMinMax.d.ts +5 -0
  282. package/dist/types/src/imageLoader/getMinMax.d.ts.map +1 -0
  283. package/dist/types/src/imageLoader/getScalingParameters.d.ts +7 -0
  284. package/dist/types/src/imageLoader/getScalingParameters.d.ts.map +1 -0
  285. package/dist/types/src/imageLoader/imageIdToURI.d.ts +2 -0
  286. package/dist/types/src/imageLoader/imageIdToURI.d.ts.map +1 -0
  287. package/dist/types/src/imageLoader/index.d.ts +95 -0
  288. package/dist/types/src/imageLoader/index.d.ts.map +1 -0
  289. package/dist/types/src/imageLoader/internal/index.d.ts +9 -0
  290. package/dist/types/src/imageLoader/internal/index.d.ts.map +1 -0
  291. package/dist/types/src/imageLoader/internal/options.d.ts +4 -0
  292. package/dist/types/src/imageLoader/internal/options.d.ts.map +1 -0
  293. package/dist/types/src/imageLoader/internal/rangeRequest.d.ts +10 -0
  294. package/dist/types/src/imageLoader/internal/rangeRequest.d.ts.map +1 -0
  295. package/dist/types/src/imageLoader/internal/streamRequest.d.ts +3 -0
  296. package/dist/types/src/imageLoader/internal/streamRequest.d.ts.map +1 -0
  297. package/dist/types/src/imageLoader/internal/xhrRequest.d.ts +4 -0
  298. package/dist/types/src/imageLoader/internal/xhrRequest.d.ts.map +1 -0
  299. package/dist/types/src/imageLoader/isColorConversionRequired.d.ts +2 -0
  300. package/dist/types/src/imageLoader/isColorConversionRequired.d.ts.map +1 -0
  301. package/dist/types/src/imageLoader/isJPEGBaseline8BitColor.d.ts +4 -0
  302. package/dist/types/src/imageLoader/isJPEGBaseline8BitColor.d.ts.map +1 -0
  303. package/dist/types/src/imageLoader/isNMReconstructable.d.ts +2 -0
  304. package/dist/types/src/imageLoader/isNMReconstructable.d.ts.map +1 -0
  305. package/dist/types/src/imageLoader/registerLoaders.d.ts +3 -0
  306. package/dist/types/src/imageLoader/registerLoaders.d.ts.map +1 -0
  307. package/dist/types/src/imageLoader/wadors/combineFrameInstance.d.ts +13 -0
  308. package/dist/types/src/imageLoader/wadors/combineFrameInstance.d.ts.map +1 -0
  309. package/dist/types/src/imageLoader/wadors/extractMultipart.d.ts +24 -0
  310. package/dist/types/src/imageLoader/wadors/extractMultipart.d.ts.map +1 -0
  311. package/dist/types/src/imageLoader/wadors/findIndexOfString.d.ts +3 -0
  312. package/dist/types/src/imageLoader/wadors/findIndexOfString.d.ts.map +1 -0
  313. package/dist/types/src/imageLoader/wadors/getImageQualityStatus.d.ts +3 -0
  314. package/dist/types/src/imageLoader/wadors/getImageQualityStatus.d.ts.map +1 -0
  315. package/dist/types/src/imageLoader/wadors/getPixelData.d.ts +27 -0
  316. package/dist/types/src/imageLoader/wadors/getPixelData.d.ts.map +1 -0
  317. package/dist/types/src/imageLoader/wadors/getTagValue.d.ts +2 -0
  318. package/dist/types/src/imageLoader/wadors/getTagValue.d.ts.map +1 -0
  319. package/dist/types/src/imageLoader/wadors/index.d.ts +26 -0
  320. package/dist/types/src/imageLoader/wadors/index.d.ts.map +1 -0
  321. package/dist/types/src/imageLoader/wadors/loadImage.d.ts +26 -0
  322. package/dist/types/src/imageLoader/wadors/loadImage.d.ts.map +1 -0
  323. package/dist/types/src/imageLoader/wadors/loadImage_test.d.ts +2 -0
  324. package/dist/types/src/imageLoader/wadors/loadImage_test.d.ts.map +1 -0
  325. package/dist/types/src/imageLoader/wadors/metaData/NMHelpers.d.ts +6 -0
  326. package/dist/types/src/imageLoader/wadors/metaData/NMHelpers.d.ts.map +1 -0
  327. package/dist/types/src/imageLoader/wadors/metaData/USHelpers.d.ts +20 -0
  328. package/dist/types/src/imageLoader/wadors/metaData/USHelpers.d.ts.map +1 -0
  329. package/dist/types/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts +4 -0
  330. package/dist/types/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts.map +1 -0
  331. package/dist/types/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts +3 -0
  332. package/dist/types/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts.map +1 -0
  333. package/dist/types/src/imageLoader/wadors/metaData/getNumberString.d.ts +4 -0
  334. package/dist/types/src/imageLoader/wadors/metaData/getNumberString.d.ts.map +1 -0
  335. package/dist/types/src/imageLoader/wadors/metaData/getNumberValue.d.ts +4 -0
  336. package/dist/types/src/imageLoader/wadors/metaData/getNumberValue.d.ts.map +1 -0
  337. package/dist/types/src/imageLoader/wadors/metaData/getNumberValues.d.ts +4 -0
  338. package/dist/types/src/imageLoader/wadors/metaData/getNumberValues.d.ts.map +1 -0
  339. package/dist/types/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts +5 -0
  340. package/dist/types/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts.map +1 -0
  341. package/dist/types/src/imageLoader/wadors/metaData/getSequenceItems.d.ts +4 -0
  342. package/dist/types/src/imageLoader/wadors/metaData/getSequenceItems.d.ts.map +1 -0
  343. package/dist/types/src/imageLoader/wadors/metaData/getValue.d.ts +4 -0
  344. package/dist/types/src/imageLoader/wadors/metaData/getValue.d.ts.map +1 -0
  345. package/dist/types/src/imageLoader/wadors/metaData/index.d.ts +8 -0
  346. package/dist/types/src/imageLoader/wadors/metaData/index.d.ts.map +1 -0
  347. package/dist/types/src/imageLoader/wadors/metaData/metaDataProvider.d.ts +15 -0
  348. package/dist/types/src/imageLoader/wadors/metaData/metaDataProvider.d.ts.map +1 -0
  349. package/dist/types/src/imageLoader/wadors/metaDataManager.d.ts +15 -0
  350. package/dist/types/src/imageLoader/wadors/metaDataManager.d.ts.map +1 -0
  351. package/dist/types/src/imageLoader/wadors/register.d.ts +2 -0
  352. package/dist/types/src/imageLoader/wadors/register.d.ts.map +1 -0
  353. package/dist/types/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts +16 -0
  354. package/dist/types/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts.map +1 -0
  355. package/dist/types/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts +23 -0
  356. package/dist/types/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts.map +1 -0
  357. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager.d.ts +32 -0
  358. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager.d.ts.map +1 -0
  359. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts +2 -0
  360. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts.map +1 -0
  361. package/dist/types/src/imageLoader/wadouri/dataset-from-partial-content.d.ts +7 -0
  362. package/dist/types/src/imageLoader/wadouri/dataset-from-partial-content.d.ts.map +1 -0
  363. package/dist/types/src/imageLoader/wadouri/fileManager.d.ts +12 -0
  364. package/dist/types/src/imageLoader/wadouri/fileManager.d.ts.map +1 -0
  365. package/dist/types/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts +3 -0
  366. package/dist/types/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts.map +1 -0
  367. package/dist/types/src/imageLoader/wadouri/getPixelData.d.ts +4 -0
  368. package/dist/types/src/imageLoader/wadouri/getPixelData.d.ts.map +1 -0
  369. package/dist/types/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts +4 -0
  370. package/dist/types/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts.map +1 -0
  371. package/dist/types/src/imageLoader/wadouri/index.d.ts +44 -0
  372. package/dist/types/src/imageLoader/wadouri/index.d.ts.map +1 -0
  373. package/dist/types/src/imageLoader/wadouri/loadFileRequest.d.ts +3 -0
  374. package/dist/types/src/imageLoader/wadouri/loadFileRequest.d.ts.map +1 -0
  375. package/dist/types/src/imageLoader/wadouri/loadImage.d.ts +10 -0
  376. package/dist/types/src/imageLoader/wadouri/loadImage.d.ts.map +1 -0
  377. package/dist/types/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts +7 -0
  378. package/dist/types/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts.map +1 -0
  379. package/dist/types/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts +5 -0
  380. package/dist/types/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts.map +1 -0
  381. package/dist/types/src/imageLoader/wadouri/metaData/getLUTs.d.ts +5 -0
  382. package/dist/types/src/imageLoader/wadouri/metaData/getLUTs.d.ts.map +1 -0
  383. package/dist/types/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +4 -0
  384. package/dist/types/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts.map +1 -0
  385. package/dist/types/src/imageLoader/wadouri/metaData/getNumberValues.d.ts +4 -0
  386. package/dist/types/src/imageLoader/wadouri/metaData/getNumberValues.d.ts.map +1 -0
  387. package/dist/types/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts +5 -0
  388. package/dist/types/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts.map +1 -0
  389. package/dist/types/src/imageLoader/wadouri/metaData/index.d.ts +6 -0
  390. package/dist/types/src/imageLoader/wadouri/metaData/index.d.ts.map +1 -0
  391. package/dist/types/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts +3 -0
  392. package/dist/types/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts.map +1 -0
  393. package/dist/types/src/imageLoader/wadouri/parseImageId.d.ts +9 -0
  394. package/dist/types/src/imageLoader/wadouri/parseImageId.d.ts.map +1 -0
  395. package/dist/types/src/imageLoader/wadouri/register.d.ts +3 -0
  396. package/dist/types/src/imageLoader/wadouri/register.d.ts.map +1 -0
  397. package/dist/types/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts +19 -0
  398. package/dist/types/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts.map +1 -0
  399. package/dist/types/src/imageLoader/wadouri/unpackBinaryFrame.d.ts +4 -0
  400. package/dist/types/src/imageLoader/wadouri/unpackBinaryFrame.d.ts.map +1 -0
  401. package/dist/types/src/shared/calculateMinMax.d.ts +3 -0
  402. package/dist/types/src/shared/calculateMinMax.d.ts.map +1 -0
  403. package/dist/types/src/shared/calculateMinMax_test.d.ts +2 -0
  404. package/dist/types/src/shared/calculateMinMax_test.d.ts.map +1 -0
  405. package/dist/types/src/shared/decodeImageFrame.d.ts +2 -0
  406. package/dist/types/src/shared/decodeImageFrame.d.ts.map +1 -0
  407. package/dist/types/src/shared/decoders/decodeBigEndian.d.ts +5 -0
  408. package/dist/types/src/shared/decoders/decodeBigEndian.d.ts.map +1 -0
  409. package/dist/types/src/shared/decoders/decodeHTJ2K.d.ts +6 -0
  410. package/dist/types/src/shared/decoders/decodeHTJ2K.d.ts.map +1 -0
  411. package/dist/types/src/shared/decoders/decodeJPEG2000.d.ts +5 -0
  412. package/dist/types/src/shared/decoders/decodeJPEG2000.d.ts.map +1 -0
  413. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts +6 -0
  414. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts.map +1 -0
  415. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +1 -0
  416. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts.map +1 -0
  417. package/dist/types/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts +4 -0
  418. package/dist/types/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts.map +1 -0
  419. package/dist/types/src/shared/decoders/decodeJPEGLS.d.ts +5 -0
  420. package/dist/types/src/shared/decoders/decodeJPEGLS.d.ts.map +1 -0
  421. package/dist/types/src/shared/decoders/decodeJPEGLossless.d.ts +6 -0
  422. package/dist/types/src/shared/decoders/decodeJPEGLossless.d.ts.map +1 -0
  423. package/dist/types/src/shared/decoders/decodeLittleEndian.d.ts +5 -0
  424. package/dist/types/src/shared/decoders/decodeLittleEndian.d.ts.map +1 -0
  425. package/dist/types/src/shared/decoders/decodeRLE.d.ts +5 -0
  426. package/dist/types/src/shared/decoders/decodeRLE.d.ts.map +1 -0
  427. package/dist/types/src/shared/getMinMax.d.ts +7 -0
  428. package/dist/types/src/shared/getMinMax.d.ts.map +1 -0
  429. package/dist/types/src/shared/getMinMax_test.d.ts +2 -0
  430. package/dist/types/src/shared/getMinMax_test.d.ts.map +1 -0
  431. package/dist/types/src/shared/getPixelDataTypeFromMinMax.d.ts +3 -0
  432. package/dist/types/src/shared/getPixelDataTypeFromMinMax.d.ts.map +1 -0
  433. package/dist/types/src/shared/isColorImage.d.ts +2 -0
  434. package/dist/types/src/shared/isColorImage.d.ts.map +1 -0
  435. package/dist/types/src/shared/scaling/bilinear.d.ts +2 -0
  436. package/dist/types/src/shared/scaling/bilinear.d.ts.map +1 -0
  437. package/dist/types/src/shared/scaling/replicate.d.ts +2 -0
  438. package/dist/types/src/shared/scaling/replicate.d.ts.map +1 -0
  439. package/dist/types/src/shared/scaling/scaleArray.d.ts +3 -0
  440. package/dist/types/src/shared/scaling/scaleArray.d.ts.map +1 -0
  441. package/dist/types/src/types/DICOMLoaderDataSetWithFetchMore.d.ts +10 -0
  442. package/dist/types/src/types/DICOMLoaderDataSetWithFetchMore.d.ts.map +1 -0
  443. package/dist/types/src/types/DICOMLoaderIImage.d.ts +14 -0
  444. package/dist/types/src/types/DICOMLoaderIImage.d.ts.map +1 -0
  445. package/dist/types/src/types/DICOMLoaderImageOptions.d.ts +27 -0
  446. package/dist/types/src/types/DICOMLoaderImageOptions.d.ts.map +1 -0
  447. package/dist/types/src/types/ImageFrame.d.ts +44 -0
  448. package/dist/types/src/types/ImageFrame.d.ts.map +1 -0
  449. package/dist/types/src/types/LoadRequestFunction.d.ts +2 -0
  450. package/dist/types/src/types/LoadRequestFunction.d.ts.map +1 -0
  451. package/dist/types/src/types/LoaderDecodeOptions.d.ts +5 -0
  452. package/dist/types/src/types/LoaderDecodeOptions.d.ts.map +1 -0
  453. package/dist/types/src/types/LoaderOptions.d.ts +19 -0
  454. package/dist/types/src/types/LoaderOptions.d.ts.map +1 -0
  455. package/dist/types/src/types/LutType.d.ts +7 -0
  456. package/dist/types/src/types/LutType.d.ts.map +1 -0
  457. package/dist/types/src/types/MetadataModules.d.ts +67 -0
  458. package/dist/types/src/types/MetadataModules.d.ts.map +1 -0
  459. package/dist/types/src/types/PixelDataTypedArray.d.ts +3 -0
  460. package/dist/types/src/types/PixelDataTypedArray.d.ts.map +1 -0
  461. package/dist/types/src/types/WADORSMetaData.d.ts +5 -0
  462. package/dist/types/src/types/WADORSMetaData.d.ts.map +1 -0
  463. package/dist/types/src/types/WebWorkerTypes.d.ts +65 -0
  464. package/dist/types/src/types/WebWorkerTypes.d.ts.map +1 -0
  465. package/dist/types/src/types/XHRRequest.d.ts +17 -0
  466. package/dist/types/src/types/XHRRequest.d.ts.map +1 -0
  467. package/dist/types/src/types/index.d.ts +15 -0
  468. package/dist/types/src/types/index.d.ts.map +1 -0
  469. package/dist/types/src/version.d.ts +3 -0
  470. package/dist/types/src/version.d.ts.map +1 -0
  471. package/package.json +20 -10
  472. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js +0 -2
  473. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js.map +0 -1
  474. package/dist/dynamic-import/610.min.worker.js +0 -2
  475. package/dist/dynamic-import/610.min.worker.js.map +0 -1
  476. package/dist/dynamic-import/75788f12450d4c5ed494.wasm +0 -0
  477. package/dist/dynamic-import/945.min.worker.js +0 -2
  478. package/dist/dynamic-import/945.min.worker.js.map +0 -1
  479. package/dist/dynamic-import/index.worker.e62ecca63f1a2e124230.worker.js +0 -2
  480. package/dist/dynamic-import/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
  481. package/dist/index.worker.bundle.min.worker.js +0 -2
  482. package/dist/index.worker.bundle.min.worker.js.map +0 -1
@@ -0,0 +1,262 @@
1
+ import external from '../../../externalModules';
2
+ import getNumberValues from './getNumberValues';
3
+ import getNumberValue from './getNumberValue';
4
+ import getOverlayPlaneModule from './getOverlayPlaneModule';
5
+ import metaDataManager from '../metaDataManager';
6
+ import getValue from './getValue';
7
+ import { getMultiframeInformation, getFrameInformation, } from '../combineFrameInstance';
8
+ import multiframeMetadata from '../retrieveMultiframeMetadata';
9
+ import { extractOrientationFromMetadata, extractPositionFromMetadata, } from './extractPositioningFromMetadata';
10
+ import { getImageTypeSubItemFromMetadata } from './NMHelpers';
11
+ import isNMReconstructable from '../../isNMReconstructable';
12
+ import { getInstanceModule, instanceModuleNames, } from '../../getInstanceModule';
13
+ import { getUSEnhancedRegions } from './USHelpers';
14
+ function metaDataProvider(type, imageId) {
15
+ const { MetadataModules } = external.cornerstone.Enums;
16
+ const { dicomParser } = external;
17
+ if (type === MetadataModules.MULTIFRAME) {
18
+ const { metadata, frame } = multiframeMetadata.retrieveMultiframeMetadata(imageId);
19
+ if (!metadata) {
20
+ return;
21
+ }
22
+ const { PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, NumberOfFrames, } = getMultiframeInformation(metadata);
23
+ if (PerFrameFunctionalGroupsSequence || NumberOfFrames > 1) {
24
+ const { shared, perFrame } = getFrameInformation(PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, frame);
25
+ return {
26
+ NumberOfFrames,
27
+ PerFrameFunctionalInformation: perFrame,
28
+ SharedFunctionalInformation: shared,
29
+ };
30
+ }
31
+ return {
32
+ NumberOfFrames,
33
+ };
34
+ }
35
+ const metaData = metaDataManager.get(imageId);
36
+ if (!metaData) {
37
+ return;
38
+ }
39
+ if (type === MetadataModules.GENERAL_STUDY) {
40
+ return {
41
+ studyDescription: getValue(metaData['00081030']),
42
+ studyDate: dicomParser.parseDA(getValue(metaData['00080020'])),
43
+ studyTime: dicomParser.parseTM(getValue(metaData['00080030'], 0, '')),
44
+ accessionNumber: getValue(metaData['00080050']),
45
+ };
46
+ }
47
+ if (type === MetadataModules.GENERAL_SERIES) {
48
+ return {
49
+ modality: getValue(metaData['00080060']),
50
+ seriesInstanceUID: getValue(metaData['0020000E']),
51
+ seriesNumber: getNumberValue(metaData['00200011']),
52
+ studyInstanceUID: getValue(metaData['0020000D']),
53
+ seriesDate: dicomParser.parseDA(getValue(metaData['00080021'])),
54
+ seriesTime: dicomParser.parseTM(getValue(metaData['00080031'], 0, '')),
55
+ acquisitionDate: dicomParser.parseDA(getValue(metaData['00080022'])),
56
+ acquisitionTime: dicomParser.parseTM(getValue(metaData['00080032'], 0, '')),
57
+ };
58
+ }
59
+ if (type === MetadataModules.GENERAL_IMAGE) {
60
+ return {
61
+ sopInstanceUID: getValue(metaData['00080018']),
62
+ instanceNumber: getNumberValue(metaData['00200013']),
63
+ lossyImageCompression: getValue(metaData['00282110']),
64
+ lossyImageCompressionRatio: getNumberValue(metaData['00282112']),
65
+ lossyImageCompressionMethod: getValue(metaData['00282114']),
66
+ };
67
+ }
68
+ if (type === MetadataModules.PATIENT) {
69
+ return {
70
+ patientID: getValue(metaData['00100020']),
71
+ patientName: getValue(metaData['00100010']),
72
+ };
73
+ }
74
+ if (type === MetadataModules.PATIENT_STUDY) {
75
+ return {
76
+ patientAge: getNumberValue(metaData['00101010']),
77
+ patientSize: getNumberValue(metaData['00101020']),
78
+ patientSex: getValue(metaData['00100040']),
79
+ patientWeight: getNumberValue(metaData['00101030']),
80
+ };
81
+ }
82
+ if (type === MetadataModules.NM_MULTIFRAME_GEOMETRY) {
83
+ const modality = getValue(metaData['00080060']);
84
+ const imageSubType = getImageTypeSubItemFromMetadata(metaData, 2);
85
+ return {
86
+ modality,
87
+ imageType: getValue(metaData['00080008']),
88
+ imageSubType,
89
+ imageOrientationPatient: extractOrientationFromMetadata(metaData),
90
+ imagePositionPatient: extractPositionFromMetadata(metaData),
91
+ sliceThickness: getNumberValue(metaData['00180050']),
92
+ spacingBetweenSlices: getNumberValue(metaData['00180088']),
93
+ pixelSpacing: getNumberValues(metaData['00280030'], 2),
94
+ numberOfFrames: getNumberValue(metaData['00280008']),
95
+ isNMReconstructable: isNMReconstructable(imageSubType) && modality.includes('NM'),
96
+ };
97
+ }
98
+ if (type === MetadataModules.IMAGE_PLANE) {
99
+ const imageOrientationPatient = extractOrientationFromMetadata(metaData);
100
+ const imagePositionPatient = extractPositionFromMetadata(metaData);
101
+ const pixelSpacing = getNumberValues(metaData['00280030'], 2);
102
+ let columnPixelSpacing = null;
103
+ let rowPixelSpacing = null;
104
+ if (pixelSpacing) {
105
+ rowPixelSpacing = pixelSpacing[0];
106
+ columnPixelSpacing = pixelSpacing[1];
107
+ }
108
+ let rowCosines = null;
109
+ let columnCosines = null;
110
+ if (imageOrientationPatient) {
111
+ rowCosines = [
112
+ parseFloat(imageOrientationPatient[0]),
113
+ parseFloat(imageOrientationPatient[1]),
114
+ parseFloat(imageOrientationPatient[2]),
115
+ ];
116
+ columnCosines = [
117
+ parseFloat(imageOrientationPatient[3]),
118
+ parseFloat(imageOrientationPatient[4]),
119
+ parseFloat(imageOrientationPatient[5]),
120
+ ];
121
+ }
122
+ return {
123
+ frameOfReferenceUID: getValue(metaData['00200052']),
124
+ rows: getNumberValue(metaData['00280010']),
125
+ columns: getNumberValue(metaData['00280011']),
126
+ imageOrientationPatient,
127
+ rowCosines,
128
+ columnCosines,
129
+ imagePositionPatient,
130
+ sliceThickness: getNumberValue(metaData['00180050']),
131
+ sliceLocation: getNumberValue(metaData['00201041']),
132
+ pixelSpacing,
133
+ rowPixelSpacing,
134
+ columnPixelSpacing,
135
+ };
136
+ }
137
+ if (type === MetadataModules.ULTRASOUND_ENHANCED_REGION) {
138
+ return getUSEnhancedRegions(metaData);
139
+ }
140
+ if (type === MetadataModules.CALIBRATION) {
141
+ const modality = getValue(metaData['00080060']);
142
+ if (modality === 'US') {
143
+ const enhancedRegion = getUSEnhancedRegions(metaData);
144
+ return {
145
+ sequenceOfUltrasoundRegions: enhancedRegion,
146
+ };
147
+ }
148
+ }
149
+ if (type === MetadataModules.IMAGE_URL) {
150
+ return getImageUrlModule(imageId, metaData);
151
+ }
152
+ if (type === MetadataModules.CINE) {
153
+ return getCineModule(imageId, metaData);
154
+ }
155
+ if (type === MetadataModules.IMAGE_PIXEL) {
156
+ return {
157
+ samplesPerPixel: getNumberValue(metaData['00280002']),
158
+ photometricInterpretation: getValue(metaData['00280004']),
159
+ rows: getNumberValue(metaData['00280010']),
160
+ columns: getNumberValue(metaData['00280011']),
161
+ bitsAllocated: getNumberValue(metaData['00280100']),
162
+ bitsStored: getNumberValue(metaData['00280101']),
163
+ highBit: getValue(metaData['00280102']),
164
+ pixelRepresentation: getNumberValue(metaData['00280103']),
165
+ planarConfiguration: getNumberValue(metaData['00280006']),
166
+ pixelAspectRatio: getValue(metaData['00280034']),
167
+ smallestPixelValue: getNumberValue(metaData['00280106']),
168
+ largestPixelValue: getNumberValue(metaData['00280107']),
169
+ redPaletteColorLookupTableDescriptor: getNumberValues(metaData['00281101']),
170
+ greenPaletteColorLookupTableDescriptor: getNumberValues(metaData['00281102']),
171
+ bluePaletteColorLookupTableDescriptor: getNumberValues(metaData['00281103']),
172
+ redPaletteColorLookupTableData: getNumberValues(metaData['00281201']),
173
+ greenPaletteColorLookupTableData: getNumberValues(metaData['00281202']),
174
+ bluePaletteColorLookupTableData: getNumberValues(metaData['00281203']),
175
+ };
176
+ }
177
+ if (type === MetadataModules.VOI_LUT) {
178
+ return {
179
+ windowCenter: getNumberValues(metaData['00281050'], 1),
180
+ windowWidth: getNumberValues(metaData['00281051'], 1),
181
+ };
182
+ }
183
+ if (type === MetadataModules.MODALITY_LUT) {
184
+ return {
185
+ rescaleIntercept: getNumberValue(metaData['00281052']),
186
+ rescaleSlope: getNumberValue(metaData['00281053']),
187
+ rescaleType: getValue(metaData['00281054']),
188
+ };
189
+ }
190
+ if (type === MetadataModules.SOP_COMMON) {
191
+ return {
192
+ sopClassUID: getValue(metaData['00080016']),
193
+ sopInstanceUID: getValue(metaData['00080018']),
194
+ };
195
+ }
196
+ if (type === MetadataModules.PET_ISOTOPE) {
197
+ const radiopharmaceuticalInfo = getValue(metaData['00540016']);
198
+ if (radiopharmaceuticalInfo === undefined) {
199
+ return;
200
+ }
201
+ return {
202
+ radiopharmaceuticalInfo: {
203
+ radiopharmaceuticalStartTime: dicomParser.parseTM(getValue(radiopharmaceuticalInfo['00181072'], 0, '')),
204
+ radiopharmaceuticalStartDateTime: getValue(radiopharmaceuticalInfo['00181078'], 0, ''),
205
+ radionuclideTotalDose: getNumberValue(radiopharmaceuticalInfo['00181074']),
206
+ radionuclideHalfLife: getNumberValue(radiopharmaceuticalInfo['00181075']),
207
+ },
208
+ };
209
+ }
210
+ if (type === MetadataModules.OVERLAY_PLANE) {
211
+ return getOverlayPlaneModule(metaData);
212
+ }
213
+ if (type === 'transferSyntax') {
214
+ return getTransferSyntax(imageId, metaData);
215
+ }
216
+ if (type === MetadataModules.PET_SERIES) {
217
+ return {
218
+ correctedImage: getValue(metaData['00280051']),
219
+ units: getValue(metaData['00541001']),
220
+ decayCorrection: getValue(metaData['00541102']),
221
+ };
222
+ }
223
+ if (type === MetadataModules.PET_IMAGE) {
224
+ return {
225
+ frameReferenceTime: getNumberValue(metaData['00541300']),
226
+ actualFrameDuration: getNumberValue(metaData['00181242']),
227
+ };
228
+ }
229
+ if (type === 'instance') {
230
+ return getInstanceModule(imageId, metaDataProvider, instanceModuleNames);
231
+ }
232
+ }
233
+ export function getImageUrlModule(imageId, metaData) {
234
+ const { transferSyntaxUID } = getTransferSyntax(imageId, metaData);
235
+ const isVideo = external.cornerstone.utilities.isVideoTransferSyntax(transferSyntaxUID);
236
+ const imageUrl = imageId.substring(7);
237
+ const thumbnail = imageUrl.replace('/frames/', '/thumbnail/');
238
+ let rendered = imageUrl.replace('/frames/', '/rendered/');
239
+ if (isVideo) {
240
+ rendered = rendered.replace('/rendered/1', '/rendered');
241
+ }
242
+ return {
243
+ isVideo,
244
+ rendered,
245
+ thumbnail,
246
+ };
247
+ }
248
+ export function getCineModule(imageId, metaData) {
249
+ const cineRate = getValue(metaData['00180040']);
250
+ return {
251
+ cineRate,
252
+ numberOfFrames: getNumberValue(metaData['00280008']),
253
+ };
254
+ }
255
+ export function getTransferSyntax(imageId, metaData) {
256
+ return {
257
+ transferSyntaxUID: getValue(metaData['00020010']) ||
258
+ getValue(metaData['00083002']),
259
+ };
260
+ }
261
+ export default metaDataProvider;
262
+ //# sourceMappingURL=metaDataProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metaDataProvider.js","sourceRoot":"","sources":["../../../../../../src/imageLoader/wadors/metaData/metaDataProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import imageIdToURI from '../imageIdToURI';
2
+ import { combineFrameInstance } from './combineFrameInstance';
3
+ import multiframeMetadata from './retrieveMultiframeMetadata';
4
+ let metadataByImageURI = [];
5
+ let multiframeMetadataByImageURI = {};
6
+ function add(imageId, metadata) {
7
+ const imageURI = imageIdToURI(imageId);
8
+ metadata.isMultiframe = multiframeMetadata.isMultiframe(metadata);
9
+ metadataByImageURI[imageURI] = metadata;
10
+ }
11
+ function get(imageId) {
12
+ const imageURI = imageIdToURI(imageId);
13
+ const metadata = metadataByImageURI[imageURI];
14
+ if (metadata && !metadata?.isMultiframe) {
15
+ return metadata;
16
+ }
17
+ const cachedMetadata = multiframeMetadataByImageURI[imageURI];
18
+ if (cachedMetadata) {
19
+ return cachedMetadata;
20
+ }
21
+ const retrievedMetadata = multiframeMetadata._retrieveMultiframeMetadata(imageURI);
22
+ if (!retrievedMetadata || !retrievedMetadata.metadata) {
23
+ return;
24
+ }
25
+ const { metadata: firstFrameMetadata, frame } = retrievedMetadata;
26
+ if (firstFrameMetadata) {
27
+ const combined = combineFrameInstance(frame, firstFrameMetadata);
28
+ multiframeMetadataByImageURI[imageURI] = combined;
29
+ return combined;
30
+ }
31
+ }
32
+ function remove(imageId) {
33
+ const imageURI = imageIdToURI(imageId);
34
+ metadataByImageURI[imageURI] = undefined;
35
+ multiframeMetadataByImageURI[imageURI] = undefined;
36
+ }
37
+ function purge() {
38
+ metadataByImageURI = [];
39
+ multiframeMetadataByImageURI = {};
40
+ }
41
+ export { metadataByImageURI };
42
+ export default {
43
+ add,
44
+ get,
45
+ remove,
46
+ purge,
47
+ };
48
+ //# sourceMappingURL=metaDataManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metaDataManager.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadors/metaDataManager.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAE9D,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,IAAI,4BAA4B,GAAG,EAAE,CAAC;AAEtC,SAAS,GAAG,CAAC,OAAe,EAAE,QAAwB;IACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAGvC,QAAQ,CAAC,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAElE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAC1C,CAAC;AAMD,SAAS,GAAG,CAAC,OAAe;IAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAGvC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;QAExC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAE9D,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAGD,MAAM,iBAAiB,GACrB,kBAAkB,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAE3D,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC;IAElE,IAAI,kBAAkB,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAEjE,4BAA4B,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAElD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,OAAO;IACrB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAEzC,4BAA4B,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,KAAK;IACZ,kBAAkB,GAAG,EAAE,CAAC;IACxB,4BAA4B,GAAG,EAAE,CAAC;AACpC,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,eAAe;IACb,GAAG;IACH,GAAG;IACH,MAAM;IACN,KAAK;CACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ import loadImage from './loadImage';
2
+ import { metaDataProvider } from './metaData/index';
3
+ export default function (cornerstone) {
4
+ cornerstone.registerImageLoader('wadors', loadImage);
5
+ cornerstone.metaData.addProvider(metaDataProvider);
6
+ }
7
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadors/register.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,OAAO,WAAW,WAAW;IAElC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,27 @@
1
+ import getValue from './metaData/getValue';
2
+ import imageIdToURI from '../imageIdToURI';
3
+ import { metadataByImageURI } from './metaDataManager';
4
+ function _retrieveMultiframeMetadata(imageURI) {
5
+ const lastSlashIdx = imageURI.indexOf('/frames/') + 8;
6
+ const imageIdFrameless = imageURI.slice(0, lastSlashIdx);
7
+ const frame = parseInt(imageURI.slice(lastSlashIdx), 10);
8
+ const metadata = metadataByImageURI[`${imageIdFrameless}1`];
9
+ return {
10
+ metadata,
11
+ frame,
12
+ };
13
+ }
14
+ function retrieveMultiframeMetadata(imageId) {
15
+ const imageURI = imageIdToURI(imageId);
16
+ return _retrieveMultiframeMetadata(imageURI);
17
+ }
18
+ function isMultiframe(metadata) {
19
+ const numberOfFrames = getValue(metadata['00280008']);
20
+ return numberOfFrames && numberOfFrames > 1;
21
+ }
22
+ export default {
23
+ _retrieveMultiframeMetadata,
24
+ retrieveMultiframeMetadata,
25
+ isMultiframe,
26
+ };
27
+ //# sourceMappingURL=retrieveMultiframeMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieveMultiframeMetadata.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadors/retrieveMultiframeMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,SAAS,2BAA2B,CAAC,QAAQ;IAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;IAGzD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAE5D,OAAO;QACL,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAO;IACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvC,OAAO,2BAA2B,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,QAAQ;IAE5B,MAAM,cAAc,GAAG,QAAQ,CAAS,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAE9D,OAAO,cAAc,IAAI,cAAc,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,eAAe;IACb,2BAA2B;IAC3B,0BAA0B;IAC1B,YAAY;CACb,CAAC"}
@@ -0,0 +1,68 @@
1
+ function getDirectFrameInformation(dataSet, frame) {
2
+ if (!dataSet) {
3
+ return;
4
+ }
5
+ const { NumberOfFrames, PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, } = getMultiframeInformation(dataSet);
6
+ if (PerFrameFunctionalGroupsSequence || NumberOfFrames > 1) {
7
+ const { shared, perFrame } = getFrameInformation(PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, frame);
8
+ return {
9
+ NumberOfFrames,
10
+ PerFrameFunctionalInformation: perFrame,
11
+ SharedFunctionalInformation: shared,
12
+ };
13
+ }
14
+ return {
15
+ NumberOfFrames,
16
+ };
17
+ }
18
+ function getFrameInformation(PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, frameNumber) {
19
+ const shared = {};
20
+ (SharedFunctionalGroupsSequence
21
+ ? Object.values(SharedFunctionalGroupsSequence.items[0].dataSet.elements)
22
+ : []).map((it) => (shared[it.tag] = it));
23
+ const perFrame = {};
24
+ (PerFrameFunctionalGroupsSequence
25
+ ? Object.values(PerFrameFunctionalGroupsSequence.items[frameNumber - 1].dataSet.elements)
26
+ : []).map((it) => (perFrame[it.tag] = it));
27
+ return {
28
+ shared,
29
+ perFrame,
30
+ };
31
+ }
32
+ function getMultiframeInformation(dataSet) {
33
+ if (!dataSet) {
34
+ return;
35
+ }
36
+ const { elements, ...otherAttributtes } = dataSet;
37
+ const { x52009230: PerFrameFunctionalGroupsSequence, x52009229: SharedFunctionalGroupsSequence, ...otherElements } = elements;
38
+ const NumberOfFrames = dataSet.intString('x00280008');
39
+ return {
40
+ NumberOfFrames,
41
+ PerFrameFunctionalGroupsSequence,
42
+ SharedFunctionalGroupsSequence,
43
+ otherElements,
44
+ otherAttributtes,
45
+ };
46
+ }
47
+ function combineFrameInstanceDataset(frameNumber, dataSet) {
48
+ if (!dataSet) {
49
+ return;
50
+ }
51
+ const { NumberOfFrames, PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, otherElements, } = getMultiframeInformation(dataSet);
52
+ if (PerFrameFunctionalGroupsSequence || NumberOfFrames > 1) {
53
+ const { shared, perFrame } = getFrameInformation(PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, frameNumber);
54
+ const newElements = {
55
+ elements: {
56
+ ...otherElements,
57
+ ...shared,
58
+ ...perFrame,
59
+ },
60
+ };
61
+ const clonedDataset = Object.create(dataSet);
62
+ const newDataset = Object.assign(clonedDataset, newElements);
63
+ return newDataset;
64
+ }
65
+ return dataSet;
66
+ }
67
+ export { combineFrameInstanceDataset, getMultiframeInformation, getFrameInformation, getDirectFrameInformation, };
68
+ //# sourceMappingURL=combineFrameInstanceDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combineFrameInstanceDataset.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/combineFrameInstanceDataset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import external from '../../externalModules';
2
+ import { xhrRequest } from '../internal/index';
3
+ import dataSetFromPartialContent from './dataset-from-partial-content';
4
+ import { combineFrameInstanceDataset } from './combineFrameInstanceDataset';
5
+ import multiframeDataset from './retrieveMultiframeDataset';
6
+ let cacheSizeInBytes = 0;
7
+ let loadedDataSets = {};
8
+ let promises = {};
9
+ function isLoaded(uri) {
10
+ return loadedDataSets[uri] !== undefined;
11
+ }
12
+ function get(uri) {
13
+ let dataSet;
14
+ if (uri.includes('&frame=')) {
15
+ const { frame, dataSet: multiframeDataSet } = multiframeDataset.retrieveMultiframeDataset(uri);
16
+ dataSet = combineFrameInstanceDataset(frame, multiframeDataSet);
17
+ }
18
+ else if (loadedDataSets[uri]) {
19
+ dataSet = loadedDataSets[uri].dataSet;
20
+ }
21
+ return dataSet;
22
+ }
23
+ function update(uri, dataSet) {
24
+ const loadedDataSet = loadedDataSets[uri];
25
+ if (!loadedDataSet) {
26
+ console.error(`No loaded dataSet for uri ${uri}`);
27
+ return;
28
+ }
29
+ cacheSizeInBytes -= loadedDataSet.dataSet.byteArray.length;
30
+ loadedDataSet.dataSet = dataSet;
31
+ cacheSizeInBytes += dataSet.byteArray.length;
32
+ external.cornerstone.triggerEvent(external.cornerstone.events, 'datasetscachechanged', {
33
+ uri,
34
+ action: 'updated',
35
+ cacheInfo: getInfo(),
36
+ });
37
+ }
38
+ function load(uri, loadRequest = xhrRequest, imageId) {
39
+ const { cornerstone, dicomParser } = external;
40
+ if (loadedDataSets[uri]) {
41
+ return new Promise((resolve) => {
42
+ loadedDataSets[uri].cacheCount++;
43
+ resolve(loadedDataSets[uri].dataSet);
44
+ });
45
+ }
46
+ if (promises[uri]) {
47
+ promises[uri].cacheCount++;
48
+ return promises[uri];
49
+ }
50
+ const loadDICOMPromise = loadRequest(uri, imageId);
51
+ const promise = new Promise((resolve, reject) => {
52
+ loadDICOMPromise
53
+ .then(async function (dicomPart10AsArrayBuffer) {
54
+ const partialContent = {
55
+ isPartialContent: false,
56
+ fileTotalLength: null,
57
+ };
58
+ if (!(dicomPart10AsArrayBuffer instanceof ArrayBuffer)) {
59
+ if (!dicomPart10AsArrayBuffer.arrayBuffer) {
60
+ return reject(new Error('If not returning ArrayBuffer, must return object with `arrayBuffer` parameter'));
61
+ }
62
+ partialContent.isPartialContent =
63
+ dicomPart10AsArrayBuffer.flags.isPartialContent;
64
+ partialContent.fileTotalLength =
65
+ dicomPart10AsArrayBuffer.flags.fileTotalLength;
66
+ dicomPart10AsArrayBuffer = dicomPart10AsArrayBuffer.arrayBuffer;
67
+ }
68
+ const byteArray = new Uint8Array(dicomPart10AsArrayBuffer);
69
+ let dataSet;
70
+ try {
71
+ if (partialContent.isPartialContent) {
72
+ dataSet = await dataSetFromPartialContent(byteArray, loadRequest, {
73
+ uri,
74
+ imageId,
75
+ fileTotalLength: partialContent.fileTotalLength,
76
+ });
77
+ }
78
+ else {
79
+ dataSet = dicomParser.parseDicom(byteArray);
80
+ }
81
+ }
82
+ catch (error) {
83
+ return reject(error);
84
+ }
85
+ loadedDataSets[uri] = {
86
+ dataSet,
87
+ cacheCount: promise.cacheCount,
88
+ };
89
+ cacheSizeInBytes += dataSet.byteArray.length;
90
+ resolve(dataSet);
91
+ cornerstone.triggerEvent(cornerstone.events, 'datasetscachechanged', {
92
+ uri,
93
+ action: 'loaded',
94
+ cacheInfo: getInfo(),
95
+ });
96
+ }, reject)
97
+ .then(() => {
98
+ delete promises[uri];
99
+ }, () => {
100
+ delete promises[uri];
101
+ });
102
+ });
103
+ promise.cacheCount = 1;
104
+ promises[uri] = promise;
105
+ return promise;
106
+ }
107
+ function unload(uri) {
108
+ const { cornerstone } = external;
109
+ if (loadedDataSets[uri]) {
110
+ loadedDataSets[uri].cacheCount--;
111
+ if (loadedDataSets[uri].cacheCount === 0) {
112
+ cacheSizeInBytes -= loadedDataSets[uri].dataSet.byteArray.length;
113
+ delete loadedDataSets[uri];
114
+ cornerstone.triggerEvent(cornerstone.events, 'datasetscachechanged', {
115
+ uri,
116
+ action: 'unloaded',
117
+ cacheInfo: getInfo(),
118
+ });
119
+ }
120
+ }
121
+ }
122
+ export function getInfo() {
123
+ return {
124
+ cacheSizeInBytes,
125
+ numberOfDataSetsCached: Object.keys(loadedDataSets).length,
126
+ };
127
+ }
128
+ function purge() {
129
+ loadedDataSets = {};
130
+ promises = {};
131
+ cacheSizeInBytes = 0;
132
+ }
133
+ export default {
134
+ isLoaded,
135
+ load,
136
+ unload,
137
+ getInfo,
138
+ purge,
139
+ get,
140
+ update,
141
+ };
142
+ export { loadedDataSets };
143
+ //# sourceMappingURL=dataSetCacheManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataSetCacheManager.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/dataSetCacheManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { expect } from 'chai';
2
+ import dataSetCacheManager from './dataSetCacheManager';
3
+ describe('#getInfo', () => {
4
+ it('should return cache info for an empty cache', function () {
5
+ dataSetCacheManager.purge();
6
+ const cacheInfo = dataSetCacheManager.getInfo();
7
+ expect(cacheInfo.cacheSizeInBytes).to.be.equal(0);
8
+ expect(cacheInfo.numberOfDataSetsCached).to.be.equal(0);
9
+ });
10
+ });
11
+ //# sourceMappingURL=dataSetCacheManager_test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataSetCacheManager_test.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/dataSetCacheManager_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,6CAA6C,EAAE;QAChD,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAEhD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}