@cornerstonejs/dicom-image-loader 2.0.0-beta.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/dynamic-import/{65916ef3def695744bda.wasm → 031089e563a18ada8441.wasm} +0 -0
  2. package/dist/dynamic-import/54.min.js +2 -0
  3. package/dist/dynamic-import/54.min.js.map +1 -0
  4. package/dist/dynamic-import/548.min.js +2 -0
  5. package/dist/dynamic-import/548.min.js.map +1 -0
  6. package/dist/dynamic-import/918.min.js +2 -0
  7. package/dist/dynamic-import/918.min.js.map +1 -0
  8. package/dist/dynamic-import/958.min.js +3 -0
  9. package/dist/dynamic-import/958.min.js.LICENSE.txt +5 -0
  10. package/dist/dynamic-import/958.min.js.map +1 -0
  11. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js +1 -1
  12. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js.map +1 -1
  13. package/dist/esm/codecs/jpeg.d.ts +1 -0
  14. package/dist/esm/codecs/jpeg.js +889 -0
  15. package/dist/esm/codecs/jpegLossless.d.ts +7 -0
  16. package/dist/esm/codecs/jpegLossless.js +1218 -0
  17. package/dist/esm/constants/index.d.ts +2 -0
  18. package/dist/esm/constants/index.js +2 -0
  19. package/dist/esm/constants/transferSyntaxes.d.ts +46 -0
  20. package/dist/esm/constants/transferSyntaxes.js +46 -0
  21. package/dist/esm/decodeImageFrameWorker.d.ts +1 -0
  22. package/dist/esm/decodeImageFrameWorker.js +263 -0
  23. package/dist/esm/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts +3 -0
  24. package/dist/esm/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js +77 -0
  25. package/dist/esm/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts +2 -0
  26. package/dist/esm/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js +21 -0
  27. package/dist/esm/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts +2 -0
  28. package/dist/esm/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js +28 -0
  29. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +2 -0
  30. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js +44 -0
  31. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts +2 -0
  32. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js +33 -0
  33. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts +2 -0
  34. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js +35 -0
  35. package/dist/esm/imageLoader/colorSpaceConverters/index.d.ts +7 -0
  36. package/dist/esm/imageLoader/colorSpaceConverters/index.js +7 -0
  37. package/dist/esm/imageLoader/convertColorSpace.d.ts +1 -0
  38. package/dist/esm/imageLoader/convertColorSpace.js +40 -0
  39. package/dist/esm/imageLoader/createImage.d.ts +5 -0
  40. package/dist/esm/imageLoader/createImage.js +245 -0
  41. package/dist/esm/imageLoader/decodeImageFrame.d.ts +3 -0
  42. package/dist/esm/imageLoader/decodeImageFrame.js +63 -0
  43. package/dist/esm/imageLoader/decodeJPEGBaseline8BitColor.d.ts +4 -0
  44. package/dist/esm/imageLoader/decodeJPEGBaseline8BitColor.js +64 -0
  45. package/dist/esm/imageLoader/getImageFrame.d.ts +3 -0
  46. package/dist/esm/imageLoader/getImageFrame.js +25 -0
  47. package/dist/esm/imageLoader/getInstanceModule.d.ts +3 -0
  48. package/dist/esm/imageLoader/getInstanceModule.js +40 -0
  49. package/dist/esm/imageLoader/getMinMax.d.ts +4 -0
  50. package/dist/esm/imageLoader/getMinMax.js +15 -0
  51. package/dist/esm/imageLoader/getScalingParameters.d.ts +6 -0
  52. package/dist/esm/imageLoader/getScalingParameters.js +16 -0
  53. package/dist/esm/imageLoader/imageIdToURI.d.ts +1 -0
  54. package/dist/esm/imageLoader/imageIdToURI.js +4 -0
  55. package/dist/esm/imageLoader/index.d.ts +91 -0
  56. package/dist/esm/imageLoader/index.js +34 -0
  57. package/dist/esm/imageLoader/init.d.ts +3 -0
  58. package/dist/esm/imageLoader/init.js +23 -0
  59. package/dist/esm/imageLoader/internal/index.d.ts +10 -0
  60. package/dist/esm/imageLoader/internal/index.js +10 -0
  61. package/dist/esm/imageLoader/internal/options.d.ts +3 -0
  62. package/dist/esm/imageLoader/internal/options.js +19 -0
  63. package/dist/esm/imageLoader/internal/rangeRequest.d.ts +9 -0
  64. package/dist/esm/imageLoader/internal/rangeRequest.js +121 -0
  65. package/dist/esm/imageLoader/internal/streamRequest.d.ts +2 -0
  66. package/dist/esm/imageLoader/internal/streamRequest.js +93 -0
  67. package/dist/esm/imageLoader/internal/xhrRequest.d.ts +3 -0
  68. package/dist/esm/imageLoader/internal/xhrRequest.js +101 -0
  69. package/dist/esm/imageLoader/isColorConversionRequired.d.ts +1 -0
  70. package/dist/esm/imageLoader/isColorConversionRequired.js +22 -0
  71. package/dist/esm/imageLoader/isJPEGBaseline8BitColor.d.ts +3 -0
  72. package/dist/esm/imageLoader/isJPEGBaseline8BitColor.js +9 -0
  73. package/dist/esm/imageLoader/isNMReconstructable.d.ts +1 -0
  74. package/dist/esm/imageLoader/isNMReconstructable.js +3 -0
  75. package/dist/esm/imageLoader/registerLoaders.d.ts +2 -0
  76. package/dist/esm/imageLoader/registerLoaders.js +7 -0
  77. package/dist/esm/imageLoader/wadors/combineFrameInstance.d.ts +12 -0
  78. package/dist/esm/imageLoader/wadors/combineFrameInstance.js +44 -0
  79. package/dist/esm/imageLoader/wadors/extractMultipart.d.ts +23 -0
  80. package/dist/esm/imageLoader/wadors/extractMultipart.js +73 -0
  81. package/dist/esm/imageLoader/wadors/findIndexOfString.d.ts +2 -0
  82. package/dist/esm/imageLoader/wadors/findIndexOfString.js +32 -0
  83. package/dist/esm/imageLoader/wadors/getImageQualityStatus.d.ts +3 -0
  84. package/dist/esm/imageLoader/wadors/getImageQualityStatus.js +8 -0
  85. package/dist/esm/imageLoader/wadors/getPixelData.d.ts +26 -0
  86. package/dist/esm/imageLoader/wadors/getPixelData.js +35 -0
  87. package/dist/esm/imageLoader/wadors/getTagValue.d.ts +1 -0
  88. package/dist/esm/imageLoader/wadors/getTagValue.js +9 -0
  89. package/dist/esm/imageLoader/wadors/index.d.ts +29 -0
  90. package/dist/esm/imageLoader/wadors/index.js +25 -0
  91. package/dist/esm/imageLoader/wadors/loadImage.d.ts +25 -0
  92. package/dist/esm/imageLoader/wadors/loadImage.js +124 -0
  93. package/dist/esm/imageLoader/wadors/loadImage_test.d.ts +1 -0
  94. package/dist/esm/imageLoader/wadors/loadImage_test.js +41 -0
  95. package/dist/esm/imageLoader/wadors/metaData/NMHelpers.d.ts +5 -0
  96. package/dist/esm/imageLoader/wadors/metaData/NMHelpers.js +38 -0
  97. package/dist/esm/imageLoader/wadors/metaData/USHelpers.d.ts +19 -0
  98. package/dist/esm/imageLoader/wadors/metaData/USHelpers.js +46 -0
  99. package/dist/esm/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts +3 -0
  100. package/dist/esm/imageLoader/wadors/metaData/extractPositioningFromMetadata.js +18 -0
  101. package/dist/esm/imageLoader/wadors/metaData/getFirstNumberValue.d.ts +2 -0
  102. package/dist/esm/imageLoader/wadors/metaData/getFirstNumberValue.js +6 -0
  103. package/dist/esm/imageLoader/wadors/metaData/getNumberString.d.ts +3 -0
  104. package/dist/esm/imageLoader/wadors/metaData/getNumberString.js +9 -0
  105. package/dist/esm/imageLoader/wadors/metaData/getNumberValue.d.ts +3 -0
  106. package/dist/esm/imageLoader/wadors/metaData/getNumberValue.js +9 -0
  107. package/dist/esm/imageLoader/wadors/metaData/getNumberValues.d.ts +3 -0
  108. package/dist/esm/imageLoader/wadors/metaData/getNumberValues.js +20 -0
  109. package/dist/esm/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts +4 -0
  110. package/dist/esm/imageLoader/wadors/metaData/getOverlayPlaneModule.js +38 -0
  111. package/dist/esm/imageLoader/wadors/metaData/getSequenceItems.d.ts +3 -0
  112. package/dist/esm/imageLoader/wadors/metaData/getSequenceItems.js +14 -0
  113. package/dist/esm/imageLoader/wadors/metaData/getValue.d.ts +3 -0
  114. package/dist/esm/imageLoader/wadors/metaData/getValue.js +14 -0
  115. package/dist/esm/imageLoader/wadors/metaData/index.d.ts +7 -0
  116. package/dist/esm/imageLoader/wadors/metaData/index.js +7 -0
  117. package/dist/esm/imageLoader/wadors/metaData/metaDataProvider.d.ts +14 -0
  118. package/dist/esm/imageLoader/wadors/metaData/metaDataProvider.js +277 -0
  119. package/dist/esm/imageLoader/wadors/metaDataManager.d.ts +19 -0
  120. package/dist/esm/imageLoader/wadors/metaDataManager.js +68 -0
  121. package/dist/esm/imageLoader/wadors/register.d.ts +1 -0
  122. package/dist/esm/imageLoader/wadors/register.js +7 -0
  123. package/dist/esm/imageLoader/wadouri/combineFrameInstanceDataset.d.ts +22 -0
  124. package/dist/esm/imageLoader/wadouri/combineFrameInstanceDataset.js +69 -0
  125. package/dist/esm/imageLoader/wadouri/dataSetCacheManager.d.ts +28 -0
  126. package/dist/esm/imageLoader/wadouri/dataSetCacheManager.js +141 -0
  127. package/dist/esm/imageLoader/wadouri/dataSetCacheManager_test.d.ts +1 -0
  128. package/dist/esm/imageLoader/wadouri/dataSetCacheManager_test.js +10 -0
  129. package/dist/esm/imageLoader/wadouri/dataset-from-partial-content.d.ts +6 -0
  130. package/dist/esm/imageLoader/wadouri/dataset-from-partial-content.js +55 -0
  131. package/dist/esm/imageLoader/wadouri/fileManager.d.ts +11 -0
  132. package/dist/esm/imageLoader/wadouri/fileManager.js +20 -0
  133. package/dist/esm/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts +2 -0
  134. package/dist/esm/imageLoader/wadouri/getEncapsulatedImageFrame.js +31 -0
  135. package/dist/esm/imageLoader/wadouri/getPixelData.d.ts +3 -0
  136. package/dist/esm/imageLoader/wadouri/getPixelData.js +13 -0
  137. package/dist/esm/imageLoader/wadouri/getUncompressedImageFrame.d.ts +3 -0
  138. package/dist/esm/imageLoader/wadouri/getUncompressedImageFrame.js +47 -0
  139. package/dist/esm/imageLoader/wadouri/index.d.ts +45 -0
  140. package/dist/esm/imageLoader/wadouri/index.js +34 -0
  141. package/dist/esm/imageLoader/wadouri/loadFileRequest.d.ts +2 -0
  142. package/dist/esm/imageLoader/wadouri/loadFileRequest.js +17 -0
  143. package/dist/esm/imageLoader/wadouri/loadImage.d.ts +9 -0
  144. package/dist/esm/imageLoader/wadouri/loadImage.js +104 -0
  145. package/dist/esm/imageLoader/wadouri/loadedDataSets.d.ts +7 -0
  146. package/dist/esm/imageLoader/wadouri/loadedDataSets.js +5 -0
  147. package/dist/esm/imageLoader/wadouri/metaData/USHelpers.d.ts +2 -0
  148. package/dist/esm/imageLoader/wadouri/metaData/USHelpers.js +44 -0
  149. package/dist/esm/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts +6 -0
  150. package/dist/esm/imageLoader/wadouri/metaData/extractPositioningFromDataset.js +80 -0
  151. package/dist/esm/imageLoader/wadouri/metaData/getImagePixelModule.d.ts +4 -0
  152. package/dist/esm/imageLoader/wadouri/metaData/getImagePixelModule.js +79 -0
  153. package/dist/esm/imageLoader/wadouri/metaData/getLUTs.d.ts +4 -0
  154. package/dist/esm/imageLoader/wadouri/metaData/getLUTs.js +44 -0
  155. package/dist/esm/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +3 -0
  156. package/dist/esm/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js +30 -0
  157. package/dist/esm/imageLoader/wadouri/metaData/getNumberValues.d.ts +3 -0
  158. package/dist/esm/imageLoader/wadouri/metaData/getNumberValues.js +16 -0
  159. package/dist/esm/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts +4 -0
  160. package/dist/esm/imageLoader/wadouri/metaData/getOverlayPlaneModule.js +36 -0
  161. package/dist/esm/imageLoader/wadouri/metaData/index.d.ts +5 -0
  162. package/dist/esm/imageLoader/wadouri/metaData/index.js +5 -0
  163. package/dist/esm/imageLoader/wadouri/metaData/metaDataProvider.d.ts +4 -0
  164. package/dist/esm/imageLoader/wadouri/metaData/metaDataProvider.js +227 -0
  165. package/dist/esm/imageLoader/wadouri/parseImageId.d.ts +8 -0
  166. package/dist/esm/imageLoader/wadouri/parseImageId.js +20 -0
  167. package/dist/esm/imageLoader/wadouri/register.d.ts +1 -0
  168. package/dist/esm/imageLoader/wadouri/register.js +9 -0
  169. package/dist/esm/imageLoader/wadouri/retrieveMultiframeDataset.d.ts +17 -0
  170. package/dist/esm/imageLoader/wadouri/retrieveMultiframeDataset.js +57 -0
  171. package/dist/esm/imageLoader/wadouri/unpackBinaryFrame.d.ts +3 -0
  172. package/dist/esm/imageLoader/wadouri/unpackBinaryFrame.js +14 -0
  173. package/dist/esm/index.d.ts +95 -0
  174. package/dist/esm/index.js +36 -0
  175. package/dist/esm/shared/decoders/decodeBigEndian.d.ts +4 -0
  176. package/dist/esm/shared/decoders/decodeBigEndian.js +28 -0
  177. package/dist/esm/shared/decoders/decodeHTJ2K.d.ts +5 -0
  178. package/dist/esm/shared/decoders/decodeHTJ2K.js +109 -0
  179. package/dist/esm/shared/decoders/decodeJPEG2000.d.ts +5 -0
  180. package/dist/esm/shared/decoders/decodeJPEG2000.js +93 -0
  181. package/dist/esm/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts +6 -0
  182. package/dist/esm/shared/decoders/decodeJPEGBaseline12Bit-js.js +34 -0
  183. package/dist/esm/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +1 -0
  184. package/dist/esm/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +0 -0
  185. package/dist/esm/shared/decoders/decodeJPEGBaseline8Bit.d.ts +3 -0
  186. package/dist/esm/shared/decoders/decodeJPEGBaseline8Bit.js +62 -0
  187. package/dist/esm/shared/decoders/decodeJPEGLS.d.ts +5 -0
  188. package/dist/esm/shared/decoders/decodeJPEGLS.js +84 -0
  189. package/dist/esm/shared/decoders/decodeJPEGLossless.d.ts +6 -0
  190. package/dist/esm/shared/decoders/decodeJPEGLossless.js +39 -0
  191. package/dist/esm/shared/decoders/decodeLittleEndian.d.ts +4 -0
  192. package/dist/esm/shared/decoders/decodeLittleEndian.js +29 -0
  193. package/dist/esm/shared/decoders/decodeRLE.d.ts +4 -0
  194. package/dist/esm/shared/decoders/decodeRLE.js +128 -0
  195. package/dist/esm/shared/getMinMax.d.ts +6 -0
  196. package/dist/esm/shared/getMinMax.js +16 -0
  197. package/dist/esm/shared/getMinMax_test.d.ts +1 -0
  198. package/dist/esm/shared/getMinMax_test.js +9 -0
  199. package/dist/esm/shared/getPixelDataTypeFromMinMax.d.ts +2 -0
  200. package/dist/esm/shared/getPixelDataTypeFromMinMax.js +22 -0
  201. package/dist/esm/shared/isColorImage.d.ts +1 -0
  202. package/dist/esm/shared/isColorImage.js +10 -0
  203. package/dist/esm/shared/scaling/bilinear.d.ts +1 -0
  204. package/dist/esm/shared/scaling/bilinear.js +32 -0
  205. package/dist/esm/shared/scaling/replicate.d.ts +1 -0
  206. package/dist/esm/shared/scaling/replicate.js +20 -0
  207. package/dist/esm/shared/scaling/scaleArray.d.ts +2 -0
  208. package/dist/esm/shared/scaling/scaleArray.js +17 -0
  209. package/dist/esm/types/DICOMLoaderDataSetWithFetchMore.d.ts +9 -0
  210. package/dist/esm/types/DICOMLoaderDataSetWithFetchMore.js +0 -0
  211. package/dist/esm/types/DICOMLoaderIImage.d.ts +12 -0
  212. package/dist/esm/types/DICOMLoaderIImage.js +0 -0
  213. package/dist/esm/types/DICOMLoaderImageOptions.d.ts +23 -0
  214. package/dist/esm/types/DICOMLoaderImageOptions.js +0 -0
  215. package/dist/esm/types/LoadRequestFunction.d.ts +1 -0
  216. package/dist/esm/types/LoadRequestFunction.js +0 -0
  217. package/dist/esm/types/LoaderDecodeOptions.d.ts +2 -0
  218. package/dist/esm/types/LoaderDecodeOptions.js +0 -0
  219. package/dist/esm/types/LoaderOptions.d.ts +16 -0
  220. package/dist/esm/types/LoaderOptions.js +0 -0
  221. package/dist/esm/types/LutType.d.ts +6 -0
  222. package/dist/esm/types/LutType.js +0 -0
  223. package/dist/esm/types/WADORSMetaData.d.ts +4 -0
  224. package/dist/esm/types/WADORSMetaData.js +0 -0
  225. package/dist/esm/types/WebWorkerTypes.d.ts +64 -0
  226. package/dist/esm/types/WebWorkerTypes.js +0 -0
  227. package/dist/esm/types/XHRRequest.d.ts +16 -0
  228. package/dist/esm/types/XHRRequest.js +0 -0
  229. package/dist/esm/types/index.d.ts +11 -0
  230. package/dist/esm/types/index.js +0 -0
  231. package/dist/esm/version.d.ts +2 -0
  232. package/dist/esm/version.js +1 -0
  233. package/package.json +62 -18
  234. package/dist/cornerstoneDICOMImageLoader.bundle.min.js +0 -2
  235. package/dist/cornerstoneDICOMImageLoader.bundle.min.js.map +0 -1
  236. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js +0 -2
  237. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js.map +0 -1
  238. package/dist/dynamic-import/610.min.worker.js +0 -2
  239. package/dist/dynamic-import/610.min.worker.js.map +0 -1
  240. package/dist/dynamic-import/945.min.worker.js +0 -2
  241. package/dist/dynamic-import/945.min.worker.js.map +0 -1
  242. package/dist/dynamic-import/index.worker.f4bda803c15bc6359d5f.worker.js +0 -2
  243. package/dist/dynamic-import/index.worker.f4bda803c15bc6359d5f.worker.js.map +0 -1
  244. package/dist/index.worker.bundle.min.worker.js +0 -2
  245. package/dist/index.worker.bundle.min.worker.js.map +0 -1
@@ -0,0 +1,40 @@
1
+ import { convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFull422ByPixel, convertYBRFullByPlane, convertPALETTECOLOR, } from './colorSpaceConverters/index';
2
+ function convertRGB(imageFrame, colorBuffer, useRGBA) {
3
+ if (imageFrame.planarConfiguration === 0) {
4
+ convertRGBColorByPixel(imageFrame.pixelData, colorBuffer, useRGBA);
5
+ }
6
+ else {
7
+ convertRGBColorByPlane(imageFrame.pixelData, colorBuffer, useRGBA);
8
+ }
9
+ }
10
+ function convertYBRFull(imageFrame, colorBuffer, useRGBA) {
11
+ if (imageFrame.planarConfiguration === 0) {
12
+ convertYBRFullByPixel(imageFrame.pixelData, colorBuffer, useRGBA);
13
+ }
14
+ else {
15
+ convertYBRFullByPlane(imageFrame.pixelData, colorBuffer, useRGBA);
16
+ }
17
+ }
18
+ export default function convertColorSpace(imageFrame, colorBuffer, useRGBA) {
19
+ if (imageFrame.photometricInterpretation === 'RGB') {
20
+ convertRGB(imageFrame, colorBuffer, useRGBA);
21
+ }
22
+ else if (imageFrame.photometricInterpretation === 'YBR_RCT') {
23
+ convertRGB(imageFrame, colorBuffer, useRGBA);
24
+ }
25
+ else if (imageFrame.photometricInterpretation === 'YBR_ICT') {
26
+ convertRGB(imageFrame, colorBuffer, useRGBA);
27
+ }
28
+ else if (imageFrame.photometricInterpretation === 'PALETTE COLOR') {
29
+ convertPALETTECOLOR(imageFrame, colorBuffer, useRGBA);
30
+ }
31
+ else if (imageFrame.photometricInterpretation === 'YBR_FULL_422') {
32
+ convertYBRFull422ByPixel(imageFrame.pixelData, colorBuffer, useRGBA);
33
+ }
34
+ else if (imageFrame.photometricInterpretation === 'YBR_FULL') {
35
+ convertYBRFull(imageFrame, colorBuffer, useRGBA);
36
+ }
37
+ else {
38
+ throw new Error(`No color space conversion for photometric interpretation ${imageFrame.photometricInterpretation}`);
39
+ }
40
+ }
@@ -0,0 +1,5 @@
1
+ import type { ByteArray } from 'dicom-parser';
2
+ import type { DICOMLoaderImageOptions, DICOMLoaderIImage } from '../types';
3
+ import type { Types } from '@cornerstonejs/core';
4
+ declare function createImage(imageId: string, pixelData: ByteArray, transferSyntax: string, options?: DICOMLoaderImageOptions): Promise<DICOMLoaderIImage | Types.IImageFrame>;
5
+ export default createImage;
@@ -0,0 +1,245 @@
1
+ import getMinMax from '../shared/getMinMax';
2
+ import getPixelDataTypeFromMinMax from '../shared/getPixelDataTypeFromMinMax';
3
+ import { canRenderFloatTextures, Enums, metaData, utilities, } from '@cornerstonejs/core';
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
+ : true,
46
+ };
47
+ if (!pixelData?.length) {
48
+ return Promise.reject(new Error('The pixel data is missing'));
49
+ }
50
+ const { MetadataModules } = Enums;
51
+ const canvas = document.createElement('canvas');
52
+ const imageFrame = getImageFrame(imageId);
53
+ imageFrame.decodeLevel = options.decodeLevel;
54
+ options.allowFloatRendering = canRenderFloatTextures();
55
+ if (options.preScale.enabled) {
56
+ const scalingParameters = getScalingParameters(metaData, imageId);
57
+ if (scalingParameters) {
58
+ options.preScale = {
59
+ ...options.preScale,
60
+ scalingParameters: scalingParameters,
61
+ };
62
+ }
63
+ }
64
+ const { decodeConfig } = getOptions();
65
+ Object.keys(imageFrame).forEach((key) => {
66
+ if (typeof imageFrame[key] === 'function' ||
67
+ imageFrame[key] instanceof Promise) {
68
+ delete imageFrame[key];
69
+ }
70
+ });
71
+ const decodePromise = decodeImageFrame(imageFrame, transferSyntax, pixelData, canvas, options, decodeConfig);
72
+ const isColorImage = isColorImageFn(imageFrame.photometricInterpretation);
73
+ return new Promise((resolve, reject) => {
74
+ decodePromise.then(function (imageFrame) {
75
+ let alreadyTyped = false;
76
+ if (options.targetBuffer &&
77
+ options.targetBuffer.type &&
78
+ !isColorImage) {
79
+ const { arrayBuffer, type, offset: rawOffset = 0, length: rawLength, } = options.targetBuffer;
80
+ const imageFrameLength = imageFrame.pixelDataLength;
81
+ const offset = rawOffset;
82
+ const length = rawLength !== null && rawLength !== undefined
83
+ ? rawLength
84
+ : imageFrameLength - offset;
85
+ const typedArrayConstructors = {
86
+ Uint8Array,
87
+ Uint16Array,
88
+ Int16Array,
89
+ Float32Array,
90
+ };
91
+ if (length !== imageFrame.pixelDataLength) {
92
+ throw new Error(`target array for image does not have the same length (${length}) as the decoded image length (${imageFrame.pixelDataLength}).`);
93
+ }
94
+ const TypedArrayConstructor = typedArrayConstructors[type];
95
+ const typedArray = arrayBuffer
96
+ ? new TypedArrayConstructor(arrayBuffer, offset, length)
97
+ : new TypedArrayConstructor(imageFrame.pixelData);
98
+ if (length !== imageFrame.pixelDataLength) {
99
+ throw new Error('target array for image does not have the same length as the decoded image length.');
100
+ }
101
+ imageFrame.pixelData = typedArray;
102
+ alreadyTyped = true;
103
+ }
104
+ if (!alreadyTyped) {
105
+ setPixelDataType(imageFrame);
106
+ }
107
+ const imagePlaneModule = metaData.get(MetadataModules.IMAGE_PLANE, imageId) || {};
108
+ const voiLutModule = metaData.get(MetadataModules.VOI_LUT, imageId) || {};
109
+ const modalityLutModule = metaData.get(MetadataModules.MODALITY_LUT, imageId) || {};
110
+ const sopCommonModule = metaData.get(MetadataModules.SOP_COMMON, imageId) || {};
111
+ const calibrationModule = metaData.get(MetadataModules.CALIBRATION, imageId) || {};
112
+ const { rows, columns } = imageFrame;
113
+ if (isColorImage) {
114
+ if (isColorConversionRequired(imageFrame)) {
115
+ canvas.height = imageFrame.rows;
116
+ canvas.width = imageFrame.columns;
117
+ const context = canvas.getContext('2d');
118
+ let imageData = context.createImageData(imageFrame.columns, imageFrame.rows);
119
+ if (!useRGBA) {
120
+ imageData = {
121
+ ...imageData,
122
+ data: new Uint8ClampedArray(3 * imageFrame.columns * imageFrame.rows),
123
+ };
124
+ }
125
+ convertColorSpace(imageFrame, imageData.data, useRGBA);
126
+ imageFrame.imageData = imageData;
127
+ imageFrame.pixelData = imageData.data;
128
+ imageFrame.pixelDataLength = imageData.data.length;
129
+ }
130
+ else if (!useRGBA &&
131
+ imageFrame.pixelDataLength === 4 * rows * columns) {
132
+ const colorBuffer = new Uint8Array((imageFrame.pixelData.length / 4) * 3);
133
+ imageFrame.pixelData = removeAFromRGBA(imageFrame.pixelData, colorBuffer);
134
+ imageFrame.pixelDataLength = imageFrame.pixelData.length;
135
+ }
136
+ const minMax = getMinMax(imageFrame.pixelData);
137
+ imageFrame.smallestPixelValue = minMax.min;
138
+ imageFrame.largestPixelValue = minMax.max;
139
+ }
140
+ const voxelManager = utilities.VoxelManager.createImageVoxelManager({
141
+ scalarData: imageFrame.pixelData,
142
+ width: imageFrame.columns,
143
+ height: imageFrame.rows,
144
+ numberOfComponents: imageFrame.samplesPerPixel,
145
+ });
146
+ const image = {
147
+ imageId,
148
+ dataType: imageFrame.pixelData.constructor
149
+ .name,
150
+ color: isColorImage,
151
+ calibration: calibrationModule,
152
+ columnPixelSpacing: imagePlaneModule.columnPixelSpacing,
153
+ columns: imageFrame.columns,
154
+ height: imageFrame.rows,
155
+ preScale: imageFrame.preScale,
156
+ intercept: modalityLutModule.rescaleIntercept
157
+ ? modalityLutModule.rescaleIntercept
158
+ : 0,
159
+ slope: modalityLutModule.rescaleSlope
160
+ ? modalityLutModule.rescaleSlope
161
+ : 1,
162
+ invert: imageFrame.photometricInterpretation === 'MONOCHROME1',
163
+ minPixelValue: imageFrame.smallestPixelValue,
164
+ maxPixelValue: imageFrame.largestPixelValue,
165
+ rowPixelSpacing: imagePlaneModule.rowPixelSpacing,
166
+ rows: imageFrame.rows,
167
+ sizeInBytes: imageFrame.pixelData.byteLength,
168
+ width: imageFrame.columns,
169
+ windowCenter: voiLutModule.windowCenter
170
+ ? voiLutModule.windowCenter[0]
171
+ : undefined,
172
+ windowWidth: voiLutModule.windowWidth
173
+ ? voiLutModule.windowWidth[0]
174
+ : undefined,
175
+ voiLUTFunction: voiLutModule.voiLUTFunction
176
+ ? voiLutModule.voiLUTFunction
177
+ : undefined,
178
+ decodeTimeInMS: imageFrame.decodeTimeInMS,
179
+ floatPixelData: undefined,
180
+ imageFrame,
181
+ voxelManager,
182
+ rgba: isColorImage && useRGBA,
183
+ getPixelData: () => imageFrame.pixelData,
184
+ getCanvas: undefined,
185
+ numberOfComponents: imageFrame.samplesPerPixel,
186
+ };
187
+ if (image.color) {
188
+ image.getCanvas = function () {
189
+ if (lastImageIdDrawn === imageId) {
190
+ return canvas;
191
+ }
192
+ const width = image.columns;
193
+ const height = image.rows;
194
+ canvas.height = height;
195
+ canvas.width = width;
196
+ const ctx = canvas.getContext('2d');
197
+ const imageData = ctx.createImageData(width, height);
198
+ const arr = imageFrame.pixelData;
199
+ if (arr.length === width * height * 4) {
200
+ for (let i = 0; i < arr.length; i++) {
201
+ imageData.data[i] = arr[i];
202
+ }
203
+ }
204
+ else if (arr.length === width * height * 3) {
205
+ let j = 0;
206
+ for (let i = 0; i < arr.length; i += 3) {
207
+ imageData.data[j++] = arr[i];
208
+ imageData.data[j++] = arr[i + 1];
209
+ imageData.data[j++] = arr[i + 2];
210
+ imageData.data[j++] = 255;
211
+ }
212
+ }
213
+ imageFrame.pixelData = imageData.data;
214
+ imageFrame.pixelDataLength = imageData.data.length;
215
+ imageFrame.imageData = imageData;
216
+ ctx.putImageData(imageFrame.imageData, 0, 0);
217
+ lastImageIdDrawn = imageId;
218
+ return canvas;
219
+ };
220
+ }
221
+ if (modalityLutModule.modalityLUTSequence &&
222
+ modalityLutModule.modalityLUTSequence.length > 0 &&
223
+ isModalityLUTForDisplay(sopCommonModule.sopClassUID)) {
224
+ image.modalityLUT = modalityLutModule.modalityLUTSequence[0];
225
+ }
226
+ if (voiLutModule.voiLUTSequence &&
227
+ voiLutModule.voiLUTSequence.length > 0) {
228
+ image.voiLUT = voiLutModule.voiLUTSequence[0];
229
+ }
230
+ if (image.color) {
231
+ image.windowWidth = 256;
232
+ image.windowCenter = 128;
233
+ }
234
+ if (image.windowCenter === undefined ||
235
+ image.windowWidth === undefined) {
236
+ const minVoi = image.imageFrame.smallestPixelValue;
237
+ const maxVoi = image.imageFrame.largestPixelValue;
238
+ image.windowWidth = maxVoi - minVoi;
239
+ image.windowCenter = (maxVoi + minVoi) / 2;
240
+ }
241
+ resolve(image);
242
+ }, reject);
243
+ });
244
+ }
245
+ export default createImage;
@@ -0,0 +1,3 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ declare function decodeImageFrame(imageFrame: any, transferSyntax: any, pixelData: any, canvas: any, options: {}, decodeConfig: any): Promise<Types.IImageFrame>;
3
+ export default decodeImageFrame;
@@ -0,0 +1,63 @@
1
+ import decodeJPEGBaseline8BitColor from './decodeJPEGBaseline8BitColor';
2
+ import { getWebWorkerManager } from '@cornerstonejs/core';
3
+ function processDecodeTask(imageFrame, transferSyntax, pixelData, srcOptions, decodeConfig) {
4
+ const options = { ...srcOptions };
5
+ delete options.loader;
6
+ delete options.streamingData;
7
+ const webWorkerManager = getWebWorkerManager();
8
+ const priority = options.priority || undefined;
9
+ const transferList = options.transferPixelData
10
+ ? [pixelData.buffer]
11
+ : undefined;
12
+ return webWorkerManager.executeTask('dicomImageLoader', 'decodeTask', {
13
+ imageFrame,
14
+ transferSyntax,
15
+ pixelData,
16
+ options,
17
+ decodeConfig,
18
+ }, {
19
+ priority,
20
+ requestType: options?.requestType,
21
+ });
22
+ }
23
+ function decodeImageFrame(imageFrame, transferSyntax, pixelData, canvas, options = {}, decodeConfig) {
24
+ switch (transferSyntax) {
25
+ case '1.2.840.10008.1.2':
26
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
27
+ case '1.2.840.10008.1.2.1':
28
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
29
+ case '1.2.840.10008.1.2.2':
30
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
31
+ case '1.2.840.10008.1.2.1.99':
32
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
33
+ case '1.2.840.10008.1.2.5':
34
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
35
+ case '1.2.840.10008.1.2.4.50':
36
+ if (imageFrame.bitsAllocated === 8 &&
37
+ (imageFrame.samplesPerPixel === 3 || imageFrame.samplesPerPixel === 4)) {
38
+ return decodeJPEGBaseline8BitColor(imageFrame, pixelData, canvas);
39
+ }
40
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
41
+ case '1.2.840.10008.1.2.4.51':
42
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
43
+ case '1.2.840.10008.1.2.4.57':
44
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
45
+ case '1.2.840.10008.1.2.4.70':
46
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
47
+ case '1.2.840.10008.1.2.4.80':
48
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
49
+ case '1.2.840.10008.1.2.4.81':
50
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
51
+ case '1.2.840.10008.1.2.4.90':
52
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
53
+ case '1.2.840.10008.1.2.4.91':
54
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
55
+ case '3.2.840.10008.1.2.4.96':
56
+ case '1.2.840.10008.1.2.4.201':
57
+ case '1.2.840.10008.1.2.4.202':
58
+ case '1.2.840.10008.1.2.4.203':
59
+ return processDecodeTask(imageFrame, transferSyntax, pixelData, options, decodeConfig);
60
+ }
61
+ return Promise.reject(new Error(`No decoder for transfer syntax ${transferSyntax}`));
62
+ }
63
+ export default decodeImageFrame;
@@ -0,0 +1,4 @@
1
+ import type { ByteArray } from 'dicom-parser';
2
+ import type { Types } from '@cornerstonejs/core';
3
+ declare function decodeJPEGBaseline8BitColor(imageFrame: Types.IImageFrame, pixelData: ByteArray, canvas: HTMLCanvasElement): Promise<Types.IImageFrame>;
4
+ export default decodeJPEGBaseline8BitColor;
@@ -0,0 +1,64 @@
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;
@@ -0,0 +1,3 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ declare function getImageFrame(imageId: string): Types.IImageFrame;
3
+ export default getImageFrame;
@@ -0,0 +1,25 @@
1
+ import { metaData } from '@cornerstonejs/core';
2
+ function getImageFrame(imageId) {
3
+ const imagePixelModule = metaData.get('imagePixelModule', imageId);
4
+ return {
5
+ samplesPerPixel: imagePixelModule.samplesPerPixel,
6
+ photometricInterpretation: imagePixelModule.photometricInterpretation,
7
+ planarConfiguration: imagePixelModule.planarConfiguration,
8
+ rows: imagePixelModule.rows,
9
+ columns: imagePixelModule.columns,
10
+ bitsAllocated: imagePixelModule.bitsAllocated,
11
+ bitsStored: imagePixelModule.bitsStored,
12
+ pixelRepresentation: imagePixelModule.pixelRepresentation,
13
+ smallestPixelValue: imagePixelModule.smallestPixelValue,
14
+ largestPixelValue: imagePixelModule.largestPixelValue,
15
+ redPaletteColorLookupTableDescriptor: imagePixelModule.redPaletteColorLookupTableDescriptor,
16
+ greenPaletteColorLookupTableDescriptor: imagePixelModule.greenPaletteColorLookupTableDescriptor,
17
+ bluePaletteColorLookupTableDescriptor: imagePixelModule.bluePaletteColorLookupTableDescriptor,
18
+ redPaletteColorLookupTableData: imagePixelModule.redPaletteColorLookupTableData,
19
+ greenPaletteColorLookupTableData: imagePixelModule.greenPaletteColorLookupTableData,
20
+ bluePaletteColorLookupTableData: imagePixelModule.bluePaletteColorLookupTableData,
21
+ pixelData: undefined,
22
+ imageId,
23
+ };
24
+ }
25
+ export default getImageFrame;
@@ -0,0 +1,3 @@
1
+ declare function getInstanceModule(imageId: any, metaDataProvider: any, types: any): {};
2
+ declare const instanceModuleNames: string[];
3
+ export { getInstanceModule, instanceModuleNames };
@@ -0,0 +1,40 @@
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 };
@@ -0,0 +1,4 @@
1
+ export default function getMinMax(storedPixelData: ArrayLike<number>): {
2
+ min: number;
3
+ max: number;
4
+ };
@@ -0,0 +1,15 @@
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
+ }
@@ -0,0 +1,6 @@
1
+ export default function getScalingParameters(metaData: any, imageId: string): {
2
+ suvbw: any;
3
+ rescaleSlope: any;
4
+ rescaleIntercept: any;
5
+ modality: string;
6
+ };
@@ -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
+ {});
5
+ const { modality } = generalSeriesModule;
6
+ const scalingParameters = {
7
+ rescaleSlope: modalityLutModule.rescaleSlope,
8
+ rescaleIntercept: modalityLutModule.rescaleIntercept,
9
+ modality,
10
+ };
11
+ const suvFactor = metaData.get('scalingModule', imageId) || {};
12
+ return {
13
+ ...scalingParameters,
14
+ ...(modality === 'PT' && { suvbw: suvFactor.suvbw }),
15
+ };
16
+ }
@@ -0,0 +1 @@
1
+ export default function imageIdToURI(imageId: string): string;
@@ -0,0 +1,4 @@
1
+ export default function imageIdToURI(imageId) {
2
+ const colonIndex = imageId.indexOf(':');
3
+ return imageId.substring(colonIndex + 1);
4
+ }
@@ -0,0 +1,91 @@
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 init } from './init';
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
+ declare const cornerstoneDICOMImageLoader: {
15
+ convertRGBColorByPixel: typeof convertRGBColorByPixel;
16
+ convertRGBColorByPlane: typeof convertRGBColorByPlane;
17
+ convertYBRFullByPixel: typeof convertYBRFullByPixel;
18
+ convertYBRFullByPlane: typeof convertYBRFullByPlane;
19
+ convertPALETTECOLOR: typeof convertPALETTECOLOR;
20
+ wadouri: {
21
+ metaData: {
22
+ getImagePixelModule: typeof import("./wadouri/metaData").getImagePixelModule;
23
+ getLUTs: typeof import("./wadouri/metaData").getLUTs;
24
+ getModalityLUTOutputPixelRepresentation: typeof import("./wadouri/metaData").getModalityLUTOutputPixelRepresentation;
25
+ getNumberValues: typeof import("./wadouri/metaData").getNumberValues;
26
+ metaDataProvider: typeof import("./wadouri/metaData").metaDataProvider;
27
+ metadataForDataset: typeof import("./wadouri/metaData").metadataForDataset;
28
+ };
29
+ dataSetCacheManager: {
30
+ isLoaded: (uri: string) => boolean;
31
+ load: (uri: string, loadRequest: import("../types").LoadRequestFunction, imageId: string) => import("./wadouri/dataSetCacheManager").CornerstoneWadoLoaderCachedPromise;
32
+ unload: (uri: string) => void;
33
+ getInfo: typeof import("./wadouri/dataSetCacheManager").getInfo;
34
+ purge: () => void;
35
+ get: (uri: string) => import("dicom-parser").DataSet;
36
+ update: (uri: string, dataSet: import("dicom-parser").DataSet) => void;
37
+ };
38
+ fileManager: {
39
+ add: (file: Blob) => string;
40
+ get: (index: number) => Blob;
41
+ remove: (index: number) => void;
42
+ purge: () => void;
43
+ };
44
+ getEncapsulatedImageFrame: typeof import("./wadouri/getEncapsulatedImageFrame").default;
45
+ getUncompressedImageFrame: typeof import("./wadouri/getUncompressedImageFrame").default;
46
+ loadFileRequest: typeof import("./wadouri/loadFileRequest").default;
47
+ loadImageFromPromise: typeof import("./wadouri/loadImage").loadImageFromPromise;
48
+ getLoaderForScheme: typeof import("./wadouri/loadImage").getLoaderForScheme;
49
+ getPixelData: typeof import("./wadouri/getPixelData").default;
50
+ loadImage: typeof import("./wadouri/loadImage").loadImage;
51
+ parseImageId: typeof import("./wadouri/parseImageId").default;
52
+ unpackBinaryFrame: typeof import("./wadouri/unpackBinaryFrame").default;
53
+ register: typeof import("./wadouri/register").default;
54
+ };
55
+ wadors: {
56
+ metaData: {
57
+ getNumberString: typeof import("./wadors/metaData").getNumberString;
58
+ getNumberValue: typeof import("./wadors/metaData").getNumberValue;
59
+ getNumberValues: typeof import("./wadors/metaData").getNumberValues;
60
+ getValue: typeof import("./wadors/metaData").getValue;
61
+ metaDataProvider: typeof import("./wadors/metaData").metaDataProvider;
62
+ };
63
+ findIndexOfString: typeof import("./wadors/findIndexOfString").default;
64
+ getPixelData: typeof getPixelData;
65
+ loadImage: typeof import("./wadors/loadImage").default;
66
+ metaDataManager: {
67
+ add: (imageId: string, metadata: import("../types").WADORSMetaData) => void;
68
+ get: (imageId: string) => import("../types").WADORSMetaData;
69
+ remove: (imageId: any) => void;
70
+ purge: () => void;
71
+ };
72
+ register: typeof import("./wadors/register").default;
73
+ };
74
+ init: typeof init;
75
+ convertColorSpace: typeof convertColorSpace;
76
+ createImage: typeof createImage;
77
+ decodeJPEGBaseline8BitColor: typeof decodeJPEGBaseline8BitColor;
78
+ getImageFrame: typeof getImageFrame;
79
+ getPixelData: typeof getPixelData;
80
+ getMinMax: typeof getMinMax;
81
+ isColorImage: typeof isColorImage;
82
+ isJPEGBaseline8BitColor: typeof isJPEGBaseline8BitColor;
83
+ internal: {
84
+ xhrRequest: typeof import("./internal/xhrRequest").default;
85
+ streamRequest: typeof import("./internal/streamRequest").default;
86
+ setOptions: typeof import("./internal/options").setOptions;
87
+ getOptions: typeof import("./internal/options").getOptions;
88
+ };
89
+ };
90
+ export { convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFullByPlane, convertPALETTECOLOR, wadouri, wadors, init, convertColorSpace, createImage, decodeJPEGBaseline8BitColor, getImageFrame, getPixelData, getMinMax, isColorImage, isJPEGBaseline8BitColor, internal, };
91
+ export default cornerstoneDICOMImageLoader;