@cornerstonejs/dicom-image-loader 2.0.0-beta.25 → 2.0.0-beta.27

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 (350) hide show
  1. package/dist/dynamic-import/918.min.js.map +1 -1
  2. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js +1 -1
  3. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js.map +1 -1
  4. package/dist/esm/{src/constants → constants}/index.js +1 -0
  5. package/dist/esm/constants/index.js.map +1 -0
  6. package/dist/esm/{src/constants → constants}/transferSyntaxes.js +1 -0
  7. package/dist/esm/constants/transferSyntaxes.js.map +1 -0
  8. package/dist/esm/{src/decodeImageFrameWorker.js → decodeImageFrameWorker.js} +1 -0
  9. package/dist/esm/decodeImageFrameWorker.js.map +1 -0
  10. package/dist/esm/{src/externalModules.js → externalModules.js} +1 -0
  11. package/dist/esm/externalModules.js.map +1 -0
  12. package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertPALETTECOLOR.js +1 -0
  13. package/dist/esm/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js.map +1 -0
  14. package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertRGBColorByPixel.js +1 -0
  15. package/dist/esm/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js.map +1 -0
  16. package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertRGBColorByPlane.js +1 -0
  17. package/dist/esm/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js.map +1 -0
  18. package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertYBRFull422ByPixel.js +1 -0
  19. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js.map +1 -0
  20. package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertYBRFullByPixel.js +1 -0
  21. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js.map +1 -0
  22. package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertYBRFullByPlane.js +1 -0
  23. package/dist/esm/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js.map +1 -0
  24. package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/index.js +1 -0
  25. package/dist/esm/imageLoader/colorSpaceConverters/index.js.map +1 -0
  26. package/dist/esm/{src/imageLoader → imageLoader}/configure.js +1 -0
  27. package/dist/esm/imageLoader/configure.js.map +1 -0
  28. package/dist/esm/{src/imageLoader → imageLoader}/convertColorSpace.js +1 -0
  29. package/dist/esm/imageLoader/convertColorSpace.js.map +1 -0
  30. package/dist/esm/{src/imageLoader → imageLoader}/createImage.d.ts +1 -1
  31. package/dist/esm/{src/imageLoader → imageLoader}/createImage.js +1 -0
  32. package/dist/esm/imageLoader/createImage.js.map +1 -0
  33. package/dist/esm/{src/imageLoader → imageLoader}/decodeImageFrame.js +1 -0
  34. package/dist/esm/imageLoader/decodeImageFrame.js.map +1 -0
  35. package/dist/esm/{src/imageLoader → imageLoader}/decodeJPEGBaseline8BitColor.js +1 -0
  36. package/dist/esm/imageLoader/decodeJPEGBaseline8BitColor.js.map +1 -0
  37. package/dist/esm/{src/imageLoader → imageLoader}/getImageFrame.js +1 -0
  38. package/dist/esm/imageLoader/getImageFrame.js.map +1 -0
  39. package/dist/esm/{src/imageLoader → imageLoader}/getInstanceModule.js +1 -0
  40. package/dist/esm/imageLoader/getInstanceModule.js.map +1 -0
  41. package/dist/esm/{src/imageLoader → imageLoader}/getMinMax.js +1 -0
  42. package/dist/esm/imageLoader/getMinMax.js.map +1 -0
  43. package/dist/esm/{src/imageLoader → imageLoader}/getScalingParameters.js +1 -0
  44. package/dist/esm/imageLoader/getScalingParameters.js.map +1 -0
  45. package/dist/esm/{src/imageLoader → imageLoader}/imageIdToURI.js +1 -0
  46. package/dist/esm/imageLoader/imageIdToURI.js.map +1 -0
  47. package/dist/esm/{src/imageLoader → imageLoader}/index.js +1 -0
  48. package/dist/esm/imageLoader/index.js.map +1 -0
  49. package/dist/esm/{src/imageLoader → imageLoader}/internal/index.js +1 -0
  50. package/dist/esm/imageLoader/internal/index.js.map +1 -0
  51. package/dist/esm/{src/imageLoader → imageLoader}/internal/options.js +1 -0
  52. package/dist/esm/imageLoader/internal/options.js.map +1 -0
  53. package/dist/esm/{src/imageLoader → imageLoader}/internal/rangeRequest.js +1 -0
  54. package/dist/esm/imageLoader/internal/rangeRequest.js.map +1 -0
  55. package/dist/esm/{src/imageLoader → imageLoader}/internal/streamRequest.js +1 -0
  56. package/dist/esm/imageLoader/internal/streamRequest.js.map +1 -0
  57. package/dist/esm/{src/imageLoader → imageLoader}/internal/xhrRequest.js +1 -0
  58. package/dist/esm/imageLoader/internal/xhrRequest.js.map +1 -0
  59. package/dist/esm/{src/imageLoader → imageLoader}/isColorConversionRequired.js +1 -0
  60. package/dist/esm/imageLoader/isColorConversionRequired.js.map +1 -0
  61. package/dist/esm/{src/imageLoader → imageLoader}/isJPEGBaseline8BitColor.js +1 -0
  62. package/dist/esm/imageLoader/isJPEGBaseline8BitColor.js.map +1 -0
  63. package/dist/esm/{src/imageLoader → imageLoader}/isNMReconstructable.js +1 -0
  64. package/dist/esm/imageLoader/isNMReconstructable.js.map +1 -0
  65. package/dist/esm/{src/imageLoader → imageLoader}/registerLoaders.js +1 -0
  66. package/dist/esm/imageLoader/registerLoaders.js.map +1 -0
  67. package/dist/esm/{src/imageLoader → imageLoader}/wadors/combineFrameInstance.js +1 -0
  68. package/dist/esm/imageLoader/wadors/combineFrameInstance.js.map +1 -0
  69. package/dist/esm/{src/imageLoader → imageLoader}/wadors/extractMultipart.js +1 -0
  70. package/dist/esm/imageLoader/wadors/extractMultipart.js.map +1 -0
  71. package/dist/esm/{src/imageLoader → imageLoader}/wadors/findIndexOfString.js +1 -0
  72. package/dist/esm/imageLoader/wadors/findIndexOfString.js.map +1 -0
  73. package/dist/esm/{src/imageLoader → imageLoader}/wadors/getImageQualityStatus.js +1 -0
  74. package/dist/esm/imageLoader/wadors/getImageQualityStatus.js.map +1 -0
  75. package/dist/esm/{src/imageLoader → imageLoader}/wadors/getPixelData.js +1 -0
  76. package/dist/esm/imageLoader/wadors/getPixelData.js.map +1 -0
  77. package/dist/esm/{src/imageLoader → imageLoader}/wadors/getTagValue.js +1 -0
  78. package/dist/esm/imageLoader/wadors/getTagValue.js.map +1 -0
  79. package/dist/esm/{src/imageLoader → imageLoader}/wadors/index.js +1 -0
  80. package/dist/esm/imageLoader/wadors/index.js.map +1 -0
  81. package/dist/esm/{src/imageLoader → imageLoader}/wadors/loadImage.js +1 -0
  82. package/dist/esm/imageLoader/wadors/loadImage.js.map +1 -0
  83. package/dist/esm/{src/imageLoader → imageLoader}/wadors/loadImage_test.js +1 -0
  84. package/dist/esm/imageLoader/wadors/loadImage_test.js.map +1 -0
  85. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/NMHelpers.js +1 -0
  86. package/dist/esm/imageLoader/wadors/metaData/NMHelpers.js.map +1 -0
  87. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/USHelpers.js +1 -0
  88. package/dist/esm/imageLoader/wadors/metaData/USHelpers.js.map +1 -0
  89. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/extractPositioningFromMetadata.js +1 -0
  90. package/dist/esm/imageLoader/wadors/metaData/extractPositioningFromMetadata.js.map +1 -0
  91. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getFirstNumberValue.js +1 -0
  92. package/dist/esm/imageLoader/wadors/metaData/getFirstNumberValue.js.map +1 -0
  93. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getNumberString.js +1 -0
  94. package/dist/esm/imageLoader/wadors/metaData/getNumberString.js.map +1 -0
  95. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getNumberValue.js +1 -0
  96. package/dist/esm/imageLoader/wadors/metaData/getNumberValue.js.map +1 -0
  97. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getNumberValues.js +1 -0
  98. package/dist/esm/imageLoader/wadors/metaData/getNumberValues.js.map +1 -0
  99. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getOverlayPlaneModule.js +1 -0
  100. package/dist/esm/imageLoader/wadors/metaData/getOverlayPlaneModule.js.map +1 -0
  101. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getSequenceItems.js +1 -0
  102. package/dist/esm/imageLoader/wadors/metaData/getSequenceItems.js.map +1 -0
  103. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getValue.js +1 -0
  104. package/dist/esm/imageLoader/wadors/metaData/getValue.js.map +1 -0
  105. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/index.js +1 -0
  106. package/dist/esm/imageLoader/wadors/metaData/index.js.map +1 -0
  107. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/metaDataProvider.js +3 -2
  108. package/dist/esm/imageLoader/wadors/metaData/metaDataProvider.js.map +1 -0
  109. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaDataManager.d.ts +2 -2
  110. package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaDataManager.js +6 -5
  111. package/dist/esm/imageLoader/wadors/metaDataManager.js.map +1 -0
  112. package/dist/esm/{src/imageLoader → imageLoader}/wadors/register.js +1 -0
  113. package/dist/esm/imageLoader/wadors/register.js.map +1 -0
  114. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/combineFrameInstanceDataset.js +1 -0
  115. package/dist/esm/imageLoader/wadouri/combineFrameInstanceDataset.js.map +1 -0
  116. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/dataSetCacheManager.js +1 -0
  117. package/dist/esm/imageLoader/wadouri/dataSetCacheManager.js.map +1 -0
  118. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/dataSetCacheManager_test.js +1 -0
  119. package/dist/esm/imageLoader/wadouri/dataSetCacheManager_test.js.map +1 -0
  120. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/dataset-from-partial-content.js +1 -0
  121. package/dist/esm/imageLoader/wadouri/dataset-from-partial-content.js.map +1 -0
  122. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/fileManager.js +1 -0
  123. package/dist/esm/imageLoader/wadouri/fileManager.js.map +1 -0
  124. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/getEncapsulatedImageFrame.js +1 -0
  125. package/dist/esm/imageLoader/wadouri/getEncapsulatedImageFrame.js.map +1 -0
  126. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/getPixelData.js +1 -0
  127. package/dist/esm/imageLoader/wadouri/getPixelData.js.map +1 -0
  128. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/getUncompressedImageFrame.js +1 -0
  129. package/dist/esm/imageLoader/wadouri/getUncompressedImageFrame.js.map +1 -0
  130. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/index.js +1 -0
  131. package/dist/esm/imageLoader/wadouri/index.js.map +1 -0
  132. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/loadFileRequest.js +1 -0
  133. package/dist/esm/imageLoader/wadouri/loadFileRequest.js.map +1 -0
  134. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/loadImage.js +1 -0
  135. package/dist/esm/imageLoader/wadouri/loadImage.js.map +1 -0
  136. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/loadedDataSets.js +1 -0
  137. package/dist/esm/imageLoader/wadouri/loadedDataSets.js.map +1 -0
  138. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/USHelpers.js +1 -0
  139. package/dist/esm/imageLoader/wadouri/metaData/USHelpers.js.map +1 -0
  140. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/extractPositioningFromDataset.js +1 -0
  141. package/dist/esm/imageLoader/wadouri/metaData/extractPositioningFromDataset.js.map +1 -0
  142. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getImagePixelModule.js +1 -0
  143. package/dist/esm/imageLoader/wadouri/metaData/getImagePixelModule.js.map +1 -0
  144. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getLUTs.js +1 -0
  145. package/dist/esm/imageLoader/wadouri/metaData/getLUTs.js.map +1 -0
  146. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js +1 -0
  147. package/dist/esm/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js.map +1 -0
  148. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getNumberValues.js +1 -0
  149. package/dist/esm/imageLoader/wadouri/metaData/getNumberValues.js.map +1 -0
  150. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getOverlayPlaneModule.js +1 -0
  151. package/dist/esm/imageLoader/wadouri/metaData/getOverlayPlaneModule.js.map +1 -0
  152. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/index.js +1 -0
  153. package/dist/esm/imageLoader/wadouri/metaData/index.js.map +1 -0
  154. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/metaDataProvider.js +1 -0
  155. package/dist/esm/imageLoader/wadouri/metaData/metaDataProvider.js.map +1 -0
  156. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/parseImageId.js +1 -0
  157. package/dist/esm/imageLoader/wadouri/parseImageId.js.map +1 -0
  158. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/register.js +1 -0
  159. package/dist/esm/imageLoader/wadouri/register.js.map +1 -0
  160. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/retrieveMultiframeDataset.js +1 -0
  161. package/dist/esm/imageLoader/wadouri/retrieveMultiframeDataset.js.map +1 -0
  162. package/dist/esm/{src/imageLoader → imageLoader}/wadouri/unpackBinaryFrame.js +1 -0
  163. package/dist/esm/imageLoader/wadouri/unpackBinaryFrame.js.map +1 -0
  164. package/dist/esm/{src/shared → shared}/decoders/decodeBigEndian.d.ts +1 -1
  165. package/dist/esm/{src/shared → shared}/decoders/decodeBigEndian.js +1 -0
  166. package/dist/esm/shared/decoders/decodeBigEndian.js.map +1 -0
  167. package/dist/esm/{src/shared → shared}/decoders/decodeHTJ2K.js +1 -0
  168. package/dist/esm/shared/decoders/decodeHTJ2K.js.map +1 -0
  169. package/dist/esm/{src/shared → shared}/decoders/decodeJPEG2000.d.ts +1 -1
  170. package/dist/esm/{src/shared → shared}/decoders/decodeJPEG2000.js +1 -0
  171. package/dist/esm/shared/decoders/decodeJPEG2000.js.map +1 -0
  172. package/dist/esm/{src/shared → shared}/decoders/decodeJPEGBaseline12Bit-js.d.ts +1 -1
  173. package/dist/esm/{src/shared → shared}/decoders/decodeJPEGBaseline12Bit-js.js +1 -0
  174. package/dist/esm/shared/decoders/decodeJPEGBaseline12Bit-js.js.map +1 -0
  175. package/dist/esm/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +1 -0
  176. package/dist/esm/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js.map +1 -0
  177. package/dist/esm/{src/shared → shared}/decoders/decodeJPEGBaseline8Bit.d.ts +1 -1
  178. package/dist/esm/{src/shared → shared}/decoders/decodeJPEGBaseline8Bit.js +1 -0
  179. package/dist/esm/shared/decoders/decodeJPEGBaseline8Bit.js.map +1 -0
  180. package/dist/esm/{src/shared → shared}/decoders/decodeJPEGLS.d.ts +1 -1
  181. package/dist/esm/{src/shared → shared}/decoders/decodeJPEGLS.js +1 -0
  182. package/dist/esm/shared/decoders/decodeJPEGLS.js.map +1 -0
  183. package/dist/esm/{src/shared → shared}/decoders/decodeJPEGLossless.d.ts +1 -1
  184. package/dist/esm/{src/shared → shared}/decoders/decodeJPEGLossless.js +1 -0
  185. package/dist/esm/shared/decoders/decodeJPEGLossless.js.map +1 -0
  186. package/dist/esm/{src/shared → shared}/decoders/decodeLittleEndian.js +1 -0
  187. package/dist/esm/shared/decoders/decodeLittleEndian.js.map +1 -0
  188. package/dist/esm/{src/shared → shared}/decoders/decodeRLE.js +1 -0
  189. package/dist/esm/shared/decoders/decodeRLE.js.map +1 -0
  190. package/dist/esm/{src/shared → shared}/getMinMax.js +1 -0
  191. package/dist/esm/shared/getMinMax.js.map +1 -0
  192. package/dist/esm/{src/shared → shared}/getMinMax_test.js +1 -0
  193. package/dist/esm/shared/getMinMax_test.js.map +1 -0
  194. package/dist/esm/{src/shared → shared}/getPixelDataTypeFromMinMax.js +1 -0
  195. package/dist/esm/shared/getPixelDataTypeFromMinMax.js.map +1 -0
  196. package/dist/esm/{src/shared → shared}/isColorImage.js +1 -0
  197. package/dist/esm/shared/isColorImage.js.map +1 -0
  198. package/dist/esm/{src/shared → shared}/scaling/bilinear.js +1 -0
  199. package/dist/esm/shared/scaling/bilinear.js.map +1 -0
  200. package/dist/esm/{src/shared → shared}/scaling/replicate.js +1 -0
  201. package/dist/esm/shared/scaling/replicate.js.map +1 -0
  202. package/dist/esm/{src/shared → shared}/scaling/scaleArray.js +1 -0
  203. package/dist/esm/shared/scaling/scaleArray.js.map +1 -0
  204. package/dist/esm/types/DICOMLoaderDataSetWithFetchMore.js +1 -0
  205. package/dist/esm/types/DICOMLoaderDataSetWithFetchMore.js.map +1 -0
  206. package/dist/esm/types/DICOMLoaderIImage.js +1 -0
  207. package/dist/esm/types/DICOMLoaderIImage.js.map +1 -0
  208. package/dist/esm/types/DICOMLoaderImageOptions.js +1 -0
  209. package/dist/esm/types/DICOMLoaderImageOptions.js.map +1 -0
  210. package/dist/esm/types/LoadRequestFunction.js +1 -0
  211. package/dist/esm/types/LoadRequestFunction.js.map +1 -0
  212. package/dist/esm/types/LoaderDecodeOptions.js +1 -0
  213. package/dist/esm/types/LoaderDecodeOptions.js.map +1 -0
  214. package/dist/esm/types/LoaderOptions.js +1 -0
  215. package/dist/esm/types/LoaderOptions.js.map +1 -0
  216. package/dist/esm/types/LutType.js +1 -0
  217. package/dist/esm/types/LutType.js.map +1 -0
  218. package/dist/esm/types/WADORSMetaData.js +1 -0
  219. package/dist/esm/types/WADORSMetaData.js.map +1 -0
  220. package/dist/esm/types/WebWorkerTypes.js +1 -0
  221. package/dist/esm/types/WebWorkerTypes.js.map +1 -0
  222. package/dist/esm/types/XHRRequest.js +1 -0
  223. package/dist/esm/types/XHRRequest.js.map +1 -0
  224. package/dist/esm/types/index.js +1 -0
  225. package/dist/esm/types/index.js.map +1 -0
  226. package/dist/esm/version.js +2 -0
  227. package/dist/esm/version.js.map +1 -0
  228. package/package.json +55 -23
  229. package/dist/920.bundle.min.js +0 -3
  230. package/dist/920.bundle.min.js.LICENSE.txt +0 -5
  231. package/dist/920.bundle.min.js.map +0 -1
  232. package/dist/cornerstoneDICOMImageLoader.bundle.min.js +0 -2
  233. package/dist/cornerstoneDICOMImageLoader.bundle.min.js.map +0 -1
  234. package/dist/esm/codecs/jpeg.d.ts +0 -1
  235. package/dist/esm/codecs/jpeg.js +0 -890
  236. package/dist/esm/codecs/jpegLossless.d.ts +0 -7
  237. package/dist/esm/codecs/jpegLossless.js +0 -1219
  238. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +0 -1
  239. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js +0 -1
  240. package/dist/esm/src/types/DICOMLoaderIImage.js +0 -1
  241. package/dist/esm/src/types/DICOMLoaderImageOptions.js +0 -1
  242. package/dist/esm/src/types/LoadRequestFunction.js +0 -1
  243. package/dist/esm/src/types/LoaderDecodeOptions.js +0 -1
  244. package/dist/esm/src/types/LoaderOptions.js +0 -1
  245. package/dist/esm/src/types/LutType.js +0 -1
  246. package/dist/esm/src/types/WADORSMetaData.js +0 -1
  247. package/dist/esm/src/types/WebWorkerTypes.js +0 -1
  248. package/dist/esm/src/types/XHRRequest.js +0 -1
  249. package/dist/esm/src/types/index.js +0 -1
  250. package/dist/esm/src/version.js +0 -1
  251. /package/dist/esm/{src/constants → constants}/index.d.ts +0 -0
  252. /package/dist/esm/{src/constants → constants}/transferSyntaxes.d.ts +0 -0
  253. /package/dist/esm/{src/decodeImageFrameWorker.d.ts → decodeImageFrameWorker.d.ts} +0 -0
  254. /package/dist/esm/{src/externalModules.d.ts → externalModules.d.ts} +0 -0
  255. /package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertPALETTECOLOR.d.ts +0 -0
  256. /package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertRGBColorByPixel.d.ts +0 -0
  257. /package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertRGBColorByPlane.d.ts +0 -0
  258. /package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +0 -0
  259. /package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertYBRFullByPixel.d.ts +0 -0
  260. /package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/convertYBRFullByPlane.d.ts +0 -0
  261. /package/dist/esm/{src/imageLoader → imageLoader}/colorSpaceConverters/index.d.ts +0 -0
  262. /package/dist/esm/{src/imageLoader → imageLoader}/configure.d.ts +0 -0
  263. /package/dist/esm/{src/imageLoader → imageLoader}/convertColorSpace.d.ts +0 -0
  264. /package/dist/esm/{src/imageLoader → imageLoader}/decodeImageFrame.d.ts +0 -0
  265. /package/dist/esm/{src/imageLoader → imageLoader}/decodeJPEGBaseline8BitColor.d.ts +0 -0
  266. /package/dist/esm/{src/imageLoader → imageLoader}/getImageFrame.d.ts +0 -0
  267. /package/dist/esm/{src/imageLoader → imageLoader}/getInstanceModule.d.ts +0 -0
  268. /package/dist/esm/{src/imageLoader → imageLoader}/getMinMax.d.ts +0 -0
  269. /package/dist/esm/{src/imageLoader → imageLoader}/getScalingParameters.d.ts +0 -0
  270. /package/dist/esm/{src/imageLoader → imageLoader}/imageIdToURI.d.ts +0 -0
  271. /package/dist/esm/{src/imageLoader → imageLoader}/index.d.ts +0 -0
  272. /package/dist/esm/{src/imageLoader → imageLoader}/internal/index.d.ts +0 -0
  273. /package/dist/esm/{src/imageLoader → imageLoader}/internal/options.d.ts +0 -0
  274. /package/dist/esm/{src/imageLoader → imageLoader}/internal/rangeRequest.d.ts +0 -0
  275. /package/dist/esm/{src/imageLoader → imageLoader}/internal/streamRequest.d.ts +0 -0
  276. /package/dist/esm/{src/imageLoader → imageLoader}/internal/xhrRequest.d.ts +0 -0
  277. /package/dist/esm/{src/imageLoader → imageLoader}/isColorConversionRequired.d.ts +0 -0
  278. /package/dist/esm/{src/imageLoader → imageLoader}/isJPEGBaseline8BitColor.d.ts +0 -0
  279. /package/dist/esm/{src/imageLoader → imageLoader}/isNMReconstructable.d.ts +0 -0
  280. /package/dist/esm/{src/imageLoader → imageLoader}/registerLoaders.d.ts +0 -0
  281. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/combineFrameInstance.d.ts +0 -0
  282. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/extractMultipart.d.ts +0 -0
  283. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/findIndexOfString.d.ts +0 -0
  284. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/getImageQualityStatus.d.ts +0 -0
  285. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/getPixelData.d.ts +0 -0
  286. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/getTagValue.d.ts +0 -0
  287. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/index.d.ts +0 -0
  288. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/loadImage.d.ts +0 -0
  289. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/loadImage_test.d.ts +0 -0
  290. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/NMHelpers.d.ts +0 -0
  291. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/USHelpers.d.ts +0 -0
  292. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/extractPositioningFromMetadata.d.ts +0 -0
  293. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getFirstNumberValue.d.ts +0 -0
  294. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getNumberString.d.ts +0 -0
  295. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getNumberValue.d.ts +0 -0
  296. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getNumberValues.d.ts +0 -0
  297. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getOverlayPlaneModule.d.ts +0 -0
  298. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getSequenceItems.d.ts +0 -0
  299. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/getValue.d.ts +0 -0
  300. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/index.d.ts +0 -0
  301. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/metaData/metaDataProvider.d.ts +0 -0
  302. /package/dist/esm/{src/imageLoader → imageLoader}/wadors/register.d.ts +0 -0
  303. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/combineFrameInstanceDataset.d.ts +0 -0
  304. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/dataSetCacheManager.d.ts +0 -0
  305. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/dataSetCacheManager_test.d.ts +0 -0
  306. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/dataset-from-partial-content.d.ts +0 -0
  307. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/fileManager.d.ts +0 -0
  308. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/getEncapsulatedImageFrame.d.ts +0 -0
  309. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/getPixelData.d.ts +0 -0
  310. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/getUncompressedImageFrame.d.ts +0 -0
  311. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/index.d.ts +0 -0
  312. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/loadFileRequest.d.ts +0 -0
  313. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/loadImage.d.ts +0 -0
  314. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/loadedDataSets.d.ts +0 -0
  315. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/USHelpers.d.ts +0 -0
  316. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/extractPositioningFromDataset.d.ts +0 -0
  317. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getImagePixelModule.d.ts +0 -0
  318. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getLUTs.d.ts +0 -0
  319. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +0 -0
  320. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getNumberValues.d.ts +0 -0
  321. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/getOverlayPlaneModule.d.ts +0 -0
  322. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/index.d.ts +0 -0
  323. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/metaData/metaDataProvider.d.ts +0 -0
  324. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/parseImageId.d.ts +0 -0
  325. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/register.d.ts +0 -0
  326. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/retrieveMultiframeDataset.d.ts +0 -0
  327. /package/dist/esm/{src/imageLoader → imageLoader}/wadouri/unpackBinaryFrame.d.ts +0 -0
  328. /package/dist/esm/{src/shared → shared}/decoders/decodeHTJ2K.d.ts +0 -0
  329. /package/dist/esm/{src/shared → shared}/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +0 -0
  330. /package/dist/esm/{src/shared → shared}/decoders/decodeLittleEndian.d.ts +0 -0
  331. /package/dist/esm/{src/shared → shared}/decoders/decodeRLE.d.ts +0 -0
  332. /package/dist/esm/{src/shared → shared}/getMinMax.d.ts +0 -0
  333. /package/dist/esm/{src/shared → shared}/getMinMax_test.d.ts +0 -0
  334. /package/dist/esm/{src/shared → shared}/getPixelDataTypeFromMinMax.d.ts +0 -0
  335. /package/dist/esm/{src/shared → shared}/isColorImage.d.ts +0 -0
  336. /package/dist/esm/{src/shared → shared}/scaling/bilinear.d.ts +0 -0
  337. /package/dist/esm/{src/shared → shared}/scaling/replicate.d.ts +0 -0
  338. /package/dist/esm/{src/shared → shared}/scaling/scaleArray.d.ts +0 -0
  339. /package/dist/esm/{src/types → types}/DICOMLoaderDataSetWithFetchMore.d.ts +0 -0
  340. /package/dist/esm/{src/types → types}/DICOMLoaderIImage.d.ts +0 -0
  341. /package/dist/esm/{src/types → types}/DICOMLoaderImageOptions.d.ts +0 -0
  342. /package/dist/esm/{src/types → types}/LoadRequestFunction.d.ts +0 -0
  343. /package/dist/esm/{src/types → types}/LoaderDecodeOptions.d.ts +0 -0
  344. /package/dist/esm/{src/types → types}/LoaderOptions.d.ts +0 -0
  345. /package/dist/esm/{src/types → types}/LutType.d.ts +0 -0
  346. /package/dist/esm/{src/types → types}/WADORSMetaData.d.ts +0 -0
  347. /package/dist/esm/{src/types → types}/WebWorkerTypes.d.ts +0 -0
  348. /package/dist/esm/{src/types → types}/XHRRequest.d.ts +0 -0
  349. /package/dist/esm/{src/types → types}/index.d.ts +0 -0
  350. /package/dist/esm/{src/version.d.ts → version.d.ts} +0 -0
@@ -1,890 +0,0 @@
1
- var ColorSpace = { Unkown: 0, Grayscale: 1, AdobeRGB: 2, RGB: 3, CYMK: 4 };
2
- var JpegImage = (function jpegImage() {
3
- 'use strict';
4
- var dctZigZag = new Int32Array([
5
- 0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40,
6
- 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36,
7
- 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61,
8
- 54, 47, 55, 62, 63,
9
- ]);
10
- var dctCos1 = 4017;
11
- var dctSin1 = 799;
12
- var dctCos3 = 3406;
13
- var dctSin3 = 2276;
14
- var dctCos6 = 1567;
15
- var dctSin6 = 3784;
16
- var dctSqrt2 = 5793;
17
- var dctSqrt1d2 = 2896;
18
- function buildHuffmanTable(codeLengths, values) {
19
- var k = 0, code = [], i, j, length = 16;
20
- while (length > 0 && !codeLengths[length - 1])
21
- length--;
22
- code.push({ children: [], index: 0 });
23
- var p = code[0], q;
24
- for (i = 0; i < length; i++) {
25
- for (j = 0; j < codeLengths[i]; j++) {
26
- p = code.pop();
27
- p.children[p.index] = values[k];
28
- while (p.index > 0) {
29
- p = code.pop();
30
- }
31
- p.index++;
32
- code.push(p);
33
- while (code.length <= i) {
34
- code.push((q = { children: [], index: 0 }));
35
- p.children[p.index] = q.children;
36
- p = q;
37
- }
38
- k++;
39
- }
40
- if (i + 1 < length) {
41
- code.push((q = { children: [], index: 0 }));
42
- p.children[p.index] = q.children;
43
- p = q;
44
- }
45
- }
46
- return code[0].children;
47
- }
48
- function getBlockBufferOffset(component, row, col) {
49
- return 64 * ((component.blocksPerLine + 1) * row + col);
50
- }
51
- function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {
52
- var precision = frame.precision;
53
- var samplesPerLine = frame.samplesPerLine;
54
- var scanLines = frame.scanLines;
55
- var mcusPerLine = frame.mcusPerLine;
56
- var progressive = frame.progressive;
57
- var maxH = frame.maxH, maxV = frame.maxV;
58
- var startOffset = offset, bitsData = 0, bitsCount = 0;
59
- function readBit() {
60
- if (bitsCount > 0) {
61
- bitsCount--;
62
- return (bitsData >> bitsCount) & 1;
63
- }
64
- bitsData = data[offset++];
65
- if (bitsData == 0xff) {
66
- var nextByte = data[offset++];
67
- if (nextByte) {
68
- throw ('unexpected marker: ' + ((bitsData << 8) | nextByte).toString(16));
69
- }
70
- }
71
- bitsCount = 7;
72
- return bitsData >>> 7;
73
- }
74
- function decodeHuffman(tree) {
75
- var node = tree;
76
- var bit;
77
- while ((bit = readBit()) !== null) {
78
- node = node[bit];
79
- if (typeof node === 'number')
80
- return node;
81
- if (typeof node !== 'object')
82
- throw 'invalid huffman sequence';
83
- }
84
- return null;
85
- }
86
- function receive(length) {
87
- var n = 0;
88
- while (length > 0) {
89
- var bit = readBit();
90
- if (bit === null)
91
- return;
92
- n = (n << 1) | bit;
93
- length--;
94
- }
95
- return n;
96
- }
97
- function receiveAndExtend(length) {
98
- var n = receive(length);
99
- if (n >= 1 << (length - 1))
100
- return n;
101
- return n + (-1 << length) + 1;
102
- }
103
- function decodeBaseline(component, offset) {
104
- var t = decodeHuffman(component.huffmanTableDC);
105
- var diff = t === 0 ? 0 : receiveAndExtend(t);
106
- component.blockData[offset] = component.pred += diff;
107
- var k = 1;
108
- while (k < 64) {
109
- var rs = decodeHuffman(component.huffmanTableAC);
110
- var s = rs & 15, r = rs >> 4;
111
- if (s === 0) {
112
- if (r < 15)
113
- break;
114
- k += 16;
115
- continue;
116
- }
117
- k += r;
118
- var z = dctZigZag[k];
119
- component.blockData[offset + z] = receiveAndExtend(s);
120
- k++;
121
- }
122
- }
123
- function decodeDCFirst(component, offset) {
124
- var t = decodeHuffman(component.huffmanTableDC);
125
- var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;
126
- component.blockData[offset] = component.pred += diff;
127
- }
128
- function decodeDCSuccessive(component, offset) {
129
- component.blockData[offset] |= readBit() << successive;
130
- }
131
- var eobrun = 0;
132
- function decodeACFirst(component, offset) {
133
- if (eobrun > 0) {
134
- eobrun--;
135
- return;
136
- }
137
- var k = spectralStart, e = spectralEnd;
138
- while (k <= e) {
139
- var rs = decodeHuffman(component.huffmanTableAC);
140
- var s = rs & 15, r = rs >> 4;
141
- if (s === 0) {
142
- if (r < 15) {
143
- eobrun = receive(r) + (1 << r) - 1;
144
- break;
145
- }
146
- k += 16;
147
- continue;
148
- }
149
- k += r;
150
- var z = dctZigZag[k];
151
- component.blockData[offset + z] =
152
- receiveAndExtend(s) * (1 << successive);
153
- k++;
154
- }
155
- }
156
- var successiveACState = 0, successiveACNextValue;
157
- function decodeACSuccessive(component, offset) {
158
- var k = spectralStart, e = spectralEnd, r = 0;
159
- while (k <= e) {
160
- var z = dctZigZag[k];
161
- switch (successiveACState) {
162
- case 0:
163
- var rs = decodeHuffman(component.huffmanTableAC);
164
- var s = rs & 15;
165
- r = rs >> 4;
166
- if (s === 0) {
167
- if (r < 15) {
168
- eobrun = receive(r) + (1 << r);
169
- successiveACState = 4;
170
- }
171
- else {
172
- r = 16;
173
- successiveACState = 1;
174
- }
175
- }
176
- else {
177
- if (s !== 1)
178
- throw 'invalid ACn encoding';
179
- successiveACNextValue = receiveAndExtend(s);
180
- successiveACState = r ? 2 : 3;
181
- }
182
- continue;
183
- case 1:
184
- case 2:
185
- if (component.blockData[offset + z]) {
186
- component.blockData[offset + z] += readBit() << successive;
187
- }
188
- else {
189
- r--;
190
- if (r === 0)
191
- successiveACState = successiveACState == 2 ? 3 : 0;
192
- }
193
- break;
194
- case 3:
195
- if (component.blockData[offset + z]) {
196
- component.blockData[offset + z] += readBit() << successive;
197
- }
198
- else {
199
- component.blockData[offset + z] =
200
- successiveACNextValue << successive;
201
- successiveACState = 0;
202
- }
203
- break;
204
- case 4:
205
- if (component.blockData[offset + z]) {
206
- component.blockData[offset + z] += readBit() << successive;
207
- }
208
- break;
209
- }
210
- k++;
211
- }
212
- if (successiveACState === 4) {
213
- eobrun--;
214
- if (eobrun === 0)
215
- successiveACState = 0;
216
- }
217
- }
218
- function decodeMcu(component, decode, mcu, row, col) {
219
- var mcuRow = (mcu / mcusPerLine) | 0;
220
- var mcuCol = mcu % mcusPerLine;
221
- var blockRow = mcuRow * component.v + row;
222
- var blockCol = mcuCol * component.h + col;
223
- var offset = getBlockBufferOffset(component, blockRow, blockCol);
224
- decode(component, offset);
225
- }
226
- function decodeBlock(component, decode, mcu) {
227
- var blockRow = (mcu / component.blocksPerLine) | 0;
228
- var blockCol = mcu % component.blocksPerLine;
229
- var offset = getBlockBufferOffset(component, blockRow, blockCol);
230
- decode(component, offset);
231
- }
232
- var componentsLength = components.length;
233
- var component, i, j, k, n;
234
- var decodeFn;
235
- if (progressive) {
236
- if (spectralStart === 0)
237
- decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;
238
- else
239
- decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;
240
- }
241
- else {
242
- decodeFn = decodeBaseline;
243
- }
244
- var mcu = 0, marker;
245
- var mcuExpected;
246
- if (componentsLength == 1) {
247
- mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;
248
- }
249
- else {
250
- mcuExpected = mcusPerLine * frame.mcusPerColumn;
251
- }
252
- if (!resetInterval) {
253
- resetInterval = mcuExpected;
254
- }
255
- var h, v;
256
- while (mcu < mcuExpected) {
257
- for (i = 0; i < componentsLength; i++) {
258
- components[i].pred = 0;
259
- }
260
- eobrun = 0;
261
- if (componentsLength == 1) {
262
- component = components[0];
263
- for (n = 0; n < resetInterval; n++) {
264
- decodeBlock(component, decodeFn, mcu);
265
- mcu++;
266
- }
267
- }
268
- else {
269
- for (n = 0; n < resetInterval; n++) {
270
- for (i = 0; i < componentsLength; i++) {
271
- component = components[i];
272
- h = component.h;
273
- v = component.v;
274
- for (j = 0; j < v; j++) {
275
- for (k = 0; k < h; k++) {
276
- decodeMcu(component, decodeFn, mcu, j, k);
277
- }
278
- }
279
- }
280
- mcu++;
281
- }
282
- }
283
- bitsCount = 0;
284
- marker = (data[offset] << 8) | data[offset + 1];
285
- if (marker <= 0xff00) {
286
- throw 'marker was not found';
287
- }
288
- if (marker >= 0xffd0 && marker <= 0xffd7) {
289
- offset += 2;
290
- }
291
- else {
292
- break;
293
- }
294
- }
295
- return offset - startOffset;
296
- }
297
- function quantizeAndInverse(component, blockBufferOffset, p) {
298
- var qt = component.quantizationTable;
299
- var v0, v1, v2, v3, v4, v5, v6, v7, t;
300
- var i;
301
- for (i = 0; i < 64; i++) {
302
- p[i] = component.blockData[blockBufferOffset + i] * qt[i];
303
- }
304
- for (i = 0; i < 8; ++i) {
305
- var row = 8 * i;
306
- if (p[1 + row] === 0 &&
307
- p[2 + row] === 0 &&
308
- p[3 + row] === 0 &&
309
- p[4 + row] === 0 &&
310
- p[5 + row] === 0 &&
311
- p[6 + row] === 0 &&
312
- p[7 + row] === 0) {
313
- t = (dctSqrt2 * p[0 + row] + 512) >> 10;
314
- p[0 + row] = t;
315
- p[1 + row] = t;
316
- p[2 + row] = t;
317
- p[3 + row] = t;
318
- p[4 + row] = t;
319
- p[5 + row] = t;
320
- p[6 + row] = t;
321
- p[7 + row] = t;
322
- continue;
323
- }
324
- v0 = (dctSqrt2 * p[0 + row] + 128) >> 8;
325
- v1 = (dctSqrt2 * p[4 + row] + 128) >> 8;
326
- v2 = p[2 + row];
327
- v3 = p[6 + row];
328
- v4 = (dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128) >> 8;
329
- v7 = (dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128) >> 8;
330
- v5 = p[3 + row] << 4;
331
- v6 = p[5 + row] << 4;
332
- t = (v0 - v1 + 1) >> 1;
333
- v0 = (v0 + v1 + 1) >> 1;
334
- v1 = t;
335
- t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8;
336
- v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8;
337
- v3 = t;
338
- t = (v4 - v6 + 1) >> 1;
339
- v4 = (v4 + v6 + 1) >> 1;
340
- v6 = t;
341
- t = (v7 + v5 + 1) >> 1;
342
- v5 = (v7 - v5 + 1) >> 1;
343
- v7 = t;
344
- t = (v0 - v3 + 1) >> 1;
345
- v0 = (v0 + v3 + 1) >> 1;
346
- v3 = t;
347
- t = (v1 - v2 + 1) >> 1;
348
- v1 = (v1 + v2 + 1) >> 1;
349
- v2 = t;
350
- t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;
351
- v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;
352
- v7 = t;
353
- t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;
354
- v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;
355
- v6 = t;
356
- p[0 + row] = v0 + v7;
357
- p[7 + row] = v0 - v7;
358
- p[1 + row] = v1 + v6;
359
- p[6 + row] = v1 - v6;
360
- p[2 + row] = v2 + v5;
361
- p[5 + row] = v2 - v5;
362
- p[3 + row] = v3 + v4;
363
- p[4 + row] = v3 - v4;
364
- }
365
- for (i = 0; i < 8; ++i) {
366
- var col = i;
367
- if (p[1 * 8 + col] === 0 &&
368
- p[2 * 8 + col] === 0 &&
369
- p[3 * 8 + col] === 0 &&
370
- p[4 * 8 + col] === 0 &&
371
- p[5 * 8 + col] === 0 &&
372
- p[6 * 8 + col] === 0 &&
373
- p[7 * 8 + col] === 0) {
374
- t = (dctSqrt2 * p[i + 0] + 8192) >> 14;
375
- p[0 * 8 + col] = t;
376
- p[1 * 8 + col] = t;
377
- p[2 * 8 + col] = t;
378
- p[3 * 8 + col] = t;
379
- p[4 * 8 + col] = t;
380
- p[5 * 8 + col] = t;
381
- p[6 * 8 + col] = t;
382
- p[7 * 8 + col] = t;
383
- continue;
384
- }
385
- v0 = (dctSqrt2 * p[0 * 8 + col] + 2048) >> 12;
386
- v1 = (dctSqrt2 * p[4 * 8 + col] + 2048) >> 12;
387
- v2 = p[2 * 8 + col];
388
- v3 = p[6 * 8 + col];
389
- v4 = (dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048) >> 12;
390
- v7 = (dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048) >> 12;
391
- v5 = p[3 * 8 + col];
392
- v6 = p[5 * 8 + col];
393
- t = (v0 - v1 + 1) >> 1;
394
- v0 = (v0 + v1 + 1) >> 1;
395
- v1 = t;
396
- t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12;
397
- v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12;
398
- v3 = t;
399
- t = (v4 - v6 + 1) >> 1;
400
- v4 = (v4 + v6 + 1) >> 1;
401
- v6 = t;
402
- t = (v7 + v5 + 1) >> 1;
403
- v5 = (v7 - v5 + 1) >> 1;
404
- v7 = t;
405
- t = (v0 - v3 + 1) >> 1;
406
- v0 = (v0 + v3 + 1) >> 1;
407
- v3 = t;
408
- t = (v1 - v2 + 1) >> 1;
409
- v1 = (v1 + v2 + 1) >> 1;
410
- v2 = t;
411
- t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;
412
- v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;
413
- v7 = t;
414
- t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;
415
- v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;
416
- v6 = t;
417
- p[0 * 8 + col] = v0 + v7;
418
- p[7 * 8 + col] = v0 - v7;
419
- p[1 * 8 + col] = v1 + v6;
420
- p[6 * 8 + col] = v1 - v6;
421
- p[2 * 8 + col] = v2 + v5;
422
- p[5 * 8 + col] = v2 - v5;
423
- p[3 * 8 + col] = v3 + v4;
424
- p[4 * 8 + col] = v3 - v4;
425
- }
426
- for (i = 0; i < 64; ++i) {
427
- var index = blockBufferOffset + i;
428
- var q = p[i];
429
- q =
430
- q <= -2056 / component.bitConversion
431
- ? 0
432
- : q >= 2024 / component.bitConversion
433
- ? 255 / component.bitConversion
434
- : (q + 2056 / component.bitConversion) >> 4;
435
- component.blockData[index] = q;
436
- }
437
- }
438
- function buildComponentData(frame, component) {
439
- var lines = [];
440
- var blocksPerLine = component.blocksPerLine;
441
- var blocksPerColumn = component.blocksPerColumn;
442
- var samplesPerLine = blocksPerLine << 3;
443
- var computationBuffer = new Int32Array(64);
444
- var i, j, ll = 0;
445
- for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {
446
- for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {
447
- var offset = getBlockBufferOffset(component, blockRow, blockCol);
448
- quantizeAndInverse(component, offset, computationBuffer);
449
- }
450
- }
451
- return component.blockData;
452
- }
453
- function clampToUint8(a) {
454
- return a <= 0 ? 0 : a >= 255 ? 255 : a | 0;
455
- }
456
- class JpegImage {
457
- }
458
- Object.setPrototypeOf(JpegImage.prototype, {
459
- load: function load(path) {
460
- var handleData = function (data) {
461
- this.parse(data);
462
- if (this.onload)
463
- this.onload();
464
- }.bind(this);
465
- if (path.indexOf('data:') > -1) {
466
- var offset = path.indexOf('base64,') + 7;
467
- var data = atob(path.substring(offset));
468
- var arr = new Uint8Array(data.length);
469
- for (var i = data.length - 1; i >= 0; i--) {
470
- arr[i] = data.charCodeAt(i);
471
- }
472
- handleData(data);
473
- }
474
- else {
475
- var xhr = new XMLHttpRequest();
476
- xhr.open('GET', path, true);
477
- xhr.responseType = 'arraybuffer';
478
- xhr.onload = function () {
479
- var data = new Uint8Array(xhr.response);
480
- handleData(data);
481
- }.bind(this);
482
- xhr.send(null);
483
- }
484
- },
485
- parse: function parse(data) {
486
- function readUint16() {
487
- var value = (data[offset] << 8) | data[offset + 1];
488
- offset += 2;
489
- return value;
490
- }
491
- function readDataBlock() {
492
- var length = readUint16();
493
- var array = data.subarray(offset, offset + length - 2);
494
- offset += array.length;
495
- return array;
496
- }
497
- function prepareComponents(frame) {
498
- var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);
499
- var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);
500
- for (var i = 0; i < frame.components.length; i++) {
501
- component = frame.components[i];
502
- var blocksPerLine = Math.ceil((Math.ceil(frame.samplesPerLine / 8) * component.h) / frame.maxH);
503
- var blocksPerColumn = Math.ceil((Math.ceil(frame.scanLines / 8) * component.v) / frame.maxV);
504
- var blocksPerLineForMcu = mcusPerLine * component.h;
505
- var blocksPerColumnForMcu = mcusPerColumn * component.v;
506
- var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);
507
- component.blockData = new Int16Array(blocksBufferSize);
508
- component.blocksPerLine = blocksPerLine;
509
- component.blocksPerColumn = blocksPerColumn;
510
- }
511
- frame.mcusPerLine = mcusPerLine;
512
- frame.mcusPerColumn = mcusPerColumn;
513
- }
514
- var offset = 0, length = data.length;
515
- var jfif = null;
516
- var adobe = null;
517
- var pixels = null;
518
- var frame, resetInterval;
519
- var quantizationTables = [];
520
- var huffmanTablesAC = [], huffmanTablesDC = [];
521
- var fileMarker = readUint16();
522
- if (fileMarker != 0xffd8) {
523
- throw 'SOI not found';
524
- }
525
- fileMarker = readUint16();
526
- while (fileMarker != 0xffd9) {
527
- var i, j, l;
528
- switch (fileMarker) {
529
- case 0xffe0:
530
- case 0xffe1:
531
- case 0xffe2:
532
- case 0xffe3:
533
- case 0xffe4:
534
- case 0xffe5:
535
- case 0xffe6:
536
- case 0xffe7:
537
- case 0xffe8:
538
- case 0xffe9:
539
- case 0xffea:
540
- case 0xffeb:
541
- case 0xffec:
542
- case 0xffed:
543
- case 0xffee:
544
- case 0xffef:
545
- case 0xfffe:
546
- var appData = readDataBlock();
547
- if (fileMarker === 0xffe0) {
548
- if (appData[0] === 0x4a &&
549
- appData[1] === 0x46 &&
550
- appData[2] === 0x49 &&
551
- appData[3] === 0x46 &&
552
- appData[4] === 0) {
553
- jfif = {
554
- version: { major: appData[5], minor: appData[6] },
555
- densityUnits: appData[7],
556
- xDensity: (appData[8] << 8) | appData[9],
557
- yDensity: (appData[10] << 8) | appData[11],
558
- thumbWidth: appData[12],
559
- thumbHeight: appData[13],
560
- thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13]),
561
- };
562
- }
563
- }
564
- if (fileMarker === 0xffee) {
565
- if (appData[0] === 0x41 &&
566
- appData[1] === 0x64 &&
567
- appData[2] === 0x6f &&
568
- appData[3] === 0x62 &&
569
- appData[4] === 0x65 &&
570
- appData[5] === 0) {
571
- adobe = {
572
- version: appData[6],
573
- flags0: (appData[7] << 8) | appData[8],
574
- flags1: (appData[9] << 8) | appData[10],
575
- transformCode: appData[11],
576
- };
577
- }
578
- }
579
- break;
580
- case 0xffdb:
581
- var quantizationTablesLength = readUint16();
582
- var quantizationTablesEnd = quantizationTablesLength + offset - 2;
583
- while (offset < quantizationTablesEnd) {
584
- var quantizationTableSpec = data[offset++];
585
- var tableData = new Int32Array(64);
586
- if (quantizationTableSpec >> 4 === 0) {
587
- for (j = 0; j < 64; j++) {
588
- var z = dctZigZag[j];
589
- tableData[z] = data[offset++];
590
- }
591
- }
592
- else if (quantizationTableSpec >> 4 === 1) {
593
- for (j = 0; j < 64; j++) {
594
- var zz = dctZigZag[j];
595
- tableData[zz] = readUint16();
596
- }
597
- }
598
- else
599
- throw 'DQT: invalid table spec';
600
- quantizationTables[quantizationTableSpec & 15] = tableData;
601
- }
602
- break;
603
- case 0xffc0:
604
- case 0xffc1:
605
- case 0xffc2:
606
- if (frame) {
607
- throw 'Only single frame JPEGs supported';
608
- }
609
- readUint16();
610
- frame = {};
611
- frame.extended = fileMarker === 0xffc1;
612
- frame.progressive = fileMarker === 0xffc2;
613
- frame.precision = data[offset++];
614
- frame.scanLines = readUint16();
615
- frame.samplesPerLine = readUint16();
616
- frame.components = [];
617
- frame.componentIds = {};
618
- var componentsCount = data[offset++], componentId;
619
- var maxH = 0, maxV = 0;
620
- for (i = 0; i < componentsCount; i++) {
621
- componentId = data[offset];
622
- var h = data[offset + 1] >> 4;
623
- var v = data[offset + 1] & 15;
624
- if (maxH < h)
625
- maxH = h;
626
- if (maxV < v)
627
- maxV = v;
628
- var qId = data[offset + 2];
629
- l = frame.components.push({
630
- h: h,
631
- v: v,
632
- quantizationTable: quantizationTables[qId],
633
- quantizationTableId: qId,
634
- bitConversion: 255 / ((1 << frame.precision) - 1),
635
- });
636
- frame.componentIds[componentId] = l - 1;
637
- offset += 3;
638
- }
639
- frame.maxH = maxH;
640
- frame.maxV = maxV;
641
- prepareComponents(frame);
642
- break;
643
- case 0xffc4:
644
- var huffmanLength = readUint16();
645
- for (i = 2; i < huffmanLength;) {
646
- var huffmanTableSpec = data[offset++];
647
- var codeLengths = new Uint8Array(16);
648
- var codeLengthSum = 0;
649
- for (j = 0; j < 16; j++, offset++)
650
- codeLengthSum += codeLengths[j] = data[offset];
651
- var huffmanValues = new Uint8Array(codeLengthSum);
652
- for (j = 0; j < codeLengthSum; j++, offset++)
653
- huffmanValues[j] = data[offset];
654
- i += 17 + codeLengthSum;
655
- (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);
656
- }
657
- break;
658
- case 0xffdd:
659
- readUint16();
660
- resetInterval = readUint16();
661
- break;
662
- case 0xffda:
663
- var scanLength = readUint16();
664
- var selectorsCount = data[offset++];
665
- var components = [], component;
666
- for (i = 0; i < selectorsCount; i++) {
667
- var componentIndex = frame.componentIds[data[offset++]];
668
- component = frame.components[componentIndex];
669
- var tableSpec = data[offset++];
670
- component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];
671
- component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];
672
- components.push(component);
673
- }
674
- var spectralStart = data[offset++];
675
- var spectralEnd = data[offset++];
676
- var successiveApproximation = data[offset++];
677
- var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);
678
- offset += processed;
679
- break;
680
- case 0xffff:
681
- if (data[offset] !== 0xff) {
682
- offset--;
683
- }
684
- break;
685
- default:
686
- if (data[offset - 3] == 0xff &&
687
- data[offset - 2] >= 0xc0 &&
688
- data[offset - 2] <= 0xfe) {
689
- offset -= 3;
690
- break;
691
- }
692
- throw 'unknown JPEG marker ' + fileMarker.toString(16);
693
- }
694
- fileMarker = readUint16();
695
- }
696
- this.width = frame.samplesPerLine;
697
- this.height = frame.scanLines;
698
- this.jfif = jfif;
699
- this.adobe = adobe;
700
- this.components = [];
701
- switch (frame.components.length) {
702
- case 1:
703
- this.colorspace = ColorSpace.Grayscale;
704
- break;
705
- case 3:
706
- if (this.adobe)
707
- this.colorspace = ColorSpace.AdobeRGB;
708
- else
709
- this.colorspace = ColorSpace.RGB;
710
- break;
711
- case 4:
712
- this.colorspace = ColorSpace.CYMK;
713
- break;
714
- default:
715
- this.colorspace = ColorSpace.Unknown;
716
- }
717
- for (var i = 0; i < frame.components.length; i++) {
718
- var component = frame.components[i];
719
- if (!component.quantizationTable &&
720
- component.quantizationTableId !== null)
721
- component.quantizationTable =
722
- quantizationTables[component.quantizationTableId];
723
- this.components.push({
724
- output: buildComponentData(frame, component),
725
- scaleX: component.h / frame.maxH,
726
- scaleY: component.v / frame.maxV,
727
- blocksPerLine: component.blocksPerLine,
728
- blocksPerColumn: component.blocksPerColumn,
729
- bitConversion: component.bitConversion,
730
- });
731
- }
732
- },
733
- getData16: function getData16(width, height) {
734
- if (this.components.length !== 1)
735
- throw 'Unsupported color mode';
736
- var scaleX = this.width / width, scaleY = this.height / height;
737
- var component, componentScaleX, componentScaleY;
738
- var x, y, i;
739
- var offset = 0;
740
- var numComponents = this.components.length;
741
- var dataLength = width * height * numComponents;
742
- var data = new Uint16Array(dataLength);
743
- var componentLine;
744
- var lineData = new Uint16Array((this.components[0].blocksPerLine << 3) *
745
- this.components[0].blocksPerColumn *
746
- 8);
747
- for (i = 0; i < numComponents; i++) {
748
- component = this.components[i];
749
- var blocksPerLine = component.blocksPerLine;
750
- var blocksPerColumn = component.blocksPerColumn;
751
- var samplesPerLine = blocksPerLine << 3;
752
- var j, k, ll = 0;
753
- var lineOffset = 0;
754
- for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {
755
- var scanLine = blockRow << 3;
756
- for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {
757
- var bufferOffset = getBlockBufferOffset(component, blockRow, blockCol);
758
- var offset = 0, sample = blockCol << 3;
759
- for (j = 0; j < 8; j++) {
760
- var lineOffset = (scanLine + j) * samplesPerLine;
761
- for (k = 0; k < 8; k++) {
762
- lineData[lineOffset + sample + k] =
763
- component.output[bufferOffset + offset++];
764
- }
765
- }
766
- }
767
- }
768
- componentScaleX = component.scaleX * scaleX;
769
- componentScaleY = component.scaleY * scaleY;
770
- offset = i;
771
- var cx, cy;
772
- var index;
773
- for (y = 0; y < height; y++) {
774
- for (x = 0; x < width; x++) {
775
- cy = 0 | (y * componentScaleY);
776
- cx = 0 | (x * componentScaleX);
777
- index = cy * samplesPerLine + cx;
778
- data[offset] = lineData[index];
779
- offset += numComponents;
780
- }
781
- }
782
- }
783
- return data;
784
- },
785
- getData: function getData(width, height) {
786
- var scaleX = this.width / width, scaleY = this.height / height;
787
- var component, componentScaleX, componentScaleY;
788
- var x, y, i;
789
- var offset = 0;
790
- var Y, Cb, Cr, K, C, M, Ye, R, G, B;
791
- var colorTransform;
792
- var numComponents = this.components.length;
793
- var dataLength = width * height * numComponents;
794
- var data = new Uint8Array(dataLength);
795
- var componentLine;
796
- var lineData = new Uint8Array((this.components[0].blocksPerLine << 3) *
797
- this.components[0].blocksPerColumn *
798
- 8);
799
- for (i = 0; i < numComponents; i++) {
800
- component = this.components[i];
801
- var blocksPerLine = component.blocksPerLine;
802
- var blocksPerColumn = component.blocksPerColumn;
803
- var samplesPerLine = blocksPerLine << 3;
804
- var j, k, ll = 0;
805
- var lineOffset = 0;
806
- for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {
807
- var scanLine = blockRow << 3;
808
- for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {
809
- var bufferOffset = getBlockBufferOffset(component, blockRow, blockCol);
810
- var offset = 0, sample = blockCol << 3;
811
- for (j = 0; j < 8; j++) {
812
- var lineOffset = (scanLine + j) * samplesPerLine;
813
- for (k = 0; k < 8; k++) {
814
- lineData[lineOffset + sample + k] =
815
- component.output[bufferOffset + offset++] *
816
- component.bitConversion;
817
- }
818
- }
819
- }
820
- }
821
- componentScaleX = component.scaleX * scaleX;
822
- componentScaleY = component.scaleY * scaleY;
823
- offset = i;
824
- var cx, cy;
825
- var index;
826
- for (y = 0; y < height; y++) {
827
- for (x = 0; x < width; x++) {
828
- cy = 0 | (y * componentScaleY);
829
- cx = 0 | (x * componentScaleX);
830
- index = cy * samplesPerLine + cx;
831
- data[offset] = lineData[index];
832
- offset += numComponents;
833
- }
834
- }
835
- }
836
- switch (numComponents) {
837
- case 1:
838
- case 2:
839
- break;
840
- case 3:
841
- colorTransform = true;
842
- if (this.adobe && this.adobe.transformCode)
843
- colorTransform = true;
844
- else if (typeof this.colorTransform !== 'undefined')
845
- colorTransform = !!this.colorTransform;
846
- if (colorTransform) {
847
- for (i = 0; i < dataLength; i += numComponents) {
848
- Y = data[i];
849
- Cb = data[i + 1];
850
- Cr = data[i + 2];
851
- R = clampToUint8(Y - 179.456 + 1.402 * Cr);
852
- G = clampToUint8(Y + 135.459 - 0.344 * Cb - 0.714 * Cr);
853
- B = clampToUint8(Y - 226.816 + 1.772 * Cb);
854
- data[i] = R;
855
- data[i + 1] = G;
856
- data[i + 2] = B;
857
- }
858
- }
859
- break;
860
- case 4:
861
- if (!this.adobe)
862
- throw 'Unsupported color mode (4 components)';
863
- colorTransform = false;
864
- if (this.adobe && this.adobe.transformCode)
865
- colorTransform = true;
866
- else if (typeof this.colorTransform !== 'undefined')
867
- colorTransform = !!this.colorTransform;
868
- if (colorTransform) {
869
- for (i = 0; i < dataLength; i += numComponents) {
870
- Y = data[i];
871
- Cb = data[i + 1];
872
- Cr = data[i + 2];
873
- C = clampToUint8(434.456 - Y - 1.402 * Cr);
874
- M = clampToUint8(119.541 - Y + 0.344 * Cb + 0.714 * Cr);
875
- Y = clampToUint8(481.816 - Y - 1.772 * Cb);
876
- data[i] = C;
877
- data[i + 1] = M;
878
- data[i + 2] = Y;
879
- }
880
- }
881
- break;
882
- default:
883
- throw 'Unsupported color mode';
884
- }
885
- return data;
886
- },
887
- });
888
- return JpegImage;
889
- })();
890
- export {};