@cornerstonejs/dicom-image-loader 2.0.0-beta.2 → 2.0.0-beta.21

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 (248) hide show
  1. package/dist/920.bundle.min.js +3 -0
  2. package/dist/920.bundle.min.js.LICENSE.txt +5 -0
  3. package/dist/920.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/610.min.js +2 -0
  11. package/dist/dynamic-import/610.min.js.map +1 -0
  12. package/dist/dynamic-import/918.min.js +2 -0
  13. package/dist/dynamic-import/918.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.d.ts +1 -0
  20. package/dist/esm/codecs/jpeg.js +890 -0
  21. package/dist/esm/codecs/jpegLossless.d.ts +7 -0
  22. package/dist/esm/codecs/jpegLossless.js +1219 -0
  23. package/dist/esm/src/constants/transferSyntaxes.d.ts +46 -0
  24. package/dist/esm/src/constants/transferSyntaxes.js +46 -0
  25. package/dist/esm/src/decodeImageFrameWorker.d.ts +1 -0
  26. package/dist/esm/src/decodeImageFrameWorker.js +262 -0
  27. package/dist/esm/src/externalModules.d.ts +5 -0
  28. package/dist/esm/src/externalModules.js +44 -0
  29. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts +3 -0
  30. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js +77 -0
  31. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts +2 -0
  32. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js +21 -0
  33. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts +2 -0
  34. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js +28 -0
  35. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +2 -0
  36. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js +44 -0
  37. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts +2 -0
  38. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js +33 -0
  39. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts +2 -0
  40. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js +35 -0
  41. package/dist/esm/src/imageLoader/colorSpaceConverters/index.d.ts +7 -0
  42. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js +7 -0
  43. package/dist/esm/src/imageLoader/configure.d.ts +3 -0
  44. package/dist/esm/src/imageLoader/configure.js +11 -0
  45. package/dist/esm/src/imageLoader/convertColorSpace.d.ts +1 -0
  46. package/dist/esm/src/imageLoader/convertColorSpace.js +40 -0
  47. package/dist/esm/src/imageLoader/createImage.d.ts +5 -0
  48. package/dist/esm/src/imageLoader/createImage.js +241 -0
  49. package/dist/esm/src/imageLoader/decodeImageFrame.d.ts +3 -0
  50. package/dist/esm/src/imageLoader/decodeImageFrame.js +63 -0
  51. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts +4 -0
  52. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js +64 -0
  53. package/dist/esm/src/imageLoader/getImageFrame.d.ts +3 -0
  54. package/dist/esm/src/imageLoader/getImageFrame.js +26 -0
  55. package/dist/esm/src/imageLoader/getInstanceModule.d.ts +3 -0
  56. package/dist/esm/src/imageLoader/getInstanceModule.js +40 -0
  57. package/dist/esm/src/imageLoader/getMinMax.d.ts +4 -0
  58. package/dist/esm/src/imageLoader/getMinMax.js +15 -0
  59. package/dist/esm/src/imageLoader/getScalingParameters.d.ts +6 -0
  60. package/dist/esm/src/imageLoader/getScalingParameters.js +16 -0
  61. package/dist/esm/src/imageLoader/imageIdToURI.d.ts +1 -0
  62. package/dist/esm/src/imageLoader/imageIdToURI.js +4 -0
  63. package/dist/esm/src/imageLoader/index.d.ts +94 -0
  64. package/dist/esm/src/imageLoader/index.js +36 -0
  65. package/dist/esm/src/imageLoader/internal/index.d.ts +10 -0
  66. package/dist/esm/src/imageLoader/internal/index.js +10 -0
  67. package/dist/esm/src/imageLoader/internal/options.d.ts +3 -0
  68. package/dist/esm/src/imageLoader/internal/options.js +19 -0
  69. package/dist/esm/src/imageLoader/internal/rangeRequest.d.ts +9 -0
  70. package/dist/esm/src/imageLoader/internal/rangeRequest.js +121 -0
  71. package/dist/esm/src/imageLoader/internal/streamRequest.d.ts +2 -0
  72. package/dist/esm/src/imageLoader/internal/streamRequest.js +92 -0
  73. package/dist/esm/src/imageLoader/internal/xhrRequest.d.ts +3 -0
  74. package/dist/esm/src/imageLoader/internal/xhrRequest.js +102 -0
  75. package/dist/esm/src/imageLoader/isColorConversionRequired.d.ts +1 -0
  76. package/dist/esm/src/imageLoader/isColorConversionRequired.js +22 -0
  77. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.d.ts +3 -0
  78. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js +9 -0
  79. package/dist/esm/src/imageLoader/isNMReconstructable.d.ts +1 -0
  80. package/dist/esm/src/imageLoader/isNMReconstructable.js +3 -0
  81. package/dist/esm/src/imageLoader/registerLoaders.d.ts +2 -0
  82. package/dist/esm/src/imageLoader/registerLoaders.js +7 -0
  83. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.d.ts +12 -0
  84. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js +44 -0
  85. package/dist/esm/src/imageLoader/wadors/extractMultipart.d.ts +23 -0
  86. package/dist/esm/src/imageLoader/wadors/extractMultipart.js +73 -0
  87. package/dist/esm/src/imageLoader/wadors/findIndexOfString.d.ts +2 -0
  88. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js +32 -0
  89. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.d.ts +3 -0
  90. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js +8 -0
  91. package/dist/esm/src/imageLoader/wadors/getPixelData.d.ts +26 -0
  92. package/dist/esm/src/imageLoader/wadors/getPixelData.js +35 -0
  93. package/dist/esm/src/imageLoader/wadors/getTagValue.d.ts +1 -0
  94. package/dist/esm/src/imageLoader/wadors/getTagValue.js +9 -0
  95. package/dist/esm/src/imageLoader/wadors/index.d.ts +25 -0
  96. package/dist/esm/src/imageLoader/wadors/index.js +21 -0
  97. package/dist/esm/src/imageLoader/wadors/loadImage.d.ts +25 -0
  98. package/dist/esm/src/imageLoader/wadors/loadImage.js +125 -0
  99. package/dist/esm/src/imageLoader/wadors/loadImage_test.d.ts +1 -0
  100. package/dist/esm/src/imageLoader/wadors/loadImage_test.js +41 -0
  101. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.d.ts +5 -0
  102. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js +38 -0
  103. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.d.ts +19 -0
  104. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js +46 -0
  105. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts +3 -0
  106. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js +18 -0
  107. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts +2 -0
  108. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js +6 -0
  109. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.d.ts +3 -0
  110. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js +9 -0
  111. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.d.ts +3 -0
  112. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js +9 -0
  113. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.d.ts +3 -0
  114. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js +20 -0
  115. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts +4 -0
  116. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js +38 -0
  117. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.d.ts +3 -0
  118. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js +14 -0
  119. package/dist/esm/src/imageLoader/wadors/metaData/getValue.d.ts +3 -0
  120. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js +14 -0
  121. package/dist/esm/src/imageLoader/wadors/metaData/index.d.ts +7 -0
  122. package/dist/esm/src/imageLoader/wadors/metaData/index.js +7 -0
  123. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.d.ts +14 -0
  124. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js +261 -0
  125. package/dist/esm/src/imageLoader/wadors/metaDataManager.d.ts +14 -0
  126. package/dist/esm/src/imageLoader/wadors/metaDataManager.js +50 -0
  127. package/dist/esm/src/imageLoader/wadors/register.d.ts +1 -0
  128. package/dist/esm/src/imageLoader/wadors/register.js +6 -0
  129. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts +15 -0
  130. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js +26 -0
  131. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts +22 -0
  132. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js +69 -0
  133. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.d.ts +31 -0
  134. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js +142 -0
  135. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts +1 -0
  136. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js +10 -0
  137. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.d.ts +6 -0
  138. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js +56 -0
  139. package/dist/esm/src/imageLoader/wadouri/fileManager.d.ts +11 -0
  140. package/dist/esm/src/imageLoader/wadouri/fileManager.js +20 -0
  141. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts +2 -0
  142. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js +33 -0
  143. package/dist/esm/src/imageLoader/wadouri/getPixelData.d.ts +3 -0
  144. package/dist/esm/src/imageLoader/wadouri/getPixelData.js +13 -0
  145. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts +3 -0
  146. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js +47 -0
  147. package/dist/esm/src/imageLoader/wadouri/index.d.ts +42 -0
  148. package/dist/esm/src/imageLoader/wadouri/index.js +31 -0
  149. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.d.ts +2 -0
  150. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js +17 -0
  151. package/dist/esm/src/imageLoader/wadouri/loadImage.d.ts +9 -0
  152. package/dist/esm/src/imageLoader/wadouri/loadImage.js +104 -0
  153. package/dist/esm/src/imageLoader/wadouri/metaData/USHelpers.d.ts +2 -0
  154. package/dist/esm/src/imageLoader/wadouri/metaData/USHelpers.js +44 -0
  155. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts +6 -0
  156. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js +80 -0
  157. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts +4 -0
  158. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js +79 -0
  159. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.d.ts +4 -0
  160. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js +44 -0
  161. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +3 -0
  162. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js +30 -0
  163. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.d.ts +3 -0
  164. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js +16 -0
  165. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts +4 -0
  166. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js +36 -0
  167. package/dist/esm/src/imageLoader/wadouri/metaData/index.d.ts +5 -0
  168. package/dist/esm/src/imageLoader/wadouri/metaData/index.js +5 -0
  169. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts +2 -0
  170. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js +223 -0
  171. package/dist/esm/src/imageLoader/wadouri/parseImageId.d.ts +8 -0
  172. package/dist/esm/src/imageLoader/wadouri/parseImageId.js +20 -0
  173. package/dist/esm/src/imageLoader/wadouri/register.d.ts +2 -0
  174. package/dist/esm/src/imageLoader/wadouri/register.js +8 -0
  175. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts +17 -0
  176. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js +57 -0
  177. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.d.ts +3 -0
  178. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js +14 -0
  179. package/dist/esm/src/shared/decoders/decodeBigEndian.d.ts +4 -0
  180. package/dist/esm/src/shared/decoders/decodeBigEndian.js +28 -0
  181. package/dist/esm/src/shared/decoders/decodeHTJ2K.d.ts +5 -0
  182. package/dist/esm/src/shared/decoders/decodeHTJ2K.js +109 -0
  183. package/dist/esm/src/shared/decoders/decodeJPEG2000.d.ts +5 -0
  184. package/dist/esm/src/shared/decoders/decodeJPEG2000.js +93 -0
  185. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts +6 -0
  186. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js +34 -0
  187. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +1 -0
  188. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +1 -0
  189. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts +3 -0
  190. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js +62 -0
  191. package/dist/esm/src/shared/decoders/decodeJPEGLS.d.ts +5 -0
  192. package/dist/esm/src/shared/decoders/decodeJPEGLS.js +84 -0
  193. package/dist/esm/src/shared/decoders/decodeJPEGLossless.d.ts +6 -0
  194. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js +39 -0
  195. package/dist/esm/src/shared/decoders/decodeLittleEndian.d.ts +4 -0
  196. package/dist/esm/src/shared/decoders/decodeLittleEndian.js +29 -0
  197. package/dist/esm/src/shared/decoders/decodeRLE.d.ts +4 -0
  198. package/dist/esm/src/shared/decoders/decodeRLE.js +128 -0
  199. package/dist/esm/src/shared/getMinMax.d.ts +6 -0
  200. package/dist/esm/src/shared/getMinMax.js +16 -0
  201. package/dist/esm/src/shared/getMinMax_test.d.ts +1 -0
  202. package/dist/esm/src/shared/getMinMax_test.js +9 -0
  203. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.d.ts +2 -0
  204. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js +22 -0
  205. package/dist/esm/src/shared/isColorImage.d.ts +1 -0
  206. package/dist/esm/src/shared/isColorImage.js +10 -0
  207. package/dist/esm/src/shared/scaling/bilinear.d.ts +1 -0
  208. package/dist/esm/src/shared/scaling/bilinear.js +32 -0
  209. package/dist/esm/src/shared/scaling/replicate.d.ts +1 -0
  210. package/dist/esm/src/shared/scaling/replicate.js +20 -0
  211. package/dist/esm/src/shared/scaling/scaleArray.d.ts +2 -0
  212. package/dist/esm/src/shared/scaling/scaleArray.js +15 -0
  213. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.d.ts +9 -0
  214. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js +1 -0
  215. package/dist/esm/src/types/DICOMLoaderIImage.d.ts +12 -0
  216. package/dist/esm/src/types/DICOMLoaderIImage.js +1 -0
  217. package/dist/esm/src/types/DICOMLoaderImageOptions.d.ts +23 -0
  218. package/dist/esm/src/types/DICOMLoaderImageOptions.js +1 -0
  219. package/dist/esm/src/types/LoadRequestFunction.d.ts +1 -0
  220. package/dist/esm/src/types/LoadRequestFunction.js +1 -0
  221. package/dist/esm/src/types/LoaderDecodeOptions.d.ts +2 -0
  222. package/dist/esm/src/types/LoaderDecodeOptions.js +1 -0
  223. package/dist/esm/src/types/LoaderOptions.d.ts +18 -0
  224. package/dist/esm/src/types/LoaderOptions.js +1 -0
  225. package/dist/esm/src/types/LutType.d.ts +6 -0
  226. package/dist/esm/src/types/LutType.js +1 -0
  227. package/dist/esm/src/types/WADORSMetaData.d.ts +4 -0
  228. package/dist/esm/src/types/WADORSMetaData.js +1 -0
  229. package/dist/esm/src/types/WebWorkerTypes.d.ts +64 -0
  230. package/dist/esm/src/types/WebWorkerTypes.js +1 -0
  231. package/dist/esm/src/types/XHRRequest.d.ts +16 -0
  232. package/dist/esm/src/types/XHRRequest.js +1 -0
  233. package/dist/esm/src/types/index.d.ts +11 -0
  234. package/dist/esm/src/types/index.js +1 -0
  235. package/dist/esm/src/version.d.ts +2 -0
  236. package/dist/esm/src/version.js +1 -0
  237. package/package.json +24 -17
  238. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js +0 -2
  239. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js.map +0 -1
  240. package/dist/dynamic-import/610.min.worker.js +0 -2
  241. package/dist/dynamic-import/610.min.worker.js.map +0 -1
  242. package/dist/dynamic-import/75788f12450d4c5ed494.wasm +0 -0
  243. package/dist/dynamic-import/945.min.worker.js +0 -2
  244. package/dist/dynamic-import/945.min.worker.js.map +0 -1
  245. package/dist/dynamic-import/index.worker.e62ecca63f1a2e124230.worker.js +0 -2
  246. package/dist/dynamic-import/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
  247. package/dist/index.worker.bundle.min.worker.js +0 -2
  248. package/dist/index.worker.bundle.min.worker.js.map +0 -1
@@ -0,0 +1,128 @@
1
+ async function decodeRLE(imageFrame, pixelData) {
2
+ if (imageFrame.bitsAllocated === 8) {
3
+ if (imageFrame.planarConfiguration) {
4
+ return decode8Planar(imageFrame, pixelData);
5
+ }
6
+ return decode8(imageFrame, pixelData);
7
+ }
8
+ else if (imageFrame.bitsAllocated === 16) {
9
+ return decode16(imageFrame, pixelData);
10
+ }
11
+ throw new Error('unsupported pixel format for RLE');
12
+ }
13
+ function decode8(imageFrame, pixelData) {
14
+ const frameData = pixelData;
15
+ const frameSize = imageFrame.rows * imageFrame.columns;
16
+ const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);
17
+ const header = new DataView(frameData.buffer, frameData.byteOffset);
18
+ const data = new Int8Array(frameData.buffer, frameData.byteOffset);
19
+ const out = new Int8Array(outFrame);
20
+ let outIndex = 0;
21
+ const numSegments = header.getInt32(0, true);
22
+ for (let s = 0; s < numSegments; ++s) {
23
+ outIndex = s;
24
+ let inIndex = header.getInt32((s + 1) * 4, true);
25
+ let maxIndex = header.getInt32((s + 2) * 4, true);
26
+ if (maxIndex === 0) {
27
+ maxIndex = frameData.length;
28
+ }
29
+ const endOfSegment = frameSize * numSegments;
30
+ while (inIndex < maxIndex) {
31
+ const n = data[inIndex++];
32
+ if (n >= 0 && n <= 127) {
33
+ for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {
34
+ out[outIndex] = data[inIndex++];
35
+ outIndex += imageFrame.samplesPerPixel;
36
+ }
37
+ }
38
+ else if (n <= -1 && n >= -127) {
39
+ const value = data[inIndex++];
40
+ for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {
41
+ out[outIndex] = value;
42
+ outIndex += imageFrame.samplesPerPixel;
43
+ }
44
+ }
45
+ }
46
+ }
47
+ imageFrame.pixelData = new Uint8Array(outFrame);
48
+ return imageFrame;
49
+ }
50
+ function decode8Planar(imageFrame, pixelData) {
51
+ const frameData = pixelData;
52
+ const frameSize = imageFrame.rows * imageFrame.columns;
53
+ const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);
54
+ const header = new DataView(frameData.buffer, frameData.byteOffset);
55
+ const data = new Int8Array(frameData.buffer, frameData.byteOffset);
56
+ const out = new Int8Array(outFrame);
57
+ let outIndex = 0;
58
+ const numSegments = header.getInt32(0, true);
59
+ for (let s = 0; s < numSegments; ++s) {
60
+ outIndex = s * frameSize;
61
+ let inIndex = header.getInt32((s + 1) * 4, true);
62
+ let maxIndex = header.getInt32((s + 2) * 4, true);
63
+ if (maxIndex === 0) {
64
+ maxIndex = frameData.length;
65
+ }
66
+ const endOfSegment = frameSize * numSegments;
67
+ while (inIndex < maxIndex) {
68
+ const n = data[inIndex++];
69
+ if (n >= 0 && n <= 127) {
70
+ for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {
71
+ out[outIndex] = data[inIndex++];
72
+ outIndex++;
73
+ }
74
+ }
75
+ else if (n <= -1 && n >= -127) {
76
+ const value = data[inIndex++];
77
+ for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {
78
+ out[outIndex] = value;
79
+ outIndex++;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ imageFrame.pixelData = new Uint8Array(outFrame);
85
+ return imageFrame;
86
+ }
87
+ function decode16(imageFrame, pixelData) {
88
+ const frameData = pixelData;
89
+ const frameSize = imageFrame.rows * imageFrame.columns;
90
+ const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);
91
+ const header = new DataView(frameData.buffer, frameData.byteOffset);
92
+ const data = new Int8Array(frameData.buffer, frameData.byteOffset);
93
+ const out = new Int8Array(outFrame);
94
+ const numSegments = header.getInt32(0, true);
95
+ for (let s = 0; s < numSegments; ++s) {
96
+ let outIndex = 0;
97
+ const highByte = s === 0 ? 1 : 0;
98
+ let inIndex = header.getInt32((s + 1) * 4, true);
99
+ let maxIndex = header.getInt32((s + 2) * 4, true);
100
+ if (maxIndex === 0) {
101
+ maxIndex = frameData.length;
102
+ }
103
+ while (inIndex < maxIndex) {
104
+ const n = data[inIndex++];
105
+ if (n >= 0 && n <= 127) {
106
+ for (let i = 0; i < n + 1 && outIndex < frameSize; ++i) {
107
+ out[outIndex * 2 + highByte] = data[inIndex++];
108
+ outIndex++;
109
+ }
110
+ }
111
+ else if (n <= -1 && n >= -127) {
112
+ const value = data[inIndex++];
113
+ for (let j = 0; j < -n + 1 && outIndex < frameSize; ++j) {
114
+ out[outIndex * 2 + highByte] = value;
115
+ outIndex++;
116
+ }
117
+ }
118
+ }
119
+ }
120
+ if (imageFrame.pixelRepresentation === 0) {
121
+ imageFrame.pixelData = new Uint16Array(outFrame);
122
+ }
123
+ else {
124
+ imageFrame.pixelData = new Int16Array(outFrame);
125
+ }
126
+ return imageFrame;
127
+ }
128
+ export default decodeRLE;
@@ -0,0 +1,6 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ declare function getMinMax(storedPixelData: Types.PixelDataTypedArray): {
3
+ min: number;
4
+ max: number;
5
+ };
6
+ export default getMinMax;
@@ -0,0 +1,16 @@
1
+ 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 = 1; 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
+ export default getMinMax;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { expect } from 'chai';
2
+ import getMinMax from './getMinMax';
3
+ describe('#getMinMax', () => {
4
+ it('should return the right min and max values', () => {
5
+ const result = getMinMax([7, 3, 9, 6, 8, 1, 4, 5, 2]);
6
+ expect(result.min).to.be.equal(1);
7
+ expect(result.max).to.be.equal(9);
8
+ });
9
+ });
@@ -0,0 +1,2 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ export default function getPixelDataTypeFromMinMax(min: number, max: number): Types.PixelDataTypedArray;
@@ -0,0 +1,22 @@
1
+ export default function getPixelDataTypeFromMinMax(min, max) {
2
+ let pixelDataType;
3
+ if (Number.isInteger(min) && Number.isInteger(max)) {
4
+ if (min >= 0) {
5
+ if (max <= 255) {
6
+ pixelDataType = Uint8Array;
7
+ }
8
+ else if (max <= 65535) {
9
+ pixelDataType = Uint16Array;
10
+ }
11
+ }
12
+ else {
13
+ if (min >= -128 && max <= 127) {
14
+ pixelDataType = Int8Array;
15
+ }
16
+ else if (min >= -32768 && max <= 32767) {
17
+ pixelDataType = Int16Array;
18
+ }
19
+ }
20
+ }
21
+ return pixelDataType || Float32Array;
22
+ }
@@ -0,0 +1 @@
1
+ export default function (photoMetricInterpretation: string): boolean;
@@ -0,0 +1,10 @@
1
+ export default function (photoMetricInterpretation) {
2
+ return (photoMetricInterpretation === 'RGB' ||
3
+ photoMetricInterpretation === 'PALETTE COLOR' ||
4
+ photoMetricInterpretation === 'YBR_FULL' ||
5
+ photoMetricInterpretation === 'YBR_FULL_422' ||
6
+ photoMetricInterpretation === 'YBR_PARTIAL_422' ||
7
+ photoMetricInterpretation === 'YBR_PARTIAL_420' ||
8
+ photoMetricInterpretation === 'YBR_RCT' ||
9
+ photoMetricInterpretation === 'YBR_ICT');
10
+ }
@@ -0,0 +1 @@
1
+ export default function bilinear(src: any, dest: any): any;
@@ -0,0 +1,32 @@
1
+ export default function bilinear(src, dest) {
2
+ const { rows: srcRows, columns: srcColumns, data: srcData } = src;
3
+ const { rows, columns, data } = dest;
4
+ const xSrc1Off = [];
5
+ const xSrc2Off = [];
6
+ const xFrac = [];
7
+ for (let x = 0; x < columns; x++) {
8
+ const xSrc = (x * (srcColumns - 1)) / (columns - 1);
9
+ xSrc1Off[x] = Math.floor(xSrc);
10
+ xSrc2Off[x] = Math.min(xSrc1Off[x] + 1, srcColumns - 1);
11
+ xFrac[x] = xSrc - xSrc1Off[x];
12
+ }
13
+ for (let y = 0; y < rows; y++) {
14
+ const ySrc = (y * (srcRows - 1)) / (rows - 1);
15
+ const ySrc1Off = Math.floor(ySrc) * srcColumns;
16
+ const ySrc2Off = Math.min(ySrc1Off + srcColumns, (srcRows - 1) * srcColumns);
17
+ const yFrac = ySrc - Math.floor(ySrc);
18
+ const yFracInv = 1 - yFrac;
19
+ const yOff = y * columns;
20
+ for (let x = 0; x < columns; x++) {
21
+ const p00 = srcData[ySrc1Off + xSrc1Off[x]];
22
+ const p10 = srcData[ySrc1Off + xSrc2Off[x]];
23
+ const p01 = srcData[ySrc2Off + xSrc1Off[x]];
24
+ const p11 = srcData[ySrc2Off + xSrc2Off[x]];
25
+ const xFracInv = 1 - xFrac[x];
26
+ data[yOff + x] =
27
+ (p00 * xFracInv + p10 * xFrac[x]) * yFracInv +
28
+ (p01 * xFracInv + p11 * xFrac[x]) * yFrac;
29
+ }
30
+ }
31
+ return data;
32
+ }
@@ -0,0 +1 @@
1
+ export default function replicate(src: any, dest: any): any;
@@ -0,0 +1,20 @@
1
+ export default function replicate(src, dest) {
2
+ const { rows: srcRows, columns: srcColumns, pixelData: srcData, samplesPerPixel = 1, } = src;
3
+ const { rows, columns, pixelData } = dest;
4
+ const xSrc1Off = [];
5
+ for (let x = 0; x < columns; x++) {
6
+ const xSrc = (x * (srcColumns - 1)) / (columns - 1);
7
+ xSrc1Off[x] = Math.floor(xSrc) * samplesPerPixel;
8
+ }
9
+ for (let y = 0; y < rows; y++) {
10
+ const ySrc = (y * (srcRows - 1)) / (rows - 1);
11
+ const ySrc1Off = Math.floor(ySrc) * srcColumns * samplesPerPixel;
12
+ const yOff = y * columns;
13
+ for (let x = 0; x < columns; x++) {
14
+ for (let sample = 0; sample < samplesPerPixel; sample++) {
15
+ pixelData[yOff + x + sample] = srcData[ySrc1Off + xSrc1Off[x] + sample];
16
+ }
17
+ }
18
+ }
19
+ return pixelData;
20
+ }
@@ -0,0 +1,2 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ export default function scaleArray(array: Types.PixelDataTypedArray, scalingParameters: any): boolean;
@@ -0,0 +1,15 @@
1
+ export default function scaleArray(array, scalingParameters) {
2
+ const arrayLength = array.length;
3
+ const { rescaleSlope, rescaleIntercept, suvbw } = scalingParameters;
4
+ if (scalingParameters.modality === 'PT' && typeof suvbw === 'number') {
5
+ for (let i = 0; i < arrayLength; i++) {
6
+ array[i] = suvbw * (array[i] * rescaleSlope + rescaleIntercept);
7
+ }
8
+ }
9
+ else {
10
+ for (let i = 0; i < arrayLength; i++) {
11
+ array[i] = array[i] * rescaleSlope + rescaleIntercept;
12
+ }
13
+ }
14
+ return true;
15
+ }
@@ -0,0 +1,9 @@
1
+ import type { DataSet } from 'dicom-parser';
2
+ export interface DICOMLoaderDataSetWithFetchMore extends DataSet {
3
+ fetchMore?: (fetchOptions: {
4
+ uri: string;
5
+ imageId: string;
6
+ fetchedLength: number;
7
+ lengthToFetch: number;
8
+ }) => Promise<DICOMLoaderDataSetWithFetchMore>;
9
+ }
@@ -0,0 +1,12 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import type { ByteArray, DataSet } from 'dicom-parser';
3
+ export interface DICOMLoaderIImage extends Types.IImage {
4
+ decodeTimeInMS: number;
5
+ floatPixelData?: ByteArray | Float32Array;
6
+ loadTimeInMS?: number;
7
+ totalTimeInMS?: number;
8
+ data?: DataSet;
9
+ imageFrame?: Types.IImageFrame;
10
+ voiLUTFunction: string | undefined;
11
+ transferSyntaxUID?: string;
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import type { LoadRequestFunction } from './LoadRequestFunction';
3
+ import type { StreamingData } from '../imageLoader/wadors/loadImage';
4
+ export interface DICOMLoaderImageOptions {
5
+ useRGBA?: boolean;
6
+ allowFloatRendering?: boolean;
7
+ preScale?: {
8
+ enabled: boolean;
9
+ scalingParameters?: Types.ScalingParameters;
10
+ };
11
+ targetBuffer?: {
12
+ type: Types.PixelDataTypedArrayString;
13
+ arrayBuffer: ArrayBufferLike;
14
+ length: number;
15
+ offset: number;
16
+ rows?: number;
17
+ columns?: number;
18
+ };
19
+ loader?: LoadRequestFunction;
20
+ decodeLevel?: number;
21
+ retrieveOptions?: Types.RetrieveOptions;
22
+ streamingData?: StreamingData;
23
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export type LoadRequestFunction = (url: string, imageId: string, ...args: unknown[]) => Promise<ArrayBuffer>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export interface LoaderDecodeOptions {
2
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { LoaderDecodeOptions } from './LoaderDecodeOptions';
2
+ import type { LoaderXhrRequestError, LoaderXhrRequestParams } from './XHRRequest';
3
+ export interface LoaderOptions {
4
+ cornerstone?: unknown;
5
+ dicomParser?: unknown;
6
+ maxWebWorkers?: number;
7
+ open?: (xhr: XMLHttpRequest, url: string, defaultHeaders: Record<string, string>, params: LoaderXhrRequestParams) => void;
8
+ beforeSend?: (xhr: XMLHttpRequest, imageId: string, defaultHeaders: Record<string, string>, params: LoaderXhrRequestParams) => Record<string, string> | void;
9
+ beforeProcessing?: (xhr: XMLHttpRequest) => Promise<ArrayBuffer>;
10
+ imageCreated?: (imageObject: unknown) => void;
11
+ onloadstart?: (event: ProgressEvent<EventTarget>, params: unknown) => void;
12
+ onloadend?: (event: ProgressEvent<EventTarget>, params: unknown) => void;
13
+ onreadystatechange?: (event: Event, params: unknown) => void;
14
+ onprogress?: (event: ProgressEvent<EventTarget>, params: unknown) => void;
15
+ errorInterceptor?: (error: LoaderXhrRequestError) => void;
16
+ strict?: boolean;
17
+ decodeConfig?: LoaderDecodeOptions;
18
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface LutType {
2
+ id: string;
3
+ firstValueMapped: number;
4
+ numBitsPerEntry: number;
5
+ lut: number[];
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface WADORSMetaDataElement<ValueType = string[] | number[] | boolean> {
2
+ Value: ValueType;
3
+ }
4
+ export type WADORSMetaData = Record<string, WADORSMetaDataElement>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,64 @@
1
+ import type { ByteArray } from 'dicom-parser';
2
+ import type { Types } from '@cornerstonejs/core';
3
+ import type { LoaderOptions } from './LoaderOptions';
4
+ import type { LoaderDecodeOptions } from './LoaderDecodeOptions';
5
+ export interface WebWorkerOptions {
6
+ maxWebWorkers?: number;
7
+ startWebWorkersOnDemand?: boolean;
8
+ webWorkerTaskPaths?: string[];
9
+ taskConfiguration?: WebWorkerTaskOptions;
10
+ }
11
+ export interface WebWorkerDecodeConfig {
12
+ initializeCodecsOnStartup: boolean;
13
+ strict?: boolean;
14
+ }
15
+ export interface WebWorkerTaskOptions {
16
+ decodeTask: WebWorkerDecodeConfig;
17
+ }
18
+ export interface WebWorkerDeferredObject<T = unknown> {
19
+ resolve: (arg: T | PromiseLike<T>) => void;
20
+ reject: (err: any) => void;
21
+ }
22
+ export type WorkerTaskTypes = 'decodeTask' | 'loadWebWorkerTask' | 'initialize';
23
+ export interface WorkerTask {
24
+ taskId: number;
25
+ taskType: WorkerTaskTypes;
26
+ status: 'ready' | 'success' | 'failed';
27
+ added: number;
28
+ start?: number;
29
+ data: WebWorkerDecodeTaskData;
30
+ deferred: WebWorkerDeferredObject;
31
+ priority: number;
32
+ transferList: Transferable[];
33
+ }
34
+ export interface WebWorkerDecodeTaskData {
35
+ imageFrame: Types.IImageFrame;
36
+ transferSyntax: string;
37
+ pixelData: ByteArray;
38
+ options: LoaderOptions;
39
+ decodeConfig: LoaderDecodeOptions;
40
+ }
41
+ export interface WebWorkerDecodeData {
42
+ taskType: 'decodeTask';
43
+ workerIndex: number;
44
+ data: WebWorkerDecodeTaskData;
45
+ }
46
+ export interface WebWorkerLoadData {
47
+ taskType: 'loadWebWorkerTask';
48
+ workerIndex: number;
49
+ sourcePath: string;
50
+ config: WebWorkerOptions;
51
+ }
52
+ export interface WebWorkerInitializeData {
53
+ taskType: 'initialize';
54
+ workerIndex: number;
55
+ config: WebWorkerOptions;
56
+ }
57
+ export type WebWorkerData = WebWorkerDecodeData | WebWorkerLoadData | WebWorkerInitializeData;
58
+ export interface WebWorkerResponse {
59
+ taskType: WorkerTaskTypes;
60
+ status: 'failed' | 'success';
61
+ workerIndex: number;
62
+ data?: Types.IImageFrame;
63
+ result: string | Types.IImageFrame;
64
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ export interface LoaderXhrRequestError extends Error {
2
+ request: XMLHttpRequest;
3
+ response: unknown;
4
+ status: number;
5
+ }
6
+ export interface LoaderXhrRequestParams {
7
+ url?: string;
8
+ deferred?: {
9
+ resolve: (value: ArrayBuffer | PromiseLike<ArrayBuffer>) => void;
10
+ reject: (reason: any) => void;
11
+ };
12
+ imageId?: string;
13
+ }
14
+ export interface LoaderXhrRequestPromise<T> extends Promise<T> {
15
+ xhr?: XMLHttpRequest;
16
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { LoaderXhrRequestError, LoaderXhrRequestParams, LoaderXhrRequestPromise } from './XHRRequest';
2
+ import type { WADORSMetaData, WADORSMetaDataElement } from './WADORSMetaData';
3
+ import type { LoaderOptions } from './LoaderOptions';
4
+ import type { LoaderDecodeOptions } from './LoaderDecodeOptions';
5
+ import type { DICOMLoaderIImage } from './DICOMLoaderIImage';
6
+ import type { DICOMLoaderImageOptions } from './DICOMLoaderImageOptions';
7
+ import type { LutType } from './LutType';
8
+ import type { LoadRequestFunction } from './LoadRequestFunction';
9
+ import type { DICOMLoaderDataSetWithFetchMore } from './DICOMLoaderDataSetWithFetchMore';
10
+ import type { WebWorkerOptions, WebWorkerDecodeConfig, WebWorkerTaskOptions, WorkerTaskTypes, WorkerTask, WebWorkerDecodeTaskData, WebWorkerDecodeData, WebWorkerLoadData, WebWorkerInitializeData, WebWorkerData, WebWorkerResponse, WebWorkerDeferredObject } from './WebWorkerTypes';
11
+ export type { LoaderDecodeOptions, LoaderOptions, WADORSMetaData, WADORSMetaDataElement, LoaderXhrRequestError, LoaderXhrRequestParams, LoaderXhrRequestPromise, DICOMLoaderIImage, DICOMLoaderImageOptions, LutType, WebWorkerOptions, WebWorkerDecodeConfig, WebWorkerTaskOptions, WorkerTaskTypes, WorkerTask, WebWorkerDecodeTaskData, WebWorkerDecodeData, WebWorkerLoadData, WebWorkerInitializeData, WebWorkerData, WebWorkerResponse, WebWorkerDeferredObject, LoadRequestFunction, DICOMLoaderDataSetWithFetchMore, };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: "0.0.1";
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export default '0.0.1';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/dicom-image-loader",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.21",
4
4
  "description": "Cornerstone Image Loader for DICOM WADO-URI and WADO-RS and Local file",
5
5
  "keywords": [
6
6
  "DICOM",
@@ -12,8 +12,9 @@
12
12
  "author": "@cornerstonejs (previously Chris Hafey)",
13
13
  "homepage": "https://github.com/cornerstonejs/cornerstone3D",
14
14
  "license": "MIT",
15
- "main": "dist/cornerstoneDICOMImageLoader.bundle.min.js",
16
- "module": "dist/cornerstoneDICOMImageLoader.bundle.min.js",
15
+ "main": "dist/esm/src/imageLoader/index.js",
16
+ "module": "dist/esm/src/imageLoader/index.js",
17
+ "types": "dist/esm/src/imageLoader/index.d.ts",
17
18
  "files": [
18
19
  "dist/"
19
20
  ],
@@ -24,21 +25,33 @@
24
25
  "publishConfig": {
25
26
  "access": "public"
26
27
  },
28
+ "exports": {
29
+ ".": {
30
+ "import": "./dist/esm/src/imageLoader/index.js"
31
+ },
32
+ "./dynamic-umd": {
33
+ "import": "./dist/dynamic-import/cornerstoneDICOMImageLoader.min.js"
34
+ }
35
+ },
27
36
  "scripts": {
37
+ "build:loader": "yarn run build:all && yarn run copy-dts",
38
+ "build:esm": "tsc --project ./tsconfig.esm.json",
39
+ "build:esm:watch": "tsc --project ./tsconfig.esm.json --watch",
28
40
  "build:umd:dynamic": "cross-env NODE_ENV=production webpack --config .webpack/webpack-dynamic-import.js",
29
41
  "build:umd:bundle": "cross-env NODE_ENV=production webpack --config .webpack/webpack-bundle.js",
30
- "build:all": "yarn run build:umd:dynamic & yarn run build:umd:bundle",
42
+ "build:all": "yarn run build:umd:dynamic & yarn run build:umd:bundle && yarn run build:esm",
43
+ "build:update-api": "echo 'not implemented yet'",
31
44
  "copy-dts": "echo 'not implemented yet'",
32
- "build": "yarn run build:all && yarn run copy-dts",
45
+ "clean": "shx rm -rf dist",
46
+ "clean:deep": "yarn run clean && shx rm -rf node_modules",
33
47
  "api-check": "echo 'not implemented yet'",
34
- "build:update-api": "echo 'not implemented yet'",
35
48
  "cm": "npx git-cz",
36
- "clean": "npm run clean:dist && npm run clean:coverage",
37
49
  "clean:dist": "shx rm -rf dist",
38
50
  "clean:docs": "shx rm -rf documentation",
39
51
  "clean:coverage": "shx rm -rf coverage",
40
52
  "doc": "npm run doc:generate && opn documentation/index.html",
41
53
  "doc:generate": "npm run clean:docs && jsdoc -c .jsdocrc",
54
+ "dev": "tsc --project ./tsconfig.esm.json --watch",
42
55
  "eslint": "eslint -c .eslintrc.js src",
43
56
  "eslint-quiet": "eslint -c .eslintrc.js --quiet src",
44
57
  "eslint-fix": "eslint -c .eslintrc.js --fix src",
@@ -52,30 +65,24 @@
52
65
  "test:firefox": "karma start config/karma/karma-firefox.js",
53
66
  "test:watch": "karma start config/karma/karma-watch.js",
54
67
  "watch": "npm run clean && shx mkdir dist && npm run webpack:watch",
55
- "dev": "npm run webpack:dev",
56
68
  "webpack:dev": "webpack serve --progress --config .webpack/webpack-dev.js",
57
69
  "webpack:dynamic-import": "webpack --progress --config .webpack/webpack-dynamic-import",
58
70
  "webpack:bundle": "webpack --progress --config .webpack/webpack-bundle",
59
71
  "webpack:dynamic-import:watch": "webpack --progress --watch --config .webpack/webpack-dynamic-import",
60
72
  "webpack:dynamic-import:debug": "webpack --progress --watch --config .webpack/webpack-dynamic-import-debug",
61
73
  "webpack:watch": "webpack --progress --watch --config .webpack",
62
- "prepublishOnly": "yarn run build"
74
+ "prepublishOnly": "yarn run build:loader"
63
75
  },
64
76
  "dependencies": {
65
77
  "@cornerstonejs/codec-charls": "^1.2.3",
66
78
  "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
67
79
  "@cornerstonejs/codec-openjpeg": "^1.2.2",
68
- "@cornerstonejs/codec-openjph": "^2.4.2",
69
- "@cornerstonejs/core": "^2.0.0-beta.2",
80
+ "@cornerstonejs/codec-openjph": "^2.4.5",
81
+ "comlink": "^4.4.1",
70
82
  "dicom-parser": "^1.8.9",
71
83
  "pako": "^2.0.4",
72
84
  "uuid": "^9.0.0"
73
85
  },
74
- "husky": {
75
- "hooks": {
76
- "pre-commit": "lint-staged"
77
- }
78
- },
79
86
  "lint-staged": {
80
87
  "src/**/*.{js,jsx,json,css}": [
81
88
  "eslint --fix",
@@ -88,5 +95,5 @@
88
95
  "path": "./node_modules/cz-conventional-changelog"
89
96
  }
90
97
  },
91
- "gitHead": "c154f7531c166db29a54fe41c76a22ecc7ac47c8"
98
+ "gitHead": "de2d08d4edbae4ca48831cc44a57737717b10b22"
92
99
  }