@cornerstonejs/dicom-image-loader 1.78.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 (478) 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/{945.min.worker.js → 584.min.js} +2 -2
  7. package/dist/dynamic-import/584.min.js.map +1 -0
  8. package/dist/dynamic-import/595.min.js +2 -0
  9. package/dist/dynamic-import/595.min.js.map +1 -0
  10. package/dist/dynamic-import/610.min.js +2 -0
  11. package/dist/dynamic-import/610.min.js.map +1 -0
  12. package/dist/dynamic-import/958.min.js +3 -0
  13. package/dist/dynamic-import/958.min.js.LICENSE.txt +5 -0
  14. package/dist/dynamic-import/958.min.js.map +1 -0
  15. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js +1 -1
  16. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js.map +1 -1
  17. package/dist/esm/codecs/jpeg.js +891 -0
  18. package/dist/esm/codecs/jpeg.js.map +1 -0
  19. package/dist/esm/codecs/jpegLossless.js +1220 -0
  20. package/dist/esm/codecs/jpegLossless.js.map +1 -0
  21. package/dist/esm/src/constants/transferSyntaxes.js +47 -0
  22. package/dist/esm/src/constants/transferSyntaxes.js.map +1 -0
  23. package/dist/esm/src/externalModules.js +45 -0
  24. package/dist/esm/src/externalModules.js.map +1 -0
  25. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js +78 -0
  26. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js.map +1 -0
  27. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js +22 -0
  28. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js.map +1 -0
  29. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js +29 -0
  30. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js.map +1 -0
  31. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js +45 -0
  32. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js.map +1 -0
  33. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js +34 -0
  34. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js.map +1 -0
  35. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js +36 -0
  36. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js.map +1 -0
  37. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js +8 -0
  38. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js.map +1 -0
  39. package/dist/esm/src/imageLoader/configure.js +12 -0
  40. package/dist/esm/src/imageLoader/configure.js.map +1 -0
  41. package/dist/esm/src/imageLoader/convertColorSpace.js +41 -0
  42. package/dist/esm/src/imageLoader/convertColorSpace.js.map +1 -0
  43. package/dist/esm/src/imageLoader/createImage.js +249 -0
  44. package/dist/esm/src/imageLoader/createImage.js.map +1 -0
  45. package/dist/esm/src/imageLoader/decodeImageFrame.js +66 -0
  46. package/dist/esm/src/imageLoader/decodeImageFrame.js.map +1 -0
  47. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js +65 -0
  48. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js.map +1 -0
  49. package/dist/esm/src/imageLoader/getImageFrame.js +27 -0
  50. package/dist/esm/src/imageLoader/getImageFrame.js.map +1 -0
  51. package/dist/esm/src/imageLoader/getInstanceModule.js +41 -0
  52. package/dist/esm/src/imageLoader/getInstanceModule.js.map +1 -0
  53. package/dist/esm/src/imageLoader/getMinMax.js +16 -0
  54. package/dist/esm/src/imageLoader/getMinMax.js.map +1 -0
  55. package/dist/esm/src/imageLoader/getScalingParameters.js +16 -0
  56. package/dist/esm/src/imageLoader/getScalingParameters.js.map +1 -0
  57. package/dist/esm/src/imageLoader/imageIdToURI.js +5 -0
  58. package/dist/esm/src/imageLoader/imageIdToURI.js.map +1 -0
  59. package/dist/esm/src/imageLoader/index.js +37 -0
  60. package/dist/esm/src/imageLoader/index.js.map +1 -0
  61. package/dist/esm/src/imageLoader/internal/index.js +9 -0
  62. package/dist/esm/src/imageLoader/internal/index.js.map +1 -0
  63. package/dist/esm/src/imageLoader/internal/options.js +24 -0
  64. package/dist/esm/src/imageLoader/internal/options.js.map +1 -0
  65. package/dist/esm/src/imageLoader/internal/rangeRequest.js +122 -0
  66. package/dist/esm/src/imageLoader/internal/rangeRequest.js.map +1 -0
  67. package/dist/esm/src/imageLoader/internal/streamRequest.js +93 -0
  68. package/dist/esm/src/imageLoader/internal/streamRequest.js.map +1 -0
  69. package/dist/esm/src/imageLoader/internal/xhrRequest.js +103 -0
  70. package/dist/esm/src/imageLoader/internal/xhrRequest.js.map +1 -0
  71. package/dist/esm/src/imageLoader/isColorConversionRequired.js +23 -0
  72. package/dist/esm/src/imageLoader/isColorConversionRequired.js.map +1 -0
  73. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js +10 -0
  74. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js.map +1 -0
  75. package/dist/esm/src/imageLoader/isNMReconstructable.js +4 -0
  76. package/dist/esm/src/imageLoader/isNMReconstructable.js.map +1 -0
  77. package/dist/esm/src/imageLoader/registerLoaders.js +8 -0
  78. package/dist/esm/src/imageLoader/registerLoaders.js.map +1 -0
  79. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js +45 -0
  80. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js.map +1 -0
  81. package/dist/esm/src/imageLoader/wadors/extractMultipart.js +74 -0
  82. package/dist/esm/src/imageLoader/wadors/extractMultipart.js.map +1 -0
  83. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js +33 -0
  84. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js.map +1 -0
  85. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js +9 -0
  86. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js.map +1 -0
  87. package/dist/esm/src/imageLoader/wadors/getPixelData.js +36 -0
  88. package/dist/esm/src/imageLoader/wadors/getPixelData.js.map +1 -0
  89. package/dist/esm/src/imageLoader/wadors/getTagValue.js +10 -0
  90. package/dist/esm/src/imageLoader/wadors/getTagValue.js.map +1 -0
  91. package/dist/esm/src/imageLoader/wadors/index.js +22 -0
  92. package/dist/esm/src/imageLoader/wadors/index.js.map +1 -0
  93. package/dist/esm/src/imageLoader/wadors/loadImage.js +126 -0
  94. package/dist/esm/src/imageLoader/wadors/loadImage.js.map +1 -0
  95. package/dist/esm/src/imageLoader/wadors/loadImage_test.js +42 -0
  96. package/dist/esm/src/imageLoader/wadors/loadImage_test.js.map +1 -0
  97. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js +39 -0
  98. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js.map +1 -0
  99. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js +47 -0
  100. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js.map +1 -0
  101. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js +19 -0
  102. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js.map +1 -0
  103. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js +7 -0
  104. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js.map +1 -0
  105. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js +10 -0
  106. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js.map +1 -0
  107. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js +10 -0
  108. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js.map +1 -0
  109. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js +21 -0
  110. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js.map +1 -0
  111. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js +39 -0
  112. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js.map +1 -0
  113. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js +15 -0
  114. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js.map +1 -0
  115. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js +15 -0
  116. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js.map +1 -0
  117. package/dist/esm/src/imageLoader/wadors/metaData/index.js +8 -0
  118. package/dist/esm/src/imageLoader/wadors/metaData/index.js.map +1 -0
  119. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js +262 -0
  120. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js.map +1 -0
  121. package/dist/esm/src/imageLoader/wadors/metaDataManager.js +48 -0
  122. package/dist/esm/src/imageLoader/wadors/metaDataManager.js.map +1 -0
  123. package/dist/esm/src/imageLoader/wadors/register.js +7 -0
  124. package/dist/esm/src/imageLoader/wadors/register.js.map +1 -0
  125. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js +27 -0
  126. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js.map +1 -0
  127. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js +68 -0
  128. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js.map +1 -0
  129. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js +143 -0
  130. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js.map +1 -0
  131. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js +11 -0
  132. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js.map +1 -0
  133. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js +57 -0
  134. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js.map +1 -0
  135. package/dist/esm/src/imageLoader/wadouri/fileManager.js +21 -0
  136. package/dist/esm/src/imageLoader/wadouri/fileManager.js.map +1 -0
  137. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js +34 -0
  138. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js.map +1 -0
  139. package/dist/esm/src/imageLoader/wadouri/getPixelData.js +14 -0
  140. package/dist/esm/src/imageLoader/wadouri/getPixelData.js.map +1 -0
  141. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js +48 -0
  142. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js.map +1 -0
  143. package/dist/esm/src/imageLoader/wadouri/index.js +32 -0
  144. package/dist/esm/src/imageLoader/wadouri/index.js.map +1 -0
  145. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js +18 -0
  146. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js.map +1 -0
  147. package/dist/esm/src/imageLoader/wadouri/loadImage.js +105 -0
  148. package/dist/esm/src/imageLoader/wadouri/loadImage.js.map +1 -0
  149. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js +81 -0
  150. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js.map +1 -0
  151. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js +80 -0
  152. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js.map +1 -0
  153. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js +45 -0
  154. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js.map +1 -0
  155. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js +31 -0
  156. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js.map +1 -0
  157. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js +17 -0
  158. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js.map +1 -0
  159. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js +37 -0
  160. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js.map +1 -0
  161. package/dist/esm/src/imageLoader/wadouri/metaData/index.js +6 -0
  162. package/dist/esm/src/imageLoader/wadouri/metaData/index.js.map +1 -0
  163. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js +211 -0
  164. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js.map +1 -0
  165. package/dist/esm/src/imageLoader/wadouri/parseImageId.js +21 -0
  166. package/dist/esm/src/imageLoader/wadouri/parseImageId.js.map +1 -0
  167. package/dist/esm/src/imageLoader/wadouri/register.js +9 -0
  168. package/dist/esm/src/imageLoader/wadouri/register.js.map +1 -0
  169. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js +58 -0
  170. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js.map +1 -0
  171. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js +15 -0
  172. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js.map +1 -0
  173. package/dist/esm/src/shared/calculateMinMax.js +25 -0
  174. package/dist/esm/src/shared/calculateMinMax.js.map +1 -0
  175. package/dist/esm/src/shared/calculateMinMax_test.js +39 -0
  176. package/dist/esm/src/shared/calculateMinMax_test.js.map +1 -0
  177. package/dist/esm/src/shared/decodeImageFrame.js +269 -0
  178. package/dist/esm/src/shared/decodeImageFrame.js.map +1 -0
  179. package/dist/esm/src/shared/decoders/decodeBigEndian.js +29 -0
  180. package/dist/esm/src/shared/decoders/decodeBigEndian.js.map +1 -0
  181. package/dist/esm/src/shared/decoders/decodeHTJ2K.js +110 -0
  182. package/dist/esm/src/shared/decoders/decodeHTJ2K.js.map +1 -0
  183. package/dist/esm/src/shared/decoders/decodeJPEG2000.js +94 -0
  184. package/dist/esm/src/shared/decoders/decodeJPEG2000.js.map +1 -0
  185. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js +35 -0
  186. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js.map +1 -0
  187. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +2 -0
  188. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js.map +1 -0
  189. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js +63 -0
  190. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js.map +1 -0
  191. package/dist/esm/src/shared/decoders/decodeJPEGLS.js +85 -0
  192. package/dist/esm/src/shared/decoders/decodeJPEGLS.js.map +1 -0
  193. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js +40 -0
  194. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js.map +1 -0
  195. package/dist/esm/src/shared/decoders/decodeLittleEndian.js +30 -0
  196. package/dist/esm/src/shared/decoders/decodeLittleEndian.js.map +1 -0
  197. package/dist/esm/src/shared/decoders/decodeRLE.js +129 -0
  198. package/dist/esm/src/shared/decoders/decodeRLE.js.map +1 -0
  199. package/dist/esm/src/shared/getMinMax.js +17 -0
  200. package/dist/esm/src/shared/getMinMax.js.map +1 -0
  201. package/dist/esm/src/shared/getMinMax_test.js +10 -0
  202. package/dist/esm/src/shared/getMinMax_test.js.map +1 -0
  203. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js +23 -0
  204. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js.map +1 -0
  205. package/dist/esm/src/shared/isColorImage.js +11 -0
  206. package/dist/esm/src/shared/isColorImage.js.map +1 -0
  207. package/dist/esm/src/shared/scaling/bilinear.js +33 -0
  208. package/dist/esm/src/shared/scaling/bilinear.js.map +1 -0
  209. package/dist/esm/src/shared/scaling/replicate.js +21 -0
  210. package/dist/esm/src/shared/scaling/replicate.js.map +1 -0
  211. package/dist/esm/src/shared/scaling/scaleArray.js +16 -0
  212. package/dist/esm/src/shared/scaling/scaleArray.js.map +1 -0
  213. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js +2 -0
  214. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js.map +1 -0
  215. package/dist/esm/src/types/DICOMLoaderIImage.js +2 -0
  216. package/dist/esm/src/types/DICOMLoaderIImage.js.map +1 -0
  217. package/dist/esm/src/types/DICOMLoaderImageOptions.js +2 -0
  218. package/dist/esm/src/types/DICOMLoaderImageOptions.js.map +1 -0
  219. package/dist/esm/src/types/ImageFrame.js +2 -0
  220. package/dist/esm/src/types/ImageFrame.js.map +1 -0
  221. package/dist/esm/src/types/LoadRequestFunction.js +2 -0
  222. package/dist/esm/src/types/LoadRequestFunction.js.map +1 -0
  223. package/dist/esm/src/types/LoaderDecodeOptions.js +2 -0
  224. package/dist/esm/src/types/LoaderDecodeOptions.js.map +1 -0
  225. package/dist/esm/src/types/LoaderOptions.js +2 -0
  226. package/dist/esm/src/types/LoaderOptions.js.map +1 -0
  227. package/dist/esm/src/types/LutType.js +2 -0
  228. package/dist/esm/src/types/LutType.js.map +1 -0
  229. package/dist/esm/src/types/MetadataModules.js +2 -0
  230. package/dist/esm/src/types/MetadataModules.js.map +1 -0
  231. package/dist/esm/src/types/PixelDataTypedArray.js +2 -0
  232. package/dist/esm/src/types/PixelDataTypedArray.js.map +1 -0
  233. package/dist/esm/src/types/WADORSMetaData.js +2 -0
  234. package/dist/esm/src/types/WADORSMetaData.js.map +1 -0
  235. package/dist/esm/src/types/WebWorkerTypes.js +2 -0
  236. package/dist/esm/src/types/WebWorkerTypes.js.map +1 -0
  237. package/dist/esm/src/types/XHRRequest.js +2 -0
  238. package/dist/esm/src/types/XHRRequest.js.map +1 -0
  239. package/dist/esm/src/types/index.js +2 -0
  240. package/dist/esm/src/types/index.js.map +1 -0
  241. package/dist/esm/src/version.js +2 -0
  242. package/dist/esm/src/version.js.map +1 -0
  243. package/dist/types/codecs/jpeg.d.ts +11 -0
  244. package/dist/types/codecs/jpeg.d.ts.map +1 -0
  245. package/dist/types/codecs/jpegLossless.d.ts +8 -0
  246. package/dist/types/codecs/jpegLossless.d.ts.map +1 -0
  247. package/dist/types/src/constants/transferSyntaxes.d.ts +47 -0
  248. package/dist/types/src/constants/transferSyntaxes.d.ts.map +1 -0
  249. package/dist/types/src/externalModules.d.ts +6 -0
  250. package/dist/types/src/externalModules.d.ts.map +1 -0
  251. package/dist/types/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts +4 -0
  252. package/dist/types/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts.map +1 -0
  253. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts +3 -0
  254. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts.map +1 -0
  255. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts +3 -0
  256. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts.map +1 -0
  257. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +3 -0
  258. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts.map +1 -0
  259. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts +3 -0
  260. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts.map +1 -0
  261. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts +3 -0
  262. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts.map +1 -0
  263. package/dist/types/src/imageLoader/colorSpaceConverters/index.d.ts +8 -0
  264. package/dist/types/src/imageLoader/colorSpaceConverters/index.d.ts.map +1 -0
  265. package/dist/types/src/imageLoader/configure.d.ts +4 -0
  266. package/dist/types/src/imageLoader/configure.d.ts.map +1 -0
  267. package/dist/types/src/imageLoader/convertColorSpace.d.ts +2 -0
  268. package/dist/types/src/imageLoader/convertColorSpace.d.ts.map +1 -0
  269. package/dist/types/src/imageLoader/createImage.d.ts +5 -0
  270. package/dist/types/src/imageLoader/createImage.d.ts.map +1 -0
  271. package/dist/types/src/imageLoader/decodeImageFrame.d.ts +4 -0
  272. package/dist/types/src/imageLoader/decodeImageFrame.d.ts.map +1 -0
  273. package/dist/types/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts +5 -0
  274. package/dist/types/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts.map +1 -0
  275. package/dist/types/src/imageLoader/getImageFrame.d.ts +4 -0
  276. package/dist/types/src/imageLoader/getImageFrame.d.ts.map +1 -0
  277. package/dist/types/src/imageLoader/getInstanceModule.d.ts +4 -0
  278. package/dist/types/src/imageLoader/getInstanceModule.d.ts.map +1 -0
  279. package/dist/types/src/imageLoader/getMinMax.d.ts +5 -0
  280. package/dist/types/src/imageLoader/getMinMax.d.ts.map +1 -0
  281. package/dist/types/src/imageLoader/getScalingParameters.d.ts +7 -0
  282. package/dist/types/src/imageLoader/getScalingParameters.d.ts.map +1 -0
  283. package/dist/types/src/imageLoader/imageIdToURI.d.ts +2 -0
  284. package/dist/types/src/imageLoader/imageIdToURI.d.ts.map +1 -0
  285. package/dist/types/src/imageLoader/index.d.ts +95 -0
  286. package/dist/types/src/imageLoader/index.d.ts.map +1 -0
  287. package/dist/types/src/imageLoader/internal/index.d.ts +9 -0
  288. package/dist/types/src/imageLoader/internal/index.d.ts.map +1 -0
  289. package/dist/types/src/imageLoader/internal/options.d.ts +4 -0
  290. package/dist/types/src/imageLoader/internal/options.d.ts.map +1 -0
  291. package/dist/types/src/imageLoader/internal/rangeRequest.d.ts +10 -0
  292. package/dist/types/src/imageLoader/internal/rangeRequest.d.ts.map +1 -0
  293. package/dist/types/src/imageLoader/internal/streamRequest.d.ts +3 -0
  294. package/dist/types/src/imageLoader/internal/streamRequest.d.ts.map +1 -0
  295. package/dist/types/src/imageLoader/internal/xhrRequest.d.ts +4 -0
  296. package/dist/types/src/imageLoader/internal/xhrRequest.d.ts.map +1 -0
  297. package/dist/types/src/imageLoader/isColorConversionRequired.d.ts +2 -0
  298. package/dist/types/src/imageLoader/isColorConversionRequired.d.ts.map +1 -0
  299. package/dist/types/src/imageLoader/isJPEGBaseline8BitColor.d.ts +4 -0
  300. package/dist/types/src/imageLoader/isJPEGBaseline8BitColor.d.ts.map +1 -0
  301. package/dist/types/src/imageLoader/isNMReconstructable.d.ts +2 -0
  302. package/dist/types/src/imageLoader/isNMReconstructable.d.ts.map +1 -0
  303. package/dist/types/src/imageLoader/registerLoaders.d.ts +3 -0
  304. package/dist/types/src/imageLoader/registerLoaders.d.ts.map +1 -0
  305. package/dist/types/src/imageLoader/wadors/combineFrameInstance.d.ts +13 -0
  306. package/dist/types/src/imageLoader/wadors/combineFrameInstance.d.ts.map +1 -0
  307. package/dist/types/src/imageLoader/wadors/extractMultipart.d.ts +24 -0
  308. package/dist/types/src/imageLoader/wadors/extractMultipart.d.ts.map +1 -0
  309. package/dist/types/src/imageLoader/wadors/findIndexOfString.d.ts +3 -0
  310. package/dist/types/src/imageLoader/wadors/findIndexOfString.d.ts.map +1 -0
  311. package/dist/types/src/imageLoader/wadors/getImageQualityStatus.d.ts +3 -0
  312. package/dist/types/src/imageLoader/wadors/getImageQualityStatus.d.ts.map +1 -0
  313. package/dist/types/src/imageLoader/wadors/getPixelData.d.ts +27 -0
  314. package/dist/types/src/imageLoader/wadors/getPixelData.d.ts.map +1 -0
  315. package/dist/types/src/imageLoader/wadors/getTagValue.d.ts +2 -0
  316. package/dist/types/src/imageLoader/wadors/getTagValue.d.ts.map +1 -0
  317. package/dist/types/src/imageLoader/wadors/index.d.ts +26 -0
  318. package/dist/types/src/imageLoader/wadors/index.d.ts.map +1 -0
  319. package/dist/types/src/imageLoader/wadors/loadImage.d.ts +26 -0
  320. package/dist/types/src/imageLoader/wadors/loadImage.d.ts.map +1 -0
  321. package/dist/types/src/imageLoader/wadors/loadImage_test.d.ts +2 -0
  322. package/dist/types/src/imageLoader/wadors/loadImage_test.d.ts.map +1 -0
  323. package/dist/types/src/imageLoader/wadors/metaData/NMHelpers.d.ts +6 -0
  324. package/dist/types/src/imageLoader/wadors/metaData/NMHelpers.d.ts.map +1 -0
  325. package/dist/types/src/imageLoader/wadors/metaData/USHelpers.d.ts +20 -0
  326. package/dist/types/src/imageLoader/wadors/metaData/USHelpers.d.ts.map +1 -0
  327. package/dist/types/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts +4 -0
  328. package/dist/types/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts.map +1 -0
  329. package/dist/types/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts +3 -0
  330. package/dist/types/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts.map +1 -0
  331. package/dist/types/src/imageLoader/wadors/metaData/getNumberString.d.ts +4 -0
  332. package/dist/types/src/imageLoader/wadors/metaData/getNumberString.d.ts.map +1 -0
  333. package/dist/types/src/imageLoader/wadors/metaData/getNumberValue.d.ts +4 -0
  334. package/dist/types/src/imageLoader/wadors/metaData/getNumberValue.d.ts.map +1 -0
  335. package/dist/types/src/imageLoader/wadors/metaData/getNumberValues.d.ts +4 -0
  336. package/dist/types/src/imageLoader/wadors/metaData/getNumberValues.d.ts.map +1 -0
  337. package/dist/types/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts +5 -0
  338. package/dist/types/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts.map +1 -0
  339. package/dist/types/src/imageLoader/wadors/metaData/getSequenceItems.d.ts +4 -0
  340. package/dist/types/src/imageLoader/wadors/metaData/getSequenceItems.d.ts.map +1 -0
  341. package/dist/types/src/imageLoader/wadors/metaData/getValue.d.ts +4 -0
  342. package/dist/types/src/imageLoader/wadors/metaData/getValue.d.ts.map +1 -0
  343. package/dist/types/src/imageLoader/wadors/metaData/index.d.ts +8 -0
  344. package/dist/types/src/imageLoader/wadors/metaData/index.d.ts.map +1 -0
  345. package/dist/types/src/imageLoader/wadors/metaData/metaDataProvider.d.ts +15 -0
  346. package/dist/types/src/imageLoader/wadors/metaData/metaDataProvider.d.ts.map +1 -0
  347. package/dist/types/src/imageLoader/wadors/metaDataManager.d.ts +15 -0
  348. package/dist/types/src/imageLoader/wadors/metaDataManager.d.ts.map +1 -0
  349. package/dist/types/src/imageLoader/wadors/register.d.ts +2 -0
  350. package/dist/types/src/imageLoader/wadors/register.d.ts.map +1 -0
  351. package/dist/types/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts +16 -0
  352. package/dist/types/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts.map +1 -0
  353. package/dist/types/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts +23 -0
  354. package/dist/types/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts.map +1 -0
  355. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager.d.ts +32 -0
  356. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager.d.ts.map +1 -0
  357. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts +2 -0
  358. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts.map +1 -0
  359. package/dist/types/src/imageLoader/wadouri/dataset-from-partial-content.d.ts +7 -0
  360. package/dist/types/src/imageLoader/wadouri/dataset-from-partial-content.d.ts.map +1 -0
  361. package/dist/types/src/imageLoader/wadouri/fileManager.d.ts +12 -0
  362. package/dist/types/src/imageLoader/wadouri/fileManager.d.ts.map +1 -0
  363. package/dist/types/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts +3 -0
  364. package/dist/types/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts.map +1 -0
  365. package/dist/types/src/imageLoader/wadouri/getPixelData.d.ts +4 -0
  366. package/dist/types/src/imageLoader/wadouri/getPixelData.d.ts.map +1 -0
  367. package/dist/types/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts +4 -0
  368. package/dist/types/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts.map +1 -0
  369. package/dist/types/src/imageLoader/wadouri/index.d.ts +44 -0
  370. package/dist/types/src/imageLoader/wadouri/index.d.ts.map +1 -0
  371. package/dist/types/src/imageLoader/wadouri/loadFileRequest.d.ts +3 -0
  372. package/dist/types/src/imageLoader/wadouri/loadFileRequest.d.ts.map +1 -0
  373. package/dist/types/src/imageLoader/wadouri/loadImage.d.ts +10 -0
  374. package/dist/types/src/imageLoader/wadouri/loadImage.d.ts.map +1 -0
  375. package/dist/types/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts +7 -0
  376. package/dist/types/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts.map +1 -0
  377. package/dist/types/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts +5 -0
  378. package/dist/types/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts.map +1 -0
  379. package/dist/types/src/imageLoader/wadouri/metaData/getLUTs.d.ts +5 -0
  380. package/dist/types/src/imageLoader/wadouri/metaData/getLUTs.d.ts.map +1 -0
  381. package/dist/types/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +4 -0
  382. package/dist/types/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts.map +1 -0
  383. package/dist/types/src/imageLoader/wadouri/metaData/getNumberValues.d.ts +4 -0
  384. package/dist/types/src/imageLoader/wadouri/metaData/getNumberValues.d.ts.map +1 -0
  385. package/dist/types/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts +5 -0
  386. package/dist/types/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts.map +1 -0
  387. package/dist/types/src/imageLoader/wadouri/metaData/index.d.ts +6 -0
  388. package/dist/types/src/imageLoader/wadouri/metaData/index.d.ts.map +1 -0
  389. package/dist/types/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts +3 -0
  390. package/dist/types/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts.map +1 -0
  391. package/dist/types/src/imageLoader/wadouri/parseImageId.d.ts +9 -0
  392. package/dist/types/src/imageLoader/wadouri/parseImageId.d.ts.map +1 -0
  393. package/dist/types/src/imageLoader/wadouri/register.d.ts +3 -0
  394. package/dist/types/src/imageLoader/wadouri/register.d.ts.map +1 -0
  395. package/dist/types/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts +19 -0
  396. package/dist/types/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts.map +1 -0
  397. package/dist/types/src/imageLoader/wadouri/unpackBinaryFrame.d.ts +4 -0
  398. package/dist/types/src/imageLoader/wadouri/unpackBinaryFrame.d.ts.map +1 -0
  399. package/dist/types/src/shared/calculateMinMax.d.ts +3 -0
  400. package/dist/types/src/shared/calculateMinMax.d.ts.map +1 -0
  401. package/dist/types/src/shared/calculateMinMax_test.d.ts +2 -0
  402. package/dist/types/src/shared/calculateMinMax_test.d.ts.map +1 -0
  403. package/dist/types/src/shared/decodeImageFrame.d.ts +2 -0
  404. package/dist/types/src/shared/decodeImageFrame.d.ts.map +1 -0
  405. package/dist/types/src/shared/decoders/decodeBigEndian.d.ts +5 -0
  406. package/dist/types/src/shared/decoders/decodeBigEndian.d.ts.map +1 -0
  407. package/dist/types/src/shared/decoders/decodeHTJ2K.d.ts +6 -0
  408. package/dist/types/src/shared/decoders/decodeHTJ2K.d.ts.map +1 -0
  409. package/dist/types/src/shared/decoders/decodeJPEG2000.d.ts +5 -0
  410. package/dist/types/src/shared/decoders/decodeJPEG2000.d.ts.map +1 -0
  411. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts +6 -0
  412. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts.map +1 -0
  413. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +1 -0
  414. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts.map +1 -0
  415. package/dist/types/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts +4 -0
  416. package/dist/types/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts.map +1 -0
  417. package/dist/types/src/shared/decoders/decodeJPEGLS.d.ts +5 -0
  418. package/dist/types/src/shared/decoders/decodeJPEGLS.d.ts.map +1 -0
  419. package/dist/types/src/shared/decoders/decodeJPEGLossless.d.ts +6 -0
  420. package/dist/types/src/shared/decoders/decodeJPEGLossless.d.ts.map +1 -0
  421. package/dist/types/src/shared/decoders/decodeLittleEndian.d.ts +5 -0
  422. package/dist/types/src/shared/decoders/decodeLittleEndian.d.ts.map +1 -0
  423. package/dist/types/src/shared/decoders/decodeRLE.d.ts +5 -0
  424. package/dist/types/src/shared/decoders/decodeRLE.d.ts.map +1 -0
  425. package/dist/types/src/shared/getMinMax.d.ts +7 -0
  426. package/dist/types/src/shared/getMinMax.d.ts.map +1 -0
  427. package/dist/types/src/shared/getMinMax_test.d.ts +2 -0
  428. package/dist/types/src/shared/getMinMax_test.d.ts.map +1 -0
  429. package/dist/types/src/shared/getPixelDataTypeFromMinMax.d.ts +3 -0
  430. package/dist/types/src/shared/getPixelDataTypeFromMinMax.d.ts.map +1 -0
  431. package/dist/types/src/shared/isColorImage.d.ts +2 -0
  432. package/dist/types/src/shared/isColorImage.d.ts.map +1 -0
  433. package/dist/types/src/shared/scaling/bilinear.d.ts +2 -0
  434. package/dist/types/src/shared/scaling/bilinear.d.ts.map +1 -0
  435. package/dist/types/src/shared/scaling/replicate.d.ts +2 -0
  436. package/dist/types/src/shared/scaling/replicate.d.ts.map +1 -0
  437. package/dist/types/src/shared/scaling/scaleArray.d.ts +3 -0
  438. package/dist/types/src/shared/scaling/scaleArray.d.ts.map +1 -0
  439. package/dist/types/src/types/DICOMLoaderDataSetWithFetchMore.d.ts +10 -0
  440. package/dist/types/src/types/DICOMLoaderDataSetWithFetchMore.d.ts.map +1 -0
  441. package/dist/types/src/types/DICOMLoaderIImage.d.ts +14 -0
  442. package/dist/types/src/types/DICOMLoaderIImage.d.ts.map +1 -0
  443. package/dist/types/src/types/DICOMLoaderImageOptions.d.ts +27 -0
  444. package/dist/types/src/types/DICOMLoaderImageOptions.d.ts.map +1 -0
  445. package/dist/types/src/types/ImageFrame.d.ts +44 -0
  446. package/dist/types/src/types/ImageFrame.d.ts.map +1 -0
  447. package/dist/types/src/types/LoadRequestFunction.d.ts +2 -0
  448. package/dist/types/src/types/LoadRequestFunction.d.ts.map +1 -0
  449. package/dist/types/src/types/LoaderDecodeOptions.d.ts +5 -0
  450. package/dist/types/src/types/LoaderDecodeOptions.d.ts.map +1 -0
  451. package/dist/types/src/types/LoaderOptions.d.ts +19 -0
  452. package/dist/types/src/types/LoaderOptions.d.ts.map +1 -0
  453. package/dist/types/src/types/LutType.d.ts +7 -0
  454. package/dist/types/src/types/LutType.d.ts.map +1 -0
  455. package/dist/types/src/types/MetadataModules.d.ts +67 -0
  456. package/dist/types/src/types/MetadataModules.d.ts.map +1 -0
  457. package/dist/types/src/types/PixelDataTypedArray.d.ts +3 -0
  458. package/dist/types/src/types/PixelDataTypedArray.d.ts.map +1 -0
  459. package/dist/types/src/types/WADORSMetaData.d.ts +5 -0
  460. package/dist/types/src/types/WADORSMetaData.d.ts.map +1 -0
  461. package/dist/types/src/types/WebWorkerTypes.d.ts +65 -0
  462. package/dist/types/src/types/WebWorkerTypes.d.ts.map +1 -0
  463. package/dist/types/src/types/XHRRequest.d.ts +17 -0
  464. package/dist/types/src/types/XHRRequest.d.ts.map +1 -0
  465. package/dist/types/src/types/index.d.ts +15 -0
  466. package/dist/types/src/types/index.d.ts.map +1 -0
  467. package/dist/types/src/version.d.ts +3 -0
  468. package/dist/types/src/version.d.ts.map +1 -0
  469. package/package.json +19 -9
  470. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js +0 -2
  471. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js.map +0 -1
  472. package/dist/dynamic-import/610.min.worker.js +0 -2
  473. package/dist/dynamic-import/610.min.worker.js.map +0 -1
  474. package/dist/dynamic-import/945.min.worker.js.map +0 -1
  475. package/dist/dynamic-import/index.worker.5a5a581362c14598c3d9.worker.js +0 -2
  476. package/dist/dynamic-import/index.worker.5a5a581362c14598c3d9.worker.js.map +0 -1
  477. package/dist/index.worker.bundle.min.worker.js +0 -2
  478. package/dist/index.worker.bundle.min.worker.js.map +0 -1
@@ -0,0 +1,122 @@
1
+ import { getOptions } from './options';
2
+ import metaDataManager from '../wadors/metaDataManager';
3
+ import extractMultipart from '../wadors/extractMultipart';
4
+ import { getImageQualityStatus } from '../wadors/getImageQualityStatus';
5
+ export default function rangeRequest(url, imageId, defaultHeaders = {}, options = {}) {
6
+ const globalOptions = getOptions();
7
+ const { retrieveOptions = {}, streamingData } = options;
8
+ const chunkSize = streamingData.chunkSize ||
9
+ getValue(imageId, retrieveOptions, 'chunkSize') ||
10
+ 65536;
11
+ const errorInterceptor = (err) => {
12
+ if (typeof globalOptions.errorInterceptor === 'function') {
13
+ const error = new Error('request failed');
14
+ globalOptions.errorInterceptor(error);
15
+ }
16
+ else {
17
+ console.warn('rangeRequest:Caught', err);
18
+ }
19
+ };
20
+ const promise = new Promise(async (resolve, reject) => {
21
+ const headers = Object.assign({}, defaultHeaders);
22
+ Object.keys(headers).forEach(function (key) {
23
+ if (headers[key] === null || headers[key] === undefined) {
24
+ delete headers[key];
25
+ }
26
+ });
27
+ try {
28
+ if (!streamingData.encodedData) {
29
+ streamingData.chunkSize = chunkSize;
30
+ streamingData.rangesFetched = 0;
31
+ }
32
+ const byteRange = getByteRange(streamingData, retrieveOptions);
33
+ const { encodedData, responseHeaders } = await fetchRangeAndAppend(url, headers, byteRange, streamingData);
34
+ const contentType = responseHeaders.get('content-type');
35
+ const { totalBytes } = streamingData;
36
+ const doneAllBytes = totalBytes === encodedData.byteLength;
37
+ const extract = extractMultipart(contentType, encodedData, {
38
+ isPartial: true,
39
+ });
40
+ const imageQualityStatus = getImageQualityStatus(retrieveOptions, doneAllBytes || extract.extractDone);
41
+ resolve({
42
+ ...extract,
43
+ imageQualityStatus,
44
+ percentComplete: extract.extractDone
45
+ ? 100
46
+ : (chunkSize * 100) / totalBytes,
47
+ });
48
+ }
49
+ catch (err) {
50
+ errorInterceptor(err);
51
+ console.error(err);
52
+ reject(err);
53
+ }
54
+ });
55
+ return promise;
56
+ }
57
+ async function fetchRangeAndAppend(url, headers, range, streamingData) {
58
+ if (range) {
59
+ headers = Object.assign(headers, {
60
+ Range: `bytes=${range[0]}-${range[1]}`,
61
+ });
62
+ }
63
+ let { encodedData } = streamingData;
64
+ if (range[1] && encodedData?.byteLength > range[1]) {
65
+ return streamingData;
66
+ }
67
+ const response = await fetch(url, {
68
+ headers,
69
+ signal: undefined,
70
+ });
71
+ const responseArrayBuffer = await response.arrayBuffer();
72
+ const responseTypedArray = new Uint8Array(responseArrayBuffer);
73
+ const { status } = response;
74
+ let newByteArray;
75
+ if (encodedData) {
76
+ newByteArray = new Uint8Array(encodedData.length + responseTypedArray.length);
77
+ newByteArray.set(encodedData, 0);
78
+ newByteArray.set(responseTypedArray, encodedData.length);
79
+ streamingData.rangesFetched = 1;
80
+ }
81
+ else {
82
+ newByteArray = new Uint8Array(responseTypedArray.length);
83
+ newByteArray.set(responseTypedArray, 0);
84
+ streamingData.rangesFetched++;
85
+ }
86
+ streamingData.encodedData = encodedData = newByteArray;
87
+ streamingData.responseHeaders = response.headers;
88
+ const contentRange = response.headers.get('Content-Range');
89
+ if (contentRange) {
90
+ streamingData.totalBytes = Number(contentRange.split('/')[1]);
91
+ }
92
+ else if (status !== 206 || !range) {
93
+ streamingData.totalBytes = encodedData?.byteLength;
94
+ }
95
+ else if (range[1] === '' || encodedData?.length < range[1]) {
96
+ streamingData.totalBytes = encodedData.byteLength;
97
+ }
98
+ else {
99
+ streamingData.totalBytes = Number.MAX_SAFE_INTEGER;
100
+ }
101
+ return streamingData;
102
+ }
103
+ function getValue(imageId, src, attr) {
104
+ const value = src[attr];
105
+ if (typeof value !== 'function') {
106
+ return value;
107
+ }
108
+ const metaData = metaDataManager.get(imageId);
109
+ return value(metaData, imageId);
110
+ }
111
+ function getByteRange(streamingData, retrieveOptions) {
112
+ const { totalBytes, encodedData, chunkSize = 65536 } = streamingData;
113
+ const { rangeIndex = 0 } = retrieveOptions;
114
+ if (rangeIndex === -1 && (!totalBytes || !encodedData)) {
115
+ return [0, ''];
116
+ }
117
+ if (rangeIndex === -1 || encodedData?.byteLength > totalBytes - chunkSize) {
118
+ return [encodedData?.byteLength || 0, ''];
119
+ }
120
+ return [encodedData?.byteLength || 0, chunkSize * (rangeIndex + 1) - 1];
121
+ }
122
+ //# sourceMappingURL=rangeRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rangeRequest.js","sourceRoot":"","sources":["../../../../../src/imageLoader/internal/rangeRequest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import { utilities } from '@cornerstonejs/core';
2
+ import { getOptions } from './options';
3
+ import extractMultipart from '../wadors/extractMultipart';
4
+ import { getImageQualityStatus } from '../wadors/getImageQualityStatus';
5
+ const { ProgressiveIterator } = utilities;
6
+ export default function streamRequest(url, imageId, defaultHeaders = {}, options = {}) {
7
+ const globalOptions = getOptions();
8
+ const { retrieveOptions = {}, streamingData = {}, } = options;
9
+ const minChunkSize = retrieveOptions.chunkSize || 128 * 1024;
10
+ const errorInterceptor = (err) => {
11
+ if (typeof globalOptions.errorInterceptor === 'function') {
12
+ const error = new Error('request failed');
13
+ globalOptions.errorInterceptor(error);
14
+ }
15
+ };
16
+ const loadIterator = new ProgressiveIterator('streamRequest');
17
+ loadIterator.generate(async (iterator, reject) => {
18
+ const headers = Object.assign({}, defaultHeaders);
19
+ Object.keys(headers).forEach(function (key) {
20
+ if (headers[key] === null) {
21
+ headers[key] = undefined;
22
+ }
23
+ if (key === 'Accept' && url.indexOf('accept=') !== -1) {
24
+ headers[key] = undefined;
25
+ }
26
+ });
27
+ try {
28
+ const response = await fetch(url, {
29
+ headers: defaultHeaders,
30
+ signal: undefined,
31
+ });
32
+ if (response.status !== 200) {
33
+ throw new Error(`Couldn't retrieve ${url} got status ${response.status}`);
34
+ }
35
+ const responseReader = response.body.getReader();
36
+ const responseHeaders = response.headers;
37
+ const contentType = responseHeaders.get('content-type');
38
+ const totalBytes = Number(responseHeaders.get('Content-Length'));
39
+ let readDone = false;
40
+ let encodedData = streamingData.encodedData;
41
+ let lastSize = streamingData.lastSize || 0;
42
+ streamingData.isPartial = true;
43
+ while (!readDone) {
44
+ const { done, value } = await responseReader.read();
45
+ encodedData = appendChunk(encodedData, value);
46
+ if (!encodedData) {
47
+ if (readDone) {
48
+ throw new Error(`Done but no image frame available ${imageId}`);
49
+ }
50
+ continue;
51
+ }
52
+ readDone = done || encodedData.byteLength === totalBytes;
53
+ if (!readDone && encodedData.length < lastSize + minChunkSize) {
54
+ continue;
55
+ }
56
+ lastSize = encodedData.length;
57
+ streamingData.isPartial = !done;
58
+ const extracted = extractMultipart(contentType, encodedData, streamingData);
59
+ const imageQualityStatus = getImageQualityStatus(retrieveOptions, readDone);
60
+ const detail = {
61
+ url,
62
+ imageId,
63
+ ...extracted,
64
+ percentComplete: done
65
+ ? 100
66
+ : (extracted.pixelData?.length * 100) / totalBytes,
67
+ imageQualityStatus,
68
+ done: readDone,
69
+ };
70
+ iterator.add(detail, readDone);
71
+ }
72
+ }
73
+ catch (err) {
74
+ errorInterceptor(err);
75
+ console.error(err);
76
+ reject(err);
77
+ }
78
+ });
79
+ return loadIterator.getNextPromise();
80
+ }
81
+ function appendChunk(existing, chunk) {
82
+ if (!existing) {
83
+ return chunk;
84
+ }
85
+ if (!chunk) {
86
+ return existing;
87
+ }
88
+ const newDataArray = new Uint8Array(existing.length + chunk.length);
89
+ newDataArray.set(existing, 0);
90
+ newDataArray.set(chunk, existing.length);
91
+ return newDataArray;
92
+ }
93
+ //# sourceMappingURL=streamRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamRequest.js","sourceRoot":"","sources":["../../../../../src/imageLoader/internal/streamRequest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import external from '../../externalModules';
2
+ import { getOptions } from './options';
3
+ function xhrRequest(url, imageId, defaultHeaders = {}, params = {}) {
4
+ const { cornerstone } = external;
5
+ const options = getOptions();
6
+ const errorInterceptor = (xhr) => {
7
+ if (typeof options.errorInterceptor === 'function') {
8
+ const error = new Error('request failed');
9
+ error.request = xhr;
10
+ error.response = xhr.response;
11
+ error.status = xhr.status;
12
+ options.errorInterceptor(error);
13
+ }
14
+ };
15
+ const xhr = new XMLHttpRequest();
16
+ const promise = new Promise((resolve, reject) => {
17
+ options.open(xhr, url, defaultHeaders, params);
18
+ const beforeSendHeaders = options.beforeSend(xhr, imageId, defaultHeaders, params);
19
+ xhr.responseType = 'arraybuffer';
20
+ const headers = Object.assign({}, defaultHeaders, beforeSendHeaders);
21
+ Object.keys(headers).forEach(function (key) {
22
+ if (headers[key] === null) {
23
+ return;
24
+ }
25
+ if (key === 'Accept' && url.indexOf('accept=') !== -1) {
26
+ return;
27
+ }
28
+ xhr.setRequestHeader(key, headers[key]);
29
+ });
30
+ params.deferred = {
31
+ resolve,
32
+ reject,
33
+ };
34
+ params.url = url;
35
+ params.imageId = imageId;
36
+ xhr.onloadstart = function (event) {
37
+ if (options.onloadstart) {
38
+ options.onloadstart(event, params);
39
+ }
40
+ const eventData = {
41
+ url,
42
+ imageId,
43
+ };
44
+ cornerstone.triggerEvent(cornerstone.events, 'cornerstoneimageloadstart', eventData);
45
+ };
46
+ xhr.onloadend = function (event) {
47
+ if (options.onloadend) {
48
+ options.onloadend(event, params);
49
+ }
50
+ const eventData = {
51
+ url,
52
+ imageId,
53
+ };
54
+ cornerstone.triggerEvent(cornerstone.events, 'cornerstoneimageloadend', eventData);
55
+ };
56
+ xhr.onreadystatechange = function (event) {
57
+ if (options.onreadystatechange) {
58
+ options.onreadystatechange(event, params);
59
+ return;
60
+ }
61
+ if (xhr.readyState === 4) {
62
+ if (xhr.status === 200 || xhr.status === 206) {
63
+ options
64
+ .beforeProcessing(xhr)
65
+ .then(resolve)
66
+ .catch(() => {
67
+ errorInterceptor(xhr);
68
+ reject(xhr);
69
+ });
70
+ }
71
+ else {
72
+ errorInterceptor(xhr);
73
+ reject(xhr);
74
+ }
75
+ }
76
+ };
77
+ xhr.onprogress = function (oProgress) {
78
+ const loaded = oProgress.loaded;
79
+ let total;
80
+ let percentComplete;
81
+ if (oProgress.lengthComputable) {
82
+ total = oProgress.total;
83
+ percentComplete = Math.round((loaded / total) * 100);
84
+ }
85
+ if (options.onprogress) {
86
+ options.onprogress(oProgress, params);
87
+ }
88
+ };
89
+ xhr.onerror = function () {
90
+ errorInterceptor(xhr);
91
+ reject(xhr);
92
+ };
93
+ xhr.onabort = function () {
94
+ errorInterceptor(xhr);
95
+ reject(xhr);
96
+ };
97
+ xhr.send();
98
+ });
99
+ promise.xhr = xhr;
100
+ return promise;
101
+ }
102
+ export default xhrRequest;
103
+ //# sourceMappingURL=xhrRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhrRequest.js","sourceRoot":"","sources":["../../../../../src/imageLoader/internal/xhrRequest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export default function isColorConversionRequired(imageFrame) {
2
+ if (imageFrame === undefined) {
3
+ return false;
4
+ }
5
+ const { rows, columns, photometricInterpretation, pixelDataLength } = imageFrame;
6
+ if (pixelDataLength === 4 * columns * rows) {
7
+ return false;
8
+ }
9
+ if (photometricInterpretation.endsWith('420')) {
10
+ return (pixelDataLength ===
11
+ (3 * Math.ceil(columns / 2) + Math.floor(columns / 2)) * rows);
12
+ }
13
+ else if (photometricInterpretation.endsWith('422')) {
14
+ return (pixelDataLength ===
15
+ (3 * Math.ceil(columns / 2) + Math.floor(columns / 2)) *
16
+ Math.ceil(rows / 2) +
17
+ Math.floor(rows / 2) * columns);
18
+ }
19
+ else {
20
+ return photometricInterpretation !== 'RGB';
21
+ }
22
+ }
23
+ //# sourceMappingURL=isColorConversionRequired.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isColorConversionRequired.js","sourceRoot":"","sources":["../../../../src/imageLoader/isColorConversionRequired.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,UAAU;IAC1D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,GACjE,UAAU,CAAC;IAGb,IAAI,eAAe,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;QAE3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,CACL,eAAe;YACf,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAC9D,CAAC;IACJ,CAAC;SAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,CACL,eAAe;YACf,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CACjC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,yBAAyB,KAAK,KAAK,CAAC;IAE7C,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ function isJPEGBaseline8BitColor(imageFrame, transferSyntax) {
2
+ transferSyntax = transferSyntax || imageFrame.transferSyntax;
3
+ if (imageFrame.bitsAllocated === 8 &&
4
+ transferSyntax === '1.2.840.10008.1.2.4.50' &&
5
+ (imageFrame.samplesPerPixel === 3 || imageFrame.samplesPerPixel === 4)) {
6
+ return true;
7
+ }
8
+ }
9
+ export default isJPEGBaseline8BitColor;
10
+ //# sourceMappingURL=isJPEGBaseline8BitColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isJPEGBaseline8BitColor.js","sourceRoot":"","sources":["../../../../src/imageLoader/isJPEGBaseline8BitColor.ts"],"names":[],"mappings":"AAEA,SAAS,uBAAuB,CAC9B,UAAsB,EACtB,cAAsB;IAGtB,cAAc,GAAG,cAAc,IAAK,UAAkB,CAAC,cAAc,CAAC;IAEtE,IACE,UAAU,CAAC,aAAa,KAAK,CAAC;QAC9B,cAAc,KAAK,wBAAwB;QAC3C,CAAC,UAAU,CAAC,eAAe,KAAK,CAAC,IAAI,UAAU,CAAC,eAAe,KAAK,CAAC,CAAC,EACtE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export default function isNMReconstructable(imageSubType) {
2
+ return imageSubType === 'RECON TOMO' || imageSubType === 'RECON GATED TOMO';
3
+ }
4
+ //# sourceMappingURL=isNMReconstructable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isNMReconstructable.js","sourceRoot":"","sources":["../../../../src/imageLoader/isNMReconstructable.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,YAAY;IACtD,OAAO,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,kBAAkB,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,8 @@
1
+ import wadors from './wadors/index';
2
+ import wadouri from './wadouri/index';
3
+ function registerLoaders(cornerstone) {
4
+ wadors.register(cornerstone);
5
+ wadouri.register(cornerstone);
6
+ }
7
+ export default registerLoaders;
8
+ //# sourceMappingURL=registerLoaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerLoaders.js","sourceRoot":"","sources":["../../../../src/imageLoader/registerLoaders.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,OAAO,MAAM,iBAAiB,CAAC;AAQtC,SAAS,eAAe,CAAC,WAAgB;IACvC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,45 @@
1
+ import getTagValue from './getTagValue';
2
+ function getFrameInformation(PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, frameNumber) {
3
+ const shared = (SharedFunctionalGroupsSequence
4
+ ? Object.values(SharedFunctionalGroupsSequence[0])
5
+ : [])
6
+ .map((it) => it[0])
7
+ .filter((it) => it !== undefined && typeof it === 'object');
8
+ const perFrame = (PerFrameFunctionalGroupsSequence
9
+ ? Object.values(PerFrameFunctionalGroupsSequence[frameNumber - 1])
10
+ : [])
11
+ .map((it) => it.Value[0])
12
+ .filter((it) => it !== undefined && typeof it === 'object');
13
+ return {
14
+ shared,
15
+ perFrame,
16
+ };
17
+ }
18
+ function getMultiframeInformation(metaData) {
19
+ let { 52009230: PerFrameFunctionalGroupsSequence, 52009229: SharedFunctionalGroupsSequence, '00280008': NumberOfFrames, ...rest } = metaData;
20
+ PerFrameFunctionalGroupsSequence = getTagValue(PerFrameFunctionalGroupsSequence, false);
21
+ SharedFunctionalGroupsSequence = getTagValue(SharedFunctionalGroupsSequence, false);
22
+ NumberOfFrames = getTagValue(NumberOfFrames);
23
+ return {
24
+ PerFrameFunctionalGroupsSequence,
25
+ SharedFunctionalGroupsSequence,
26
+ NumberOfFrames,
27
+ rest,
28
+ };
29
+ }
30
+ function combineFrameInstance(frameNumber, instance) {
31
+ const { PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, NumberOfFrames, rest, } = getMultiframeInformation(instance);
32
+ if (PerFrameFunctionalGroupsSequence || NumberOfFrames > 1) {
33
+ const { shared, perFrame } = getFrameInformation(PerFrameFunctionalGroupsSequence, SharedFunctionalGroupsSequence, frameNumber);
34
+ const newInstance = Object.assign(instance, { frameNumber });
35
+ [...shared, ...perFrame].forEach((item) => {
36
+ Object.entries(item).forEach(([key, value]) => {
37
+ newInstance[key] = value;
38
+ });
39
+ });
40
+ return Object.assign(rest, { '00280008': NumberOfFrames }, newInstance);
41
+ }
42
+ return instance;
43
+ }
44
+ export { combineFrameInstance, getMultiframeInformation, getFrameInformation };
45
+ //# sourceMappingURL=combineFrameInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combineFrameInstance.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadors/combineFrameInstance.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,SAAS,mBAAmB,CAC1B,gCAAgC,EAChC,8BAA8B,EAC9B,WAAW;IAEX,MAAM,MAAM,GAAG,CACb,8BAA8B;QAC5B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,EAAE,CACP;SACE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAClB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,CACf,gCAAgC;QAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,EAAE,CACP;SACE,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC7B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC;IAE9D,OAAO;QACL,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAQ;IACxC,IAAI,EACF,QAAQ,EAAE,gCAAgC,EAC1C,QAAQ,EAAE,8BAA8B,EACxC,UAAU,EAAE,cAAc,EAE1B,GAAG,IAAI,EACR,GAAG,QAAQ,CAAC;IAEb,gCAAgC,GAAG,WAAW,CAC5C,gCAAgC,EAChC,KAAK,CACN,CAAC;IACF,8BAA8B,GAAG,WAAW,CAC1C,8BAA8B,EAC9B,KAAK,CACN,CAAC;IACF,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAE7C,OAAO;QACL,gCAAgC;QAChC,8BAA8B;QAC9B,cAAc;QACd,IAAI;KACL,CAAC;AACJ,CAAC;AAGD,SAAS,oBAAoB,CAAC,WAAW,EAAE,QAAQ;IACjD,MAAM,EACJ,gCAAgC,EAChC,8BAA8B,EAC9B,cAAc,EACd,IAAI,GACL,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,gCAAgC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAC9C,gCAAgC,EAChC,8BAA8B,EAC9B,WAAW,CACZ,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAG7D,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC5C,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { Enums } from '@cornerstonejs/core';
2
+ import findIndexOfString from './findIndexOfString';
3
+ const { ImageQualityStatus } = Enums;
4
+ export default function extractMultipart(contentType, imageFrameAsArrayBuffer, options) {
5
+ options ||= {};
6
+ const response = new Uint8Array(imageFrameAsArrayBuffer);
7
+ const isPartial = !!options?.isPartial;
8
+ if (contentType.indexOf('multipart') === -1) {
9
+ return {
10
+ contentType,
11
+ imageQualityStatus: isPartial
12
+ ? ImageQualityStatus.SUBRESOLUTION
13
+ : ImageQualityStatus.FULL_RESOLUTION,
14
+ pixelData: response,
15
+ };
16
+ }
17
+ let { tokenIndex, responseHeaders, boundary, multipartContentType } = options;
18
+ tokenIndex ||= findIndexOfString(response, '\r\n\r\n');
19
+ if (tokenIndex === -1) {
20
+ throw new Error('invalid response - no multipart mime header');
21
+ }
22
+ if (!boundary) {
23
+ const header = uint8ArrayToString(response, 0, tokenIndex);
24
+ responseHeaders = header.split('\r\n');
25
+ boundary = findBoundary(responseHeaders);
26
+ if (!boundary) {
27
+ throw new Error('invalid response - no boundary marker');
28
+ }
29
+ }
30
+ const offset = tokenIndex + 4;
31
+ const endIndex = findIndexOfString(response, boundary, offset);
32
+ if (endIndex === -1 && !isPartial) {
33
+ throw new Error('invalid response - terminating boundary not found');
34
+ }
35
+ multipartContentType ||= findContentType(responseHeaders);
36
+ options.tokenIndex = tokenIndex;
37
+ options.boundary = boundary;
38
+ options.responseHeaders = responseHeaders;
39
+ options.multipartContentType = multipartContentType;
40
+ options.isPartial = endIndex === -1;
41
+ return {
42
+ contentType: multipartContentType,
43
+ extractDone: !isPartial || endIndex !== -1,
44
+ tokenIndex,
45
+ responseHeaders,
46
+ boundary,
47
+ multipartContentType,
48
+ pixelData: imageFrameAsArrayBuffer.slice(offset, endIndex - 2),
49
+ };
50
+ }
51
+ export function findBoundary(header) {
52
+ for (let i = 0; i < header.length; i++) {
53
+ if (header[i].substr(0, 2) === '--') {
54
+ return header[i];
55
+ }
56
+ }
57
+ }
58
+ export function findContentType(header) {
59
+ for (let i = 0; i < header.length; i++) {
60
+ if (header[i].substr(0, 13) === 'Content-Type:') {
61
+ return header[i].substr(13).trim();
62
+ }
63
+ }
64
+ }
65
+ export function uint8ArrayToString(data, offset, length) {
66
+ offset = offset || 0;
67
+ length = length || data.length - offset;
68
+ let str = '';
69
+ for (let i = offset; i < offset + length; i++) {
70
+ str += String.fromCharCode(data[i]);
71
+ }
72
+ return str;
73
+ }
74
+ //# sourceMappingURL=extractMultipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractMultipart.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadors/extractMultipart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ function checkToken(token, data, dataOffset) {
2
+ if (dataOffset + token.length > data.length) {
3
+ return false;
4
+ }
5
+ let endIndex = dataOffset;
6
+ for (let i = 0; i < token.length; i++) {
7
+ if (token[i] !== data[endIndex++]) {
8
+ return false;
9
+ }
10
+ }
11
+ return true;
12
+ }
13
+ function stringToUint8Array(str) {
14
+ const uint = new Uint8Array(str.length);
15
+ for (let i = 0, j = str.length; i < j; i++) {
16
+ uint[i] = str.charCodeAt(i);
17
+ }
18
+ return uint;
19
+ }
20
+ function findIndexOfString(data, str, offset) {
21
+ offset = offset || 0;
22
+ const token = stringToUint8Array(str);
23
+ for (let i = offset; i < data.length; i++) {
24
+ if (token[0] === data[i]) {
25
+ if (checkToken(token, data, i)) {
26
+ return i;
27
+ }
28
+ }
29
+ }
30
+ return -1;
31
+ }
32
+ export default findIndexOfString;
33
+ //# sourceMappingURL=findIndexOfString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findIndexOfString.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadors/findIndexOfString.ts"],"names":[],"mappings":"AAAA,SAAS,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU;IACzC,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,GAAG,UAAU,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAgB,EAChB,GAAW,EACX,MAAe;IAEf,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;IAErB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzB,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AACD,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Enums } from '@cornerstonejs/core';
2
+ const { ImageQualityStatus } = Enums;
3
+ export function getImageQualityStatus(retrieveOptions, done = true) {
4
+ if (!done) {
5
+ return ImageQualityStatus.SUBRESOLUTION;
6
+ }
7
+ return (retrieveOptions.imageQualityStatus ?? ImageQualityStatus.FULL_RESOLUTION);
8
+ }
9
+ //# sourceMappingURL=getImageQualityStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getImageQualityStatus.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadors/getImageQualityStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;AAGrC,MAAM,UAAU,qBAAqB,CACnC,eAAsC,EACtC,IAAI,GAAG,IAAI;IAEX,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,kBAAkB,CAAC,aAAa,CAAC;IAC1C,CAAC;IACD,OAAO,CACL,eAAe,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,eAAe,CACzE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { xhrRequest } from '../internal/index';
2
+ import streamRequest from '../internal/streamRequest';
3
+ import rangeRequest from '../internal/rangeRequest';
4
+ import extractMultipart from './extractMultipart';
5
+ import { getImageQualityStatus } from './getImageQualityStatus';
6
+ function getPixelData(uri, imageId, mediaType = 'application/octet-stream', options) {
7
+ const { streamingData, retrieveOptions = {} } = options || {};
8
+ const headers = {
9
+ Accept: mediaType,
10
+ };
11
+ let url = retrieveOptions.urlArguments
12
+ ? `${uri}${uri.indexOf('?') === -1 ? '?' : '&'}${retrieveOptions.urlArguments}`
13
+ : uri;
14
+ if (retrieveOptions.framesPath) {
15
+ url = url.replace('/frames/', retrieveOptions.framesPath);
16
+ }
17
+ if (streamingData?.url !== url) {
18
+ options.streamingData = { url };
19
+ }
20
+ if (retrieveOptions.rangeIndex !== undefined) {
21
+ return rangeRequest(url, imageId, headers, options);
22
+ }
23
+ if (retrieveOptions.streaming) {
24
+ return streamRequest(url, imageId, headers, options);
25
+ }
26
+ const loadPromise = xhrRequest(url, imageId, headers);
27
+ const { xhr } = loadPromise;
28
+ return loadPromise.then(function (imageFrameAsArrayBuffer) {
29
+ const contentType = xhr.getResponseHeader('Content-Type') || 'application/octet-stream';
30
+ const extracted = extractMultipart(contentType, new Uint8Array(imageFrameAsArrayBuffer));
31
+ extracted.imageQualityStatus = getImageQualityStatus(retrieveOptions, true);
32
+ return extracted;
33
+ });
34
+ }
35
+ export default getPixelData;
36
+ //# sourceMappingURL=getPixelData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPixelData.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadors/getPixelData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,SAAS,YAAY,CACnB,GAAW,EACX,OAAe,EACf,SAAS,GAAG,0BAA0B,EACtC,OAAwC;IAExC,MAAM,EAAE,aAAa,EAAE,eAAe,GAAG,EAA2B,EAAE,GACpE,OAAO,IAAI,EAAE,CAAC;IAChB,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,SAAS;KAClB,CAAC;IAIF,IAAI,GAAG,GAAG,eAAe,CAAC,YAAY;QACpC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAC1C,eAAe,CAAC,YAClB,EAAE;QACJ,CAAC,CAAC,GAAG,CAAC;IAIR,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;QAC/B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAGD,IAAI,aAAa,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,CAAC,aAAa,GAAG,EAAE,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,IACG,eAA8C,CAAC,UAAU,KAAK,SAAS,EACxE,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAGD,IAAK,eAAkD,CAAC,SAAS,EAAE,CAAC;QAClE,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAKD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IAE5B,OAAO,WAAW,CAAC,IAAI,CAAC,UAAU,uBAAuB;QACvD,MAAM,WAAW,GACf,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC;QACtE,MAAM,SAAS,GAAG,gBAAgB,CAChC,WAAW,EACX,IAAI,UAAU,CAAC,uBAAuB,CAAC,CACxC,CAAC;QACF,SAAS,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,YAAY,CAAC"}