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

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,57 @@
1
+ import external from '../../externalModules';
2
+ function fixFragments(dataSet) {
3
+ const fragments = dataSet.elements.x7fe00010.fragments;
4
+ const totalLength = dataSet.byteArray.length;
5
+ for (const fragment of fragments) {
6
+ const { position, length } = fragment;
7
+ if (length > totalLength - position) {
8
+ console.log(`Truncated fragment, changing fragment length from ${fragment.length} to ${totalLength - position}`);
9
+ fragment.length = totalLength - position;
10
+ }
11
+ }
12
+ return dataSet;
13
+ }
14
+ function parsePartialByteArray(byteArray) {
15
+ const { dicomParser } = external;
16
+ let dataSet = dicomParser.parseDicom(byteArray, {
17
+ untilTag: 'x7fe00010',
18
+ });
19
+ if (!dataSet.elements.x7fe00010) {
20
+ console.warn('Pixel data not found!');
21
+ }
22
+ let pixelDataSet;
23
+ try {
24
+ pixelDataSet = dicomParser.parseDicom(byteArray);
25
+ }
26
+ catch (err) {
27
+ console.error(err);
28
+ console.log('pixel data dataset:', err.dataSet);
29
+ pixelDataSet = err.dataSet;
30
+ }
31
+ dataSet.elements.x7fe00010 = pixelDataSet.elements.x7fe00010;
32
+ dataSet = fixFragments(dataSet);
33
+ return dataSet;
34
+ }
35
+ export default async function dataSetFromPartialContent(byteArray, loadRequest, metadata) {
36
+ const dataSet = parsePartialByteArray(byteArray);
37
+ const { uri, imageId, fileTotalLength } = metadata;
38
+ dataSet.fetchMore = async function (fetchOptions) {
39
+ const _options = Object.assign({
40
+ uri,
41
+ imageId,
42
+ fetchedLength: byteArray.length,
43
+ lengthToFetch: fileTotalLength - byteArray.length,
44
+ }, fetchOptions);
45
+ const { fetchedLength, lengthToFetch } = _options;
46
+ const { arrayBuffer } = await loadRequest(uri, imageId, {
47
+ byteRange: `${fetchedLength}-${fetchedLength + lengthToFetch}`,
48
+ });
49
+ const byteArrayToAppend = new Uint8Array(arrayBuffer);
50
+ const combinedByteArray = new Uint8Array(dataSet.byteArray.length + byteArrayToAppend.length);
51
+ combinedByteArray.set(dataSet.byteArray);
52
+ combinedByteArray.set(byteArrayToAppend, dataSet.byteArray.length);
53
+ return dataSetFromPartialContent(combinedByteArray, loadRequest, metadata);
54
+ };
55
+ return dataSet;
56
+ }
57
+ //# sourceMappingURL=dataset-from-partial-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset-from-partial-content.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/dataset-from-partial-content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ let files = [];
2
+ function add(file) {
3
+ const fileIndex = files.push(file);
4
+ return `dicomfile:${fileIndex - 1}`;
5
+ }
6
+ function get(index) {
7
+ return files[index];
8
+ }
9
+ function remove(index) {
10
+ files[index] = undefined;
11
+ }
12
+ function purge() {
13
+ files = [];
14
+ }
15
+ export default {
16
+ add,
17
+ get,
18
+ remove,
19
+ purge,
20
+ };
21
+ //# sourceMappingURL=fileManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileManager.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/fileManager.ts"],"names":[],"mappings":"AAAA,IAAI,KAAK,GAAW,EAAE,CAAC;AAEvB,SAAS,GAAG,CAAC,IAAU;IACrB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,aAAa,SAAS,GAAG,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACxB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,CAAC;AAED,SAAS,KAAK;IACZ,KAAK,GAAG,EAAE,CAAC;AACb,CAAC;AAED,eAAe;IACb,GAAG;IACH,GAAG;IACH,MAAM;IACN,KAAK;CACN,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { ByteStream, readSequenceItem } from 'dicom-parser';
2
+ import external from '../../externalModules';
3
+ function framesAreFragmented(dataSet) {
4
+ const numberOfFrames = dataSet.intString('x00280008');
5
+ const pixelDataElement = dataSet.elements.x7fe00010;
6
+ return numberOfFrames !== pixelDataElement.fragments.length;
7
+ }
8
+ export default function getEncapsulatedImageFrame(dataSet, frameIndex) {
9
+ const { dicomParser } = external;
10
+ if (dataSet.elements.x7fe00010 &&
11
+ dataSet.elements.x7fe00010.basicOffsetTable.length) {
12
+ return dicomParser.readEncapsulatedImageFrame(dataSet, dataSet.elements.x7fe00010, frameIndex);
13
+ }
14
+ if (framesAreFragmented(dataSet)) {
15
+ const basicOffsetTable = dicomParser.createJPEGBasicOffsetTable(dataSet, dataSet.elements.x7fe00010);
16
+ return dicomParser.readEncapsulatedImageFrame(dataSet, dataSet.elements.x7fe00010, frameIndex, basicOffsetTable);
17
+ }
18
+ const fragments = dataSet.elements.x7fe00010.fragments;
19
+ const byteStream = new ByteStream(dataSet.byteArrayParser, dataSet.byteArray, dataSet.elements.x7fe00010.dataOffset);
20
+ const basicOffsetTable = readSequenceItem(byteStream);
21
+ if (basicOffsetTable.tag !== 'xfffee000') {
22
+ throw 'dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000';
23
+ }
24
+ byteStream.seek(basicOffsetTable.length);
25
+ const fragmentZeroPosition = byteStream.position;
26
+ if (frameIndex + 1 > fragments.length) {
27
+ throw 'dicomParser.readEncapsulatedPixelData: frame exceeds number of fragments';
28
+ }
29
+ const fragmentHeaderSize = 8;
30
+ const byteOffset = fragmentZeroPosition + fragments[frameIndex].offset + fragmentHeaderSize;
31
+ const length = fragments[frameIndex].length;
32
+ return new Uint8Array(byteStream.byteArray.buffer.slice(byteStream.byteArray.byteOffset + byteOffset, byteStream.byteArray.byteOffset + byteOffset + length));
33
+ }
34
+ //# sourceMappingURL=getEncapsulatedImageFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEncapsulatedImageFrame.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/getEncapsulatedImageFrame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAM7C,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAEpD,OAAO,cAAc,KAAK,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,OAAgB,EAChB,UAAkB;IAElB,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAEjC,IACE,OAAO,CAAC,QAAQ,CAAC,SAAS;QAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAClD,CAAC;QAED,OAAO,WAAW,CAAC,0BAA0B,CAC3C,OAAO,EACP,OAAO,CAAC,QAAQ,CAAC,SAAS,EAC1B,UAAU,CACX,CAAC;IACJ,CAAC;IAID,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,gBAAgB,GAAG,WAAW,CAAC,0BAA0B,CAC7D,OAAO,EACP,OAAO,CAAC,QAAQ,CAAC,SAAS,CAC3B,CAAC;QAEF,OAAO,WAAW,CAAC,0BAA0B,CAC3C,OAAO,EACP,OAAO,CAAC,QAAQ,CAAC,SAAS,EAC1B,UAAU,EACV,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAUD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;IAGvD,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CACtC,CAAC;IAGF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEtD,IAAI,gBAAgB,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACzC,MAAM,6EAA6E,CAAC;IACtF,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzC,MAAM,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC;IAKjD,IAAI,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,0EAA0E,CAAC;IACnF,CAAC;IAED,MAAM,kBAAkB,GAAG,CAAC,CAAC;IAC7B,MAAM,UAAU,GACd,oBAAoB,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,kBAAkB,CAAC;IAC3E,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IAM5C,OAAO,IAAI,UAAU,CACnB,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAC/B,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,EAC5C,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,GAAG,MAAM,CACtD,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import getEncapsulatedImageFrame from './getEncapsulatedImageFrame';
2
+ import getUncompressedImageFrame from './getUncompressedImageFrame';
3
+ function getPixelData(dataSet, frameIndex = 0) {
4
+ const pixelDataElement = dataSet.elements.x7fe00010 || dataSet.elements.x7fe00008;
5
+ if (!pixelDataElement) {
6
+ return null;
7
+ }
8
+ if (pixelDataElement.encapsulatedPixelData) {
9
+ return getEncapsulatedImageFrame(dataSet, frameIndex);
10
+ }
11
+ return getUncompressedImageFrame(dataSet, frameIndex);
12
+ }
13
+ export default getPixelData;
14
+ //# sourceMappingURL=getPixelData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPixelData.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/getPixelData.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,SAAS,YAAY,CAAC,OAAgB,EAAE,UAAU,GAAG,CAAC;IACpD,MAAM,gBAAgB,GACpB,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAE3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;QAC3C,OAAO,yBAAyB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,yBAAyB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,48 @@
1
+ import unpackBinaryFrame from './unpackBinaryFrame';
2
+ function getUncompressedImageFrame(dataSet, frameIndex) {
3
+ const pixelDataElement = dataSet.elements.x7fe00010 || dataSet.elements.x7fe00008;
4
+ const bitsAllocated = dataSet.uint16('x00280100');
5
+ const rows = dataSet.uint16('x00280010');
6
+ const columns = dataSet.uint16('x00280011');
7
+ let samplesPerPixel = dataSet.uint16('x00280002');
8
+ const photometricInterpretation = dataSet.string('x00280004');
9
+ if (photometricInterpretation === 'YBR_FULL_422') {
10
+ samplesPerPixel = 2;
11
+ console.warn(`Using SamplesPerPixel of 2 for YBR_FULL_422 photometric interpretation.
12
+ See http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.3.html for more information.`);
13
+ }
14
+ const pixelDataOffset = pixelDataElement.dataOffset;
15
+ const pixelsPerFrame = rows * columns * samplesPerPixel;
16
+ let frameOffset;
17
+ if (bitsAllocated === 8) {
18
+ frameOffset = pixelDataOffset + frameIndex * pixelsPerFrame;
19
+ if (frameOffset >= dataSet.byteArray.length) {
20
+ throw new Error('frame exceeds size of pixelData');
21
+ }
22
+ return new Uint8Array(dataSet.byteArray.buffer.slice(frameOffset, frameOffset + pixelsPerFrame));
23
+ }
24
+ else if (bitsAllocated === 16) {
25
+ frameOffset = pixelDataOffset + frameIndex * pixelsPerFrame * 2;
26
+ if (frameOffset >= dataSet.byteArray.length) {
27
+ throw new Error('frame exceeds size of pixelData');
28
+ }
29
+ return new Uint8Array(dataSet.byteArray.buffer.slice(frameOffset, frameOffset + pixelsPerFrame * 2));
30
+ }
31
+ else if (bitsAllocated === 1) {
32
+ frameOffset = pixelDataOffset + frameIndex * pixelsPerFrame * 0.125;
33
+ if (frameOffset >= dataSet.byteArray.length) {
34
+ throw new Error('frame exceeds size of pixelData');
35
+ }
36
+ return unpackBinaryFrame(dataSet.byteArray, frameOffset, pixelsPerFrame);
37
+ }
38
+ else if (bitsAllocated === 32) {
39
+ frameOffset = pixelDataOffset + frameIndex * pixelsPerFrame * 4;
40
+ if (frameOffset >= dataSet.byteArray.length) {
41
+ throw new Error('frame exceeds size of pixelData');
42
+ }
43
+ return new Uint8Array(dataSet.byteArray.buffer.slice(frameOffset, frameOffset + pixelsPerFrame * 4));
44
+ }
45
+ throw new Error('unsupported pixel format');
46
+ }
47
+ export default getUncompressedImageFrame;
48
+ //# sourceMappingURL=getUncompressedImageFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUncompressedImageFrame.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/getUncompressedImageFrame.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAMpD,SAAS,yBAAyB,CAChC,OAAgB,EAChB,UAAkB;IAElB,MAAM,gBAAgB,GACpB,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAoBlD,MAAM,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE9D,IAAI,yBAAyB,KAAK,cAAc,EAAE,CAAC;QACjD,eAAe,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CACV;kHAC4G,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,UAAU,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,GAAG,OAAO,GAAG,eAAe,CAAC;IAExD,IAAI,WAAW,CAAC;IAEhB,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,WAAW,GAAG,eAAe,GAAG,UAAU,GAAG,cAAc,CAAC;QAC5D,IAAI,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,UAAU,CACnB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,cAAc,CAAC,CAC1E,CAAC;IACJ,CAAC;SAAM,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;QAChC,WAAW,GAAG,eAAe,GAAG,UAAU,GAAG,cAAc,GAAG,CAAC,CAAC;QAChE,IAAI,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,UAAU,CACnB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAC5B,WAAW,EACX,WAAW,GAAG,cAAc,GAAG,CAAC,CACjC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QAC/B,WAAW,GAAG,eAAe,GAAG,UAAU,GAAG,cAAc,GAAG,KAAK,CAAC;QACpE,IAAI,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC;SAAM,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;QAChC,WAAW,GAAG,eAAe,GAAG,UAAU,GAAG,cAAc,GAAG,CAAC,CAAC;QAChE,IAAI,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,UAAU,CACnB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAC5B,WAAW,EACX,WAAW,GAAG,cAAc,GAAG,CAAC,CACjC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC;AAED,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { getImagePixelModule, getLUTs, getModalityLUTOutputPixelRepresentation, getNumberValues, metaDataProvider, } from './metaData/index';
2
+ import dataSetCacheManager from './dataSetCacheManager';
3
+ import fileManager from './fileManager';
4
+ import getEncapsulatedImageFrame from './getEncapsulatedImageFrame';
5
+ import getUncompressedImageFrame from './getUncompressedImageFrame';
6
+ import loadFileRequest from './loadFileRequest';
7
+ import { loadImageFromPromise, getLoaderForScheme, loadImage, } from './loadImage';
8
+ import parseImageId from './parseImageId';
9
+ import unpackBinaryFrame from './unpackBinaryFrame';
10
+ import register from './register';
11
+ const metaData = {
12
+ getImagePixelModule,
13
+ getLUTs,
14
+ getModalityLUTOutputPixelRepresentation,
15
+ getNumberValues,
16
+ metaDataProvider,
17
+ };
18
+ export default {
19
+ metaData,
20
+ dataSetCacheManager,
21
+ fileManager,
22
+ getEncapsulatedImageFrame,
23
+ getUncompressedImageFrame,
24
+ loadFileRequest,
25
+ loadImageFromPromise,
26
+ getLoaderForScheme,
27
+ loadImage,
28
+ parseImageId,
29
+ unpackBinaryFrame,
30
+ register,
31
+ };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,OAAO,EACP,uCAAuC,EACvC,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,QAAQ,GAAG;IACf,mBAAmB;IACnB,OAAO;IACP,uCAAuC;IACvC,eAAe;IACf,gBAAgB;CACjB,CAAC;AAEF,eAAe;IACb,QAAQ;IACR,mBAAmB;IACnB,WAAW;IACX,yBAAyB;IACzB,yBAAyB;IACzB,eAAe;IACf,oBAAoB;IACpB,kBAAkB;IAClB,SAAS;IACT,YAAY;IACZ,iBAAiB;IACjB,QAAQ;CACT,CAAC"}
@@ -0,0 +1,18 @@
1
+ import parseImageId from './parseImageId';
2
+ import fileManager from './fileManager';
3
+ function loadFileRequest(uri) {
4
+ const parsedImageId = parseImageId(uri);
5
+ const fileIndex = parseInt(parsedImageId.url, 10);
6
+ const file = fileManager.get(fileIndex);
7
+ return new Promise((resolve, reject) => {
8
+ const fileReader = new FileReader();
9
+ fileReader.onload = (e) => {
10
+ const dicomPart10AsArrayBuffer = e.target.result;
11
+ resolve(dicomPart10AsArrayBuffer);
12
+ };
13
+ fileReader.onerror = reject;
14
+ fileReader.readAsArrayBuffer(file);
15
+ });
16
+ }
17
+ export default loadFileRequest;
18
+ //# sourceMappingURL=loadFileRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadFileRequest.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/loadFileRequest.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAExC,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAEpC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,MAAqB,CAAC;YAEhE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC;QAE5B,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,105 @@
1
+ import createImage from '../createImage';
2
+ import { xhrRequest } from '../internal/index';
3
+ import dataSetCacheManager from './dataSetCacheManager';
4
+ import getPixelData from './getPixelData';
5
+ import loadFileRequest from './loadFileRequest';
6
+ import parseImageId from './parseImageId';
7
+ function addDecache(imageLoadObject, imageId) {
8
+ imageLoadObject.decache = function () {
9
+ const parsedImageId = parseImageId(imageId);
10
+ dataSetCacheManager.unload(parsedImageId.url);
11
+ };
12
+ }
13
+ function loadImageFromPromise(dataSetPromise, imageId, frame = 0, sharedCacheKey, options, callbacks) {
14
+ const start = new Date().getTime();
15
+ const imageLoadObject = {
16
+ cancelFn: undefined,
17
+ promise: undefined,
18
+ };
19
+ imageLoadObject.promise = new Promise((resolve, reject) => {
20
+ dataSetPromise.then((dataSet) => {
21
+ const pixelData = getPixelData(dataSet, frame);
22
+ const transferSyntax = dataSet.string('x00020010');
23
+ const loadEnd = new Date().getTime();
24
+ const imagePromise = createImage(imageId, pixelData, transferSyntax, options);
25
+ addDecache(imageLoadObject, imageId);
26
+ imagePromise.then((image) => {
27
+ image = image;
28
+ image.data = dataSet;
29
+ image.sharedCacheKey = sharedCacheKey;
30
+ const end = new Date().getTime();
31
+ image.loadTimeInMS = loadEnd - start;
32
+ image.totalTimeInMS = end - start;
33
+ if (callbacks !== undefined &&
34
+ callbacks.imageDoneCallback !== undefined) {
35
+ callbacks.imageDoneCallback(image);
36
+ }
37
+ resolve(image);
38
+ }, function (error) {
39
+ reject({
40
+ error,
41
+ dataSet,
42
+ });
43
+ });
44
+ }, function (error) {
45
+ reject({
46
+ error,
47
+ });
48
+ });
49
+ });
50
+ return imageLoadObject;
51
+ }
52
+ function loadImageFromDataSet(dataSet, imageId, frame = 0, sharedCacheKey, options) {
53
+ const start = new Date().getTime();
54
+ const promise = new Promise((resolve, reject) => {
55
+ const loadEnd = new Date().getTime();
56
+ let imagePromise;
57
+ try {
58
+ const pixelData = getPixelData(dataSet, frame);
59
+ const transferSyntax = dataSet.string('x00020010');
60
+ imagePromise = createImage(imageId, pixelData, transferSyntax, options);
61
+ }
62
+ catch (error) {
63
+ reject({
64
+ error,
65
+ dataSet,
66
+ });
67
+ return;
68
+ }
69
+ imagePromise.then((image) => {
70
+ image = image;
71
+ image.data = dataSet;
72
+ image.sharedCacheKey = sharedCacheKey;
73
+ const end = new Date().getTime();
74
+ image.loadTimeInMS = loadEnd - start;
75
+ image.totalTimeInMS = end - start;
76
+ resolve(image);
77
+ }, reject);
78
+ });
79
+ return {
80
+ promise: promise,
81
+ cancelFn: undefined,
82
+ };
83
+ }
84
+ function getLoaderForScheme(scheme) {
85
+ if (scheme === 'dicomweb' || scheme === 'wadouri') {
86
+ return xhrRequest;
87
+ }
88
+ else if (scheme === 'dicomfile') {
89
+ return loadFileRequest;
90
+ }
91
+ }
92
+ function loadImage(imageId, options = {}) {
93
+ const parsedImageId = parseImageId(imageId);
94
+ options = Object.assign({}, options);
95
+ delete options.loader;
96
+ const schemeLoader = getLoaderForScheme(parsedImageId.scheme);
97
+ if (dataSetCacheManager.isLoaded(parsedImageId.url)) {
98
+ const dataSet = dataSetCacheManager.get(parsedImageId.url, schemeLoader, imageId);
99
+ return loadImageFromDataSet(dataSet, imageId, parsedImageId.pixelDataFrame, parsedImageId.url, options);
100
+ }
101
+ const dataSetPromise = dataSetCacheManager.load(parsedImageId.url, schemeLoader, imageId);
102
+ return loadImageFromPromise(dataSetPromise, imageId, parsedImageId.frame, parsedImageId.url, options);
103
+ }
104
+ export { loadImageFromPromise, getLoaderForScheme, loadImage };
105
+ //# sourceMappingURL=loadImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadImage.js","sourceRoot":"","sources":["../../../../../src/imageLoader/wadouri/loadImage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import getNumberValues from './getNumberValues';
2
+ import isNMReconstructable from '../../isNMReconstructable';
3
+ function getImageTypeSubItemFromDataset(dataSet, index) {
4
+ const imageType = dataSet.string('x00080008');
5
+ if (imageType) {
6
+ const subTypes = imageType.split('\\');
7
+ if (subTypes.length > index) {
8
+ return subTypes[index];
9
+ }
10
+ }
11
+ return undefined;
12
+ }
13
+ function extractOrientationFromNMMultiframeDataset(dataSet) {
14
+ let imageOrientationPatient;
15
+ const modality = dataSet.string('x00080060');
16
+ if (modality?.includes('NM')) {
17
+ const imageSubType = getImageTypeSubItemFromDataset(dataSet, 2);
18
+ if (imageSubType && isNMReconstructable(imageSubType)) {
19
+ if (dataSet.elements.x00540022) {
20
+ imageOrientationPatient = getNumberValues(dataSet.elements.x00540022.items[0].dataSet, 'x00200037', 6);
21
+ }
22
+ }
23
+ }
24
+ return imageOrientationPatient;
25
+ }
26
+ function extractPositionFromNMMultiframeDataset(dataSet) {
27
+ let imagePositionPatient;
28
+ const modality = dataSet.string('x00080060');
29
+ if (modality?.includes('NM')) {
30
+ const imageSubType = getImageTypeSubItemFromDataset(dataSet, 2);
31
+ if (imageSubType && isNMReconstructable(imageSubType)) {
32
+ if (dataSet.elements.x00540022) {
33
+ imagePositionPatient = getNumberValues(dataSet.elements.x00540022.items[0].dataSet, 'x00200032', 3);
34
+ }
35
+ }
36
+ }
37
+ return imagePositionPatient;
38
+ }
39
+ function extractOrientationFromDataset(dataSet) {
40
+ let imageOrientationPatient = getNumberValues(dataSet, 'x00200037', 6);
41
+ if (!imageOrientationPatient && dataSet.elements.x00209116) {
42
+ imageOrientationPatient = getNumberValues(dataSet.elements.x00209116.items[0].dataSet, 'x00200037', 6);
43
+ }
44
+ if (!imageOrientationPatient) {
45
+ imageOrientationPatient =
46
+ extractOrientationFromNMMultiframeDataset(dataSet);
47
+ }
48
+ return imageOrientationPatient;
49
+ }
50
+ function extractPositionFromDataset(dataSet) {
51
+ let imagePositionPatient = getNumberValues(dataSet, 'x00200032', 3);
52
+ if (!imagePositionPatient && dataSet.elements.x00209113) {
53
+ imagePositionPatient = getNumberValues(dataSet.elements.x00209113.items[0].dataSet, 'x00200032', 3);
54
+ }
55
+ if (!imagePositionPatient) {
56
+ imagePositionPatient = extractPositionFromNMMultiframeDataset(dataSet);
57
+ }
58
+ return imagePositionPatient;
59
+ }
60
+ function extractSpacingFromDataset(dataSet) {
61
+ let pixelSpacing = getNumberValues(dataSet, 'x00280030', 2);
62
+ if (!pixelSpacing && dataSet.elements.x00289110) {
63
+ pixelSpacing = getNumberValues(dataSet.elements.x00289110.items[0].dataSet, 'x00280030', 2);
64
+ }
65
+ return pixelSpacing;
66
+ }
67
+ function extractSliceThicknessFromDataset(dataSet) {
68
+ let sliceThickness;
69
+ if (dataSet.elements.x00180050) {
70
+ sliceThickness = dataSet.floatString('x00180050');
71
+ }
72
+ else if (dataSet.elements.x00289110 &&
73
+ dataSet.elements.x00289110.items.length &&
74
+ dataSet.elements.x00289110.items[0].dataSet.elements.x00180050) {
75
+ sliceThickness =
76
+ dataSet.elements.x00289110.items[0].dataSet.floatString('x00180050');
77
+ }
78
+ return sliceThickness;
79
+ }
80
+ export { getImageTypeSubItemFromDataset, extractOrientationFromDataset, extractPositionFromDataset, extractSpacingFromDataset, extractSliceThicknessFromDataset, };
81
+ //# sourceMappingURL=extractPositioningFromDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractPositioningFromDataset.js","sourceRoot":"","sources":["../../../../../../src/imageLoader/wadouri/metaData/extractPositioningFromDataset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ function getLutDescriptor(dataSet, tag) {
2
+ if (!dataSet.elements[tag] || dataSet.elements[tag].length !== 6) {
3
+ return;
4
+ }
5
+ return [
6
+ dataSet.uint16(tag, 0),
7
+ dataSet.uint16(tag, 1),
8
+ dataSet.uint16(tag, 2),
9
+ ];
10
+ }
11
+ function getLutData(lutDataSet, tag, lutDescriptor) {
12
+ const lut = [];
13
+ const lutData = lutDataSet.elements[tag];
14
+ for (let i = 0; i < lutDescriptor[0]; i++) {
15
+ if (lutDescriptor[2] === 16) {
16
+ lut[i] = lutDataSet.uint16(tag, i);
17
+ }
18
+ else {
19
+ lut[i] = lutDataSet.byteArray[i + lutData.dataOffset];
20
+ }
21
+ }
22
+ return lut;
23
+ }
24
+ function populatePaletteColorLut(dataSet, imagePixelModule) {
25
+ imagePixelModule.redPaletteColorLookupTableDescriptor = getLutDescriptor(dataSet, 'x00281101');
26
+ imagePixelModule.greenPaletteColorLookupTableDescriptor = getLutDescriptor(dataSet, 'x00281102');
27
+ imagePixelModule.bluePaletteColorLookupTableDescriptor = getLutDescriptor(dataSet, 'x00281103');
28
+ if (imagePixelModule.redPaletteColorLookupTableDescriptor[0] === 0) {
29
+ imagePixelModule.redPaletteColorLookupTableDescriptor[0] = 65536;
30
+ imagePixelModule.greenPaletteColorLookupTableDescriptor[0] = 65536;
31
+ imagePixelModule.bluePaletteColorLookupTableDescriptor[0] = 65536;
32
+ }
33
+ const numLutEntries = imagePixelModule.redPaletteColorLookupTableDescriptor[0];
34
+ const lutData = dataSet.elements.x00281201;
35
+ const lutBitsAllocated = lutData.length === numLutEntries ? 8 : 16;
36
+ if (imagePixelModule.redPaletteColorLookupTableDescriptor[2] !==
37
+ lutBitsAllocated) {
38
+ imagePixelModule.redPaletteColorLookupTableDescriptor[2] = lutBitsAllocated;
39
+ imagePixelModule.greenPaletteColorLookupTableDescriptor[2] =
40
+ lutBitsAllocated;
41
+ imagePixelModule.bluePaletteColorLookupTableDescriptor[2] =
42
+ lutBitsAllocated;
43
+ }
44
+ imagePixelModule.redPaletteColorLookupTableData = getLutData(dataSet, 'x00281201', imagePixelModule.redPaletteColorLookupTableDescriptor);
45
+ imagePixelModule.greenPaletteColorLookupTableData = getLutData(dataSet, 'x00281202', imagePixelModule.greenPaletteColorLookupTableDescriptor);
46
+ imagePixelModule.bluePaletteColorLookupTableData = getLutData(dataSet, 'x00281203', imagePixelModule.bluePaletteColorLookupTableDescriptor);
47
+ }
48
+ function populateSmallestLargestPixelValues(dataSet, imagePixelModule) {
49
+ const pixelRepresentation = dataSet.uint16('x00280103');
50
+ if (pixelRepresentation === 0) {
51
+ imagePixelModule.smallestPixelValue = dataSet.uint16('x00280106');
52
+ imagePixelModule.largestPixelValue = dataSet.uint16('x00280107');
53
+ }
54
+ else {
55
+ imagePixelModule.smallestPixelValue = dataSet.int16('x00280106');
56
+ imagePixelModule.largestPixelValue = dataSet.int16('x00280107');
57
+ }
58
+ }
59
+ function getImagePixelModule(dataSet) {
60
+ const imagePixelModule = {
61
+ samplesPerPixel: dataSet.uint16('x00280002'),
62
+ photometricInterpretation: dataSet.string('x00280004'),
63
+ rows: dataSet.uint16('x00280010'),
64
+ columns: dataSet.uint16('x00280011'),
65
+ bitsAllocated: dataSet.uint16('x00280100'),
66
+ bitsStored: dataSet.uint16('x00280101'),
67
+ highBit: dataSet.uint16('x00280102'),
68
+ pixelRepresentation: dataSet.uint16('x00280103'),
69
+ planarConfiguration: dataSet.uint16('x00280006'),
70
+ pixelAspectRatio: dataSet.string('x00280034'),
71
+ };
72
+ populateSmallestLargestPixelValues(dataSet, imagePixelModule);
73
+ if (imagePixelModule.photometricInterpretation === 'PALETTE COLOR' &&
74
+ dataSet.elements.x00281101) {
75
+ populatePaletteColorLut(dataSet, imagePixelModule);
76
+ }
77
+ return imagePixelModule;
78
+ }
79
+ export default getImagePixelModule;
80
+ //# sourceMappingURL=getImagePixelModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getImagePixelModule.js","sourceRoot":"","sources":["../../../../../../src/imageLoader/wadouri/metaData/getImagePixelModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ function getLUT(pixelRepresentation, lutDataSet) {
2
+ let numLUTEntries = lutDataSet.uint16('x00283002', 0);
3
+ if (numLUTEntries === 0) {
4
+ numLUTEntries = 65535;
5
+ }
6
+ let firstValueMapped = 0;
7
+ if (pixelRepresentation === 0) {
8
+ firstValueMapped = lutDataSet.uint16('x00283002', 1);
9
+ }
10
+ else {
11
+ firstValueMapped = lutDataSet.int16('x00283002', 1);
12
+ }
13
+ const numBitsPerEntry = lutDataSet.uint16('x00283002', 2);
14
+ const lut = {
15
+ id: '1',
16
+ firstValueMapped,
17
+ numBitsPerEntry,
18
+ lut: [],
19
+ };
20
+ for (let i = 0; i < numLUTEntries; i++) {
21
+ if (pixelRepresentation === 0) {
22
+ lut.lut[i] = lutDataSet.uint16('x00283006', i);
23
+ }
24
+ else {
25
+ lut.lut[i] = lutDataSet.int16('x00283006', i);
26
+ }
27
+ }
28
+ return lut;
29
+ }
30
+ function getLUTs(pixelRepresentation, lutSequence) {
31
+ if (!lutSequence || !lutSequence.items || !lutSequence.items.length) {
32
+ return;
33
+ }
34
+ const luts = [];
35
+ for (let i = 0; i < lutSequence.items.length; i++) {
36
+ const lutDataSet = lutSequence.items[i].dataSet;
37
+ const lut = getLUT(pixelRepresentation, lutDataSet);
38
+ if (lut) {
39
+ luts.push(lut);
40
+ }
41
+ }
42
+ return luts;
43
+ }
44
+ export default getLUTs;
45
+ //# sourceMappingURL=getLUTs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLUTs.js","sourceRoot":"","sources":["../../../../../../src/imageLoader/wadouri/metaData/getLUTs.ts"],"names":[],"mappings":"AAGA,SAAS,MAAM,CAAC,mBAA2B,EAAE,UAAmB;IAC9D,IAAI,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEtD,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE1D,MAAM,GAAG,GAAG;QACV,EAAE,EAAE,GAAG;QACP,gBAAgB;QAChB,eAAe;QACf,GAAG,EAAE,EAAE;KACR,CAAC;IAGF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,mBAA2B,EAAE,WAAoB;IAChE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpE,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAc,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,OAAO,CAAC"}