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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/dist/744.bundle.min.js +3 -0
  2. package/dist/744.bundle.min.js.LICENSE.txt +5 -0
  3. package/dist/744.bundle.min.js.map +1 -0
  4. package/dist/cornerstoneDICOMImageLoader.bundle.min.js +1 -1
  5. package/dist/cornerstoneDICOMImageLoader.bundle.min.js.map +1 -1
  6. package/dist/dynamic-import/{65916ef3def695744bda.wasm → 031089e563a18ada8441.wasm} +0 -0
  7. package/dist/dynamic-import/20fc4c659b85ccd2a9c0.wasm +0 -0
  8. package/dist/dynamic-import/584.min.js +2 -0
  9. package/dist/dynamic-import/584.min.js.map +1 -0
  10. package/dist/dynamic-import/595.min.js +2 -0
  11. package/dist/dynamic-import/595.min.js.map +1 -0
  12. package/dist/dynamic-import/610.min.js +2 -0
  13. package/dist/dynamic-import/610.min.js.map +1 -0
  14. package/dist/dynamic-import/958.min.js +3 -0
  15. package/dist/dynamic-import/958.min.js.LICENSE.txt +5 -0
  16. package/dist/dynamic-import/958.min.js.map +1 -0
  17. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js +1 -1
  18. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js.map +1 -1
  19. package/dist/esm/codecs/jpeg.js +891 -0
  20. package/dist/esm/codecs/jpeg.js.map +1 -0
  21. package/dist/esm/codecs/jpegLossless.js +1220 -0
  22. package/dist/esm/codecs/jpegLossless.js.map +1 -0
  23. package/dist/esm/src/constants/transferSyntaxes.js +47 -0
  24. package/dist/esm/src/constants/transferSyntaxes.js.map +1 -0
  25. package/dist/esm/src/externalModules.js +45 -0
  26. package/dist/esm/src/externalModules.js.map +1 -0
  27. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js +78 -0
  28. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js.map +1 -0
  29. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js +22 -0
  30. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js.map +1 -0
  31. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js +29 -0
  32. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js.map +1 -0
  33. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js +45 -0
  34. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js.map +1 -0
  35. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js +34 -0
  36. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js.map +1 -0
  37. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js +36 -0
  38. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js.map +1 -0
  39. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js +8 -0
  40. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js.map +1 -0
  41. package/dist/esm/src/imageLoader/configure.js +12 -0
  42. package/dist/esm/src/imageLoader/configure.js.map +1 -0
  43. package/dist/esm/src/imageLoader/convertColorSpace.js +41 -0
  44. package/dist/esm/src/imageLoader/convertColorSpace.js.map +1 -0
  45. package/dist/esm/src/imageLoader/createImage.js +249 -0
  46. package/dist/esm/src/imageLoader/createImage.js.map +1 -0
  47. package/dist/esm/src/imageLoader/decodeImageFrame.js +66 -0
  48. package/dist/esm/src/imageLoader/decodeImageFrame.js.map +1 -0
  49. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js +65 -0
  50. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js.map +1 -0
  51. package/dist/esm/src/imageLoader/getImageFrame.js +27 -0
  52. package/dist/esm/src/imageLoader/getImageFrame.js.map +1 -0
  53. package/dist/esm/src/imageLoader/getInstanceModule.js +41 -0
  54. package/dist/esm/src/imageLoader/getInstanceModule.js.map +1 -0
  55. package/dist/esm/src/imageLoader/getMinMax.js +16 -0
  56. package/dist/esm/src/imageLoader/getMinMax.js.map +1 -0
  57. package/dist/esm/src/imageLoader/getScalingParameters.js +16 -0
  58. package/dist/esm/src/imageLoader/getScalingParameters.js.map +1 -0
  59. package/dist/esm/src/imageLoader/imageIdToURI.js +5 -0
  60. package/dist/esm/src/imageLoader/imageIdToURI.js.map +1 -0
  61. package/dist/esm/src/imageLoader/index.js +37 -0
  62. package/dist/esm/src/imageLoader/index.js.map +1 -0
  63. package/dist/esm/src/imageLoader/internal/index.js +9 -0
  64. package/dist/esm/src/imageLoader/internal/index.js.map +1 -0
  65. package/dist/esm/src/imageLoader/internal/options.js +24 -0
  66. package/dist/esm/src/imageLoader/internal/options.js.map +1 -0
  67. package/dist/esm/src/imageLoader/internal/rangeRequest.js +122 -0
  68. package/dist/esm/src/imageLoader/internal/rangeRequest.js.map +1 -0
  69. package/dist/esm/src/imageLoader/internal/streamRequest.js +93 -0
  70. package/dist/esm/src/imageLoader/internal/streamRequest.js.map +1 -0
  71. package/dist/esm/src/imageLoader/internal/xhrRequest.js +103 -0
  72. package/dist/esm/src/imageLoader/internal/xhrRequest.js.map +1 -0
  73. package/dist/esm/src/imageLoader/isColorConversionRequired.js +23 -0
  74. package/dist/esm/src/imageLoader/isColorConversionRequired.js.map +1 -0
  75. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js +10 -0
  76. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js.map +1 -0
  77. package/dist/esm/src/imageLoader/isNMReconstructable.js +4 -0
  78. package/dist/esm/src/imageLoader/isNMReconstructable.js.map +1 -0
  79. package/dist/esm/src/imageLoader/registerLoaders.js +8 -0
  80. package/dist/esm/src/imageLoader/registerLoaders.js.map +1 -0
  81. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js +45 -0
  82. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js.map +1 -0
  83. package/dist/esm/src/imageLoader/wadors/extractMultipart.js +74 -0
  84. package/dist/esm/src/imageLoader/wadors/extractMultipart.js.map +1 -0
  85. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js +33 -0
  86. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js.map +1 -0
  87. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js +9 -0
  88. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js.map +1 -0
  89. package/dist/esm/src/imageLoader/wadors/getPixelData.js +36 -0
  90. package/dist/esm/src/imageLoader/wadors/getPixelData.js.map +1 -0
  91. package/dist/esm/src/imageLoader/wadors/getTagValue.js +10 -0
  92. package/dist/esm/src/imageLoader/wadors/getTagValue.js.map +1 -0
  93. package/dist/esm/src/imageLoader/wadors/index.js +22 -0
  94. package/dist/esm/src/imageLoader/wadors/index.js.map +1 -0
  95. package/dist/esm/src/imageLoader/wadors/loadImage.js +126 -0
  96. package/dist/esm/src/imageLoader/wadors/loadImage.js.map +1 -0
  97. package/dist/esm/src/imageLoader/wadors/loadImage_test.js +42 -0
  98. package/dist/esm/src/imageLoader/wadors/loadImage_test.js.map +1 -0
  99. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js +39 -0
  100. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js.map +1 -0
  101. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js +47 -0
  102. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js.map +1 -0
  103. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js +19 -0
  104. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js.map +1 -0
  105. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js +7 -0
  106. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js.map +1 -0
  107. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js +10 -0
  108. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js.map +1 -0
  109. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js +10 -0
  110. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js.map +1 -0
  111. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js +21 -0
  112. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js.map +1 -0
  113. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js +39 -0
  114. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js.map +1 -0
  115. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js +15 -0
  116. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js.map +1 -0
  117. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js +15 -0
  118. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js.map +1 -0
  119. package/dist/esm/src/imageLoader/wadors/metaData/index.js +8 -0
  120. package/dist/esm/src/imageLoader/wadors/metaData/index.js.map +1 -0
  121. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js +262 -0
  122. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js.map +1 -0
  123. package/dist/esm/src/imageLoader/wadors/metaDataManager.js +48 -0
  124. package/dist/esm/src/imageLoader/wadors/metaDataManager.js.map +1 -0
  125. package/dist/esm/src/imageLoader/wadors/register.js +7 -0
  126. package/dist/esm/src/imageLoader/wadors/register.js.map +1 -0
  127. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js +27 -0
  128. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js.map +1 -0
  129. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js +68 -0
  130. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js.map +1 -0
  131. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js +143 -0
  132. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js.map +1 -0
  133. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js +11 -0
  134. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js.map +1 -0
  135. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js +57 -0
  136. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js.map +1 -0
  137. package/dist/esm/src/imageLoader/wadouri/fileManager.js +21 -0
  138. package/dist/esm/src/imageLoader/wadouri/fileManager.js.map +1 -0
  139. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js +34 -0
  140. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js.map +1 -0
  141. package/dist/esm/src/imageLoader/wadouri/getPixelData.js +14 -0
  142. package/dist/esm/src/imageLoader/wadouri/getPixelData.js.map +1 -0
  143. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js +48 -0
  144. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js.map +1 -0
  145. package/dist/esm/src/imageLoader/wadouri/index.js +32 -0
  146. package/dist/esm/src/imageLoader/wadouri/index.js.map +1 -0
  147. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js +18 -0
  148. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js.map +1 -0
  149. package/dist/esm/src/imageLoader/wadouri/loadImage.js +105 -0
  150. package/dist/esm/src/imageLoader/wadouri/loadImage.js.map +1 -0
  151. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js +81 -0
  152. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js.map +1 -0
  153. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js +80 -0
  154. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js.map +1 -0
  155. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js +45 -0
  156. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js.map +1 -0
  157. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js +31 -0
  158. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js.map +1 -0
  159. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js +17 -0
  160. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js.map +1 -0
  161. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js +37 -0
  162. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js.map +1 -0
  163. package/dist/esm/src/imageLoader/wadouri/metaData/index.js +6 -0
  164. package/dist/esm/src/imageLoader/wadouri/metaData/index.js.map +1 -0
  165. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js +211 -0
  166. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js.map +1 -0
  167. package/dist/esm/src/imageLoader/wadouri/parseImageId.js +21 -0
  168. package/dist/esm/src/imageLoader/wadouri/parseImageId.js.map +1 -0
  169. package/dist/esm/src/imageLoader/wadouri/register.js +9 -0
  170. package/dist/esm/src/imageLoader/wadouri/register.js.map +1 -0
  171. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js +58 -0
  172. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js.map +1 -0
  173. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js +15 -0
  174. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js.map +1 -0
  175. package/dist/esm/src/shared/calculateMinMax.js +25 -0
  176. package/dist/esm/src/shared/calculateMinMax.js.map +1 -0
  177. package/dist/esm/src/shared/calculateMinMax_test.js +39 -0
  178. package/dist/esm/src/shared/calculateMinMax_test.js.map +1 -0
  179. package/dist/esm/src/shared/decodeImageFrame.js +269 -0
  180. package/dist/esm/src/shared/decodeImageFrame.js.map +1 -0
  181. package/dist/esm/src/shared/decoders/decodeBigEndian.js +29 -0
  182. package/dist/esm/src/shared/decoders/decodeBigEndian.js.map +1 -0
  183. package/dist/esm/src/shared/decoders/decodeHTJ2K.js +110 -0
  184. package/dist/esm/src/shared/decoders/decodeHTJ2K.js.map +1 -0
  185. package/dist/esm/src/shared/decoders/decodeJPEG2000.js +94 -0
  186. package/dist/esm/src/shared/decoders/decodeJPEG2000.js.map +1 -0
  187. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js +35 -0
  188. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js.map +1 -0
  189. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +2 -0
  190. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js.map +1 -0
  191. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js +63 -0
  192. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js.map +1 -0
  193. package/dist/esm/src/shared/decoders/decodeJPEGLS.js +85 -0
  194. package/dist/esm/src/shared/decoders/decodeJPEGLS.js.map +1 -0
  195. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js +40 -0
  196. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js.map +1 -0
  197. package/dist/esm/src/shared/decoders/decodeLittleEndian.js +30 -0
  198. package/dist/esm/src/shared/decoders/decodeLittleEndian.js.map +1 -0
  199. package/dist/esm/src/shared/decoders/decodeRLE.js +129 -0
  200. package/dist/esm/src/shared/decoders/decodeRLE.js.map +1 -0
  201. package/dist/esm/src/shared/getMinMax.js +17 -0
  202. package/dist/esm/src/shared/getMinMax.js.map +1 -0
  203. package/dist/esm/src/shared/getMinMax_test.js +10 -0
  204. package/dist/esm/src/shared/getMinMax_test.js.map +1 -0
  205. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js +23 -0
  206. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js.map +1 -0
  207. package/dist/esm/src/shared/isColorImage.js +11 -0
  208. package/dist/esm/src/shared/isColorImage.js.map +1 -0
  209. package/dist/esm/src/shared/scaling/bilinear.js +33 -0
  210. package/dist/esm/src/shared/scaling/bilinear.js.map +1 -0
  211. package/dist/esm/src/shared/scaling/replicate.js +21 -0
  212. package/dist/esm/src/shared/scaling/replicate.js.map +1 -0
  213. package/dist/esm/src/shared/scaling/scaleArray.js +16 -0
  214. package/dist/esm/src/shared/scaling/scaleArray.js.map +1 -0
  215. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js +2 -0
  216. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js.map +1 -0
  217. package/dist/esm/src/types/DICOMLoaderIImage.js +2 -0
  218. package/dist/esm/src/types/DICOMLoaderIImage.js.map +1 -0
  219. package/dist/esm/src/types/DICOMLoaderImageOptions.js +2 -0
  220. package/dist/esm/src/types/DICOMLoaderImageOptions.js.map +1 -0
  221. package/dist/esm/src/types/ImageFrame.js +2 -0
  222. package/dist/esm/src/types/ImageFrame.js.map +1 -0
  223. package/dist/esm/src/types/LoadRequestFunction.js +2 -0
  224. package/dist/esm/src/types/LoadRequestFunction.js.map +1 -0
  225. package/dist/esm/src/types/LoaderDecodeOptions.js +2 -0
  226. package/dist/esm/src/types/LoaderDecodeOptions.js.map +1 -0
  227. package/dist/esm/src/types/LoaderOptions.js +2 -0
  228. package/dist/esm/src/types/LoaderOptions.js.map +1 -0
  229. package/dist/esm/src/types/LutType.js +2 -0
  230. package/dist/esm/src/types/LutType.js.map +1 -0
  231. package/dist/esm/src/types/MetadataModules.js +2 -0
  232. package/dist/esm/src/types/MetadataModules.js.map +1 -0
  233. package/dist/esm/src/types/PixelDataTypedArray.js +2 -0
  234. package/dist/esm/src/types/PixelDataTypedArray.js.map +1 -0
  235. package/dist/esm/src/types/WADORSMetaData.js +2 -0
  236. package/dist/esm/src/types/WADORSMetaData.js.map +1 -0
  237. package/dist/esm/src/types/WebWorkerTypes.js +2 -0
  238. package/dist/esm/src/types/WebWorkerTypes.js.map +1 -0
  239. package/dist/esm/src/types/XHRRequest.js +2 -0
  240. package/dist/esm/src/types/XHRRequest.js.map +1 -0
  241. package/dist/esm/src/types/index.js +2 -0
  242. package/dist/esm/src/types/index.js.map +1 -0
  243. package/dist/esm/src/version.js +2 -0
  244. package/dist/esm/src/version.js.map +1 -0
  245. package/dist/types/codecs/jpeg.d.ts +11 -0
  246. package/dist/types/codecs/jpeg.d.ts.map +1 -0
  247. package/dist/types/codecs/jpegLossless.d.ts +8 -0
  248. package/dist/types/codecs/jpegLossless.d.ts.map +1 -0
  249. package/dist/types/src/constants/transferSyntaxes.d.ts +47 -0
  250. package/dist/types/src/constants/transferSyntaxes.d.ts.map +1 -0
  251. package/dist/types/src/externalModules.d.ts +6 -0
  252. package/dist/types/src/externalModules.d.ts.map +1 -0
  253. package/dist/types/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts +4 -0
  254. package/dist/types/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts.map +1 -0
  255. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts +3 -0
  256. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts.map +1 -0
  257. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts +3 -0
  258. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts.map +1 -0
  259. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +3 -0
  260. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts.map +1 -0
  261. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts +3 -0
  262. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts.map +1 -0
  263. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts +3 -0
  264. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts.map +1 -0
  265. package/dist/types/src/imageLoader/colorSpaceConverters/index.d.ts +8 -0
  266. package/dist/types/src/imageLoader/colorSpaceConverters/index.d.ts.map +1 -0
  267. package/dist/types/src/imageLoader/configure.d.ts +4 -0
  268. package/dist/types/src/imageLoader/configure.d.ts.map +1 -0
  269. package/dist/types/src/imageLoader/convertColorSpace.d.ts +2 -0
  270. package/dist/types/src/imageLoader/convertColorSpace.d.ts.map +1 -0
  271. package/dist/types/src/imageLoader/createImage.d.ts +5 -0
  272. package/dist/types/src/imageLoader/createImage.d.ts.map +1 -0
  273. package/dist/types/src/imageLoader/decodeImageFrame.d.ts +4 -0
  274. package/dist/types/src/imageLoader/decodeImageFrame.d.ts.map +1 -0
  275. package/dist/types/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts +5 -0
  276. package/dist/types/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts.map +1 -0
  277. package/dist/types/src/imageLoader/getImageFrame.d.ts +4 -0
  278. package/dist/types/src/imageLoader/getImageFrame.d.ts.map +1 -0
  279. package/dist/types/src/imageLoader/getInstanceModule.d.ts +4 -0
  280. package/dist/types/src/imageLoader/getInstanceModule.d.ts.map +1 -0
  281. package/dist/types/src/imageLoader/getMinMax.d.ts +5 -0
  282. package/dist/types/src/imageLoader/getMinMax.d.ts.map +1 -0
  283. package/dist/types/src/imageLoader/getScalingParameters.d.ts +7 -0
  284. package/dist/types/src/imageLoader/getScalingParameters.d.ts.map +1 -0
  285. package/dist/types/src/imageLoader/imageIdToURI.d.ts +2 -0
  286. package/dist/types/src/imageLoader/imageIdToURI.d.ts.map +1 -0
  287. package/dist/types/src/imageLoader/index.d.ts +95 -0
  288. package/dist/types/src/imageLoader/index.d.ts.map +1 -0
  289. package/dist/types/src/imageLoader/internal/index.d.ts +9 -0
  290. package/dist/types/src/imageLoader/internal/index.d.ts.map +1 -0
  291. package/dist/types/src/imageLoader/internal/options.d.ts +4 -0
  292. package/dist/types/src/imageLoader/internal/options.d.ts.map +1 -0
  293. package/dist/types/src/imageLoader/internal/rangeRequest.d.ts +10 -0
  294. package/dist/types/src/imageLoader/internal/rangeRequest.d.ts.map +1 -0
  295. package/dist/types/src/imageLoader/internal/streamRequest.d.ts +3 -0
  296. package/dist/types/src/imageLoader/internal/streamRequest.d.ts.map +1 -0
  297. package/dist/types/src/imageLoader/internal/xhrRequest.d.ts +4 -0
  298. package/dist/types/src/imageLoader/internal/xhrRequest.d.ts.map +1 -0
  299. package/dist/types/src/imageLoader/isColorConversionRequired.d.ts +2 -0
  300. package/dist/types/src/imageLoader/isColorConversionRequired.d.ts.map +1 -0
  301. package/dist/types/src/imageLoader/isJPEGBaseline8BitColor.d.ts +4 -0
  302. package/dist/types/src/imageLoader/isJPEGBaseline8BitColor.d.ts.map +1 -0
  303. package/dist/types/src/imageLoader/isNMReconstructable.d.ts +2 -0
  304. package/dist/types/src/imageLoader/isNMReconstructable.d.ts.map +1 -0
  305. package/dist/types/src/imageLoader/registerLoaders.d.ts +3 -0
  306. package/dist/types/src/imageLoader/registerLoaders.d.ts.map +1 -0
  307. package/dist/types/src/imageLoader/wadors/combineFrameInstance.d.ts +13 -0
  308. package/dist/types/src/imageLoader/wadors/combineFrameInstance.d.ts.map +1 -0
  309. package/dist/types/src/imageLoader/wadors/extractMultipart.d.ts +24 -0
  310. package/dist/types/src/imageLoader/wadors/extractMultipart.d.ts.map +1 -0
  311. package/dist/types/src/imageLoader/wadors/findIndexOfString.d.ts +3 -0
  312. package/dist/types/src/imageLoader/wadors/findIndexOfString.d.ts.map +1 -0
  313. package/dist/types/src/imageLoader/wadors/getImageQualityStatus.d.ts +3 -0
  314. package/dist/types/src/imageLoader/wadors/getImageQualityStatus.d.ts.map +1 -0
  315. package/dist/types/src/imageLoader/wadors/getPixelData.d.ts +27 -0
  316. package/dist/types/src/imageLoader/wadors/getPixelData.d.ts.map +1 -0
  317. package/dist/types/src/imageLoader/wadors/getTagValue.d.ts +2 -0
  318. package/dist/types/src/imageLoader/wadors/getTagValue.d.ts.map +1 -0
  319. package/dist/types/src/imageLoader/wadors/index.d.ts +26 -0
  320. package/dist/types/src/imageLoader/wadors/index.d.ts.map +1 -0
  321. package/dist/types/src/imageLoader/wadors/loadImage.d.ts +26 -0
  322. package/dist/types/src/imageLoader/wadors/loadImage.d.ts.map +1 -0
  323. package/dist/types/src/imageLoader/wadors/loadImage_test.d.ts +2 -0
  324. package/dist/types/src/imageLoader/wadors/loadImage_test.d.ts.map +1 -0
  325. package/dist/types/src/imageLoader/wadors/metaData/NMHelpers.d.ts +6 -0
  326. package/dist/types/src/imageLoader/wadors/metaData/NMHelpers.d.ts.map +1 -0
  327. package/dist/types/src/imageLoader/wadors/metaData/USHelpers.d.ts +20 -0
  328. package/dist/types/src/imageLoader/wadors/metaData/USHelpers.d.ts.map +1 -0
  329. package/dist/types/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts +4 -0
  330. package/dist/types/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts.map +1 -0
  331. package/dist/types/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts +3 -0
  332. package/dist/types/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts.map +1 -0
  333. package/dist/types/src/imageLoader/wadors/metaData/getNumberString.d.ts +4 -0
  334. package/dist/types/src/imageLoader/wadors/metaData/getNumberString.d.ts.map +1 -0
  335. package/dist/types/src/imageLoader/wadors/metaData/getNumberValue.d.ts +4 -0
  336. package/dist/types/src/imageLoader/wadors/metaData/getNumberValue.d.ts.map +1 -0
  337. package/dist/types/src/imageLoader/wadors/metaData/getNumberValues.d.ts +4 -0
  338. package/dist/types/src/imageLoader/wadors/metaData/getNumberValues.d.ts.map +1 -0
  339. package/dist/types/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts +5 -0
  340. package/dist/types/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts.map +1 -0
  341. package/dist/types/src/imageLoader/wadors/metaData/getSequenceItems.d.ts +4 -0
  342. package/dist/types/src/imageLoader/wadors/metaData/getSequenceItems.d.ts.map +1 -0
  343. package/dist/types/src/imageLoader/wadors/metaData/getValue.d.ts +4 -0
  344. package/dist/types/src/imageLoader/wadors/metaData/getValue.d.ts.map +1 -0
  345. package/dist/types/src/imageLoader/wadors/metaData/index.d.ts +8 -0
  346. package/dist/types/src/imageLoader/wadors/metaData/index.d.ts.map +1 -0
  347. package/dist/types/src/imageLoader/wadors/metaData/metaDataProvider.d.ts +15 -0
  348. package/dist/types/src/imageLoader/wadors/metaData/metaDataProvider.d.ts.map +1 -0
  349. package/dist/types/src/imageLoader/wadors/metaDataManager.d.ts +15 -0
  350. package/dist/types/src/imageLoader/wadors/metaDataManager.d.ts.map +1 -0
  351. package/dist/types/src/imageLoader/wadors/register.d.ts +2 -0
  352. package/dist/types/src/imageLoader/wadors/register.d.ts.map +1 -0
  353. package/dist/types/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts +16 -0
  354. package/dist/types/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts.map +1 -0
  355. package/dist/types/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts +23 -0
  356. package/dist/types/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts.map +1 -0
  357. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager.d.ts +32 -0
  358. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager.d.ts.map +1 -0
  359. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts +2 -0
  360. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts.map +1 -0
  361. package/dist/types/src/imageLoader/wadouri/dataset-from-partial-content.d.ts +7 -0
  362. package/dist/types/src/imageLoader/wadouri/dataset-from-partial-content.d.ts.map +1 -0
  363. package/dist/types/src/imageLoader/wadouri/fileManager.d.ts +12 -0
  364. package/dist/types/src/imageLoader/wadouri/fileManager.d.ts.map +1 -0
  365. package/dist/types/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts +3 -0
  366. package/dist/types/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts.map +1 -0
  367. package/dist/types/src/imageLoader/wadouri/getPixelData.d.ts +4 -0
  368. package/dist/types/src/imageLoader/wadouri/getPixelData.d.ts.map +1 -0
  369. package/dist/types/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts +4 -0
  370. package/dist/types/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts.map +1 -0
  371. package/dist/types/src/imageLoader/wadouri/index.d.ts +44 -0
  372. package/dist/types/src/imageLoader/wadouri/index.d.ts.map +1 -0
  373. package/dist/types/src/imageLoader/wadouri/loadFileRequest.d.ts +3 -0
  374. package/dist/types/src/imageLoader/wadouri/loadFileRequest.d.ts.map +1 -0
  375. package/dist/types/src/imageLoader/wadouri/loadImage.d.ts +10 -0
  376. package/dist/types/src/imageLoader/wadouri/loadImage.d.ts.map +1 -0
  377. package/dist/types/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts +7 -0
  378. package/dist/types/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts.map +1 -0
  379. package/dist/types/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts +5 -0
  380. package/dist/types/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts.map +1 -0
  381. package/dist/types/src/imageLoader/wadouri/metaData/getLUTs.d.ts +5 -0
  382. package/dist/types/src/imageLoader/wadouri/metaData/getLUTs.d.ts.map +1 -0
  383. package/dist/types/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +4 -0
  384. package/dist/types/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts.map +1 -0
  385. package/dist/types/src/imageLoader/wadouri/metaData/getNumberValues.d.ts +4 -0
  386. package/dist/types/src/imageLoader/wadouri/metaData/getNumberValues.d.ts.map +1 -0
  387. package/dist/types/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts +5 -0
  388. package/dist/types/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts.map +1 -0
  389. package/dist/types/src/imageLoader/wadouri/metaData/index.d.ts +6 -0
  390. package/dist/types/src/imageLoader/wadouri/metaData/index.d.ts.map +1 -0
  391. package/dist/types/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts +3 -0
  392. package/dist/types/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts.map +1 -0
  393. package/dist/types/src/imageLoader/wadouri/parseImageId.d.ts +9 -0
  394. package/dist/types/src/imageLoader/wadouri/parseImageId.d.ts.map +1 -0
  395. package/dist/types/src/imageLoader/wadouri/register.d.ts +3 -0
  396. package/dist/types/src/imageLoader/wadouri/register.d.ts.map +1 -0
  397. package/dist/types/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts +19 -0
  398. package/dist/types/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts.map +1 -0
  399. package/dist/types/src/imageLoader/wadouri/unpackBinaryFrame.d.ts +4 -0
  400. package/dist/types/src/imageLoader/wadouri/unpackBinaryFrame.d.ts.map +1 -0
  401. package/dist/types/src/shared/calculateMinMax.d.ts +3 -0
  402. package/dist/types/src/shared/calculateMinMax.d.ts.map +1 -0
  403. package/dist/types/src/shared/calculateMinMax_test.d.ts +2 -0
  404. package/dist/types/src/shared/calculateMinMax_test.d.ts.map +1 -0
  405. package/dist/types/src/shared/decodeImageFrame.d.ts +2 -0
  406. package/dist/types/src/shared/decodeImageFrame.d.ts.map +1 -0
  407. package/dist/types/src/shared/decoders/decodeBigEndian.d.ts +5 -0
  408. package/dist/types/src/shared/decoders/decodeBigEndian.d.ts.map +1 -0
  409. package/dist/types/src/shared/decoders/decodeHTJ2K.d.ts +6 -0
  410. package/dist/types/src/shared/decoders/decodeHTJ2K.d.ts.map +1 -0
  411. package/dist/types/src/shared/decoders/decodeJPEG2000.d.ts +5 -0
  412. package/dist/types/src/shared/decoders/decodeJPEG2000.d.ts.map +1 -0
  413. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts +6 -0
  414. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts.map +1 -0
  415. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +1 -0
  416. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts.map +1 -0
  417. package/dist/types/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts +4 -0
  418. package/dist/types/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts.map +1 -0
  419. package/dist/types/src/shared/decoders/decodeJPEGLS.d.ts +5 -0
  420. package/dist/types/src/shared/decoders/decodeJPEGLS.d.ts.map +1 -0
  421. package/dist/types/src/shared/decoders/decodeJPEGLossless.d.ts +6 -0
  422. package/dist/types/src/shared/decoders/decodeJPEGLossless.d.ts.map +1 -0
  423. package/dist/types/src/shared/decoders/decodeLittleEndian.d.ts +5 -0
  424. package/dist/types/src/shared/decoders/decodeLittleEndian.d.ts.map +1 -0
  425. package/dist/types/src/shared/decoders/decodeRLE.d.ts +5 -0
  426. package/dist/types/src/shared/decoders/decodeRLE.d.ts.map +1 -0
  427. package/dist/types/src/shared/getMinMax.d.ts +7 -0
  428. package/dist/types/src/shared/getMinMax.d.ts.map +1 -0
  429. package/dist/types/src/shared/getMinMax_test.d.ts +2 -0
  430. package/dist/types/src/shared/getMinMax_test.d.ts.map +1 -0
  431. package/dist/types/src/shared/getPixelDataTypeFromMinMax.d.ts +3 -0
  432. package/dist/types/src/shared/getPixelDataTypeFromMinMax.d.ts.map +1 -0
  433. package/dist/types/src/shared/isColorImage.d.ts +2 -0
  434. package/dist/types/src/shared/isColorImage.d.ts.map +1 -0
  435. package/dist/types/src/shared/scaling/bilinear.d.ts +2 -0
  436. package/dist/types/src/shared/scaling/bilinear.d.ts.map +1 -0
  437. package/dist/types/src/shared/scaling/replicate.d.ts +2 -0
  438. package/dist/types/src/shared/scaling/replicate.d.ts.map +1 -0
  439. package/dist/types/src/shared/scaling/scaleArray.d.ts +3 -0
  440. package/dist/types/src/shared/scaling/scaleArray.d.ts.map +1 -0
  441. package/dist/types/src/types/DICOMLoaderDataSetWithFetchMore.d.ts +10 -0
  442. package/dist/types/src/types/DICOMLoaderDataSetWithFetchMore.d.ts.map +1 -0
  443. package/dist/types/src/types/DICOMLoaderIImage.d.ts +14 -0
  444. package/dist/types/src/types/DICOMLoaderIImage.d.ts.map +1 -0
  445. package/dist/types/src/types/DICOMLoaderImageOptions.d.ts +27 -0
  446. package/dist/types/src/types/DICOMLoaderImageOptions.d.ts.map +1 -0
  447. package/dist/types/src/types/ImageFrame.d.ts +44 -0
  448. package/dist/types/src/types/ImageFrame.d.ts.map +1 -0
  449. package/dist/types/src/types/LoadRequestFunction.d.ts +2 -0
  450. package/dist/types/src/types/LoadRequestFunction.d.ts.map +1 -0
  451. package/dist/types/src/types/LoaderDecodeOptions.d.ts +5 -0
  452. package/dist/types/src/types/LoaderDecodeOptions.d.ts.map +1 -0
  453. package/dist/types/src/types/LoaderOptions.d.ts +19 -0
  454. package/dist/types/src/types/LoaderOptions.d.ts.map +1 -0
  455. package/dist/types/src/types/LutType.d.ts +7 -0
  456. package/dist/types/src/types/LutType.d.ts.map +1 -0
  457. package/dist/types/src/types/MetadataModules.d.ts +67 -0
  458. package/dist/types/src/types/MetadataModules.d.ts.map +1 -0
  459. package/dist/types/src/types/PixelDataTypedArray.d.ts +3 -0
  460. package/dist/types/src/types/PixelDataTypedArray.d.ts.map +1 -0
  461. package/dist/types/src/types/WADORSMetaData.d.ts +5 -0
  462. package/dist/types/src/types/WADORSMetaData.d.ts.map +1 -0
  463. package/dist/types/src/types/WebWorkerTypes.d.ts +65 -0
  464. package/dist/types/src/types/WebWorkerTypes.d.ts.map +1 -0
  465. package/dist/types/src/types/XHRRequest.d.ts +17 -0
  466. package/dist/types/src/types/XHRRequest.d.ts.map +1 -0
  467. package/dist/types/src/types/index.d.ts +15 -0
  468. package/dist/types/src/types/index.d.ts.map +1 -0
  469. package/dist/types/src/version.d.ts +3 -0
  470. package/dist/types/src/version.d.ts.map +1 -0
  471. package/package.json +20 -10
  472. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js +0 -2
  473. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js.map +0 -1
  474. package/dist/dynamic-import/610.min.worker.js +0 -2
  475. package/dist/dynamic-import/610.min.worker.js.map +0 -1
  476. package/dist/dynamic-import/75788f12450d4c5ed494.wasm +0 -0
  477. package/dist/dynamic-import/945.min.worker.js +0 -2
  478. package/dist/dynamic-import/945.min.worker.js.map +0 -1
  479. package/dist/dynamic-import/index.worker.e62ecca63f1a2e124230.worker.js +0 -2
  480. package/dist/dynamic-import/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
  481. package/dist/index.worker.bundle.min.worker.js +0 -2
  482. package/dist/index.worker.bundle.min.worker.js.map +0 -1
@@ -0,0 +1,249 @@
1
+ import external from '../externalModules';
2
+ import getMinMax from '../shared/getMinMax';
3
+ import getPixelDataTypeFromMinMax from '../shared/getPixelDataTypeFromMinMax';
4
+ import convertColorSpace from './convertColorSpace';
5
+ import isColorConversionRequired from './isColorConversionRequired';
6
+ import decodeImageFrame from './decodeImageFrame';
7
+ import getImageFrame from './getImageFrame';
8
+ import getScalingParameters from './getScalingParameters';
9
+ import { getOptions } from './internal/options';
10
+ import isColorImageFn from '../shared/isColorImage';
11
+ let lastImageIdDrawn = '';
12
+ function isModalityLUTForDisplay(sopClassUid) {
13
+ return (sopClassUid !== '1.2.840.10008.5.1.4.1.1.12.1' &&
14
+ sopClassUid !== '1.2.840.10008.5.1.4.1.1.12.2.1');
15
+ }
16
+ function setPixelDataType(imageFrame) {
17
+ const minValue = imageFrame.smallestPixelValue;
18
+ const maxValue = imageFrame.largestPixelValue;
19
+ const TypedArray = getPixelDataTypeFromMinMax(minValue, maxValue);
20
+ if (TypedArray) {
21
+ const typedArray = new TypedArray(imageFrame.pixelData);
22
+ imageFrame.pixelData = typedArray;
23
+ }
24
+ else {
25
+ throw new Error('Could not apply a typed array to the pixel data');
26
+ }
27
+ }
28
+ function removeAFromRGBA(pixelData, targetBuffer) {
29
+ const numPixels = pixelData.length / 4;
30
+ let rgbIndex = 0;
31
+ let bufferIndex = 0;
32
+ for (let i = 0; i < numPixels; i++) {
33
+ targetBuffer[bufferIndex++] = pixelData[rgbIndex++];
34
+ targetBuffer[bufferIndex++] = pixelData[rgbIndex++];
35
+ targetBuffer[bufferIndex++] = pixelData[rgbIndex++];
36
+ rgbIndex++;
37
+ }
38
+ return targetBuffer;
39
+ }
40
+ function createImage(imageId, pixelData, transferSyntax, options = {}) {
41
+ const useRGBA = options.useRGBA;
42
+ options.preScale = {
43
+ enabled: options.preScale && options.preScale.enabled !== undefined
44
+ ? options.preScale.enabled
45
+ : false,
46
+ };
47
+ if (!pixelData?.length) {
48
+ return Promise.reject(new Error('The pixel data is missing'));
49
+ }
50
+ const { cornerstone } = external;
51
+ const { MetadataModules } = cornerstone.Enums;
52
+ const canvas = document.createElement('canvas');
53
+ const imageFrame = getImageFrame(imageId);
54
+ imageFrame.decodeLevel = options.decodeLevel;
55
+ options.allowFloatRendering = cornerstone.canRenderFloatTextures();
56
+ if (options.preScale.enabled) {
57
+ const scalingParameters = getScalingParameters(cornerstone.metaData, imageId);
58
+ if (scalingParameters) {
59
+ options.preScale = {
60
+ ...options.preScale,
61
+ scalingParameters,
62
+ };
63
+ }
64
+ }
65
+ options.isSharedArrayBuffer =
66
+ options.targetBuffer?.arrayBuffer &&
67
+ options.targetBuffer.arrayBuffer instanceof SharedArrayBuffer;
68
+ const { decodeConfig } = getOptions();
69
+ decodeConfig.use16BitDataType =
70
+ (options && options.targetBuffer?.type === 'Uint16Array') ||
71
+ options.targetBuffer?.type === 'Int16Array'
72
+ ? true
73
+ : options.useNativeDataType || decodeConfig.use16BitDataType;
74
+ Object.keys(imageFrame).forEach((key) => {
75
+ if (typeof imageFrame[key] === 'function' ||
76
+ imageFrame[key] instanceof Promise) {
77
+ delete imageFrame[key];
78
+ }
79
+ });
80
+ const decodePromise = decodeImageFrame(imageFrame, transferSyntax, pixelData, canvas, options, decodeConfig);
81
+ const { use16BitDataType } = decodeConfig;
82
+ const isColorImage = isColorImageFn(imageFrame.photometricInterpretation);
83
+ return new Promise((resolve, reject) => {
84
+ decodePromise.then(function (imageFrame) {
85
+ if (options.skipCreateImage) {
86
+ return resolve(imageFrame);
87
+ }
88
+ let alreadyTyped = false;
89
+ if (options.targetBuffer && options.targetBuffer.type && !isColorImage) {
90
+ const { arrayBuffer, type, offset: rawOffset = 0, length: rawLength, } = options.targetBuffer;
91
+ const imageFrameLength = imageFrame.pixelDataLength;
92
+ const offset = rawOffset;
93
+ const length = rawLength !== null && rawLength !== undefined
94
+ ? rawLength
95
+ : imageFrameLength - offset;
96
+ const typedArrayConstructors = {
97
+ Uint8Array,
98
+ Uint16Array: use16BitDataType ? Uint16Array : undefined,
99
+ Int16Array: use16BitDataType ? Int16Array : undefined,
100
+ Float32Array,
101
+ };
102
+ if (length !== imageFrame.pixelDataLength) {
103
+ throw new Error(`target array for image does not have the same length (${length}) as the decoded image length (${imageFrame.pixelDataLength}).`);
104
+ }
105
+ const TypedArrayConstructor = typedArrayConstructors[type];
106
+ const typedArray = arrayBuffer
107
+ ? new TypedArrayConstructor(arrayBuffer, offset, length)
108
+ : new TypedArrayConstructor(imageFrame.pixelData);
109
+ if (length !== imageFrame.pixelDataLength) {
110
+ throw new Error('target array for image does not have the same length as the decoded image length.');
111
+ }
112
+ imageFrame.pixelData = typedArray;
113
+ alreadyTyped = true;
114
+ }
115
+ if (!alreadyTyped) {
116
+ setPixelDataType(imageFrame);
117
+ }
118
+ const imagePlaneModule = cornerstone.metaData.get(MetadataModules.IMAGE_PLANE, imageId) || {};
119
+ const voiLutModule = cornerstone.metaData.get(MetadataModules.VOI_LUT, imageId) || {};
120
+ const modalityLutModule = cornerstone.metaData.get(MetadataModules.MODALITY_LUT, imageId) || {};
121
+ const sopCommonModule = cornerstone.metaData.get(MetadataModules.SOP_COMMON, imageId) || {};
122
+ const calibrationModule = cornerstone.metaData.get(MetadataModules.CALIBRATION, imageId) || {};
123
+ const { rows, columns } = imageFrame;
124
+ if (isColorImage) {
125
+ if (isColorConversionRequired(imageFrame)) {
126
+ canvas.height = imageFrame.rows;
127
+ canvas.width = imageFrame.columns;
128
+ const context = canvas.getContext('2d');
129
+ let imageData = context.createImageData(imageFrame.columns, imageFrame.rows);
130
+ if (!useRGBA) {
131
+ imageData = {
132
+ ...imageData,
133
+ data: new Uint8ClampedArray(imageFrame.samplesPerPixel *
134
+ imageFrame.columns *
135
+ imageFrame.rows),
136
+ };
137
+ }
138
+ convertColorSpace(imageFrame, imageData.data, useRGBA);
139
+ imageFrame.imageData = imageData;
140
+ imageFrame.pixelData = imageData.data;
141
+ imageFrame.pixelDataLength = imageData.data.length;
142
+ }
143
+ else if (!useRGBA &&
144
+ imageFrame.pixelDataLength === 4 * rows * columns) {
145
+ const colorBuffer = new Uint8Array((imageFrame.pixelData.length / 4) * 3);
146
+ imageFrame.pixelData = removeAFromRGBA(imageFrame.pixelData, colorBuffer);
147
+ imageFrame.pixelDataLength = imageFrame.pixelData.length;
148
+ }
149
+ const minMax = getMinMax(imageFrame.pixelData);
150
+ imageFrame.smallestPixelValue = minMax.min;
151
+ imageFrame.largestPixelValue = minMax.max;
152
+ }
153
+ const image = {
154
+ imageId,
155
+ color: isColorImage,
156
+ calibration: calibrationModule,
157
+ columnPixelSpacing: imagePlaneModule.columnPixelSpacing,
158
+ columns: imageFrame.columns,
159
+ height: imageFrame.rows,
160
+ preScale: imageFrame.preScale,
161
+ intercept: modalityLutModule.rescaleIntercept
162
+ ? modalityLutModule.rescaleIntercept
163
+ : 0,
164
+ slope: modalityLutModule.rescaleSlope
165
+ ? modalityLutModule.rescaleSlope
166
+ : 1,
167
+ invert: imageFrame.photometricInterpretation === 'MONOCHROME1',
168
+ minPixelValue: imageFrame.smallestPixelValue,
169
+ maxPixelValue: imageFrame.largestPixelValue,
170
+ rowPixelSpacing: imagePlaneModule.rowPixelSpacing,
171
+ rows: imageFrame.rows,
172
+ sizeInBytes: imageFrame.pixelData.byteLength,
173
+ width: imageFrame.columns,
174
+ windowCenter: voiLutModule.windowCenter
175
+ ? voiLutModule.windowCenter[0]
176
+ : undefined,
177
+ windowWidth: voiLutModule.windowWidth
178
+ ? voiLutModule.windowWidth[0]
179
+ : undefined,
180
+ voiLUTFunction: voiLutModule.voiLUTFunction
181
+ ? voiLutModule.voiLUTFunction
182
+ : undefined,
183
+ decodeTimeInMS: imageFrame.decodeTimeInMS,
184
+ floatPixelData: undefined,
185
+ imageFrame,
186
+ rgba: isColorImage && useRGBA,
187
+ getPixelData: () => imageFrame.pixelData,
188
+ getCanvas: undefined,
189
+ numComps: undefined,
190
+ };
191
+ if (image.color) {
192
+ image.getCanvas = function () {
193
+ if (lastImageIdDrawn === imageId) {
194
+ return canvas;
195
+ }
196
+ const width = image.columns;
197
+ const height = image.rows;
198
+ canvas.height = height;
199
+ canvas.width = width;
200
+ const ctx = canvas.getContext('2d');
201
+ const imageData = ctx.createImageData(width, height);
202
+ const arr = imageFrame.pixelData;
203
+ if (arr.length === width * height * 4) {
204
+ for (let i = 0; i < arr.length; i++) {
205
+ imageData.data[i] = arr[i];
206
+ }
207
+ }
208
+ else if (arr.length === width * height * 3) {
209
+ let j = 0;
210
+ for (let i = 0; i < arr.length; i += 3) {
211
+ imageData.data[j++] = arr[i];
212
+ imageData.data[j++] = arr[i + 1];
213
+ imageData.data[j++] = arr[i + 2];
214
+ imageData.data[j++] = 255;
215
+ }
216
+ }
217
+ imageFrame.pixelData = imageData.data;
218
+ imageFrame.pixelDataLength = imageData.data.length;
219
+ imageFrame.imageData = imageData;
220
+ ctx.putImageData(imageFrame.imageData, 0, 0);
221
+ lastImageIdDrawn = imageId;
222
+ return canvas;
223
+ };
224
+ }
225
+ if (modalityLutModule.modalityLUTSequence &&
226
+ modalityLutModule.modalityLUTSequence.length > 0 &&
227
+ isModalityLUTForDisplay(sopCommonModule.sopClassUID)) {
228
+ image.modalityLUT = modalityLutModule.modalityLUTSequence[0];
229
+ }
230
+ if (voiLutModule.voiLUTSequence &&
231
+ voiLutModule.voiLUTSequence.length > 0) {
232
+ image.voiLUT = voiLutModule.voiLUTSequence[0];
233
+ }
234
+ if (image.color) {
235
+ image.windowWidth = 256;
236
+ image.windowCenter = 128;
237
+ }
238
+ if (image.windowCenter === undefined || image.windowWidth === undefined) {
239
+ const minVoi = image.imageFrame.minAfterScale;
240
+ const maxVoi = image.imageFrame.maxAfterScale;
241
+ image.windowWidth = maxVoi - minVoi;
242
+ image.windowCenter = (maxVoi + minVoi) / 2;
243
+ }
244
+ resolve(image);
245
+ }, reject);
246
+ });
247
+ }
248
+ export default createImage;
249
+ //# sourceMappingURL=createImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createImage.js","sourceRoot":"","sources":["../../../../src/imageLoader/createImage.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAS9E,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,cAAc,MAAM,wBAAwB,CAAC;AAEpD,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAE1B,SAAS,uBAAuB,CAAC,WAAmB;IAGlD,OAAO,CACL,WAAW,KAAK,8BAA8B;QAC9C,WAAW,KAAK,gCAAgC,CACjD,CAAC;AACJ,CAAC;AASD,SAAS,gBAAgB,CAAC,UAAU;IAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAE9C,MAAM,UAAU,GAAG,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAElE,IAAI,UAAU,EAAE,CAAC;QAEf,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAUD,SAAS,eAAe,CACtB,SAA8B,EAC9B,YAA4C;IAE5C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEvC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAClB,OAAe,EACf,SAAoB,EACpB,cAAsB,EACtB,UAAmC,EAAE;IAKrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAGhC,OAAO,CAAC,QAAQ,GAAG;QACjB,OAAO,EACL,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;YACxD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;YAC1B,CAAC,CAAC,KAAK;KACZ,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAE7C,OAAO,CAAC,mBAAmB,GAAG,WAAW,CAAC,sBAAsB,EAAE,CAAC;IAGnE,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,WAAW,CAAC,QAAQ,EACpB,OAAO,CACR,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,GAAG;gBACjB,GAAG,OAAO,CAAC,QAAQ;gBACnB,iBAAiB;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,OAAO,CAAC,mBAAmB;QACzB,OAAO,CAAC,YAAY,EAAE,WAAW;YACjC,OAAO,CAAC,YAAY,CAAC,WAAW,YAAY,iBAAiB,CAAC;IAEhE,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IAKtC,YAAY,CAAC,gBAAgB;QAC3B,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,IAAI,KAAK,aAAa,CAAC;YACzD,OAAO,CAAC,YAAY,EAAE,IAAI,KAAK,YAAY;YACzC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,iBAAiB,IAAI,YAAY,CAAC,gBAAgB,CAAC;IAKjE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,IACE,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU;YACrC,UAAU,CAAC,GAAG,CAAC,YAAY,OAAO,EAClC,CAAC;YACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,gBAAgB,CACpC,UAAU,EACV,cAAc,EACd,SAAS,EACT,MAAM,EACN,OAAO,EACP,YAAY,CACb,CAAC;IAEF,MAAM,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC;IAC1C,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAE1E,OAAO,IAAI,OAAO,CAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAErE,aAAa,CAAC,IAAI,CAAC,UAAU,UAAsB;YAIjD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;YAID,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvE,MAAM,EACJ,WAAW,EACX,IAAI,EACJ,MAAM,EAAE,SAAS,GAAG,CAAC,EACrB,MAAM,EAAE,SAAS,GAClB,GAAG,OAAO,CAAC,YAAY,CAAC;gBAEzB,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC;gBAEpD,MAAM,MAAM,GAAG,SAAS,CAAC;gBACzB,MAAM,MAAM,GACV,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;oBAC3C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC;gBAEhC,MAAM,sBAAsB,GAAG;oBAC7B,UAAU;oBACV,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBACvD,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oBACrD,YAAY;iBACb,CAAC;gBAEF,IAAI,MAAM,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CACb,yDAAyD,MAAM,kCAAkC,UAAU,CAAC,eAAe,IAAI,CAChI,CAAC;gBACJ,CAAC;gBAED,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAI3D,MAAM,UAAU,GAAG,WAAW;oBAC5B,CAAC,CAAC,IAAI,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;oBACxD,CAAC,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAEpD,IAAI,MAAM,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;gBACJ,CAAC;gBAED,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC;gBAClC,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,gBAAgB,GACpB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,YAAY,GAChB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACnE,MAAM,iBAAiB,GACrB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACxE,MAAM,eAAe,GACnB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACtE,MAAM,iBAAiB,GACrB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;YAErC,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,yBAAyB,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;oBAChC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC;oBAClC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACxC,IAAI,SAAS,GAAG,OAAO,CAAC,eAAe,CACrC,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,IAAI,CAChB,CAAC;oBACF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,SAAS,GAAG;4BACV,GAAG,SAAS;4BACZ,IAAI,EAAE,IAAI,iBAAiB,CACzB,UAAU,CAAC,eAAe;gCACxB,UAAU,CAAC,OAAO;gCAClB,UAAU,CAAC,IAAI,CAClB;yBACF,CAAC;oBACJ,CAAC;oBACD,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACvD,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;oBACjC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;oBACtC,UAAU,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrD,CAAC;qBAAM,IACL,CAAC,OAAO;oBACR,UAAU,CAAC,eAAe,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,EACjD,CAAC;oBAMD,MAAM,WAAW,GAAG,IAAI,UAAU,CAChC,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CACtC,CAAC;oBAGF,UAAU,CAAC,SAAS,GAAG,eAAe,CACpC,UAAU,CAAC,SAAS,EACpB,WAAW,CACZ,CAAC;oBAEF,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC3D,CAAC;gBAOD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,SAAgB,CAAC,CAAC;gBAEtD,UAAU,CAAC,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC;gBAC3C,UAAU,CAAC,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC;YAC5C,CAAC;YAED,MAAM,KAAK,GAAsB;gBAC/B,OAAO;gBACP,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,iBAAiB;gBAC9B,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB;gBACvD,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,MAAM,EAAE,UAAU,CAAC,IAAI;gBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,SAAS,EAAE,iBAAiB,CAAC,gBAAgB;oBAC3C,CAAC,CAAC,iBAAiB,CAAC,gBAAgB;oBACpC,CAAC,CAAC,CAAC;gBACL,KAAK,EAAE,iBAAiB,CAAC,YAAY;oBACnC,CAAC,CAAC,iBAAiB,CAAC,YAAY;oBAChC,CAAC,CAAC,CAAC;gBACL,MAAM,EAAE,UAAU,CAAC,yBAAyB,KAAK,aAAa;gBAC9D,aAAa,EAAE,UAAU,CAAC,kBAAkB;gBAC5C,aAAa,EAAE,UAAU,CAAC,iBAAiB;gBAC3C,eAAe,EAAE,gBAAgB,CAAC,eAAe;gBACjD,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU;gBAC5C,KAAK,EAAE,UAAU,CAAC,OAAO;gBAGzB,YAAY,EAAE,YAAY,CAAC,YAAY;oBACrC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC9B,CAAC,CAAC,SAAS;gBACb,WAAW,EAAE,YAAY,CAAC,WAAW;oBACnC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC7B,CAAC,CAAC,SAAS;gBACb,cAAc,EAAE,YAAY,CAAC,cAAc;oBACzC,CAAC,CAAC,YAAY,CAAC,cAAc;oBAC7B,CAAC,CAAC,SAAS;gBACb,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,cAAc,EAAE,SAAS;gBACzB,UAAU;gBACV,IAAI,EAAE,YAAY,IAAI,OAAO;gBAC7B,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS;gBACxC,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,SAAS;aACpB,CAAC;YAEF,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,CAAC,SAAS,GAAG;oBAShB,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;wBACjC,OAAO,MAAM,CAAC;oBAChB,CAAC;oBAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;oBAE1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;oBACvB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;oBACrB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAErD,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC;oBAEjC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACpC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;yBAEI,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;wBACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;4BACvC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;4BAC7B,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BACjC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BACjC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;wBAC5B,CAAC;oBACH,CAAC;oBAED,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;oBACtC,UAAU,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;oBAEnD,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;oBACjC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7C,gBAAgB,GAAG,OAAO,CAAC;oBAE3B,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC;YACJ,CAAC;YAGD,IACE,iBAAiB,CAAC,mBAAmB;gBACrC,iBAAiB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBAChD,uBAAuB,CAAC,eAAe,CAAC,WAAW,CAAC,EACpD,CAAC;gBACD,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;YAGD,IACE,YAAY,CAAC,cAAc;gBAC3B,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EACtC,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAGhB,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;gBACxB,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC;YAC3B,CAAC;YAGD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACxE,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC;gBAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC;gBAE9C,KAAK,CAAC,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;gBACpC,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,66 @@
1
+ import decodeJPEGBaseline8BitColor from './decodeJPEGBaseline8BitColor';
2
+ import { inflateRaw } from 'pako/lib/inflate';
3
+ import external from '../externalModules';
4
+ window.pako = { inflateRaw };
5
+ function processDecodeTask(imageFrame, transferSyntax, pixelData, srcOptions, decodeConfig) {
6
+ const options = { ...srcOptions };
7
+ delete options.loader;
8
+ delete options.streamingData;
9
+ const webWorkerManager = external.cornerstone.getWebWorkerManager();
10
+ const priority = options.priority || undefined;
11
+ const transferList = options.transferPixelData
12
+ ? [pixelData.buffer]
13
+ : undefined;
14
+ return webWorkerManager.executeTask('dicomImageLoader', 'decodeTask', {
15
+ imageFrame,
16
+ transferSyntax,
17
+ pixelData,
18
+ options,
19
+ decodeConfig,
20
+ }, {
21
+ priority,
22
+ requestType: options?.requestType,
23
+ });
24
+ }
25
+ function decodeImageFrame(imageFrame, transferSyntax, pixelData, canvas, options = {}, decodeConfig) {
26
+ switch (transferSyntax) {
27
+ case '1.2.840.10008.1.2':
28
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
29
+ case '1.2.840.10008.1.2.1':
30
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
31
+ case '1.2.840.10008.1.2.2':
32
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
33
+ case '1.2.840.10008.1.2.1.99':
34
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
35
+ case '1.2.840.10008.1.2.5':
36
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
37
+ case '1.2.840.10008.1.2.4.50':
38
+ if (imageFrame.bitsAllocated === 8 &&
39
+ (imageFrame.samplesPerPixel === 3 || imageFrame.samplesPerPixel === 4)) {
40
+ return decodeJPEGBaseline8BitColor(imageFrame, pixelData, canvas);
41
+ }
42
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
43
+ case '1.2.840.10008.1.2.4.51':
44
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
45
+ case '1.2.840.10008.1.2.4.57':
46
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
47
+ case '1.2.840.10008.1.2.4.70':
48
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
49
+ case '1.2.840.10008.1.2.4.80':
50
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
51
+ case '1.2.840.10008.1.2.4.81':
52
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
53
+ case '1.2.840.10008.1.2.4.90':
54
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
55
+ case '1.2.840.10008.1.2.4.91':
56
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
57
+ case '3.2.840.10008.1.2.4.96':
58
+ case '1.2.840.10008.1.2.4.201':
59
+ case '1.2.840.10008.1.2.4.202':
60
+ case '1.2.840.10008.1.2.4.203':
61
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
62
+ }
63
+ return Promise.reject(new Error(`No decoder for transfer syntax ${transferSyntax}`));
64
+ }
65
+ export default decodeImageFrame;
66
+ //# sourceMappingURL=decodeImageFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decodeImageFrame.js","sourceRoot":"","sources":["../../../../src/imageLoader/decodeImageFrame.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import getMinMax from '../shared/getMinMax';
2
+ function arrayBufferToString(buffer) {
3
+ return binaryToString(String.fromCharCode.apply(null, Array.prototype.slice.apply(new Uint8Array(buffer))));
4
+ }
5
+ function binaryToString(binary) {
6
+ let error;
7
+ try {
8
+ return decodeURIComponent(escape(binary));
9
+ }
10
+ catch (_error) {
11
+ error = _error;
12
+ if (error instanceof URIError) {
13
+ return binary;
14
+ }
15
+ throw error;
16
+ }
17
+ }
18
+ function decodeJPEGBaseline8BitColor(imageFrame, pixelData, canvas) {
19
+ const start = new Date().getTime();
20
+ const imgBlob = new Blob([pixelData], { type: 'image/jpeg' });
21
+ return new Promise((resolve, reject) => {
22
+ const fileReader = new FileReader();
23
+ if (fileReader.readAsBinaryString === undefined) {
24
+ fileReader.readAsArrayBuffer(imgBlob);
25
+ }
26
+ else {
27
+ fileReader.readAsBinaryString(imgBlob);
28
+ }
29
+ fileReader.onload = function () {
30
+ const img = new Image();
31
+ img.onload = function () {
32
+ canvas.height = img.height;
33
+ canvas.width = img.width;
34
+ imageFrame.rows = img.height;
35
+ imageFrame.columns = img.width;
36
+ const context = canvas.getContext('2d');
37
+ context.drawImage(this, 0, 0);
38
+ const imageData = context.getImageData(0, 0, img.width, img.height);
39
+ const end = new Date().getTime();
40
+ imageFrame.pixelData = new Uint8Array(imageData.data.buffer);
41
+ imageFrame.imageData = imageData;
42
+ imageFrame.decodeTimeInMS = end - start;
43
+ const minMax = getMinMax(imageFrame.pixelData);
44
+ imageFrame.smallestPixelValue = minMax.min;
45
+ imageFrame.largestPixelValue = minMax.max;
46
+ imageFrame.pixelDataLength = imageFrame.pixelData.length;
47
+ resolve(imageFrame);
48
+ };
49
+ img.onerror = function (error) {
50
+ reject(error);
51
+ };
52
+ if (fileReader.readAsBinaryString === undefined) {
53
+ img.src = `data:image/jpeg;base64,${window.btoa(arrayBufferToString(fileReader.result))}`;
54
+ }
55
+ else {
56
+ img.src = `data:image/jpeg;base64,${window.btoa(fileReader.result)}`;
57
+ }
58
+ };
59
+ fileReader.onerror = (e) => {
60
+ reject(e);
61
+ };
62
+ });
63
+ }
64
+ export default decodeJPEGBaseline8BitColor;
65
+ //# sourceMappingURL=decodeJPEGBaseline8BitColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decodeJPEGBaseline8BitColor.js","sourceRoot":"","sources":["../../../../src/imageLoader/decodeJPEGBaseline8BitColor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import external from '../externalModules';
2
+ function getImageFrame(imageId) {
3
+ const { cornerstone } = external;
4
+ const imagePixelModule = cornerstone.metaData.get('imagePixelModule', imageId);
5
+ return {
6
+ samplesPerPixel: imagePixelModule.samplesPerPixel,
7
+ photometricInterpretation: imagePixelModule.photometricInterpretation,
8
+ planarConfiguration: imagePixelModule.planarConfiguration,
9
+ rows: imagePixelModule.rows,
10
+ columns: imagePixelModule.columns,
11
+ bitsAllocated: imagePixelModule.bitsAllocated,
12
+ bitsStored: imagePixelModule.bitsStored,
13
+ pixelRepresentation: imagePixelModule.pixelRepresentation,
14
+ smallestPixelValue: imagePixelModule.smallestPixelValue,
15
+ largestPixelValue: imagePixelModule.largestPixelValue,
16
+ redPaletteColorLookupTableDescriptor: imagePixelModule.redPaletteColorLookupTableDescriptor,
17
+ greenPaletteColorLookupTableDescriptor: imagePixelModule.greenPaletteColorLookupTableDescriptor,
18
+ bluePaletteColorLookupTableDescriptor: imagePixelModule.bluePaletteColorLookupTableDescriptor,
19
+ redPaletteColorLookupTableData: imagePixelModule.redPaletteColorLookupTableData,
20
+ greenPaletteColorLookupTableData: imagePixelModule.greenPaletteColorLookupTableData,
21
+ bluePaletteColorLookupTableData: imagePixelModule.bluePaletteColorLookupTableData,
22
+ pixelData: undefined,
23
+ imageId,
24
+ };
25
+ }
26
+ export default getImageFrame;
27
+ //# sourceMappingURL=getImageFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getImageFrame.js","sourceRoot":"","sources":["../../../../src/imageLoader/getImageFrame.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAG1C,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjC,MAAM,gBAAgB,GAA6B,WAAW,CAAC,QAAQ,CAAC,GAAG,CACzE,kBAAkB,EAClB,OAAO,CACR,CAAC;IAEF,OAAO;QACL,eAAe,EAAE,gBAAgB,CAAC,eAAe;QACjD,yBAAyB,EAAE,gBAAgB,CAAC,yBAAyB;QACrE,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;QACzD,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,aAAa,EAAE,gBAAgB,CAAC,aAAa;QAC7C,UAAU,EAAE,gBAAgB,CAAC,UAAU;QACvC,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;QACzD,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB;QACvD,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;QACrD,oCAAoC,EAClC,gBAAgB,CAAC,oCAAoC;QACvD,sCAAsC,EACpC,gBAAgB,CAAC,sCAAsC;QACzD,qCAAqC,EACnC,gBAAgB,CAAC,qCAAqC;QACxD,8BAA8B,EAC5B,gBAAgB,CAAC,8BAA8B;QACjD,gCAAgC,EAC9B,gBAAgB,CAAC,gCAAgC;QACnD,+BAA+B,EAC7B,gBAAgB,CAAC,+BAA+B;QAClD,SAAS,EAAE,SAAS;QACpB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,41 @@
1
+ function getInstanceModule(imageId, metaDataProvider, types) {
2
+ const result = {};
3
+ for (const t of types) {
4
+ try {
5
+ const data = metaDataProvider(t, imageId);
6
+ if (data) {
7
+ const capitalizedData = {};
8
+ for (const key in data) {
9
+ if (key in data) {
10
+ const capitalizedKey = capitalizeTag(key);
11
+ capitalizedData[capitalizedKey] = data[key];
12
+ }
13
+ }
14
+ Object.assign(result, capitalizedData);
15
+ }
16
+ }
17
+ catch (error) {
18
+ console.error(`Error retrieving ${t} data:`, error);
19
+ }
20
+ }
21
+ return result;
22
+ }
23
+ const capitalizeTag = (tag) => tag.charAt(0).toUpperCase() + tag.slice(1);
24
+ const instanceModuleNames = [
25
+ 'multiframeModule',
26
+ 'generalSeriesModule',
27
+ 'patientStudyModule',
28
+ 'imagePlaneModule',
29
+ 'nmMultiframeGeometryModule',
30
+ 'imagePixelModule',
31
+ 'modalityLutModule',
32
+ 'voiLutModule',
33
+ 'sopCommonModule',
34
+ 'petIsotopeModule',
35
+ 'overlayPlaneModule',
36
+ 'transferSyntax',
37
+ 'petSeriesModule',
38
+ 'petImageModule',
39
+ ];
40
+ export { getInstanceModule, instanceModuleNames };
41
+ //# sourceMappingURL=getInstanceModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInstanceModule.js","sourceRoot":"","sources":["../../../../src/imageLoader/getInstanceModule.ts"],"names":[],"mappings":"AAYA,SAAS,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,eAAe,GAAG,EAAE,CAAC;gBAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBAEhB,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;wBAC1C,eAAe,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,mBAAmB,GAAG;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;IAClB,4BAA4B;IAC5B,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;CACjB,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ export default function getMinMax(storedPixelData) {
2
+ let min = storedPixelData[0];
3
+ let max = storedPixelData[0];
4
+ let storedPixel;
5
+ const numPixels = storedPixelData.length;
6
+ for (let index = 0; index < numPixels; index++) {
7
+ storedPixel = storedPixelData[index];
8
+ min = Math.min(min, storedPixel);
9
+ max = Math.max(max, storedPixel);
10
+ }
11
+ return {
12
+ min,
13
+ max,
14
+ };
15
+ }
16
+ //# sourceMappingURL=getMinMax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMinMax.js","sourceRoot":"","sources":["../../../../src/imageLoader/getMinMax.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,eAAkC;IAOlE,IAAI,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAI,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAI,WAAW,CAAC;IAChB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;IAEzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACjC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,GAAG;QACH,GAAG;KACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ export default function getScalingParameters(metaData, imageId) {
2
+ const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
3
+ const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
4
+ const { modality } = generalSeriesModule;
5
+ const scalingParameters = {
6
+ rescaleSlope: modalityLutModule.rescaleSlope,
7
+ rescaleIntercept: modalityLutModule.rescaleIntercept,
8
+ modality,
9
+ };
10
+ const suvFactor = metaData.get('scalingModule', imageId) || {};
11
+ return {
12
+ ...scalingParameters,
13
+ ...(modality === 'PT' && { suvbw: suvFactor.suvbw }),
14
+ };
15
+ }
16
+ //# sourceMappingURL=getScalingParameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getScalingParameters.js","sourceRoot":"","sources":["../../../../src/imageLoader/getScalingParameters.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,QAAa,EAAE,OAAe;IACzE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE3E,MAAM,mBAAmB,GACvB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAErD,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC;IAEzC,MAAM,iBAAiB,GAAG;QACxB,YAAY,EAAE,iBAAiB,CAAC,YAAY;QAC5C,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;QACpD,QAAQ;KACT,CAAC;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/D,OAAO;QACL,GAAG,iBAAiB;QACpB,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;KACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export default function imageIdToURI(imageId) {
2
+ const colonIndex = imageId.indexOf(':');
3
+ return imageId.substring(colonIndex + 1);
4
+ }
5
+ //# sourceMappingURL=imageIdToURI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageIdToURI.js","sourceRoot":"","sources":["../../../../src/imageLoader/imageIdToURI.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAe;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFullByPlane, convertPALETTECOLOR, } from './colorSpaceConverters/index';
2
+ import { default as wadouri } from './wadouri/index';
3
+ import { default as wadors } from './wadors/index';
4
+ import { default as configure } from './configure';
5
+ import { default as convertColorSpace } from './convertColorSpace';
6
+ import { default as createImage } from './createImage';
7
+ import { default as decodeJPEGBaseline8BitColor } from './decodeJPEGBaseline8BitColor';
8
+ import { default as getImageFrame } from './getImageFrame';
9
+ import { default as getMinMax } from '../shared/getMinMax';
10
+ import { default as isColorImage } from '../shared/isColorImage';
11
+ import { default as isJPEGBaseline8BitColor } from './isJPEGBaseline8BitColor';
12
+ import { default as getPixelData } from './wadors/getPixelData';
13
+ import { internal } from './internal/index';
14
+ import { default as external } from '../externalModules';
15
+ const cornerstoneDICOMImageLoader = {
16
+ convertRGBColorByPixel,
17
+ convertRGBColorByPlane,
18
+ convertYBRFullByPixel,
19
+ convertYBRFullByPlane,
20
+ convertPALETTECOLOR,
21
+ wadouri,
22
+ wadors,
23
+ configure,
24
+ convertColorSpace,
25
+ createImage,
26
+ decodeJPEGBaseline8BitColor,
27
+ getImageFrame,
28
+ getPixelData,
29
+ getMinMax,
30
+ isColorImage,
31
+ isJPEGBaseline8BitColor,
32
+ internal,
33
+ external,
34
+ };
35
+ export { convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFullByPlane, convertPALETTECOLOR, wadouri, wadors, configure, convertColorSpace, createImage, decodeJPEGBaseline8BitColor, getImageFrame, getPixelData, getMinMax, isColorImage, isJPEGBaseline8BitColor, internal, external, };
36
+ export default cornerstoneDICOMImageLoader;
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/imageLoader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,2BAA2B,GAAG;IAClC,sBAAsB;IACtB,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,OAAO;IACP,MAAM;IACN,SAAS;IACT,iBAAiB;IACjB,WAAW;IACX,2BAA2B;IAC3B,aAAa;IACb,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,uBAAuB;IACvB,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,EACP,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,QAAQ,EACR,QAAQ,GACT,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { default as xhrRequest } from './xhrRequest';
2
+ import { setOptions, getOptions } from './options';
3
+ const internal = {
4
+ xhrRequest,
5
+ setOptions,
6
+ getOptions,
7
+ };
8
+ export { setOptions, getOptions, xhrRequest, internal };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/imageLoader/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,QAAQ,GAAG;IACf,UAAU;IACV,UAAU;IACV,UAAU;CACX,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ let options = {
2
+ open(xhr, url) {
3
+ xhr.open('get', url, true);
4
+ },
5
+ beforeSend() {
6
+ },
7
+ beforeProcessing(xhr) {
8
+ return Promise.resolve(xhr.response);
9
+ },
10
+ imageCreated() {
11
+ },
12
+ strict: false,
13
+ decodeConfig: {
14
+ convertFloatPixelDataToInt: true,
15
+ use16BitDataType: false,
16
+ },
17
+ };
18
+ export function setOptions(newOptions) {
19
+ options = Object.assign(options, newOptions);
20
+ }
21
+ export function getOptions() {
22
+ return options;
23
+ }
24
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../src/imageLoader/internal/options.ts"],"names":[],"mappings":"AAEA,IAAI,OAAO,GAAkB;IAE3B,IAAI,CAAC,GAAG,EAAE,GAAG;QACX,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU;IAEV,CAAC;IAED,gBAAgB,CAAC,GAAmB;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAuB,CAAC,CAAC;IACtD,CAAC;IAED,YAAY;IAEZ,CAAC;IACD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE;QACZ,0BAA0B,EAAE,IAAI;QAChC,gBAAgB,EAAE,KAAK;KACxB;CACF,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,UAAyB;IAClD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC"}