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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/dist/744.bundle.min.js +3 -0
  2. package/dist/744.bundle.min.js.LICENSE.txt +5 -0
  3. package/dist/744.bundle.min.js.map +1 -0
  4. package/dist/cornerstoneDICOMImageLoader.bundle.min.js +1 -1
  5. package/dist/cornerstoneDICOMImageLoader.bundle.min.js.map +1 -1
  6. package/dist/dynamic-import/{945.min.worker.js → 584.min.js} +2 -2
  7. package/dist/dynamic-import/584.min.js.map +1 -0
  8. package/dist/dynamic-import/595.min.js +2 -0
  9. package/dist/dynamic-import/595.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/958.min.js +3 -0
  13. package/dist/dynamic-import/958.min.js.LICENSE.txt +5 -0
  14. package/dist/dynamic-import/958.min.js.map +1 -0
  15. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js +1 -1
  16. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js.map +1 -1
  17. package/dist/esm/codecs/jpeg.js +891 -0
  18. package/dist/esm/codecs/jpeg.js.map +1 -0
  19. package/dist/esm/codecs/jpegLossless.js +1220 -0
  20. package/dist/esm/codecs/jpegLossless.js.map +1 -0
  21. package/dist/esm/src/constants/transferSyntaxes.js +47 -0
  22. package/dist/esm/src/constants/transferSyntaxes.js.map +1 -0
  23. package/dist/esm/src/externalModules.js +45 -0
  24. package/dist/esm/src/externalModules.js.map +1 -0
  25. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js +78 -0
  26. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.js.map +1 -0
  27. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js +22 -0
  28. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.js.map +1 -0
  29. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js +29 -0
  30. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.js.map +1 -0
  31. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js +45 -0
  32. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.js.map +1 -0
  33. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js +34 -0
  34. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.js.map +1 -0
  35. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js +36 -0
  36. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.js.map +1 -0
  37. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js +8 -0
  38. package/dist/esm/src/imageLoader/colorSpaceConverters/index.js.map +1 -0
  39. package/dist/esm/src/imageLoader/configure.js +12 -0
  40. package/dist/esm/src/imageLoader/configure.js.map +1 -0
  41. package/dist/esm/src/imageLoader/convertColorSpace.js +41 -0
  42. package/dist/esm/src/imageLoader/convertColorSpace.js.map +1 -0
  43. package/dist/esm/src/imageLoader/createImage.js +249 -0
  44. package/dist/esm/src/imageLoader/createImage.js.map +1 -0
  45. package/dist/esm/src/imageLoader/decodeImageFrame.js +66 -0
  46. package/dist/esm/src/imageLoader/decodeImageFrame.js.map +1 -0
  47. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js +65 -0
  48. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.js.map +1 -0
  49. package/dist/esm/src/imageLoader/getImageFrame.js +27 -0
  50. package/dist/esm/src/imageLoader/getImageFrame.js.map +1 -0
  51. package/dist/esm/src/imageLoader/getInstanceModule.js +41 -0
  52. package/dist/esm/src/imageLoader/getInstanceModule.js.map +1 -0
  53. package/dist/esm/src/imageLoader/getMinMax.js +16 -0
  54. package/dist/esm/src/imageLoader/getMinMax.js.map +1 -0
  55. package/dist/esm/src/imageLoader/getScalingParameters.js +16 -0
  56. package/dist/esm/src/imageLoader/getScalingParameters.js.map +1 -0
  57. package/dist/esm/src/imageLoader/imageIdToURI.js +5 -0
  58. package/dist/esm/src/imageLoader/imageIdToURI.js.map +1 -0
  59. package/dist/esm/src/imageLoader/index.js +37 -0
  60. package/dist/esm/src/imageLoader/index.js.map +1 -0
  61. package/dist/esm/src/imageLoader/internal/index.js +9 -0
  62. package/dist/esm/src/imageLoader/internal/index.js.map +1 -0
  63. package/dist/esm/src/imageLoader/internal/options.js +24 -0
  64. package/dist/esm/src/imageLoader/internal/options.js.map +1 -0
  65. package/dist/esm/src/imageLoader/internal/rangeRequest.js +122 -0
  66. package/dist/esm/src/imageLoader/internal/rangeRequest.js.map +1 -0
  67. package/dist/esm/src/imageLoader/internal/streamRequest.js +93 -0
  68. package/dist/esm/src/imageLoader/internal/streamRequest.js.map +1 -0
  69. package/dist/esm/src/imageLoader/internal/xhrRequest.js +103 -0
  70. package/dist/esm/src/imageLoader/internal/xhrRequest.js.map +1 -0
  71. package/dist/esm/src/imageLoader/isColorConversionRequired.js +23 -0
  72. package/dist/esm/src/imageLoader/isColorConversionRequired.js.map +1 -0
  73. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js +10 -0
  74. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.js.map +1 -0
  75. package/dist/esm/src/imageLoader/isNMReconstructable.js +4 -0
  76. package/dist/esm/src/imageLoader/isNMReconstructable.js.map +1 -0
  77. package/dist/esm/src/imageLoader/registerLoaders.js +8 -0
  78. package/dist/esm/src/imageLoader/registerLoaders.js.map +1 -0
  79. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js +45 -0
  80. package/dist/esm/src/imageLoader/wadors/combineFrameInstance.js.map +1 -0
  81. package/dist/esm/src/imageLoader/wadors/extractMultipart.js +74 -0
  82. package/dist/esm/src/imageLoader/wadors/extractMultipart.js.map +1 -0
  83. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js +33 -0
  84. package/dist/esm/src/imageLoader/wadors/findIndexOfString.js.map +1 -0
  85. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js +9 -0
  86. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.js.map +1 -0
  87. package/dist/esm/src/imageLoader/wadors/getPixelData.js +36 -0
  88. package/dist/esm/src/imageLoader/wadors/getPixelData.js.map +1 -0
  89. package/dist/esm/src/imageLoader/wadors/getTagValue.js +10 -0
  90. package/dist/esm/src/imageLoader/wadors/getTagValue.js.map +1 -0
  91. package/dist/esm/src/imageLoader/wadors/index.js +22 -0
  92. package/dist/esm/src/imageLoader/wadors/index.js.map +1 -0
  93. package/dist/esm/src/imageLoader/wadors/loadImage.js +126 -0
  94. package/dist/esm/src/imageLoader/wadors/loadImage.js.map +1 -0
  95. package/dist/esm/src/imageLoader/wadors/loadImage_test.js +42 -0
  96. package/dist/esm/src/imageLoader/wadors/loadImage_test.js.map +1 -0
  97. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js +39 -0
  98. package/dist/esm/src/imageLoader/wadors/metaData/NMHelpers.js.map +1 -0
  99. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js +47 -0
  100. package/dist/esm/src/imageLoader/wadors/metaData/USHelpers.js.map +1 -0
  101. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js +19 -0
  102. package/dist/esm/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.js.map +1 -0
  103. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js +7 -0
  104. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.js.map +1 -0
  105. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js +10 -0
  106. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js.map +1 -0
  107. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js +10 -0
  108. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.js.map +1 -0
  109. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js +21 -0
  110. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.js.map +1 -0
  111. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js +39 -0
  112. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.js.map +1 -0
  113. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js +15 -0
  114. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.js.map +1 -0
  115. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js +15 -0
  116. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js.map +1 -0
  117. package/dist/esm/src/imageLoader/wadors/metaData/index.js +8 -0
  118. package/dist/esm/src/imageLoader/wadors/metaData/index.js.map +1 -0
  119. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js +262 -0
  120. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js.map +1 -0
  121. package/dist/esm/src/imageLoader/wadors/metaDataManager.js +48 -0
  122. package/dist/esm/src/imageLoader/wadors/metaDataManager.js.map +1 -0
  123. package/dist/esm/src/imageLoader/wadors/register.js +7 -0
  124. package/dist/esm/src/imageLoader/wadors/register.js.map +1 -0
  125. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js +27 -0
  126. package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js.map +1 -0
  127. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js +68 -0
  128. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js.map +1 -0
  129. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js +143 -0
  130. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js.map +1 -0
  131. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js +11 -0
  132. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager_test.js.map +1 -0
  133. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js +57 -0
  134. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.js.map +1 -0
  135. package/dist/esm/src/imageLoader/wadouri/fileManager.js +21 -0
  136. package/dist/esm/src/imageLoader/wadouri/fileManager.js.map +1 -0
  137. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js +34 -0
  138. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.js.map +1 -0
  139. package/dist/esm/src/imageLoader/wadouri/getPixelData.js +14 -0
  140. package/dist/esm/src/imageLoader/wadouri/getPixelData.js.map +1 -0
  141. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js +48 -0
  142. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.js.map +1 -0
  143. package/dist/esm/src/imageLoader/wadouri/index.js +32 -0
  144. package/dist/esm/src/imageLoader/wadouri/index.js.map +1 -0
  145. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js +18 -0
  146. package/dist/esm/src/imageLoader/wadouri/loadFileRequest.js.map +1 -0
  147. package/dist/esm/src/imageLoader/wadouri/loadImage.js +105 -0
  148. package/dist/esm/src/imageLoader/wadouri/loadImage.js.map +1 -0
  149. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js +81 -0
  150. package/dist/esm/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.js.map +1 -0
  151. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js +80 -0
  152. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.js.map +1 -0
  153. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js +45 -0
  154. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.js.map +1 -0
  155. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js +31 -0
  156. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js.map +1 -0
  157. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js +17 -0
  158. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.js.map +1 -0
  159. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js +37 -0
  160. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.js.map +1 -0
  161. package/dist/esm/src/imageLoader/wadouri/metaData/index.js +6 -0
  162. package/dist/esm/src/imageLoader/wadouri/metaData/index.js.map +1 -0
  163. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js +211 -0
  164. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js.map +1 -0
  165. package/dist/esm/src/imageLoader/wadouri/parseImageId.js +21 -0
  166. package/dist/esm/src/imageLoader/wadouri/parseImageId.js.map +1 -0
  167. package/dist/esm/src/imageLoader/wadouri/register.js +9 -0
  168. package/dist/esm/src/imageLoader/wadouri/register.js.map +1 -0
  169. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js +58 -0
  170. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js.map +1 -0
  171. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js +15 -0
  172. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.js.map +1 -0
  173. package/dist/esm/src/shared/calculateMinMax.js +25 -0
  174. package/dist/esm/src/shared/calculateMinMax.js.map +1 -0
  175. package/dist/esm/src/shared/calculateMinMax_test.js +39 -0
  176. package/dist/esm/src/shared/calculateMinMax_test.js.map +1 -0
  177. package/dist/esm/src/shared/decodeImageFrame.js +269 -0
  178. package/dist/esm/src/shared/decodeImageFrame.js.map +1 -0
  179. package/dist/esm/src/shared/decoders/decodeBigEndian.js +29 -0
  180. package/dist/esm/src/shared/decoders/decodeBigEndian.js.map +1 -0
  181. package/dist/esm/src/shared/decoders/decodeHTJ2K.js +110 -0
  182. package/dist/esm/src/shared/decoders/decodeHTJ2K.js.map +1 -0
  183. package/dist/esm/src/shared/decoders/decodeJPEG2000.js +94 -0
  184. package/dist/esm/src/shared/decoders/decodeJPEG2000.js.map +1 -0
  185. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js +35 -0
  186. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.js.map +1 -0
  187. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +2 -0
  188. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js.map +1 -0
  189. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js +63 -0
  190. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.js.map +1 -0
  191. package/dist/esm/src/shared/decoders/decodeJPEGLS.js +85 -0
  192. package/dist/esm/src/shared/decoders/decodeJPEGLS.js.map +1 -0
  193. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js +40 -0
  194. package/dist/esm/src/shared/decoders/decodeJPEGLossless.js.map +1 -0
  195. package/dist/esm/src/shared/decoders/decodeLittleEndian.js +30 -0
  196. package/dist/esm/src/shared/decoders/decodeLittleEndian.js.map +1 -0
  197. package/dist/esm/src/shared/decoders/decodeRLE.js +129 -0
  198. package/dist/esm/src/shared/decoders/decodeRLE.js.map +1 -0
  199. package/dist/esm/src/shared/getMinMax.js +17 -0
  200. package/dist/esm/src/shared/getMinMax.js.map +1 -0
  201. package/dist/esm/src/shared/getMinMax_test.js +10 -0
  202. package/dist/esm/src/shared/getMinMax_test.js.map +1 -0
  203. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js +23 -0
  204. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.js.map +1 -0
  205. package/dist/esm/src/shared/isColorImage.js +11 -0
  206. package/dist/esm/src/shared/isColorImage.js.map +1 -0
  207. package/dist/esm/src/shared/scaling/bilinear.js +33 -0
  208. package/dist/esm/src/shared/scaling/bilinear.js.map +1 -0
  209. package/dist/esm/src/shared/scaling/replicate.js +21 -0
  210. package/dist/esm/src/shared/scaling/replicate.js.map +1 -0
  211. package/dist/esm/src/shared/scaling/scaleArray.js +16 -0
  212. package/dist/esm/src/shared/scaling/scaleArray.js.map +1 -0
  213. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js +2 -0
  214. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.js.map +1 -0
  215. package/dist/esm/src/types/DICOMLoaderIImage.js +2 -0
  216. package/dist/esm/src/types/DICOMLoaderIImage.js.map +1 -0
  217. package/dist/esm/src/types/DICOMLoaderImageOptions.js +2 -0
  218. package/dist/esm/src/types/DICOMLoaderImageOptions.js.map +1 -0
  219. package/dist/esm/src/types/ImageFrame.js +2 -0
  220. package/dist/esm/src/types/ImageFrame.js.map +1 -0
  221. package/dist/esm/src/types/LoadRequestFunction.js +2 -0
  222. package/dist/esm/src/types/LoadRequestFunction.js.map +1 -0
  223. package/dist/esm/src/types/LoaderDecodeOptions.js +2 -0
  224. package/dist/esm/src/types/LoaderDecodeOptions.js.map +1 -0
  225. package/dist/esm/src/types/LoaderOptions.js +2 -0
  226. package/dist/esm/src/types/LoaderOptions.js.map +1 -0
  227. package/dist/esm/src/types/LutType.js +2 -0
  228. package/dist/esm/src/types/LutType.js.map +1 -0
  229. package/dist/esm/src/types/MetadataModules.js +2 -0
  230. package/dist/esm/src/types/MetadataModules.js.map +1 -0
  231. package/dist/esm/src/types/PixelDataTypedArray.js +2 -0
  232. package/dist/esm/src/types/PixelDataTypedArray.js.map +1 -0
  233. package/dist/esm/src/types/WADORSMetaData.js +2 -0
  234. package/dist/esm/src/types/WADORSMetaData.js.map +1 -0
  235. package/dist/esm/src/types/WebWorkerTypes.js +2 -0
  236. package/dist/esm/src/types/WebWorkerTypes.js.map +1 -0
  237. package/dist/esm/src/types/XHRRequest.js +2 -0
  238. package/dist/esm/src/types/XHRRequest.js.map +1 -0
  239. package/dist/esm/src/types/index.js +2 -0
  240. package/dist/esm/src/types/index.js.map +1 -0
  241. package/dist/esm/src/version.js +2 -0
  242. package/dist/esm/src/version.js.map +1 -0
  243. package/dist/types/codecs/jpeg.d.ts +11 -0
  244. package/dist/types/codecs/jpeg.d.ts.map +1 -0
  245. package/dist/types/codecs/jpegLossless.d.ts +8 -0
  246. package/dist/types/codecs/jpegLossless.d.ts.map +1 -0
  247. package/dist/types/src/constants/transferSyntaxes.d.ts +47 -0
  248. package/dist/types/src/constants/transferSyntaxes.d.ts.map +1 -0
  249. package/dist/types/src/externalModules.d.ts +6 -0
  250. package/dist/types/src/externalModules.d.ts.map +1 -0
  251. package/dist/types/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts +4 -0
  252. package/dist/types/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts.map +1 -0
  253. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts +3 -0
  254. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts.map +1 -0
  255. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts +3 -0
  256. package/dist/types/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts.map +1 -0
  257. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +3 -0
  258. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts.map +1 -0
  259. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts +3 -0
  260. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts.map +1 -0
  261. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts +3 -0
  262. package/dist/types/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts.map +1 -0
  263. package/dist/types/src/imageLoader/colorSpaceConverters/index.d.ts +8 -0
  264. package/dist/types/src/imageLoader/colorSpaceConverters/index.d.ts.map +1 -0
  265. package/dist/types/src/imageLoader/configure.d.ts +4 -0
  266. package/dist/types/src/imageLoader/configure.d.ts.map +1 -0
  267. package/dist/types/src/imageLoader/convertColorSpace.d.ts +2 -0
  268. package/dist/types/src/imageLoader/convertColorSpace.d.ts.map +1 -0
  269. package/dist/types/src/imageLoader/createImage.d.ts +5 -0
  270. package/dist/types/src/imageLoader/createImage.d.ts.map +1 -0
  271. package/dist/types/src/imageLoader/decodeImageFrame.d.ts +4 -0
  272. package/dist/types/src/imageLoader/decodeImageFrame.d.ts.map +1 -0
  273. package/dist/types/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts +5 -0
  274. package/dist/types/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts.map +1 -0
  275. package/dist/types/src/imageLoader/getImageFrame.d.ts +4 -0
  276. package/dist/types/src/imageLoader/getImageFrame.d.ts.map +1 -0
  277. package/dist/types/src/imageLoader/getInstanceModule.d.ts +4 -0
  278. package/dist/types/src/imageLoader/getInstanceModule.d.ts.map +1 -0
  279. package/dist/types/src/imageLoader/getMinMax.d.ts +5 -0
  280. package/dist/types/src/imageLoader/getMinMax.d.ts.map +1 -0
  281. package/dist/types/src/imageLoader/getScalingParameters.d.ts +7 -0
  282. package/dist/types/src/imageLoader/getScalingParameters.d.ts.map +1 -0
  283. package/dist/types/src/imageLoader/imageIdToURI.d.ts +2 -0
  284. package/dist/types/src/imageLoader/imageIdToURI.d.ts.map +1 -0
  285. package/dist/types/src/imageLoader/index.d.ts +95 -0
  286. package/dist/types/src/imageLoader/index.d.ts.map +1 -0
  287. package/dist/types/src/imageLoader/internal/index.d.ts +9 -0
  288. package/dist/types/src/imageLoader/internal/index.d.ts.map +1 -0
  289. package/dist/types/src/imageLoader/internal/options.d.ts +4 -0
  290. package/dist/types/src/imageLoader/internal/options.d.ts.map +1 -0
  291. package/dist/types/src/imageLoader/internal/rangeRequest.d.ts +10 -0
  292. package/dist/types/src/imageLoader/internal/rangeRequest.d.ts.map +1 -0
  293. package/dist/types/src/imageLoader/internal/streamRequest.d.ts +3 -0
  294. package/dist/types/src/imageLoader/internal/streamRequest.d.ts.map +1 -0
  295. package/dist/types/src/imageLoader/internal/xhrRequest.d.ts +4 -0
  296. package/dist/types/src/imageLoader/internal/xhrRequest.d.ts.map +1 -0
  297. package/dist/types/src/imageLoader/isColorConversionRequired.d.ts +2 -0
  298. package/dist/types/src/imageLoader/isColorConversionRequired.d.ts.map +1 -0
  299. package/dist/types/src/imageLoader/isJPEGBaseline8BitColor.d.ts +4 -0
  300. package/dist/types/src/imageLoader/isJPEGBaseline8BitColor.d.ts.map +1 -0
  301. package/dist/types/src/imageLoader/isNMReconstructable.d.ts +2 -0
  302. package/dist/types/src/imageLoader/isNMReconstructable.d.ts.map +1 -0
  303. package/dist/types/src/imageLoader/registerLoaders.d.ts +3 -0
  304. package/dist/types/src/imageLoader/registerLoaders.d.ts.map +1 -0
  305. package/dist/types/src/imageLoader/wadors/combineFrameInstance.d.ts +13 -0
  306. package/dist/types/src/imageLoader/wadors/combineFrameInstance.d.ts.map +1 -0
  307. package/dist/types/src/imageLoader/wadors/extractMultipart.d.ts +24 -0
  308. package/dist/types/src/imageLoader/wadors/extractMultipart.d.ts.map +1 -0
  309. package/dist/types/src/imageLoader/wadors/findIndexOfString.d.ts +3 -0
  310. package/dist/types/src/imageLoader/wadors/findIndexOfString.d.ts.map +1 -0
  311. package/dist/types/src/imageLoader/wadors/getImageQualityStatus.d.ts +3 -0
  312. package/dist/types/src/imageLoader/wadors/getImageQualityStatus.d.ts.map +1 -0
  313. package/dist/types/src/imageLoader/wadors/getPixelData.d.ts +27 -0
  314. package/dist/types/src/imageLoader/wadors/getPixelData.d.ts.map +1 -0
  315. package/dist/types/src/imageLoader/wadors/getTagValue.d.ts +2 -0
  316. package/dist/types/src/imageLoader/wadors/getTagValue.d.ts.map +1 -0
  317. package/dist/types/src/imageLoader/wadors/index.d.ts +26 -0
  318. package/dist/types/src/imageLoader/wadors/index.d.ts.map +1 -0
  319. package/dist/types/src/imageLoader/wadors/loadImage.d.ts +26 -0
  320. package/dist/types/src/imageLoader/wadors/loadImage.d.ts.map +1 -0
  321. package/dist/types/src/imageLoader/wadors/loadImage_test.d.ts +2 -0
  322. package/dist/types/src/imageLoader/wadors/loadImage_test.d.ts.map +1 -0
  323. package/dist/types/src/imageLoader/wadors/metaData/NMHelpers.d.ts +6 -0
  324. package/dist/types/src/imageLoader/wadors/metaData/NMHelpers.d.ts.map +1 -0
  325. package/dist/types/src/imageLoader/wadors/metaData/USHelpers.d.ts +20 -0
  326. package/dist/types/src/imageLoader/wadors/metaData/USHelpers.d.ts.map +1 -0
  327. package/dist/types/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts +4 -0
  328. package/dist/types/src/imageLoader/wadors/metaData/extractPositioningFromMetadata.d.ts.map +1 -0
  329. package/dist/types/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts +3 -0
  330. package/dist/types/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts.map +1 -0
  331. package/dist/types/src/imageLoader/wadors/metaData/getNumberString.d.ts +4 -0
  332. package/dist/types/src/imageLoader/wadors/metaData/getNumberString.d.ts.map +1 -0
  333. package/dist/types/src/imageLoader/wadors/metaData/getNumberValue.d.ts +4 -0
  334. package/dist/types/src/imageLoader/wadors/metaData/getNumberValue.d.ts.map +1 -0
  335. package/dist/types/src/imageLoader/wadors/metaData/getNumberValues.d.ts +4 -0
  336. package/dist/types/src/imageLoader/wadors/metaData/getNumberValues.d.ts.map +1 -0
  337. package/dist/types/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts +5 -0
  338. package/dist/types/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts.map +1 -0
  339. package/dist/types/src/imageLoader/wadors/metaData/getSequenceItems.d.ts +4 -0
  340. package/dist/types/src/imageLoader/wadors/metaData/getSequenceItems.d.ts.map +1 -0
  341. package/dist/types/src/imageLoader/wadors/metaData/getValue.d.ts +4 -0
  342. package/dist/types/src/imageLoader/wadors/metaData/getValue.d.ts.map +1 -0
  343. package/dist/types/src/imageLoader/wadors/metaData/index.d.ts +8 -0
  344. package/dist/types/src/imageLoader/wadors/metaData/index.d.ts.map +1 -0
  345. package/dist/types/src/imageLoader/wadors/metaData/metaDataProvider.d.ts +15 -0
  346. package/dist/types/src/imageLoader/wadors/metaData/metaDataProvider.d.ts.map +1 -0
  347. package/dist/types/src/imageLoader/wadors/metaDataManager.d.ts +15 -0
  348. package/dist/types/src/imageLoader/wadors/metaDataManager.d.ts.map +1 -0
  349. package/dist/types/src/imageLoader/wadors/register.d.ts +2 -0
  350. package/dist/types/src/imageLoader/wadors/register.d.ts.map +1 -0
  351. package/dist/types/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts +16 -0
  352. package/dist/types/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts.map +1 -0
  353. package/dist/types/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts +23 -0
  354. package/dist/types/src/imageLoader/wadouri/combineFrameInstanceDataset.d.ts.map +1 -0
  355. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager.d.ts +32 -0
  356. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager.d.ts.map +1 -0
  357. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts +2 -0
  358. package/dist/types/src/imageLoader/wadouri/dataSetCacheManager_test.d.ts.map +1 -0
  359. package/dist/types/src/imageLoader/wadouri/dataset-from-partial-content.d.ts +7 -0
  360. package/dist/types/src/imageLoader/wadouri/dataset-from-partial-content.d.ts.map +1 -0
  361. package/dist/types/src/imageLoader/wadouri/fileManager.d.ts +12 -0
  362. package/dist/types/src/imageLoader/wadouri/fileManager.d.ts.map +1 -0
  363. package/dist/types/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts +3 -0
  364. package/dist/types/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts.map +1 -0
  365. package/dist/types/src/imageLoader/wadouri/getPixelData.d.ts +4 -0
  366. package/dist/types/src/imageLoader/wadouri/getPixelData.d.ts.map +1 -0
  367. package/dist/types/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts +4 -0
  368. package/dist/types/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts.map +1 -0
  369. package/dist/types/src/imageLoader/wadouri/index.d.ts +44 -0
  370. package/dist/types/src/imageLoader/wadouri/index.d.ts.map +1 -0
  371. package/dist/types/src/imageLoader/wadouri/loadFileRequest.d.ts +3 -0
  372. package/dist/types/src/imageLoader/wadouri/loadFileRequest.d.ts.map +1 -0
  373. package/dist/types/src/imageLoader/wadouri/loadImage.d.ts +10 -0
  374. package/dist/types/src/imageLoader/wadouri/loadImage.d.ts.map +1 -0
  375. package/dist/types/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts +7 -0
  376. package/dist/types/src/imageLoader/wadouri/metaData/extractPositioningFromDataset.d.ts.map +1 -0
  377. package/dist/types/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts +5 -0
  378. package/dist/types/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts.map +1 -0
  379. package/dist/types/src/imageLoader/wadouri/metaData/getLUTs.d.ts +5 -0
  380. package/dist/types/src/imageLoader/wadouri/metaData/getLUTs.d.ts.map +1 -0
  381. package/dist/types/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +4 -0
  382. package/dist/types/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts.map +1 -0
  383. package/dist/types/src/imageLoader/wadouri/metaData/getNumberValues.d.ts +4 -0
  384. package/dist/types/src/imageLoader/wadouri/metaData/getNumberValues.d.ts.map +1 -0
  385. package/dist/types/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts +5 -0
  386. package/dist/types/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts.map +1 -0
  387. package/dist/types/src/imageLoader/wadouri/metaData/index.d.ts +6 -0
  388. package/dist/types/src/imageLoader/wadouri/metaData/index.d.ts.map +1 -0
  389. package/dist/types/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts +3 -0
  390. package/dist/types/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts.map +1 -0
  391. package/dist/types/src/imageLoader/wadouri/parseImageId.d.ts +9 -0
  392. package/dist/types/src/imageLoader/wadouri/parseImageId.d.ts.map +1 -0
  393. package/dist/types/src/imageLoader/wadouri/register.d.ts +3 -0
  394. package/dist/types/src/imageLoader/wadouri/register.d.ts.map +1 -0
  395. package/dist/types/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts +19 -0
  396. package/dist/types/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts.map +1 -0
  397. package/dist/types/src/imageLoader/wadouri/unpackBinaryFrame.d.ts +4 -0
  398. package/dist/types/src/imageLoader/wadouri/unpackBinaryFrame.d.ts.map +1 -0
  399. package/dist/types/src/shared/calculateMinMax.d.ts +3 -0
  400. package/dist/types/src/shared/calculateMinMax.d.ts.map +1 -0
  401. package/dist/types/src/shared/calculateMinMax_test.d.ts +2 -0
  402. package/dist/types/src/shared/calculateMinMax_test.d.ts.map +1 -0
  403. package/dist/types/src/shared/decodeImageFrame.d.ts +2 -0
  404. package/dist/types/src/shared/decodeImageFrame.d.ts.map +1 -0
  405. package/dist/types/src/shared/decoders/decodeBigEndian.d.ts +5 -0
  406. package/dist/types/src/shared/decoders/decodeBigEndian.d.ts.map +1 -0
  407. package/dist/types/src/shared/decoders/decodeHTJ2K.d.ts +6 -0
  408. package/dist/types/src/shared/decoders/decodeHTJ2K.d.ts.map +1 -0
  409. package/dist/types/src/shared/decoders/decodeJPEG2000.d.ts +5 -0
  410. package/dist/types/src/shared/decoders/decodeJPEG2000.d.ts.map +1 -0
  411. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts +6 -0
  412. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts.map +1 -0
  413. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +1 -0
  414. package/dist/types/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts.map +1 -0
  415. package/dist/types/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts +4 -0
  416. package/dist/types/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts.map +1 -0
  417. package/dist/types/src/shared/decoders/decodeJPEGLS.d.ts +5 -0
  418. package/dist/types/src/shared/decoders/decodeJPEGLS.d.ts.map +1 -0
  419. package/dist/types/src/shared/decoders/decodeJPEGLossless.d.ts +6 -0
  420. package/dist/types/src/shared/decoders/decodeJPEGLossless.d.ts.map +1 -0
  421. package/dist/types/src/shared/decoders/decodeLittleEndian.d.ts +5 -0
  422. package/dist/types/src/shared/decoders/decodeLittleEndian.d.ts.map +1 -0
  423. package/dist/types/src/shared/decoders/decodeRLE.d.ts +5 -0
  424. package/dist/types/src/shared/decoders/decodeRLE.d.ts.map +1 -0
  425. package/dist/types/src/shared/getMinMax.d.ts +7 -0
  426. package/dist/types/src/shared/getMinMax.d.ts.map +1 -0
  427. package/dist/types/src/shared/getMinMax_test.d.ts +2 -0
  428. package/dist/types/src/shared/getMinMax_test.d.ts.map +1 -0
  429. package/dist/types/src/shared/getPixelDataTypeFromMinMax.d.ts +3 -0
  430. package/dist/types/src/shared/getPixelDataTypeFromMinMax.d.ts.map +1 -0
  431. package/dist/types/src/shared/isColorImage.d.ts +2 -0
  432. package/dist/types/src/shared/isColorImage.d.ts.map +1 -0
  433. package/dist/types/src/shared/scaling/bilinear.d.ts +2 -0
  434. package/dist/types/src/shared/scaling/bilinear.d.ts.map +1 -0
  435. package/dist/types/src/shared/scaling/replicate.d.ts +2 -0
  436. package/dist/types/src/shared/scaling/replicate.d.ts.map +1 -0
  437. package/dist/types/src/shared/scaling/scaleArray.d.ts +3 -0
  438. package/dist/types/src/shared/scaling/scaleArray.d.ts.map +1 -0
  439. package/dist/types/src/types/DICOMLoaderDataSetWithFetchMore.d.ts +10 -0
  440. package/dist/types/src/types/DICOMLoaderDataSetWithFetchMore.d.ts.map +1 -0
  441. package/dist/types/src/types/DICOMLoaderIImage.d.ts +14 -0
  442. package/dist/types/src/types/DICOMLoaderIImage.d.ts.map +1 -0
  443. package/dist/types/src/types/DICOMLoaderImageOptions.d.ts +27 -0
  444. package/dist/types/src/types/DICOMLoaderImageOptions.d.ts.map +1 -0
  445. package/dist/types/src/types/ImageFrame.d.ts +44 -0
  446. package/dist/types/src/types/ImageFrame.d.ts.map +1 -0
  447. package/dist/types/src/types/LoadRequestFunction.d.ts +2 -0
  448. package/dist/types/src/types/LoadRequestFunction.d.ts.map +1 -0
  449. package/dist/types/src/types/LoaderDecodeOptions.d.ts +5 -0
  450. package/dist/types/src/types/LoaderDecodeOptions.d.ts.map +1 -0
  451. package/dist/types/src/types/LoaderOptions.d.ts +19 -0
  452. package/dist/types/src/types/LoaderOptions.d.ts.map +1 -0
  453. package/dist/types/src/types/LutType.d.ts +7 -0
  454. package/dist/types/src/types/LutType.d.ts.map +1 -0
  455. package/dist/types/src/types/MetadataModules.d.ts +67 -0
  456. package/dist/types/src/types/MetadataModules.d.ts.map +1 -0
  457. package/dist/types/src/types/PixelDataTypedArray.d.ts +3 -0
  458. package/dist/types/src/types/PixelDataTypedArray.d.ts.map +1 -0
  459. package/dist/types/src/types/WADORSMetaData.d.ts +5 -0
  460. package/dist/types/src/types/WADORSMetaData.d.ts.map +1 -0
  461. package/dist/types/src/types/WebWorkerTypes.d.ts +65 -0
  462. package/dist/types/src/types/WebWorkerTypes.d.ts.map +1 -0
  463. package/dist/types/src/types/XHRRequest.d.ts +17 -0
  464. package/dist/types/src/types/XHRRequest.d.ts.map +1 -0
  465. package/dist/types/src/types/index.d.ts +15 -0
  466. package/dist/types/src/types/index.d.ts.map +1 -0
  467. package/dist/types/src/version.d.ts +3 -0
  468. package/dist/types/src/version.d.ts.map +1 -0
  469. package/package.json +19 -9
  470. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js +0 -2
  471. package/dist/cornerstoneDICOMImageLoaderNoWebWorkers.bundle.min.js.map +0 -1
  472. package/dist/dynamic-import/610.min.worker.js +0 -2
  473. package/dist/dynamic-import/610.min.worker.js.map +0 -1
  474. package/dist/dynamic-import/945.min.worker.js.map +0 -1
  475. package/dist/dynamic-import/index.worker.5a5a581362c14598c3d9.worker.js +0 -2
  476. package/dist/dynamic-import/index.worker.5a5a581362c14598c3d9.worker.js.map +0 -1
  477. package/dist/index.worker.bundle.min.worker.js +0 -2
  478. package/dist/index.worker.bundle.min.worker.js.map +0 -1
@@ -0,0 +1,1220 @@
1
+ "use strict";
2
+ (function (f) {
3
+ if (typeof exports === 'object' && typeof module !== 'undefined') {
4
+ module.exports = f();
5
+ }
6
+ else if (typeof define === 'function' && define.amd) {
7
+ define([], f);
8
+ }
9
+ else {
10
+ var g;
11
+ if (typeof window !== 'undefined') {
12
+ g = window;
13
+ }
14
+ else if (typeof global !== 'undefined') {
15
+ g = global;
16
+ }
17
+ else if (typeof self !== 'undefined') {
18
+ g = self;
19
+ }
20
+ else {
21
+ g = this;
22
+ }
23
+ g.jpeg = f();
24
+ }
25
+ })(function () {
26
+ var define, module, exports;
27
+ return (function e(t, n, r) {
28
+ function s(o, u) {
29
+ if (!n[o]) {
30
+ if (!t[o]) {
31
+ var a = typeof require === 'function' && require;
32
+ if (!u && a) {
33
+ return a(o, !0);
34
+ }
35
+ if (i) {
36
+ return i(o, !0);
37
+ }
38
+ var f = new Error("Cannot find module '" + o + "'");
39
+ throw ((f.code = 'MODULE_NOT_FOUND'), f);
40
+ }
41
+ var l = (n[o] = { exports: {} });
42
+ t[o][0].call(l.exports, function (e) {
43
+ var n = t[o][1][e];
44
+ return s(n ? n : e);
45
+ }, l, l.exports, e, t, n, r);
46
+ }
47
+ return n[o].exports;
48
+ }
49
+ var i = typeof require === 'function' && require;
50
+ for (var o = 0; o < r.length; o++) {
51
+ s(r[o]);
52
+ }
53
+ return s;
54
+ })({
55
+ 1: [
56
+ function (require, module, exports) {
57
+ var jpeg = jpeg || {};
58
+ jpeg.lossless = jpeg.lossless || {};
59
+ jpeg.lossless.ComponentSpec =
60
+ jpeg.lossless.ComponentSpec ||
61
+ function () {
62
+ this.hSamp = 0;
63
+ this.quantTableSel = 0;
64
+ this.vSamp = 0;
65
+ };
66
+ var moduleType = typeof module;
67
+ if (moduleType !== 'undefined' && module.exports) {
68
+ module.exports = jpeg.lossless.ComponentSpec;
69
+ }
70
+ },
71
+ {},
72
+ ],
73
+ 2: [
74
+ function (require, module, exports) {
75
+ var jpeg = jpeg || {};
76
+ jpeg.lossless = jpeg.lossless || {};
77
+ jpeg.lossless.DataStream =
78
+ jpeg.lossless.DataStream ||
79
+ function (data, offset, length) {
80
+ this.buffer = new Uint8Array(data, offset, length);
81
+ this.index = 0;
82
+ };
83
+ jpeg.lossless.DataStream.prototype.get16 = function () {
84
+ var value = (this.buffer[this.index] << 8) + this.buffer[this.index + 1];
85
+ this.index += 2;
86
+ return value;
87
+ };
88
+ jpeg.lossless.DataStream.prototype.get8 = function () {
89
+ var value = this.buffer[this.index];
90
+ this.index += 1;
91
+ return value;
92
+ };
93
+ var moduleType = typeof module;
94
+ if (moduleType !== 'undefined' && module.exports) {
95
+ module.exports = jpeg.lossless.DataStream;
96
+ }
97
+ },
98
+ {},
99
+ ],
100
+ 3: [
101
+ function (require, module, exports) {
102
+ var jpeg = jpeg || {};
103
+ jpeg.lossless = jpeg.lossless || {};
104
+ jpeg.lossless.DataStream =
105
+ jpeg.lossless.DataStream ||
106
+ (typeof require !== 'undefined'
107
+ ? require('./data-stream.js')
108
+ : null);
109
+ jpeg.lossless.HuffmanTable =
110
+ jpeg.lossless.HuffmanTable ||
111
+ (typeof require !== 'undefined'
112
+ ? require('./huffman-table.js')
113
+ : null);
114
+ jpeg.lossless.QuantizationTable =
115
+ jpeg.lossless.QuantizationTable ||
116
+ (typeof require !== 'undefined'
117
+ ? require('./quantization-table.js')
118
+ : null);
119
+ jpeg.lossless.ScanHeader =
120
+ jpeg.lossless.ScanHeader ||
121
+ (typeof require !== 'undefined'
122
+ ? require('./scan-header.js')
123
+ : null);
124
+ jpeg.lossless.FrameHeader =
125
+ jpeg.lossless.FrameHeader ||
126
+ (typeof require !== 'undefined'
127
+ ? require('./frame-header.js')
128
+ : null);
129
+ jpeg.lossless.Utils =
130
+ jpeg.lossless.Utils ||
131
+ (typeof require !== 'undefined' ? require('./utils.js') : null);
132
+ jpeg.lossless.Decoder =
133
+ jpeg.lossless.Decoder ||
134
+ function (buffer, numBytes) {
135
+ this.buffer = buffer;
136
+ this.frame = new jpeg.lossless.FrameHeader();
137
+ this.huffTable = new jpeg.lossless.HuffmanTable();
138
+ this.quantTable = new jpeg.lossless.QuantizationTable();
139
+ this.scan = new jpeg.lossless.ScanHeader();
140
+ this.DU = jpeg.lossless.Utils.createArray(10, 4, 64);
141
+ this.HuffTab = jpeg.lossless.Utils.createArray(4, 2, 50 * 256);
142
+ this.IDCT_Source = [];
143
+ this.nBlock = [];
144
+ this.acTab = jpeg.lossless.Utils.createArray(10, 1);
145
+ this.dcTab = jpeg.lossless.Utils.createArray(10, 1);
146
+ this.qTab = jpeg.lossless.Utils.createArray(10, 1);
147
+ this.marker = 0;
148
+ this.markerIndex = 0;
149
+ this.numComp = 0;
150
+ this.restartInterval = 0;
151
+ this.selection = 0;
152
+ this.xDim = 0;
153
+ this.yDim = 0;
154
+ this.xLoc = 0;
155
+ this.yLoc = 0;
156
+ this.numBytes = 0;
157
+ this.outputData = null;
158
+ this.restarting = false;
159
+ this.mask = 0;
160
+ if (typeof numBytes !== 'undefined') {
161
+ this.numBytes = numBytes;
162
+ }
163
+ };
164
+ jpeg.lossless.Decoder.IDCT_P = [
165
+ 0, 5, 40, 16, 45, 2, 7, 42, 21, 56, 8, 61, 18, 47, 1, 4, 41, 23, 58,
166
+ 13, 32, 24, 37, 10, 63, 17, 44, 3, 6, 43, 20, 57, 15, 34, 29, 48,
167
+ 53, 26, 39, 9, 60, 19, 46, 22, 59, 12, 33, 31, 50, 55, 25, 36, 11,
168
+ 62, 14, 35, 28, 49, 52, 27, 38, 30, 51, 54,
169
+ ];
170
+ jpeg.lossless.Decoder.TABLE = [
171
+ 0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12,
172
+ 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32,
173
+ 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50,
174
+ 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63,
175
+ ];
176
+ jpeg.lossless.Decoder.MAX_HUFFMAN_SUBTREE = 50;
177
+ jpeg.lossless.Decoder.MSB = 0x80000000;
178
+ jpeg.lossless.Decoder.RESTART_MARKER_BEGIN = 0xffd0;
179
+ jpeg.lossless.Decoder.RESTART_MARKER_END = 0xffd7;
180
+ jpeg.lossless.Decoder.prototype.decompress = function (buffer, offset, length) {
181
+ return this.decode(buffer, offset, length).buffer;
182
+ };
183
+ jpeg.lossless.Decoder.prototype.decode = function (buffer, offset, length, numBytes) {
184
+ var current, scanNum = 0, pred = [], i, compN, temp = [], index = [], mcuNum;
185
+ if (typeof buffer !== 'undefined') {
186
+ this.buffer = buffer;
187
+ }
188
+ if (typeof numBytes !== 'undefined') {
189
+ this.numBytes = numBytes;
190
+ }
191
+ this.stream = new jpeg.lossless.DataStream(this.buffer, offset, length);
192
+ this.buffer = null;
193
+ this.xLoc = 0;
194
+ this.yLoc = 0;
195
+ current = this.stream.get16();
196
+ if (current !== 0xffd8) {
197
+ throw new Error('Not a JPEG file');
198
+ }
199
+ current = this.stream.get16();
200
+ while (current >> 4 !== 0x0ffc || current === 0xffc4) {
201
+ switch (current) {
202
+ case 0xffc4:
203
+ this.huffTable.read(this.stream, this.HuffTab);
204
+ break;
205
+ case 0xffcc:
206
+ throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");
207
+ case 0xffdb:
208
+ this.quantTable.read(this.stream, jpeg.lossless.Decoder.TABLE);
209
+ break;
210
+ case 0xffdd:
211
+ this.restartInterval = this.readNumber();
212
+ break;
213
+ case 0xffe0:
214
+ case 0xffe1:
215
+ case 0xffe2:
216
+ case 0xffe3:
217
+ case 0xffe4:
218
+ case 0xffe5:
219
+ case 0xffe6:
220
+ case 0xffe7:
221
+ case 0xffe8:
222
+ case 0xffe9:
223
+ case 0xffea:
224
+ case 0xffeb:
225
+ case 0xffec:
226
+ case 0xffed:
227
+ case 0xffee:
228
+ case 0xffef:
229
+ this.readApp();
230
+ break;
231
+ case 0xfffe:
232
+ this.readComment();
233
+ break;
234
+ default:
235
+ if (current >> 8 !== 0xff) {
236
+ throw new Error('ERROR: format throw new IOException! (decode)');
237
+ }
238
+ }
239
+ current = this.stream.get16();
240
+ }
241
+ if (current < 0xffc0 || current > 0xffc7) {
242
+ throw new Error('ERROR: could not handle arithmetic code!');
243
+ }
244
+ this.frame.read(this.stream);
245
+ current = this.stream.get16();
246
+ do {
247
+ while (current !== 0x0ffda) {
248
+ switch (current) {
249
+ case 0xffc4:
250
+ this.huffTable.read(this.stream, this.HuffTab);
251
+ break;
252
+ case 0xffcc:
253
+ throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");
254
+ case 0xffdb:
255
+ this.quantTable.read(this.stream, jpeg.lossless.Decoder.TABLE);
256
+ break;
257
+ case 0xffdd:
258
+ this.restartInterval = this.readNumber();
259
+ break;
260
+ case 0xffe0:
261
+ case 0xffe1:
262
+ case 0xffe2:
263
+ case 0xffe3:
264
+ case 0xffe4:
265
+ case 0xffe5:
266
+ case 0xffe6:
267
+ case 0xffe7:
268
+ case 0xffe8:
269
+ case 0xffe9:
270
+ case 0xffea:
271
+ case 0xffeb:
272
+ case 0xffec:
273
+ case 0xffed:
274
+ case 0xffee:
275
+ case 0xffef:
276
+ this.readApp();
277
+ break;
278
+ case 0xfffe:
279
+ this.readComment();
280
+ break;
281
+ default:
282
+ if (current >> 8 !== 0xff) {
283
+ throw new Error('ERROR: format throw new IOException! (Parser.decode)');
284
+ }
285
+ }
286
+ current = this.stream.get16();
287
+ }
288
+ this.precision = this.frame.precision;
289
+ this.components = this.frame.components;
290
+ if (!this.numBytes) {
291
+ this.numBytes = parseInt(Math.ceil(this.precision / 8));
292
+ }
293
+ if (this.numBytes == 1) {
294
+ this.mask = 0xff;
295
+ }
296
+ else {
297
+ this.mask = 0xffff;
298
+ }
299
+ this.scan.read(this.stream);
300
+ this.numComp = this.scan.numComp;
301
+ this.selection = this.scan.selection;
302
+ if (this.numBytes === 1) {
303
+ if (this.numComp === 3) {
304
+ this.getter = this.getValueRGB;
305
+ this.setter = this.setValueRGB;
306
+ this.output = this.outputRGB;
307
+ }
308
+ else {
309
+ this.getter = this.getValue8;
310
+ this.setter = this.setValue8;
311
+ this.output = this.outputSingle;
312
+ }
313
+ }
314
+ else {
315
+ this.getter = this.getValue16;
316
+ this.setter = this.setValue16;
317
+ this.output = this.outputSingle;
318
+ }
319
+ switch (this.selection) {
320
+ case 2:
321
+ this.selector = this.select2;
322
+ break;
323
+ case 3:
324
+ this.selector = this.select3;
325
+ break;
326
+ case 4:
327
+ this.selector = this.select4;
328
+ break;
329
+ case 5:
330
+ this.selector = this.select5;
331
+ break;
332
+ case 6:
333
+ this.selector = this.select6;
334
+ break;
335
+ case 7:
336
+ this.selector = this.select7;
337
+ break;
338
+ default:
339
+ this.selector = this.select1;
340
+ break;
341
+ }
342
+ this.scanComps = this.scan.components;
343
+ this.quantTables = this.quantTable.quantTables;
344
+ for (i = 0; i < this.numComp; i += 1) {
345
+ compN = this.scanComps[i].scanCompSel;
346
+ this.qTab[i] =
347
+ this.quantTables[this.components[compN].quantTableSel];
348
+ this.nBlock[i] =
349
+ this.components[compN].vSamp * this.components[compN].hSamp;
350
+ this.dcTab[i] = this.HuffTab[this.scanComps[i].dcTabSel][0];
351
+ this.acTab[i] = this.HuffTab[this.scanComps[i].acTabSel][1];
352
+ }
353
+ this.xDim = this.frame.dimX;
354
+ this.yDim = this.frame.dimY;
355
+ if (this.numBytes == 1) {
356
+ this.outputData = new Uint8Array(new ArrayBuffer(this.xDim * this.yDim * this.numBytes * this.numComp));
357
+ }
358
+ else {
359
+ this.outputData = new Uint16Array(new ArrayBuffer(this.xDim * this.yDim * this.numBytes * this.numComp));
360
+ }
361
+ scanNum += 1;
362
+ while (true) {
363
+ temp[0] = 0;
364
+ index[0] = 0;
365
+ for (i = 0; i < 10; i += 1) {
366
+ pred[i] = 1 << (this.precision - 1);
367
+ }
368
+ if (this.restartInterval === 0) {
369
+ current = this.decodeUnit(pred, temp, index);
370
+ while (current === 0 &&
371
+ this.xLoc < this.xDim &&
372
+ this.yLoc < this.yDim) {
373
+ this.output(pred);
374
+ current = this.decodeUnit(pred, temp, index);
375
+ }
376
+ break;
377
+ }
378
+ for (mcuNum = 0; mcuNum < this.restartInterval; mcuNum += 1) {
379
+ this.restarting = mcuNum == 0;
380
+ current = this.decodeUnit(pred, temp, index);
381
+ this.output(pred);
382
+ if (current !== 0) {
383
+ break;
384
+ }
385
+ }
386
+ if (current === 0) {
387
+ if (this.markerIndex !== 0) {
388
+ current = 0xff00 | this.marker;
389
+ this.markerIndex = 0;
390
+ }
391
+ else {
392
+ current = this.stream.get16();
393
+ }
394
+ }
395
+ if (!(current >= jpeg.lossless.Decoder.RESTART_MARKER_BEGIN &&
396
+ current <= jpeg.lossless.Decoder.RESTART_MARKER_END)) {
397
+ break;
398
+ }
399
+ }
400
+ if (current === 0xffdc && scanNum === 1) {
401
+ this.readNumber();
402
+ current = this.stream.get16();
403
+ }
404
+ } while (current !== 0xffd9 &&
405
+ this.xLoc < this.xDim &&
406
+ this.yLoc < this.yDim &&
407
+ scanNum === 0);
408
+ return this.outputData;
409
+ };
410
+ jpeg.lossless.Decoder.prototype.decodeUnit = function (prev, temp, index) {
411
+ if (this.numComp == 1) {
412
+ return this.decodeSingle(prev, temp, index);
413
+ }
414
+ else if (this.numComp == 3) {
415
+ return this.decodeRGB(prev, temp, index);
416
+ }
417
+ return -1;
418
+ };
419
+ jpeg.lossless.Decoder.prototype.select1 = function (compOffset) {
420
+ return this.getPreviousX(compOffset);
421
+ };
422
+ jpeg.lossless.Decoder.prototype.select2 = function (compOffset) {
423
+ return this.getPreviousY(compOffset);
424
+ };
425
+ jpeg.lossless.Decoder.prototype.select3 = function (compOffset) {
426
+ return this.getPreviousXY(compOffset);
427
+ };
428
+ jpeg.lossless.Decoder.prototype.select4 = function (compOffset) {
429
+ return (this.getPreviousX(compOffset) +
430
+ this.getPreviousY(compOffset) -
431
+ this.getPreviousXY(compOffset));
432
+ };
433
+ jpeg.lossless.Decoder.prototype.select5 = function (compOffset) {
434
+ return (this.getPreviousX(compOffset) +
435
+ ((this.getPreviousY(compOffset) -
436
+ this.getPreviousXY(compOffset)) >>
437
+ 1));
438
+ };
439
+ jpeg.lossless.Decoder.prototype.select6 = function (compOffset) {
440
+ return (this.getPreviousY(compOffset) +
441
+ ((this.getPreviousX(compOffset) -
442
+ this.getPreviousXY(compOffset)) >>
443
+ 1));
444
+ };
445
+ jpeg.lossless.Decoder.prototype.select7 = function (compOffset) {
446
+ return ((this.getPreviousX(compOffset) + this.getPreviousY(compOffset)) /
447
+ 2);
448
+ };
449
+ jpeg.lossless.Decoder.prototype.decodeRGB = function (prev, temp, index) {
450
+ var value, actab, dctab, qtab, ctrC, i, k, j;
451
+ prev[0] = this.selector(0);
452
+ prev[1] = this.selector(1);
453
+ prev[2] = this.selector(2);
454
+ for (ctrC = 0; ctrC < this.numComp; ctrC += 1) {
455
+ qtab = this.qTab[ctrC];
456
+ actab = this.acTab[ctrC];
457
+ dctab = this.dcTab[ctrC];
458
+ for (i = 0; i < this.nBlock[ctrC]; i += 1) {
459
+ for (k = 0; k < this.IDCT_Source.length; k += 1) {
460
+ this.IDCT_Source[k] = 0;
461
+ }
462
+ value = this.getHuffmanValue(dctab, temp, index);
463
+ if (value >= 0xff00) {
464
+ return value;
465
+ }
466
+ prev[ctrC] = this.IDCT_Source[0] =
467
+ prev[ctrC] + this.getn(index, value, temp, index);
468
+ this.IDCT_Source[0] *= qtab[0];
469
+ for (j = 1; j < 64; j += 1) {
470
+ value = this.getHuffmanValue(actab, temp, index);
471
+ if (value >= 0xff00) {
472
+ return value;
473
+ }
474
+ j += value >> 4;
475
+ if ((value & 0x0f) === 0) {
476
+ if (value >> 4 === 0) {
477
+ break;
478
+ }
479
+ }
480
+ else {
481
+ this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]] =
482
+ this.getn(index, value & 0x0f, temp, index) * qtab[j];
483
+ }
484
+ }
485
+ }
486
+ }
487
+ return 0;
488
+ };
489
+ jpeg.lossless.Decoder.prototype.decodeSingle = function (prev, temp, index) {
490
+ var value, i, n, nRestart;
491
+ if (this.restarting) {
492
+ this.restarting = false;
493
+ prev[0] = 1 << (this.frame.precision - 1);
494
+ }
495
+ else {
496
+ prev[0] = this.selector();
497
+ }
498
+ for (i = 0; i < this.nBlock[0]; i += 1) {
499
+ value = this.getHuffmanValue(this.dcTab[0], temp, index);
500
+ if (value >= 0xff00) {
501
+ return value;
502
+ }
503
+ n = this.getn(prev, value, temp, index);
504
+ nRestart = n >> 8;
505
+ if (nRestart >= jpeg.lossless.Decoder.RESTART_MARKER_BEGIN &&
506
+ nRestart <= jpeg.lossless.Decoder.RESTART_MARKER_END) {
507
+ return nRestart;
508
+ }
509
+ prev[0] += n;
510
+ }
511
+ return 0;
512
+ };
513
+ jpeg.lossless.Decoder.prototype.getHuffmanValue = function (table, temp, index) {
514
+ var code, input, mask;
515
+ mask = 0xffff;
516
+ if (index[0] < 8) {
517
+ temp[0] <<= 8;
518
+ input = this.stream.get8();
519
+ if (input === 0xff) {
520
+ this.marker = this.stream.get8();
521
+ if (this.marker !== 0) {
522
+ this.markerIndex = 9;
523
+ }
524
+ }
525
+ temp[0] |= input;
526
+ }
527
+ else {
528
+ index[0] -= 8;
529
+ }
530
+ code = table[temp[0] >> index[0]];
531
+ if ((code & jpeg.lossless.Decoder.MSB) !== 0) {
532
+ if (this.markerIndex !== 0) {
533
+ this.markerIndex = 0;
534
+ return 0xff00 | this.marker;
535
+ }
536
+ temp[0] &= mask >> (16 - index[0]);
537
+ temp[0] <<= 8;
538
+ input = this.stream.get8();
539
+ if (input === 0xff) {
540
+ this.marker = this.stream.get8();
541
+ if (this.marker !== 0) {
542
+ this.markerIndex = 9;
543
+ }
544
+ }
545
+ temp[0] |= input;
546
+ code = table[(code & 0xff) * 256 + (temp[0] >> index[0])];
547
+ index[0] += 8;
548
+ }
549
+ index[0] += 8 - (code >> 8);
550
+ if (index[0] < 0) {
551
+ throw new Error(`index=${index[0]} temp=${temp[0]} code=${code} in HuffmanValue()`);
552
+ }
553
+ if (index[0] < this.markerIndex) {
554
+ this.markerIndex = 0;
555
+ return 0xff00 | this.marker;
556
+ }
557
+ temp[0] &= mask >> (16 - index[0]);
558
+ return code & 0xff;
559
+ };
560
+ jpeg.lossless.Decoder.prototype.getn = function (PRED, n, temp, index) {
561
+ var result, one, n_one, mask, input;
562
+ one = 1;
563
+ n_one = -1;
564
+ mask = 0xffff;
565
+ if (n === 0) {
566
+ return 0;
567
+ }
568
+ if (n === 16) {
569
+ if (PRED[0] >= 0) {
570
+ return -32768;
571
+ }
572
+ return 32768;
573
+ }
574
+ index[0] -= n;
575
+ if (index[0] >= 0) {
576
+ if (index[0] < this.markerIndex && !this.isLastPixel()) {
577
+ this.markerIndex = 0;
578
+ return (0xff00 | this.marker) << 8;
579
+ }
580
+ result = temp[0] >> index[0];
581
+ temp[0] &= mask >> (16 - index[0]);
582
+ }
583
+ else {
584
+ temp[0] <<= 8;
585
+ input = this.stream.get8();
586
+ if (input === 0xff) {
587
+ this.marker = this.stream.get8();
588
+ if (this.marker !== 0) {
589
+ this.markerIndex = 9;
590
+ }
591
+ }
592
+ temp[0] |= input;
593
+ index[0] += 8;
594
+ if (index[0] < 0) {
595
+ if (this.markerIndex !== 0) {
596
+ this.markerIndex = 0;
597
+ return (0xff00 | this.marker) << 8;
598
+ }
599
+ temp[0] <<= 8;
600
+ input = this.stream.get8();
601
+ if (input === 0xff) {
602
+ this.marker = this.stream.get8();
603
+ if (this.marker !== 0) {
604
+ this.markerIndex = 9;
605
+ }
606
+ }
607
+ temp[0] |= input;
608
+ index[0] += 8;
609
+ }
610
+ if (index[0] < 0) {
611
+ throw new Error(`index=${index[0]} in getn()`);
612
+ }
613
+ if (index[0] < this.markerIndex) {
614
+ this.markerIndex = 0;
615
+ return (0xff00 | this.marker) << 8;
616
+ }
617
+ result = temp[0] >> index[0];
618
+ temp[0] &= mask >> (16 - index[0]);
619
+ }
620
+ if (result < one << (n - 1)) {
621
+ result += (n_one << n) + 1;
622
+ }
623
+ return result;
624
+ };
625
+ jpeg.lossless.Decoder.prototype.getPreviousX = function (compOffset) {
626
+ if (this.xLoc > 0) {
627
+ return this.getter(this.yLoc * this.xDim + this.xLoc - 1, compOffset);
628
+ }
629
+ else if (this.yLoc > 0) {
630
+ return this.getPreviousY(compOffset);
631
+ }
632
+ return 1 << (this.frame.precision - 1);
633
+ };
634
+ jpeg.lossless.Decoder.prototype.getPreviousXY = function (compOffset) {
635
+ if (this.xLoc > 0 && this.yLoc > 0) {
636
+ return this.getter((this.yLoc - 1) * this.xDim + this.xLoc - 1, compOffset);
637
+ }
638
+ return this.getPreviousY(compOffset);
639
+ };
640
+ jpeg.lossless.Decoder.prototype.getPreviousY = function (compOffset) {
641
+ if (this.yLoc > 0) {
642
+ return this.getter((this.yLoc - 1) * this.xDim + this.xLoc, compOffset);
643
+ }
644
+ return this.getPreviousX(compOffset);
645
+ };
646
+ jpeg.lossless.Decoder.prototype.isLastPixel = function () {
647
+ return this.xLoc === this.xDim - 1 && this.yLoc === this.yDim - 1;
648
+ };
649
+ jpeg.lossless.Decoder.prototype.outputSingle = function (PRED) {
650
+ if (this.xLoc < this.xDim && this.yLoc < this.yDim) {
651
+ this.setter(this.yLoc * this.xDim + this.xLoc, this.mask & PRED[0]);
652
+ this.xLoc += 1;
653
+ if (this.xLoc >= this.xDim) {
654
+ this.yLoc += 1;
655
+ this.xLoc = 0;
656
+ }
657
+ }
658
+ };
659
+ jpeg.lossless.Decoder.prototype.outputRGB = function (PRED) {
660
+ var offset = this.yLoc * this.xDim + this.xLoc;
661
+ if (this.xLoc < this.xDim && this.yLoc < this.yDim) {
662
+ this.setter(offset, PRED[0], 0);
663
+ this.setter(offset, PRED[1], 1);
664
+ this.setter(offset, PRED[2], 2);
665
+ this.xLoc += 1;
666
+ if (this.xLoc >= this.xDim) {
667
+ this.yLoc += 1;
668
+ this.xLoc = 0;
669
+ }
670
+ }
671
+ };
672
+ jpeg.lossless.Decoder.prototype.setValue8 = function (index, val) {
673
+ this.outputData[index] = val;
674
+ };
675
+ jpeg.lossless.Decoder.prototype.getValue8 = function (index) {
676
+ return this.outputData[index];
677
+ };
678
+ var littleEndian = (function () {
679
+ var buffer = new ArrayBuffer(2);
680
+ new DataView(buffer).setInt16(0, 256, true);
681
+ return new Int16Array(buffer)[0] === 256;
682
+ })();
683
+ if (littleEndian) {
684
+ jpeg.lossless.Decoder.prototype.setValue16 =
685
+ jpeg.lossless.Decoder.prototype.setValue8;
686
+ jpeg.lossless.Decoder.prototype.getValue16 =
687
+ jpeg.lossless.Decoder.prototype.getValue8;
688
+ }
689
+ else {
690
+ jpeg.lossless.Decoder.prototype.setValue16 = function (index, val) {
691
+ this.outputData[index] =
692
+ ((val & 0xff) << 8) | ((val >> 8) & 0xff);
693
+ };
694
+ jpeg.lossless.Decoder.prototype.getValue16 = function (index) {
695
+ var val = this.outputData[index];
696
+ return ((val & 0xff) << 8) | ((val >> 8) & 0xff);
697
+ };
698
+ }
699
+ jpeg.lossless.Decoder.prototype.setValueRGB = function (index, val, compOffset) {
700
+ this.outputData[index * 3 + compOffset] = val;
701
+ };
702
+ jpeg.lossless.Decoder.prototype.getValueRGB = function (index, compOffset) {
703
+ return this.outputData[index * 3 + compOffset];
704
+ };
705
+ jpeg.lossless.Decoder.prototype.readApp = function () {
706
+ var count = 0, length = this.stream.get16();
707
+ count += 2;
708
+ while (count < length) {
709
+ this.stream.get8();
710
+ count += 1;
711
+ }
712
+ return length;
713
+ };
714
+ jpeg.lossless.Decoder.prototype.readComment = function () {
715
+ var sb = '', count = 0, length;
716
+ length = this.stream.get16();
717
+ count += 2;
718
+ while (count < length) {
719
+ sb += this.stream.get8();
720
+ count += 1;
721
+ }
722
+ return sb;
723
+ };
724
+ jpeg.lossless.Decoder.prototype.readNumber = function () {
725
+ var Ld = this.stream.get16();
726
+ if (Ld !== 4) {
727
+ throw new Error('ERROR: Define number format throw new IOException [Ld!=4]');
728
+ }
729
+ return this.stream.get16();
730
+ };
731
+ var moduleType = typeof module;
732
+ if (moduleType !== 'undefined' && module.exports) {
733
+ module.exports = jpeg.lossless.Decoder;
734
+ }
735
+ },
736
+ {
737
+ './data-stream.js': 2,
738
+ './frame-header.js': 4,
739
+ './huffman-table.js': 5,
740
+ './quantization-table.js': 7,
741
+ './scan-header.js': 9,
742
+ './utils.js': 10,
743
+ },
744
+ ],
745
+ 4: [
746
+ function (require, module, exports) {
747
+ var jpeg = jpeg || {};
748
+ jpeg.lossless = jpeg.lossless || {};
749
+ jpeg.lossless.ComponentSpec =
750
+ jpeg.lossless.ComponentSpec ||
751
+ (typeof require !== 'undefined'
752
+ ? require('./component-spec.js')
753
+ : null);
754
+ jpeg.lossless.DataStream =
755
+ jpeg.lossless.DataStream ||
756
+ (typeof require !== 'undefined'
757
+ ? require('./data-stream.js')
758
+ : null);
759
+ jpeg.lossless.FrameHeader =
760
+ jpeg.lossless.FrameHeader ||
761
+ function () {
762
+ this.components = [];
763
+ this.dimX = 0;
764
+ this.dimY = 0;
765
+ this.numComp = 0;
766
+ this.precision = 0;
767
+ };
768
+ jpeg.lossless.FrameHeader.prototype.read = function (data) {
769
+ var count = 0, length, i, c, temp;
770
+ length = data.get16();
771
+ count += 2;
772
+ this.precision = data.get8();
773
+ count += 1;
774
+ this.dimY = data.get16();
775
+ count += 2;
776
+ this.dimX = data.get16();
777
+ count += 2;
778
+ this.numComp = data.get8();
779
+ count += 1;
780
+ for (i = 1; i <= this.numComp; i += 1) {
781
+ if (count > length) {
782
+ throw new Error('ERROR: frame format error');
783
+ }
784
+ c = data.get8();
785
+ count += 1;
786
+ if (count >= length) {
787
+ throw new Error('ERROR: frame format error [c>=Lf]');
788
+ }
789
+ temp = data.get8();
790
+ count += 1;
791
+ if (!this.components[c]) {
792
+ this.components[c] = new jpeg.lossless.ComponentSpec();
793
+ }
794
+ this.components[c].hSamp = temp >> 4;
795
+ this.components[c].vSamp = temp & 0x0f;
796
+ this.components[c].quantTableSel = data.get8();
797
+ count += 1;
798
+ }
799
+ if (count !== length) {
800
+ throw new Error('ERROR: frame format error [Lf!=count]');
801
+ }
802
+ return 1;
803
+ };
804
+ var moduleType = typeof module;
805
+ if (moduleType !== 'undefined' && module.exports) {
806
+ module.exports = jpeg.lossless.FrameHeader;
807
+ }
808
+ },
809
+ { './component-spec.js': 1, './data-stream.js': 2 },
810
+ ],
811
+ 5: [
812
+ function (require, module, exports) {
813
+ var jpeg = jpeg || {};
814
+ jpeg.lossless = jpeg.lossless || {};
815
+ jpeg.lossless.DataStream =
816
+ jpeg.lossless.DataStream ||
817
+ (typeof require !== 'undefined'
818
+ ? require('./data-stream.js')
819
+ : null);
820
+ jpeg.lossless.Utils =
821
+ jpeg.lossless.Utils ||
822
+ (typeof require !== 'undefined' ? require('./utils.js') : null);
823
+ jpeg.lossless.HuffmanTable =
824
+ jpeg.lossless.HuffmanTable ||
825
+ function () {
826
+ this.l = jpeg.lossless.Utils.createArray(4, 2, 16);
827
+ this.th = [];
828
+ this.v = jpeg.lossless.Utils.createArray(4, 2, 16, 200);
829
+ this.tc = jpeg.lossless.Utils.createArray(4, 2);
830
+ this.tc[0][0] = 0;
831
+ this.tc[1][0] = 0;
832
+ this.tc[2][0] = 0;
833
+ this.tc[3][0] = 0;
834
+ this.tc[0][1] = 0;
835
+ this.tc[1][1] = 0;
836
+ this.tc[2][1] = 0;
837
+ this.tc[3][1] = 0;
838
+ this.th[0] = 0;
839
+ this.th[1] = 0;
840
+ this.th[2] = 0;
841
+ this.th[3] = 0;
842
+ };
843
+ jpeg.lossless.HuffmanTable.MSB = 0x80000000;
844
+ jpeg.lossless.HuffmanTable.prototype.read = function (data, HuffTab) {
845
+ var count = 0, length, temp, t, c, i, j;
846
+ length = data.get16();
847
+ count += 2;
848
+ while (count < length) {
849
+ temp = data.get8();
850
+ count += 1;
851
+ t = temp & 0x0f;
852
+ if (t > 3) {
853
+ throw new Error('ERROR: Huffman table ID > 3');
854
+ }
855
+ c = temp >> 4;
856
+ if (c > 2) {
857
+ throw new Error('ERROR: Huffman table [Table class > 2 ]');
858
+ }
859
+ this.th[t] = 1;
860
+ this.tc[t][c] = 1;
861
+ for (i = 0; i < 16; i += 1) {
862
+ this.l[t][c][i] = data.get8();
863
+ count += 1;
864
+ }
865
+ for (i = 0; i < 16; i += 1) {
866
+ for (j = 0; j < this.l[t][c][i]; j += 1) {
867
+ if (count > length) {
868
+ throw new Error('ERROR: Huffman table format error [count>Lh]');
869
+ }
870
+ this.v[t][c][i][j] = data.get8();
871
+ count += 1;
872
+ }
873
+ }
874
+ }
875
+ if (count !== length) {
876
+ throw new Error('ERROR: Huffman table format error [count!=Lf]');
877
+ }
878
+ for (i = 0; i < 4; i += 1) {
879
+ for (j = 0; j < 2; j += 1) {
880
+ if (this.tc[i][j] !== 0) {
881
+ this.buildHuffTable(HuffTab[i][j], this.l[i][j], this.v[i][j]);
882
+ }
883
+ }
884
+ }
885
+ return 1;
886
+ };
887
+ jpeg.lossless.HuffmanTable.prototype.buildHuffTable = function (tab, L, V) {
888
+ var currentTable, temp, k, i, j, n;
889
+ temp = 256;
890
+ k = 0;
891
+ for (i = 0; i < 8; i += 1) {
892
+ for (j = 0; j < L[i]; j += 1) {
893
+ for (n = 0; n < temp >> (i + 1); n += 1) {
894
+ tab[k] = V[i][j] | ((i + 1) << 8);
895
+ k += 1;
896
+ }
897
+ }
898
+ }
899
+ for (i = 1; k < 256; i += 1, k += 1) {
900
+ tab[k] = i | jpeg.lossless.HuffmanTable.MSB;
901
+ }
902
+ currentTable = 1;
903
+ k = 0;
904
+ for (i = 8; i < 16; i += 1) {
905
+ for (j = 0; j < L[i]; j += 1) {
906
+ for (n = 0; n < temp >> (i - 7); n += 1) {
907
+ tab[currentTable * 256 + k] = V[i][j] | ((i + 1) << 8);
908
+ k += 1;
909
+ }
910
+ if (k >= 256) {
911
+ if (k > 256) {
912
+ throw new Error('ERROR: Huffman table error(1)!');
913
+ }
914
+ k = 0;
915
+ currentTable += 1;
916
+ }
917
+ }
918
+ }
919
+ };
920
+ var moduleType = typeof module;
921
+ if (moduleType !== 'undefined' && module.exports) {
922
+ module.exports = jpeg.lossless.HuffmanTable;
923
+ }
924
+ },
925
+ { './data-stream.js': 2, './utils.js': 10 },
926
+ ],
927
+ 6: [
928
+ function (require, module, exports) {
929
+ var jpeg = jpeg || {};
930
+ jpeg.lossless = jpeg.lossless || {};
931
+ jpeg.lossless.ComponentSpec =
932
+ jpeg.lossless.ComponentSpec ||
933
+ (typeof require !== 'undefined'
934
+ ? require('./component-spec.js')
935
+ : null);
936
+ jpeg.lossless.DataStream =
937
+ jpeg.lossless.DataStream ||
938
+ (typeof require !== 'undefined'
939
+ ? require('./data-stream.js')
940
+ : null);
941
+ jpeg.lossless.Decoder =
942
+ jpeg.lossless.Decoder ||
943
+ (typeof require !== 'undefined' ? require('./decoder.js') : null);
944
+ jpeg.lossless.FrameHeader =
945
+ jpeg.lossless.FrameHeader ||
946
+ (typeof require !== 'undefined'
947
+ ? require('./frame-header.js')
948
+ : null);
949
+ jpeg.lossless.HuffmanTable =
950
+ jpeg.lossless.HuffmanTable ||
951
+ (typeof require !== 'undefined'
952
+ ? require('./huffman-table.js')
953
+ : null);
954
+ jpeg.lossless.QuantizationTable =
955
+ jpeg.lossless.QuantizationTable ||
956
+ (typeof require !== 'undefined'
957
+ ? require('./quantization-table.js')
958
+ : null);
959
+ jpeg.lossless.ScanComponent =
960
+ jpeg.lossless.ScanComponent ||
961
+ (typeof require !== 'undefined'
962
+ ? require('./scan-component.js')
963
+ : null);
964
+ jpeg.lossless.ScanHeader =
965
+ jpeg.lossless.ScanHeader ||
966
+ (typeof require !== 'undefined'
967
+ ? require('./scan-header.js')
968
+ : null);
969
+ jpeg.lossless.Utils =
970
+ jpeg.lossless.Utils ||
971
+ (typeof require !== 'undefined' ? require('./utils.js') : null);
972
+ var moduleType = typeof module;
973
+ if (moduleType !== 'undefined' && module.exports) {
974
+ module.exports = jpeg;
975
+ }
976
+ },
977
+ {
978
+ './component-spec.js': 1,
979
+ './data-stream.js': 2,
980
+ './decoder.js': 3,
981
+ './frame-header.js': 4,
982
+ './huffman-table.js': 5,
983
+ './quantization-table.js': 7,
984
+ './scan-component.js': 8,
985
+ './scan-header.js': 9,
986
+ './utils.js': 10,
987
+ },
988
+ ],
989
+ 7: [
990
+ function (require, module, exports) {
991
+ var jpeg = jpeg || {};
992
+ jpeg.lossless = jpeg.lossless || {};
993
+ jpeg.lossless.DataStream =
994
+ jpeg.lossless.DataStream ||
995
+ (typeof require !== 'undefined'
996
+ ? require('./data-stream.js')
997
+ : null);
998
+ jpeg.lossless.Utils =
999
+ jpeg.lossless.Utils ||
1000
+ (typeof require !== 'undefined' ? require('./utils.js') : null);
1001
+ jpeg.lossless.QuantizationTable =
1002
+ jpeg.lossless.QuantizationTable ||
1003
+ function () {
1004
+ this.precision = [];
1005
+ this.tq = [];
1006
+ this.quantTables = jpeg.lossless.Utils.createArray(4, 64);
1007
+ this.tq[0] = 0;
1008
+ this.tq[1] = 0;
1009
+ this.tq[2] = 0;
1010
+ this.tq[3] = 0;
1011
+ };
1012
+ jpeg.lossless.QuantizationTable.enhanceQuantizationTable = function (qtab, table) {
1013
+ var i;
1014
+ for (i = 0; i < 8; i += 1) {
1015
+ qtab[table[0 * 8 + i]] *= 90;
1016
+ qtab[table[4 * 8 + i]] *= 90;
1017
+ qtab[table[2 * 8 + i]] *= 118;
1018
+ qtab[table[6 * 8 + i]] *= 49;
1019
+ qtab[table[5 * 8 + i]] *= 71;
1020
+ qtab[table[1 * 8 + i]] *= 126;
1021
+ qtab[table[7 * 8 + i]] *= 25;
1022
+ qtab[table[3 * 8 + i]] *= 106;
1023
+ }
1024
+ for (i = 0; i < 8; i += 1) {
1025
+ qtab[table[0 + 8 * i]] *= 90;
1026
+ qtab[table[4 + 8 * i]] *= 90;
1027
+ qtab[table[2 + 8 * i]] *= 118;
1028
+ qtab[table[6 + 8 * i]] *= 49;
1029
+ qtab[table[5 + 8 * i]] *= 71;
1030
+ qtab[table[1 + 8 * i]] *= 126;
1031
+ qtab[table[7 + 8 * i]] *= 25;
1032
+ qtab[table[3 + 8 * i]] *= 106;
1033
+ }
1034
+ for (i = 0; i < 64; i += 1) {
1035
+ qtab[i] >>= 6;
1036
+ }
1037
+ };
1038
+ jpeg.lossless.QuantizationTable.prototype.read = function (data, table) {
1039
+ var count = 0, length, temp, t, i;
1040
+ length = data.get16();
1041
+ count += 2;
1042
+ while (count < length) {
1043
+ temp = data.get8();
1044
+ count += 1;
1045
+ t = temp & 0x0f;
1046
+ if (t > 3) {
1047
+ throw new Error('ERROR: Quantization table ID > 3');
1048
+ }
1049
+ this.precision[t] = temp >> 4;
1050
+ if (this.precision[t] === 0) {
1051
+ this.precision[t] = 8;
1052
+ }
1053
+ else if (this.precision[t] === 1) {
1054
+ this.precision[t] = 16;
1055
+ }
1056
+ else {
1057
+ throw new Error('ERROR: Quantization table precision error');
1058
+ }
1059
+ this.tq[t] = 1;
1060
+ if (this.precision[t] === 8) {
1061
+ for (i = 0; i < 64; i += 1) {
1062
+ if (count > length) {
1063
+ throw new Error('ERROR: Quantization table format error');
1064
+ }
1065
+ this.quantTables[t][i] = data.get8();
1066
+ count += 1;
1067
+ }
1068
+ jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t], table);
1069
+ }
1070
+ else {
1071
+ for (i = 0; i < 64; i += 1) {
1072
+ if (count > length) {
1073
+ throw new Error('ERROR: Quantization table format error');
1074
+ }
1075
+ this.quantTables[t][i] = data.get16();
1076
+ count += 2;
1077
+ }
1078
+ jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t], table);
1079
+ }
1080
+ }
1081
+ if (count !== length) {
1082
+ throw new Error('ERROR: Quantization table error [count!=Lq]');
1083
+ }
1084
+ return 1;
1085
+ };
1086
+ var moduleType = typeof module;
1087
+ if (moduleType !== 'undefined' && module.exports) {
1088
+ module.exports = jpeg.lossless.QuantizationTable;
1089
+ }
1090
+ },
1091
+ { './data-stream.js': 2, './utils.js': 10 },
1092
+ ],
1093
+ 8: [
1094
+ function (require, module, exports) {
1095
+ var jpeg = jpeg || {};
1096
+ jpeg.lossless = jpeg.lossless || {};
1097
+ jpeg.lossless.ScanComponent =
1098
+ jpeg.lossless.ScanComponent ||
1099
+ function () {
1100
+ this.acTabSel = 0;
1101
+ this.dcTabSel = 0;
1102
+ this.scanCompSel = 0;
1103
+ };
1104
+ var moduleType = typeof module;
1105
+ if (moduleType !== 'undefined' && module.exports) {
1106
+ module.exports = jpeg.lossless.ScanComponent;
1107
+ }
1108
+ },
1109
+ {},
1110
+ ],
1111
+ 9: [
1112
+ function (require, module, exports) {
1113
+ var jpeg = jpeg || {};
1114
+ jpeg.lossless = jpeg.lossless || {};
1115
+ jpeg.lossless.DataStream =
1116
+ jpeg.lossless.DataStream ||
1117
+ (typeof require !== 'undefined'
1118
+ ? require('./data-stream.js')
1119
+ : null);
1120
+ jpeg.lossless.ScanComponent =
1121
+ jpeg.lossless.ScanComponent ||
1122
+ (typeof require !== 'undefined'
1123
+ ? require('./scan-component.js')
1124
+ : null);
1125
+ jpeg.lossless.ScanHeader =
1126
+ jpeg.lossless.ScanHeader ||
1127
+ function () {
1128
+ this.ah = 0;
1129
+ this.al = 0;
1130
+ this.numComp = 0;
1131
+ this.selection = 0;
1132
+ this.spectralEnd = 0;
1133
+ this.components = [];
1134
+ };
1135
+ jpeg.lossless.ScanHeader.prototype.read = function (data) {
1136
+ var count = 0, length, i, temp;
1137
+ length = data.get16();
1138
+ count += 2;
1139
+ this.numComp = data.get8();
1140
+ count += 1;
1141
+ for (i = 0; i < this.numComp; i += 1) {
1142
+ this.components[i] = new jpeg.lossless.ScanComponent();
1143
+ if (count > length) {
1144
+ throw new Error('ERROR: scan header format error');
1145
+ }
1146
+ this.components[i].scanCompSel = data.get8();
1147
+ count += 1;
1148
+ temp = data.get8();
1149
+ count += 1;
1150
+ this.components[i].dcTabSel = temp >> 4;
1151
+ this.components[i].acTabSel = temp & 0x0f;
1152
+ }
1153
+ this.selection = data.get8();
1154
+ count += 1;
1155
+ this.spectralEnd = data.get8();
1156
+ count += 1;
1157
+ temp = data.get8();
1158
+ this.ah = temp >> 4;
1159
+ this.al = temp & 0x0f;
1160
+ count += 1;
1161
+ if (count !== length) {
1162
+ throw new Error('ERROR: scan header format error [count!=Ns]');
1163
+ }
1164
+ return 1;
1165
+ };
1166
+ var moduleType = typeof module;
1167
+ if (moduleType !== 'undefined' && module.exports) {
1168
+ module.exports = jpeg.lossless.ScanHeader;
1169
+ }
1170
+ },
1171
+ { './data-stream.js': 2, './scan-component.js': 8 },
1172
+ ],
1173
+ 10: [
1174
+ function (require, module, exports) {
1175
+ var jpeg = jpeg || {};
1176
+ jpeg.lossless = jpeg.lossless || {};
1177
+ jpeg.lossless.Utils = jpeg.lossless.Utils || {};
1178
+ jpeg.lossless.Utils.createArray = function (length) {
1179
+ var arr = new Array(length || 0), i = length;
1180
+ if (arguments.length > 1) {
1181
+ var args = Array.prototype.slice.call(arguments, 1);
1182
+ while (i--) {
1183
+ arr[length - 1 - i] = jpeg.lossless.Utils.createArray.apply(this, args);
1184
+ }
1185
+ }
1186
+ return arr;
1187
+ };
1188
+ jpeg.lossless.Utils.makeCRCTable = function () {
1189
+ var c;
1190
+ var crcTable = [];
1191
+ for (var n = 0; n < 256; n++) {
1192
+ c = n;
1193
+ for (var k = 0; k < 8; k++) {
1194
+ c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
1195
+ }
1196
+ crcTable[n] = c;
1197
+ }
1198
+ return crcTable;
1199
+ };
1200
+ jpeg.lossless.Utils.crc32 = function (dataView) {
1201
+ var uint8view = new Uint8Array(dataView.buffer);
1202
+ var crcTable = jpeg.lossless.Utils.crcTable ||
1203
+ (jpeg.lossless.Utils.crcTable =
1204
+ jpeg.lossless.Utils.makeCRCTable());
1205
+ var crc = 0 ^ -1;
1206
+ for (var i = 0; i < uint8view.length; i++) {
1207
+ crc = (crc >>> 8) ^ crcTable[(crc ^ uint8view[i]) & 0xff];
1208
+ }
1209
+ return (crc ^ -1) >>> 0;
1210
+ };
1211
+ var moduleType = typeof module;
1212
+ if (moduleType !== 'undefined' && module.exports) {
1213
+ module.exports = jpeg.lossless.Utils;
1214
+ }
1215
+ },
1216
+ {},
1217
+ ],
1218
+ }, {}, [6])(6);
1219
+ });
1220
+ //# sourceMappingURL=jpegLossless.js.map