@cornerstonejs/dicom-image-loader 2.0.0-beta.20 → 2.0.0-beta.22
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.
- package/dist/920.bundle.min.js +1 -1
- package/dist/920.bundle.min.js.map +1 -1
- package/dist/cornerstoneDICOMImageLoader.bundle.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.bundle.min.js.map +1 -1
- package/dist/dynamic-import/918.min.js +1 -1
- package/dist/dynamic-import/918.min.js.map +1 -1
- package/dist/dynamic-import/958.min.js +1 -1
- package/dist/dynamic-import/958.min.js.map +1 -1
- package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/esm/codecs/jpeg.d.ts +1 -10
- package/dist/esm/codecs/jpeg.js +1 -1
- package/dist/esm/codecs/jpegLossless.js +1 -1
- package/dist/esm/src/decodeImageFrameWorker.js +6 -10
- package/dist/esm/src/externalModules.js +1 -4
- package/dist/esm/src/imageLoader/colorSpaceConverters/convertPALETTECOLOR.d.ts +3 -3
- package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPixel.d.ts +1 -1
- package/dist/esm/src/imageLoader/colorSpaceConverters/convertRGBColorByPlane.d.ts +1 -1
- package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFull422ByPixel.d.ts +1 -1
- package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPixel.d.ts +1 -1
- package/dist/esm/src/imageLoader/colorSpaceConverters/convertYBRFullByPlane.d.ts +1 -1
- package/dist/esm/src/imageLoader/configure.d.ts +1 -1
- package/dist/esm/src/imageLoader/configure.js +2 -0
- package/dist/esm/src/imageLoader/createImage.d.ts +4 -3
- package/dist/esm/src/imageLoader/createImage.js +13 -20
- package/dist/esm/src/imageLoader/decodeImageFrame.d.ts +2 -2
- package/dist/esm/src/imageLoader/decodeJPEGBaseline8BitColor.d.ts +3 -3
- package/dist/esm/src/imageLoader/getImageFrame.d.ts +2 -2
- package/dist/esm/src/imageLoader/getInstanceModule.d.ts +1 -1
- package/dist/esm/src/imageLoader/getScalingParameters.js +2 -1
- package/dist/esm/src/imageLoader/index.d.ts +1 -1
- package/dist/esm/src/imageLoader/internal/index.d.ts +3 -1
- package/dist/esm/src/imageLoader/internal/index.js +3 -1
- package/dist/esm/src/imageLoader/internal/options.d.ts +1 -1
- package/dist/esm/src/imageLoader/internal/options.js +0 -4
- package/dist/esm/src/imageLoader/internal/rangeRequest.d.ts +3 -3
- package/dist/esm/src/imageLoader/internal/streamRequest.d.ts +1 -1
- package/dist/esm/src/imageLoader/internal/xhrRequest.d.ts +1 -1
- package/dist/esm/src/imageLoader/isJPEGBaseline8BitColor.d.ts +2 -2
- package/dist/esm/src/imageLoader/registerLoaders.js +4 -4
- package/dist/esm/src/imageLoader/wadors/getImageQualityStatus.d.ts +2 -1
- package/dist/esm/src/imageLoader/wadors/getPixelData.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/index.d.ts +5 -1
- package/dist/esm/src/imageLoader/wadors/index.js +5 -1
- package/dist/esm/src/imageLoader/wadors/loadImage.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getFirstNumberValue.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getNumberString.js +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getNumberValue.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getNumberValues.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getOverlayPlaneModule.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getSequenceItems.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getValue.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/getValue.js +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadors/metaData/metaDataProvider.js +2 -3
- package/dist/esm/src/imageLoader/wadors/metaDataManager.d.ts +7 -2
- package/dist/esm/src/imageLoader/wadors/metaDataManager.js +25 -4
- package/dist/esm/src/imageLoader/wadors/register.js +1 -1
- package/dist/esm/src/imageLoader/wadouri/combineFrameInstanceDataset.js +4 -2
- package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.d.ts +3 -6
- package/dist/esm/src/imageLoader/wadouri/dataSetCacheManager.js +2 -2
- package/dist/esm/src/imageLoader/wadouri/dataset-from-partial-content.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/getEncapsulatedImageFrame.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/getPixelData.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/getUncompressedImageFrame.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/index.d.ts +0 -1
- package/dist/esm/src/imageLoader/wadouri/loadImage.d.ts +3 -3
- package/dist/esm/src/imageLoader/wadouri/loadedDataSets.d.ts +7 -0
- package/dist/esm/src/imageLoader/wadouri/loadedDataSets.js +5 -0
- package/dist/esm/src/imageLoader/wadouri/metaData/USHelpers.d.ts +2 -0
- package/dist/esm/src/imageLoader/wadouri/metaData/USHelpers.js +44 -0
- package/dist/esm/src/imageLoader/wadouri/metaData/getImagePixelModule.d.ts +3 -3
- package/dist/esm/src/imageLoader/wadouri/metaData/getLUTs.d.ts +2 -2
- package/dist/esm/src/imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/metaData/getNumberValues.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/metaData/getOverlayPlaneModule.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/metaData/metaDataProvider.js +13 -0
- package/dist/esm/src/imageLoader/wadouri/register.d.ts +1 -1
- package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.d.ts +0 -1
- package/dist/esm/src/imageLoader/wadouri/retrieveMultiframeDataset.js +1 -1
- package/dist/esm/src/imageLoader/wadouri/unpackBinaryFrame.d.ts +1 -1
- package/dist/esm/src/shared/decoders/decodeBigEndian.d.ts +3 -3
- package/dist/esm/src/shared/decoders/decodeHTJ2K.d.ts +2 -2
- package/dist/esm/src/shared/decoders/decodeJPEG2000.d.ts +3 -2
- package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-js.d.ts +4 -3
- package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.d.ts +1 -0
- package/dist/esm/src/shared/decoders/decodeJPEGBaseline12Bit-wasm-not-yet-working.js +1 -1
- package/dist/esm/src/shared/decoders/decodeJPEGBaseline8Bit.d.ts +2 -2
- package/dist/esm/src/shared/decoders/decodeJPEGLS.d.ts +3 -2
- package/dist/esm/src/shared/decoders/decodeJPEGLossless.d.ts +4 -3
- package/dist/esm/src/shared/decoders/decodeLittleEndian.d.ts +3 -3
- package/dist/esm/src/shared/decoders/decodeRLE.d.ts +3 -3
- package/dist/esm/src/shared/getMinMax.d.ts +2 -2
- package/dist/esm/src/shared/getPixelDataTypeFromMinMax.d.ts +2 -2
- package/dist/esm/src/shared/scaling/scaleArray.d.ts +2 -2
- package/dist/esm/src/types/DICOMLoaderDataSetWithFetchMore.d.ts +1 -1
- package/dist/esm/src/types/DICOMLoaderIImage.d.ts +3 -4
- package/dist/esm/src/types/DICOMLoaderImageOptions.d.ts +4 -7
- package/dist/esm/src/types/LoadRequestFunction.d.ts +1 -1
- package/dist/esm/src/types/LoaderDecodeOptions.d.ts +0 -2
- package/dist/esm/src/types/LoaderOptions.d.ts +9 -9
- package/dist/esm/src/types/WebWorkerTypes.d.ts +8 -8
- package/dist/esm/src/types/XHRRequest.d.ts +2 -2
- package/dist/esm/src/types/index.d.ts +11 -14
- package/package.json +6 -10
- package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.d.ts +0 -15
- package/dist/esm/src/imageLoader/wadors/retrieveMultiframeMetadata.js +0 -26
- package/dist/esm/src/shared/calculateMinMax.d.ts +0 -2
- package/dist/esm/src/shared/calculateMinMax.js +0 -24
- package/dist/esm/src/shared/calculateMinMax_test.d.ts +0 -1
- package/dist/esm/src/shared/calculateMinMax_test.js +0 -38
- package/dist/esm/src/types/ImageFrame.d.ts +0 -43
- package/dist/esm/src/types/ImageFrame.js +0 -1
- package/dist/esm/src/types/MetadataModules.d.ts +0 -66
- package/dist/esm/src/types/MetadataModules.js +0 -1
- package/dist/esm/src/types/PixelDataTypedArray.d.ts +0 -2
- package/dist/esm/src/types/PixelDataTypedArray.js +0 -1
package/dist/esm/codecs/jpeg.js
CHANGED
|
@@ -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 {};
|
|
@@ -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
|
|
120
|
-
Int16Array
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
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,
|
|
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,5 +1,4 @@
|
|
|
1
|
-
import { getOptions } from './imageLoader/internal';
|
|
2
|
-
import registerLoaders from './imageLoader/registerLoaders';
|
|
1
|
+
import { getOptions } from './imageLoader/internal/options';
|
|
3
2
|
let cornerstone;
|
|
4
3
|
let dicomParser;
|
|
5
4
|
const workerFn = () => {
|
|
@@ -9,7 +8,6 @@ const workerFn = () => {
|
|
|
9
8
|
const external = {
|
|
10
9
|
set cornerstone(cs) {
|
|
11
10
|
cornerstone = cs;
|
|
12
|
-
registerLoaders(cornerstone);
|
|
13
11
|
const options = getOptions();
|
|
14
12
|
const workerManager = external.cornerstone.getWebWorkerManager();
|
|
15
13
|
workerManager.registerWorker('dicomImageLoader', workerFn, {
|
|
@@ -22,7 +20,6 @@ const external = {
|
|
|
22
20
|
if (!cornerstone) {
|
|
23
21
|
throw new Error('cornerstoneDICOMImageLoader requires a copy of Cornerstone to work properly. Please add cornerstoneDICOMImageLoader.external.cornerstone = cornerstone; to your application.');
|
|
24
22
|
}
|
|
25
|
-
registerLoaders(cornerstone);
|
|
26
23
|
}
|
|
27
24
|
return cornerstone;
|
|
28
25
|
},
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ByteArray } from 'dicom-parser';
|
|
2
|
-
import {
|
|
3
|
-
export default function (imageFrame:
|
|
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,5 +1,6 @@
|
|
|
1
1
|
import { setOptions } from './internal/index';
|
|
2
2
|
import external from '../externalModules';
|
|
3
|
+
import registerLoaders from './registerLoaders';
|
|
3
4
|
function configure(options) {
|
|
4
5
|
if (!options.cornerstone || !options.dicomParser) {
|
|
5
6
|
throw new Error('cornerstoneWADOImageLoader.configure: Options object must contain the keys "cornerstone" and "dicomParser".');
|
|
@@ -7,5 +8,6 @@ function configure(options) {
|
|
|
7
8
|
setOptions(options);
|
|
8
9
|
external.cornerstone = options.cornerstone;
|
|
9
10
|
external.dicomParser = options.dicomParser;
|
|
11
|
+
registerLoaders(options.cornerstone);
|
|
10
12
|
}
|
|
11
13
|
export default configure;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ByteArray } from 'dicom-parser';
|
|
2
|
-
import { DICOMLoaderImageOptions, DICOMLoaderIImage
|
|
3
|
-
|
|
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 &&
|
|
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
|
|
99
|
-
Int16Array
|
|
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
|
-
|
|
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 ||
|
|
239
|
-
|
|
240
|
-
const
|
|
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 {
|
|
2
|
-
declare function decodeImageFrame(imageFrame: any, transferSyntax: any, pixelData: any, canvas: any, options: {}, decodeConfig: any): Promise<
|
|
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 {
|
|
3
|
-
declare function decodeJPEGBaseline8BitColor(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 {
|
|
2
|
-
declare function getImageFrame(imageId: string):
|
|
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:
|
|
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,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 {
|
|
2
|
-
declare function isJPEGBaseline8BitColor(imageFrame:
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
declare function isJPEGBaseline8BitColor(imageFrame: Types.IImageFrame, transferSyntax: string): boolean;
|
|
3
3
|
export default isJPEGBaseline8BitColor;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import wadouriRegister from './wadouri/register';
|
|
2
|
+
import wadorsRegister from './wadors/register';
|
|
3
3
|
function registerLoaders(cornerstone) {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
wadorsRegister(cornerstone);
|
|
5
|
+
wadouriRegister(cornerstone);
|
|
6
6
|
}
|
|
7
7
|
export default registerLoaders;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { Types
|
|
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,4 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import getNumberString from './metaData/getNumberString';
|
|
2
|
+
import getNumberValue from './metaData/getNumberValue';
|
|
3
|
+
import getNumberValues from './metaData/getNumberValues';
|
|
4
|
+
import getValue from './metaData/getValue';
|
|
5
|
+
import metaDataProvider from './metaData/metaDataProvider';
|
|
2
6
|
import findIndexOfString from './findIndexOfString';
|
|
3
7
|
import getPixelData from './getPixelData';
|
|
4
8
|
import loadImage from './loadImage';
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import getNumberString from './metaData/getNumberString';
|
|
2
|
+
import getNumberValue from './metaData/getNumberValue';
|
|
3
|
+
import getNumberValues from './metaData/getNumberValues';
|
|
4
|
+
import getValue from './metaData/getValue';
|
|
5
|
+
import metaDataProvider from './metaData/metaDataProvider';
|
|
2
6
|
import findIndexOfString from './findIndexOfString';
|
|
3
7
|
import getPixelData from './getPixelData';
|
|
4
8
|
import metaDataManager from './metaDataManager';
|
|
@@ -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:
|
|
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 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];
|
|
@@ -2,10 +2,9 @@ import external from '../../../externalModules';
|
|
|
2
2
|
import getNumberValues from './getNumberValues';
|
|
3
3
|
import getNumberValue from './getNumberValue';
|
|
4
4
|
import getOverlayPlaneModule from './getOverlayPlaneModule';
|
|
5
|
-
import metaDataManager from '../metaDataManager';
|
|
5
|
+
import metaDataManager, { retrieveMultiframeMetadata, } from '../metaDataManager';
|
|
6
6
|
import getValue from './getValue';
|
|
7
7
|
import { getMultiframeInformation, getFrameInformation, } from '../combineFrameInstance';
|
|
8
|
-
import multiframeMetadata from '../retrieveMultiframeMetadata';
|
|
9
8
|
import { extractOrientationFromMetadata, extractPositionFromMetadata, } from './extractPositioningFromMetadata';
|
|
10
9
|
import { getImageTypeSubItemFromMetadata } from './NMHelpers';
|
|
11
10
|
import isNMReconstructable from '../../isNMReconstructable';
|
|
@@ -15,7 +14,7 @@ function metaDataProvider(type, imageId) {
|
|
|
15
14
|
const { MetadataModules } = external.cornerstone.Enums;
|
|
16
15
|
const { dicomParser } = external;
|
|
17
16
|
if (type === MetadataModules.MULTIFRAME) {
|
|
18
|
-
const { metadata, frame } =
|
|
17
|
+
const { metadata, frame } = retrieveMultiframeMetadata(imageId);
|
|
19
18
|
if (!metadata) {
|
|
20
19
|
return;
|
|
21
20
|
}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { WADORSMetaData } from '../../types';
|
|
1
|
+
import type { WADORSMetaData } from '../../types';
|
|
2
2
|
declare let metadataByImageURI: any[];
|
|
3
|
+
declare function retrieveMultiframeMetadata(imageId: any): {
|
|
4
|
+
metadata: any;
|
|
5
|
+
frame: number;
|
|
6
|
+
};
|
|
7
|
+
declare function isMultiframe(metadata: any): boolean;
|
|
3
8
|
declare function add(imageId: string, metadata: WADORSMetaData): void;
|
|
4
9
|
declare function get(imageId: string): WADORSMetaData;
|
|
5
10
|
declare function remove(imageId: any): void;
|
|
6
11
|
declare function purge(): void;
|
|
7
|
-
export { metadataByImageURI };
|
|
12
|
+
export { metadataByImageURI, isMultiframe, retrieveMultiframeMetadata };
|
|
8
13
|
declare const _default: {
|
|
9
14
|
add: typeof add;
|
|
10
15
|
get: typeof get;
|
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
import imageIdToURI from '../imageIdToURI';
|
|
2
2
|
import { combineFrameInstance } from './combineFrameInstance';
|
|
3
|
-
import multiframeMetadata from './retrieveMultiframeMetadata';
|
|
4
3
|
let metadataByImageURI = [];
|
|
5
4
|
let multiframeMetadataByImageURI = {};
|
|
5
|
+
import getValue from './metaData/getValue';
|
|
6
|
+
function _retrieveMultiframeMetadata(imageURI) {
|
|
7
|
+
const lastSlashIdx = imageURI.indexOf('/frames/') + 8;
|
|
8
|
+
const imageIdFrameless = imageURI.slice(0, lastSlashIdx);
|
|
9
|
+
const frame = parseInt(imageURI.slice(lastSlashIdx), 10);
|
|
10
|
+
const metadata = metadataByImageURI[`${imageIdFrameless}1`];
|
|
11
|
+
return {
|
|
12
|
+
metadata,
|
|
13
|
+
frame,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function retrieveMultiframeMetadata(imageId) {
|
|
17
|
+
const imageURI = imageIdToURI(imageId);
|
|
18
|
+
return _retrieveMultiframeMetadata(imageURI);
|
|
19
|
+
}
|
|
20
|
+
function isMultiframe(metadata) {
|
|
21
|
+
const numberOfFrames = getValue(metadata['00280008']);
|
|
22
|
+
return numberOfFrames && numberOfFrames > 1;
|
|
23
|
+
}
|
|
6
24
|
function add(imageId, metadata) {
|
|
7
25
|
const imageURI = imageIdToURI(imageId);
|
|
8
|
-
metadata
|
|
26
|
+
Object.defineProperty(metadata, 'isMultiframe', {
|
|
27
|
+
value: isMultiframe(metadata),
|
|
28
|
+
enumerable: false,
|
|
29
|
+
});
|
|
9
30
|
metadataByImageURI[imageURI] = metadata;
|
|
10
31
|
}
|
|
11
32
|
function get(imageId) {
|
|
@@ -18,7 +39,7 @@ function get(imageId) {
|
|
|
18
39
|
if (cachedMetadata) {
|
|
19
40
|
return cachedMetadata;
|
|
20
41
|
}
|
|
21
|
-
const retrievedMetadata =
|
|
42
|
+
const retrievedMetadata = retrieveMultiframeMetadata(imageURI);
|
|
22
43
|
if (!retrievedMetadata || !retrievedMetadata.metadata) {
|
|
23
44
|
return;
|
|
24
45
|
}
|
|
@@ -38,7 +59,7 @@ function purge() {
|
|
|
38
59
|
metadataByImageURI = [];
|
|
39
60
|
multiframeMetadataByImageURI = {};
|
|
40
61
|
}
|
|
41
|
-
export { metadataByImageURI };
|
|
62
|
+
export { metadataByImageURI, isMultiframe, retrieveMultiframeMetadata };
|
|
42
63
|
export default {
|
|
43
64
|
add,
|
|
44
65
|
get,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import loadImage from './loadImage';
|
|
2
|
-
import { metaDataProvider } from './metaData
|
|
2
|
+
import { metaDataProvider } from './metaData';
|
|
3
3
|
export default function (cornerstone) {
|
|
4
4
|
cornerstone.registerImageLoader('wadors', loadImage);
|
|
5
5
|
cornerstone.metaData.addProvider(metaDataProvider);
|