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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/920.bundle.min.js +1 -1
  2. package/dist/920.bundle.min.js.map +1 -1
  3. package/dist/cornerstoneDICOMImageLoader.bundle.min.js +1 -1
  4. package/dist/cornerstoneDICOMImageLoader.bundle.min.js.map +1 -1
  5. package/dist/dynamic-import/918.min.js +1 -1
  6. package/dist/dynamic-import/918.min.js.map +1 -1
  7. package/dist/dynamic-import/958.min.js +1 -1
  8. package/dist/dynamic-import/958.min.js.map +1 -1
  9. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js +1 -1
  10. package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js.map +1 -1
  11. package/dist/esm/codecs/jpeg.d.ts +1 -10
  12. package/dist/esm/codecs/jpeg.js +1 -1
  13. package/dist/esm/codecs/jpegLossless.js +1 -1
  14. package/dist/esm/src/decodeImageFrameWorker.js +6 -10
  15. package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts +3 -3
  16. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts +1 -1
  17. package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts +1 -1
  18. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +1 -1
  19. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts +1 -1
  20. package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts +1 -1
  21. package/dist/esm/src/imageLoader/configure.d.ts +1 -1
  22. package/dist/esm/src/imageLoader/createImage.d.ts +4 -3
  23. package/dist/esm/src/imageLoader/createImage.js +13 -20
  24. package/dist/esm/src/imageLoader/decodeImageFrame.d.ts +2 -2
  25. package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts +3 -3
  26. package/dist/esm/src/imageLoader/getImageFrame.d.ts +2 -2
  27. package/dist/esm/src/imageLoader/getInstanceModule.d.ts +1 -1
  28. package/dist/esm/src/imageLoader/getScalingParameters.js +2 -1
  29. package/dist/esm/src/imageLoader/index.d.ts +1 -1
  30. package/dist/esm/src/imageLoader/internal/index.d.ts +3 -1
  31. package/dist/esm/src/imageLoader/internal/index.js +3 -1
  32. package/dist/esm/src/imageLoader/internal/options.d.ts +1 -1
  33. package/dist/esm/src/imageLoader/internal/options.js +0 -4
  34. package/dist/esm/src/imageLoader/internal/rangeRequest.d.ts +3 -3
  35. package/dist/esm/src/imageLoader/internal/streamRequest.d.ts +1 -1
  36. package/dist/esm/src/imageLoader/internal/xhrRequest.d.ts +1 -1
  37. package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.d.ts +2 -2
  38. package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.d.ts +2 -1
  39. package/dist/esm/src/imageLoader/wadors/getPixelData.d.ts +1 -1
  40. package/dist/esm/src/imageLoader/wadors/loadImage.d.ts +1 -1
  41. package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts +1 -1
  42. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.d.ts +1 -1
  43. package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js +1 -1
  44. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.d.ts +1 -1
  45. package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.d.ts +1 -1
  46. package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts +1 -1
  47. package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.d.ts +1 -1
  48. package/dist/esm/src/imageLoader/wadors/metaData/getValue.d.ts +1 -1
  49. package/dist/esm/src/imageLoader/wadors/metaData/getValue.js +1 -1
  50. package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.d.ts +1 -1
  51. package/dist/esm/src/imageLoader/wadors/metaDataManager.d.ts +1 -1
  52. package/dist/esm/src/imageLoader/wadors/metaDataManager.js +4 -1
  53. package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js +4 -2
  54. package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.d.ts +2 -2
  55. package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.d.ts +1 -1
  56. package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts +1 -1
  57. package/dist/esm/src/imageLoader/wadouri/getPixelData.d.ts +1 -1
  58. package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts +1 -1
  59. package/dist/esm/src/imageLoader/wadouri/index.d.ts +0 -1
  60. package/dist/esm/src/imageLoader/wadouri/loadImage.d.ts +3 -3
  61. package/dist/esm/src/imageLoader/wadouri/metaData/USHelpers.d.ts +2 -0
  62. package/dist/esm/src/imageLoader/wadouri/metaData/USHelpers.js +44 -0
  63. package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts +3 -3
  64. package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.d.ts +2 -2
  65. package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +1 -1
  66. package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.d.ts +1 -1
  67. package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts +1 -1
  68. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts +1 -1
  69. package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js +13 -0
  70. package/dist/esm/src/imageLoader/wadouri/register.d.ts +1 -1
  71. package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts +0 -1
  72. package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.d.ts +1 -1
  73. package/dist/esm/src/shared/decoders/decodeBigEndian.d.ts +3 -3
  74. package/dist/esm/src/shared/decoders/decodeHTJ2K.d.ts +2 -2
  75. package/dist/esm/src/shared/decoders/decodeJPEG2000.d.ts +3 -2
  76. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts +4 -3
  77. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +1 -0
  78. package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +1 -1
  79. package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts +2 -2
  80. package/dist/esm/src/shared/decoders/decodeJPEGLS.d.ts +3 -2
  81. package/dist/esm/src/shared/decoders/decodeJPEGLossless.d.ts +4 -3
  82. package/dist/esm/src/shared/decoders/decodeLittleEndian.d.ts +3 -3
  83. package/dist/esm/src/shared/decoders/decodeRLE.d.ts +3 -3
  84. package/dist/esm/src/shared/getMinMax.d.ts +2 -2
  85. package/dist/esm/src/shared/getPixelDataTypeFromMinMax.d.ts +2 -2
  86. package/dist/esm/src/shared/scaling/scaleArray.d.ts +2 -2
  87. package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.d.ts +1 -1
  88. package/dist/esm/src/types/DICOMLoaderIImage.d.ts +3 -4
  89. package/dist/esm/src/types/DICOMLoaderImageOptions.d.ts +4 -7
  90. package/dist/esm/src/types/LoadRequestFunction.d.ts +1 -1
  91. package/dist/esm/src/types/LoaderDecodeOptions.d.ts +0 -2
  92. package/dist/esm/src/types/LoaderOptions.d.ts +9 -9
  93. package/dist/esm/src/types/WebWorkerTypes.d.ts +8 -8
  94. package/dist/esm/src/types/XHRRequest.d.ts +2 -2
  95. package/dist/esm/src/types/index.d.ts +11 -14
  96. package/package.json +4 -9
  97. package/dist/esm/src/shared/calculateMinMax.d.ts +0 -2
  98. package/dist/esm/src/shared/calculateMinMax.js +0 -24
  99. package/dist/esm/src/shared/calculateMinMax_test.d.ts +0 -1
  100. package/dist/esm/src/shared/calculateMinMax_test.js +0 -38
  101. package/dist/esm/src/types/ImageFrame.d.ts +0 -43
  102. package/dist/esm/src/types/ImageFrame.js +0 -1
  103. package/dist/esm/src/types/MetadataModules.d.ts +0 -66
  104. package/dist/esm/src/types/MetadataModules.js +0 -1
  105. package/dist/esm/src/types/PixelDataTypedArray.d.ts +0 -2
  106. package/dist/esm/src/types/PixelDataTypedArray.js +0 -1
@@ -1,10 +1 @@
1
- declare namespace ColorSpace {
2
- let Unkown: number;
3
- let Grayscale: number;
4
- let AdobeRGB: number;
5
- let RGB: number;
6
- let CYMK: number;
7
- }
8
- declare var JpegImage: {
9
- new (): {};
10
- };
1
+ export {};
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var ColorSpace = { Unkown: 0, Grayscale: 1, AdobeRGB: 2, RGB: 3, CYMK: 4 };
3
2
  var JpegImage = (function jpegImage() {
4
3
  'use strict';
@@ -888,3 +887,4 @@ var JpegImage = (function jpegImage() {
888
887
  });
889
888
  return JpegImage;
890
889
  })();
890
+ export {};
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  (function (f) {
3
2
  if (typeof exports === 'object' && typeof module !== 'undefined') {
4
3
  module.exports = f();
@@ -1217,3 +1216,4 @@
1217
1216
  ],
1218
1217
  }, {}, [6])(6);
1219
1218
  });
1219
+ export {};
@@ -100,7 +100,6 @@ async function decodeImageFrame(imageFrame, transferSyntax, pixelData, decodeCon
100
100
  return postProcessed;
101
101
  }
102
102
  function postProcessDecodedPixels(imageFrame, options, start, decodeConfig) {
103
- const { use16BitDataType } = decodeConfig || {};
104
103
  const shouldShift = imageFrame.pixelRepresentation !== undefined &&
105
104
  imageFrame.pixelRepresentation === 1;
106
105
  const shift = shouldShift && imageFrame.bitsStored !== undefined
@@ -116,8 +115,8 @@ function postProcessDecodedPixels(imageFrame, options, start, decodeConfig) {
116
115
  const { min: minBeforeScale, max: maxBeforeScale } = getMinMax(imageFrame.pixelData);
117
116
  const typedArrayConstructors = {
118
117
  Uint8Array,
119
- Uint16Array: use16BitDataType ? Uint16Array : undefined,
120
- Int16Array: use16BitDataType ? Int16Array : undefined,
118
+ Uint16Array,
119
+ Int16Array,
121
120
  Float32Array,
122
121
  };
123
122
  const type = options.targetBuffer?.type;
@@ -169,12 +168,9 @@ function postProcessDecodedPixels(imageFrame, options, start, decodeConfig) {
169
168
  minAfterScale = minBeforeScale;
170
169
  maxAfterScale = maxBeforeScale;
171
170
  }
172
- const hasTargetBuffer = options.targetBuffer !== undefined;
173
- if (!hasTargetBuffer || !options.isSharedArrayBuffer) {
174
- imageFrame.pixelData = pixelDataArray;
175
- }
176
- imageFrame.minAfterScale = minAfterScale;
177
- imageFrame.maxAfterScale = maxAfterScale;
171
+ imageFrame.pixelData = pixelDataArray;
172
+ imageFrame.smallestPixelValue = minAfterScale;
173
+ imageFrame.largestPixelValue = maxAfterScale;
178
174
  const end = new Date().getTime();
179
175
  imageFrame.decodeTimeInMS = end - start;
180
176
  return imageFrame;
@@ -183,7 +179,7 @@ function _handleTargetBuffer(options, imageFrame, typedArrayConstructors, pixelD
183
179
  const { arrayBuffer, type, offset: rawOffset = 0, length: rawLength, rows, } = options.targetBuffer;
184
180
  const TypedArrayConstructor = typedArrayConstructors[type];
185
181
  if (!TypedArrayConstructor) {
186
- throw new Error(`target array ${type} is not supported, you need to set use16BitDataType to true if you want to use Uint16Array or Int16Array.`);
182
+ throw new Error(`target array ${type} is not supported, or doesn't exist.`);
187
183
  }
188
184
  if (rows && rows != imageFrame.rows) {
189
185
  scaleImageFrame(imageFrame, options.targetBuffer, TypedArrayConstructor);
@@ -1,3 +1,3 @@
1
- import { ByteArray } from 'dicom-parser';
2
- import { ImageFrame } from '../../types';
3
- export default function (imageFrame: ImageFrame, colorBuffer: ByteArray, useRGBA: boolean): void;
1
+ import type { ByteArray } from 'dicom-parser';
2
+ import type { Types } from '@cornerstonejs/core';
3
+ export default function (imageFrame: Types.IImageFrame, colorBuffer: ByteArray, useRGBA: boolean): void;
@@ -1,2 +1,2 @@
1
- import { ByteArray } from 'dicom-parser';
1
+ import type { ByteArray } from 'dicom-parser';
2
2
  export default function (imageFrame: ByteArray, colorBuffer: ByteArray, useRGBA: boolean): void;
@@ -1,2 +1,2 @@
1
- import { ByteArray } from 'dicom-parser';
1
+ import type { ByteArray } from 'dicom-parser';
2
2
  export default function (imageFrame: ByteArray, colorBuffer: ByteArray, useRGBA: boolean): void;
@@ -1,2 +1,2 @@
1
- import { ByteArray } from 'dicom-parser';
1
+ import type { ByteArray } from 'dicom-parser';
2
2
  export default function (imageFrame: ByteArray, colorBuffer: ByteArray, useRGBA: boolean): void;
@@ -1,2 +1,2 @@
1
- import { ByteArray } from 'dicom-parser';
1
+ import type { ByteArray } from 'dicom-parser';
2
2
  export default function (imageFrame: ByteArray, colorBuffer: ByteArray, useRGBA: boolean): void;
@@ -1,2 +1,2 @@
1
- import { ByteArray } from 'dicom-parser';
1
+ import type { ByteArray } from 'dicom-parser';
2
2
  export default function (imageFrame: ByteArray, colorBuffer: ByteArray, useRGBA: boolean): void;
@@ -1,3 +1,3 @@
1
- import { LoaderOptions } from '../types';
1
+ import type { LoaderOptions } from '../types';
2
2
  declare function configure(options: LoaderOptions): void;
3
3
  export default configure;
@@ -1,4 +1,5 @@
1
- import { ByteArray } from 'dicom-parser';
2
- import { DICOMLoaderImageOptions, DICOMLoaderIImage, ImageFrame } from '../types';
3
- declare function createImage(imageId: string, pixelData: ByteArray, transferSyntax: string, options?: DICOMLoaderImageOptions): Promise<DICOMLoaderIImage | ImageFrame>;
1
+ import type { ByteArray } from 'dicom-parser';
2
+ import type { DICOMLoaderImageOptions, DICOMLoaderIImage } from '../types';
3
+ import type { Types } from '@cornerstonejs/core/src';
4
+ declare function createImage(imageId: string, pixelData: ByteArray, transferSyntax: string, options?: DICOMLoaderImageOptions): Promise<DICOMLoaderIImage | Types.IImageFrame>;
4
5
  export default createImage;
@@ -58,19 +58,11 @@ function createImage(imageId, pixelData, transferSyntax, options = {}) {
58
58
  if (scalingParameters) {
59
59
  options.preScale = {
60
60
  ...options.preScale,
61
- scalingParameters,
61
+ scalingParameters: scalingParameters,
62
62
  };
63
63
  }
64
64
  }
65
- options.isSharedArrayBuffer =
66
- options.targetBuffer?.arrayBuffer &&
67
- options.targetBuffer.arrayBuffer instanceof SharedArrayBuffer;
68
65
  const { decodeConfig } = getOptions();
69
- decodeConfig.use16BitDataType =
70
- (options && options.targetBuffer?.type === 'Uint16Array') ||
71
- options.targetBuffer?.type === 'Int16Array'
72
- ? true
73
- : options.useNativeDataType || decodeConfig.use16BitDataType;
74
66
  Object.keys(imageFrame).forEach((key) => {
75
67
  if (typeof imageFrame[key] === 'function' ||
76
68
  imageFrame[key] instanceof Promise) {
@@ -78,15 +70,13 @@ function createImage(imageId, pixelData, transferSyntax, options = {}) {
78
70
  }
79
71
  });
80
72
  const decodePromise = decodeImageFrame(imageFrame, transferSyntax, pixelData, canvas, options, decodeConfig);
81
- const { use16BitDataType } = decodeConfig;
82
73
  const isColorImage = isColorImageFn(imageFrame.photometricInterpretation);
83
74
  return new Promise((resolve, reject) => {
84
75
  decodePromise.then(function (imageFrame) {
85
- if (options.skipCreateImage) {
86
- return resolve(imageFrame);
87
- }
88
76
  let alreadyTyped = false;
89
- if (options.targetBuffer && options.targetBuffer.type && !isColorImage) {
77
+ if (options.targetBuffer &&
78
+ options.targetBuffer.type &&
79
+ !isColorImage) {
90
80
  const { arrayBuffer, type, offset: rawOffset = 0, length: rawLength, } = options.targetBuffer;
91
81
  const imageFrameLength = imageFrame.pixelDataLength;
92
82
  const offset = rawOffset;
@@ -95,8 +85,8 @@ function createImage(imageId, pixelData, transferSyntax, options = {}) {
95
85
  : imageFrameLength - offset;
96
86
  const typedArrayConstructors = {
97
87
  Uint8Array,
98
- Uint16Array: use16BitDataType ? Uint16Array : undefined,
99
- Int16Array: use16BitDataType ? Int16Array : undefined,
88
+ Uint16Array,
89
+ Int16Array,
100
90
  Float32Array,
101
91
  };
102
92
  if (length !== imageFrame.pixelDataLength) {
@@ -152,6 +142,8 @@ function createImage(imageId, pixelData, transferSyntax, options = {}) {
152
142
  }
153
143
  const image = {
154
144
  imageId,
145
+ dataType: imageFrame.pixelData.constructor
146
+ .name,
155
147
  color: isColorImage,
156
148
  calibration: calibrationModule,
157
149
  columnPixelSpacing: imagePlaneModule.columnPixelSpacing,
@@ -186,7 +178,7 @@ function createImage(imageId, pixelData, transferSyntax, options = {}) {
186
178
  rgba: isColorImage && useRGBA,
187
179
  getPixelData: () => imageFrame.pixelData,
188
180
  getCanvas: undefined,
189
- numComps: undefined,
181
+ numberOfComponents: imageFrame.samplesPerPixel,
190
182
  };
191
183
  if (image.color) {
192
184
  image.getCanvas = function () {
@@ -235,9 +227,10 @@ function createImage(imageId, pixelData, transferSyntax, options = {}) {
235
227
  image.windowWidth = 256;
236
228
  image.windowCenter = 128;
237
229
  }
238
- if (image.windowCenter === undefined || image.windowWidth === undefined) {
239
- const minVoi = image.imageFrame.minAfterScale;
240
- const maxVoi = image.imageFrame.maxAfterScale;
230
+ if (image.windowCenter === undefined ||
231
+ image.windowWidth === undefined) {
232
+ const minVoi = image.imageFrame.smallestPixelValue;
233
+ const maxVoi = image.imageFrame.largestPixelValue;
241
234
  image.windowWidth = maxVoi - minVoi;
242
235
  image.windowCenter = (maxVoi + minVoi) / 2;
243
236
  }
@@ -1,3 +1,3 @@
1
- import { ImageFrame } from '../types';
2
- declare function decodeImageFrame(imageFrame: any, transferSyntax: any, pixelData: any, canvas: any, options: {}, decodeConfig: any): Promise<ImageFrame>;
1
+ import type { Types } from '@cornerstonejs/core';
2
+ declare function decodeImageFrame(imageFrame: any, transferSyntax: any, pixelData: any, canvas: any, options: {}, decodeConfig: any): Promise<Types.IImageFrame>;
3
3
  export default decodeImageFrame;
@@ -1,4 +1,4 @@
1
- import { ByteArray } from 'dicom-parser';
2
- import { ImageFrame } from '../types';
3
- declare function decodeJPEGBaseline8BitColor(imageFrame: ImageFrame, pixelData: ByteArray, canvas: HTMLCanvasElement): Promise<ImageFrame>;
1
+ import type { ByteArray } from 'dicom-parser';
2
+ import type { Types } from '@cornerstonejs/core';
3
+ declare function decodeJPEGBaseline8BitColor(imageFrame: Types.IImageFrame, pixelData: ByteArray, canvas: HTMLCanvasElement): Promise<Types.IImageFrame>;
4
4
  export default decodeJPEGBaseline8BitColor;
@@ -1,3 +1,3 @@
1
- import { ImageFrame } from '../types';
2
- declare function getImageFrame(imageId: string): ImageFrame;
1
+ import type { Types } from '@cornerstonejs/core';
2
+ declare function getImageFrame(imageId: string): Types.IImageFrame;
3
3
  export default getImageFrame;
@@ -1,3 +1,3 @@
1
- declare function getInstanceModule(imageId: string, metaDataProvider: any, types: string[]): object;
1
+ declare function getInstanceModule(imageId: any, metaDataProvider: any, types: any): {};
2
2
  declare const instanceModuleNames: string[];
3
3
  export { getInstanceModule, instanceModuleNames };
@@ -1,6 +1,7 @@
1
1
  export default function getScalingParameters(metaData, imageId) {
2
2
  const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
3
- const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
3
+ const generalSeriesModule = (metaData.get('generalSeriesModule', imageId) ||
4
+ {});
4
5
  const { modality } = generalSeriesModule;
5
6
  const scalingParameters = {
6
7
  rescaleSlope: modalityLutModule.rescaleSlope,
@@ -1,4 +1,3 @@
1
- /// <reference types="dicom-parser" />
2
1
  import { convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFullByPlane, convertPALETTECOLOR } from './colorSpaceConverters/index';
3
2
  import { default as wadouri } from './wadouri/index';
4
3
  import { default as wadors } from './wadors/index';
@@ -82,6 +81,7 @@ declare const cornerstoneDICOMImageLoader: {
82
81
  isJPEGBaseline8BitColor: typeof isJPEGBaseline8BitColor;
83
82
  internal: {
84
83
  xhrRequest: typeof import("./internal/xhrRequest").default;
84
+ streamRequest: typeof import("./internal/streamRequest").default;
85
85
  setOptions: typeof import("./internal/options").setOptions;
86
86
  getOptions: typeof import("./internal/options").getOptions;
87
87
  };
@@ -1,8 +1,10 @@
1
1
  import { default as xhrRequest } from './xhrRequest';
2
+ import { default as streamRequest } from './streamRequest';
2
3
  import { setOptions, getOptions } from './options';
3
4
  declare const internal: {
4
5
  xhrRequest: typeof xhrRequest;
6
+ streamRequest: typeof streamRequest;
5
7
  setOptions: typeof setOptions;
6
8
  getOptions: typeof getOptions;
7
9
  };
8
- export { setOptions, getOptions, xhrRequest, internal };
10
+ export { setOptions, getOptions, xhrRequest, internal, streamRequest };
@@ -1,8 +1,10 @@
1
1
  import { default as xhrRequest } from './xhrRequest';
2
+ import { default as streamRequest } from './streamRequest';
2
3
  import { setOptions, getOptions } from './options';
3
4
  const internal = {
4
5
  xhrRequest,
6
+ streamRequest,
5
7
  setOptions,
6
8
  getOptions,
7
9
  };
8
- export { setOptions, getOptions, xhrRequest, internal };
10
+ export { setOptions, getOptions, xhrRequest, internal, streamRequest };
@@ -1,3 +1,3 @@
1
- import { LoaderOptions } from '../../types';
1
+ import type { LoaderOptions } from '../../types';
2
2
  export declare function setOptions(newOptions: LoaderOptions): void;
3
3
  export declare function getOptions(): LoaderOptions;
@@ -10,10 +10,6 @@ let options = {
10
10
  imageCreated() {
11
11
  },
12
12
  strict: false,
13
- decodeConfig: {
14
- convertFloatPixelDataToInt: true,
15
- use16BitDataType: false,
16
- },
17
13
  };
18
14
  export function setOptions(newOptions) {
19
15
  options = Object.assign(options, newOptions);
@@ -1,6 +1,6 @@
1
- import { Enums } from '@cornerstonejs/core';
2
- import { LoaderXhrRequestPromise } from '../../types';
3
- import { CornerstoneWadoRsLoaderOptions } from '../wadors/loadImage';
1
+ import type { Enums } from '@cornerstonejs/core';
2
+ import type { LoaderXhrRequestPromise } from '../../types';
3
+ import type { CornerstoneWadoRsLoaderOptions } from '../wadors/loadImage';
4
4
  export default function rangeRequest(url: string, imageId: string, defaultHeaders?: Record<string, string>, options?: CornerstoneWadoRsLoaderOptions): LoaderXhrRequestPromise<{
5
5
  contentType: string;
6
6
  pixelData: Uint8Array;
@@ -1,2 +1,2 @@
1
- import { CornerstoneWadoRsLoaderOptions } from '../wadors/loadImage';
1
+ import type { CornerstoneWadoRsLoaderOptions } from '../wadors/loadImage';
2
2
  export default function streamRequest(url: string, imageId: string, defaultHeaders?: Record<string, string>, options?: CornerstoneWadoRsLoaderOptions): import("packages/core/dist/esm/utilities/ProgressiveIterator").PromiseIterator<unknown>;
@@ -1,3 +1,3 @@
1
- import { LoaderXhrRequestParams, LoaderXhrRequestPromise } from '../../types';
1
+ import type { LoaderXhrRequestParams, LoaderXhrRequestPromise } from '../../types';
2
2
  declare function xhrRequest(url: string, imageId: string, defaultHeaders?: Record<string, string>, params?: LoaderXhrRequestParams): LoaderXhrRequestPromise<ArrayBuffer>;
3
3
  export default xhrRequest;
@@ -1,3 +1,3 @@
1
- import { ImageFrame } from '../types';
2
- declare function isJPEGBaseline8BitColor(imageFrame: ImageFrame, transferSyntax: string): boolean;
1
+ import type { Types } from '@cornerstonejs/core';
2
+ declare function isJPEGBaseline8BitColor(imageFrame: Types.IImageFrame, transferSyntax: string): boolean;
3
3
  export default isJPEGBaseline8BitColor;
@@ -1,2 +1,3 @@
1
- import { Types, Enums } from '@cornerstonejs/core';
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import { Enums } from '@cornerstonejs/core';
2
3
  export declare function getImageQualityStatus(retrieveOptions: Types.RetrieveOptions, done?: boolean): Enums.ImageQualityStatus;
@@ -1,4 +1,4 @@
1
- import { CornerstoneWadoRsLoaderOptions } from './loadImage';
1
+ import type { CornerstoneWadoRsLoaderOptions } from './loadImage';
2
2
  declare function getPixelData(uri: string, imageId: string, mediaType?: string, options?: CornerstoneWadoRsLoaderOptions): import("packages/core/dist/esm/utilities/ProgressiveIterator").PromiseIterator<unknown> | import("../../types").LoaderXhrRequestPromise<{
3
3
  contentType: string;
4
4
  pixelData: Uint8Array;
@@ -1,5 +1,5 @@
1
1
  import type { Types } from '@cornerstonejs/core';
2
- import { DICOMLoaderImageOptions } from '../../types';
2
+ import type { DICOMLoaderImageOptions } from '../../types';
3
3
  export declare function getTransferSyntaxForContentType(contentType: string): string;
4
4
  export interface StreamingData {
5
5
  url: string;
@@ -1,2 +1,2 @@
1
- declare function getFirstNumberValue(sequence: any, key: string): number | null;
1
+ declare function getFirstNumberValue(sequence: unknown, key: string): number | null;
2
2
  export { getFirstNumberValue };
@@ -1,3 +1,3 @@
1
- import { WADORSMetaDataElement } from '../../../types';
1
+ import type { WADORSMetaDataElement } from '../../../types';
2
2
  declare function getNumberString(element: WADORSMetaDataElement, index: number, defaultValue: number): number;
3
3
  export default getNumberString;
@@ -4,6 +4,6 @@ function getNumberString(element, index, defaultValue) {
4
4
  if (value === undefined) {
5
5
  return;
6
6
  }
7
- return parseFloat(value);
7
+ return parseFloat(String(value));
8
8
  }
9
9
  export default getNumberString;
@@ -1,3 +1,3 @@
1
- import { WADORSMetaDataElement } from '../../../types';
1
+ import type { WADORSMetaDataElement } from '../../../types';
2
2
  declare function getNumberValue(element: WADORSMetaDataElement, index?: number): number;
3
3
  export default getNumberValue;
@@ -1,3 +1,3 @@
1
- import { WADORSMetaDataElement } from '../../../types';
1
+ import type { WADORSMetaDataElement } from '../../../types';
2
2
  declare function getNumberValues(element: WADORSMetaDataElement, minimumLength?: number): number[];
3
3
  export default getNumberValues;
@@ -1,4 +1,4 @@
1
- import { WADORSMetaData } from '../../../types';
1
+ import type { WADORSMetaData } from '../../../types';
2
2
  export default function getOverlayPlaneModule(metaData: WADORSMetaData): {
3
3
  overlays: any[];
4
4
  };
@@ -1,3 +1,3 @@
1
- import { WADORSMetaDataElement } from '../../../types';
1
+ import type { WADORSMetaDataElement } from '../../../types';
2
2
  declare function getSequenceItems(element: any): WADORSMetaDataElement[];
3
3
  export default getSequenceItems;
@@ -1,3 +1,3 @@
1
- import { WADORSMetaDataElement } from '../../../types';
1
+ import type { WADORSMetaDataElement } from '../../../types';
2
2
  declare function getValue<ReturnType = unknown>(element: WADORSMetaDataElement, index?: number, defaultValue?: ReturnType): ReturnType;
3
3
  export default getValue;
@@ -6,7 +6,7 @@ function getValue(element, index, defaultValue) {
6
6
  if (!element.Value) {
7
7
  return defaultValue;
8
8
  }
9
- if (element.Value.length <= index) {
9
+ if (Array.isArray(element.Value) && element.Value.length <= index) {
10
10
  return defaultValue;
11
11
  }
12
12
  return element.Value[index];
@@ -1,4 +1,4 @@
1
- declare function metaDataProvider(type: any, imageId: any): object;
1
+ declare function metaDataProvider(type: any, imageId: any): {};
2
2
  export declare function getImageUrlModule(imageId: any, metaData: any): {
3
3
  isVideo: any;
4
4
  rendered: any;
@@ -1,4 +1,4 @@
1
- import { WADORSMetaData } from '../../types';
1
+ import type { WADORSMetaData } from '../../types';
2
2
  declare let metadataByImageURI: any[];
3
3
  declare function add(imageId: string, metadata: WADORSMetaData): void;
4
4
  declare function get(imageId: string): WADORSMetaData;
@@ -5,7 +5,10 @@ let metadataByImageURI = [];
5
5
  let multiframeMetadataByImageURI = {};
6
6
  function add(imageId, metadata) {
7
7
  const imageURI = imageIdToURI(imageId);
8
- metadata.isMultiframe = multiframeMetadata.isMultiframe(metadata);
8
+ Object.defineProperty(metadata, 'isMultiframe', {
9
+ value: multiframeMetadata.isMultiframe(metadata),
10
+ enumerable: false,
11
+ });
9
12
  metadataByImageURI[imageURI] = metadata;
10
13
  }
11
14
  function get(imageId) {
@@ -19,11 +19,13 @@ function getFrameInformation(PerFrameFunctionalGroupsSequence, SharedFunctionalG
19
19
  const shared = {};
20
20
  (SharedFunctionalGroupsSequence
21
21
  ? Object.values(SharedFunctionalGroupsSequence.items[0].dataSet.elements)
22
- : []).map((it) => (shared[it.tag] = it));
22
+ : [])
23
+ .map((it) => (shared[it.tag] = it));
23
24
  const perFrame = {};
24
25
  (PerFrameFunctionalGroupsSequence
25
26
  ? Object.values(PerFrameFunctionalGroupsSequence.items[frameNumber - 1].dataSet.elements)
26
- : []).map((it) => (perFrame[it.tag] = it));
27
+ : [])
28
+ .map((it) => (perFrame[it.tag] = it));
27
29
  return {
28
30
  shared,
29
31
  perFrame,
@@ -1,5 +1,5 @@
1
- import { DataSet } from 'dicom-parser';
2
- import { LoadRequestFunction, DICOMLoaderDataSetWithFetchMore } from '../../types';
1
+ import type { DataSet } from 'dicom-parser';
2
+ import type { LoadRequestFunction, DICOMLoaderDataSetWithFetchMore } from '../../types';
3
3
  export interface CornerstoneWadoLoaderCacheManagerInfoResponse {
4
4
  cacheSizeInBytes: number;
5
5
  numberOfDataSetsCached: number;
@@ -1,4 +1,4 @@
1
- import { LoadRequestFunction, DICOMLoaderDataSetWithFetchMore } from '../../types';
1
+ import type { LoadRequestFunction, DICOMLoaderDataSetWithFetchMore } from '../../types';
2
2
  export default function dataSetFromPartialContent(byteArray: Uint8Array, loadRequest: LoadRequestFunction, metadata: {
3
3
  uri: string;
4
4
  imageId: string;
@@ -1,2 +1,2 @@
1
- import { ByteArray, DataSet } from 'dicom-parser';
1
+ import type { ByteArray, DataSet } from 'dicom-parser';
2
2
  export default function getEncapsulatedImageFrame(dataSet: DataSet, frameIndex: number): ByteArray;
@@ -1,3 +1,3 @@
1
- import { ByteArray, DataSet } from 'dicom-parser';
1
+ import type { ByteArray, DataSet } from 'dicom-parser';
2
2
  declare function getPixelData(dataSet: DataSet, frameIndex?: number): ByteArray;
3
3
  export default getPixelData;
@@ -1,3 +1,3 @@
1
- import { DataSet } from 'dicom-parser';
1
+ import type { DataSet } from 'dicom-parser';
2
2
  declare function getUncompressedImageFrame(dataSet: DataSet, frameIndex: number): Uint8Array;
3
3
  export default getUncompressedImageFrame;
@@ -1,4 +1,3 @@
1
- /// <reference types="dicom-parser" />
2
1
  import { getImagePixelModule, getLUTs, getModalityLUTOutputPixelRepresentation, getNumberValues, metaDataProvider } from './metaData/index';
3
2
  import getEncapsulatedImageFrame from './getEncapsulatedImageFrame';
4
3
  import getUncompressedImageFrame from './getUncompressedImageFrame';
@@ -1,6 +1,6 @@
1
- import { DataSet } from 'dicom-parser';
2
- import { Types } from '@cornerstonejs/core';
3
- import { LoadRequestFunction, DICOMLoaderIImage, DICOMLoaderImageOptions } from '../../types';
1
+ import type { DataSet } from 'dicom-parser';
2
+ import type { Types } from '@cornerstonejs/core';
3
+ import type { LoadRequestFunction, DICOMLoaderIImage, DICOMLoaderImageOptions } from '../../types';
4
4
  declare function loadImageFromPromise(dataSetPromise: Promise<DataSet>, imageId: string, frame: number, sharedCacheKey: string, options: DICOMLoaderImageOptions, callbacks?: {
5
5
  imageDoneCallback: (image: DICOMLoaderIImage) => void;
6
6
  }): Types.IImageLoadObject;
@@ -0,0 +1,2 @@
1
+ declare function getUSEnhancedRegions(metadata: any): any;
2
+ export { getUSEnhancedRegions };
@@ -0,0 +1,44 @@
1
+ function getUSEnhancedRegions(metadata) {
2
+ const sequence = metadata.elements['x00186011'];
3
+ if (!sequence || !sequence.items) {
4
+ return [];
5
+ }
6
+ const regions = sequence.items.map((item) => {
7
+ const physicalDeltaX = item.dataSet.double('x0018602c');
8
+ const physicalDeltaY = item.dataSet.double('x0018602e');
9
+ const physicalUnitsXDirection = item.dataSet.uint16('x00186024');
10
+ const physicalUnitsYDirection = item.dataSet.uint16('x00186026');
11
+ const regionLocationMinY0 = item.dataSet.uint16('x0018601a');
12
+ const regionLocationMaxY1 = item.dataSet.uint16('x0018601e');
13
+ const regionLocationMinX0 = item.dataSet.uint16('x00186018');
14
+ const regionLocationMaxX1 = item.dataSet.uint16('x0018601c');
15
+ const referencePixelX0 = item.dataSet.int32('x00186020') || null;
16
+ const referencePixelY0 = item.dataSet.int32('x00186022') || null;
17
+ const referencePhysicalPixelValueY = item.dataSet.uint16('x0018602a');
18
+ const referencePhysicalPixelValueX = item.dataSet.uint16('x00186028');
19
+ const regionSpatialFormat = item.dataSet.uint16('x00186012');
20
+ const regionDataType = item.dataSet.uint16('x00186014');
21
+ const regionFlags = item.dataSet.uint16('x00186016');
22
+ const transducerFrequency = item.dataSet.uint16('x00186030');
23
+ return {
24
+ regionLocationMinY0,
25
+ regionLocationMaxY1,
26
+ regionLocationMinX0,
27
+ regionLocationMaxX1,
28
+ referencePixelX0,
29
+ referencePixelY0,
30
+ physicalDeltaX,
31
+ physicalDeltaY,
32
+ physicalUnitsXDirection,
33
+ physicalUnitsYDirection,
34
+ referencePhysicalPixelValueY,
35
+ referencePhysicalPixelValueX,
36
+ regionSpatialFormat,
37
+ regionDataType,
38
+ regionFlags,
39
+ transducerFrequency,
40
+ };
41
+ });
42
+ return regions;
43
+ }
44
+ export { getUSEnhancedRegions };
@@ -1,4 +1,4 @@
1
- import { MetadataImagePixelModule } from '../../../types';
2
- import { DataSet } from 'dicom-parser';
3
- declare function getImagePixelModule(dataSet: DataSet): MetadataImagePixelModule;
1
+ import type { Types } from '@cornerstonejs/core';
2
+ import type { DataSet } from 'dicom-parser';
3
+ declare function getImagePixelModule(dataSet: DataSet): Types.ImagePixelModuleMetadata;
4
4
  export default getImagePixelModule;
@@ -1,4 +1,4 @@
1
- import { Element } from 'dicom-parser';
2
- import { LutType } from '../../../types';
1
+ import type { Element } from 'dicom-parser';
2
+ import type { LutType } from '../../../types';
3
3
  declare function getLUTs(pixelRepresentation: number, lutSequence: Element): LutType[];
4
4
  export default getLUTs;
@@ -1,3 +1,3 @@
1
- import { DataSet } from 'dicom-parser';
1
+ import type { DataSet } from 'dicom-parser';
2
2
  declare function getModalityLUTOutputPixelRepresentation(dataSet: DataSet): number;
3
3
  export default getModalityLUTOutputPixelRepresentation;
@@ -1,3 +1,3 @@
1
- import { DataSet } from 'dicom-parser';
1
+ import type { DataSet } from 'dicom-parser';
2
2
  declare function getNumberValues(dataSet: DataSet, tag: string, minimumLength: number): number[];
3
3
  export default getNumberValues;
@@ -1,4 +1,4 @@
1
- import { DataSet } from 'dicom-parser';
1
+ import type { DataSet } from 'dicom-parser';
2
2
  export default function getOverlayPlaneModule(dataSet: DataSet): {
3
3
  overlays: any[];
4
4
  };
@@ -1,2 +1,2 @@
1
- declare function metaDataProvider(type: any, imageId: any): object;
1
+ declare function metaDataProvider(type: any, imageId: any): any;
2
2
  export default metaDataProvider;