@cornerstonejs/dicom-image-loader 5.8.0 → 5.8.2

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.
@@ -1,5 +1,6 @@
1
1
  import openJphFactory, {} from '@cornerstonejs/codec-openjph/wasmjs';
2
2
  const openjphWasm = new URL('@cornerstonejs/codec-openjph/wasm', import.meta.url);
3
+ import getPixelData from './getPixelData.js';
3
4
  import { resolveWasmUrl, setWasmBasePathFromConfig } from '../wasmBasePath.js';
4
5
  const local = {
5
6
  codec: undefined,
@@ -96,16 +97,4 @@ async function decodeAsync(compressedImageFrame, imageInfo) {
96
97
  ...encodedImageInfo,
97
98
  };
98
99
  }
99
- function getPixelData(frameInfo, decodedBuffer) {
100
- if (frameInfo.bitsPerSample > 8) {
101
- if (frameInfo.isSigned) {
102
- return new Int16Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength / 2);
103
- }
104
- return new Uint16Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength / 2);
105
- }
106
- if (frameInfo.isSigned) {
107
- return new Int8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
108
- }
109
- return new Uint8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
110
- }
111
100
  export default decodeAsync;
@@ -1,5 +1,6 @@
1
1
  import openJpegFactory from '@cornerstonejs/codec-openjpeg/decodewasmjs';
2
2
  const openjpegWasm = new URL('@cornerstonejs/codec-openjpeg/decodewasm', import.meta.url);
3
+ import getPixelData from './getPixelData.js';
3
4
  import { resolveWasmUrl, setWasmBasePathFromConfig } from '../wasmBasePath.js';
4
5
  const local = {
5
6
  codec: undefined,
@@ -80,16 +81,4 @@ async function decodeAsync(compressedImageFrame, imageInfo) {
80
81
  ...encodedImageInfo,
81
82
  };
82
83
  }
83
- function getPixelData(frameInfo, decodedBuffer) {
84
- if (frameInfo.bitsPerSample > 8) {
85
- if (frameInfo.isSigned) {
86
- return new Int16Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength / 2);
87
- }
88
- return new Uint16Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength / 2);
89
- }
90
- if (frameInfo.isSigned) {
91
- return new Int8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
92
- }
93
- return new Uint8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
94
- }
95
84
  export default decodeAsync;
@@ -1,5 +1,6 @@
1
1
  import libjpegTurboFactory from '@cornerstonejs/codec-libjpeg-turbo-8bit/decodewasmjs';
2
2
  const libjpegTurboWasm = new URL('@cornerstonejs/codec-libjpeg-turbo-8bit/decodewasm', import.meta.url);
3
+ import getPixelData from './getPixelData.js';
3
4
  import { resolveWasmUrl, setWasmBasePathFromConfig } from '../wasmBasePath.js';
4
5
  const local = {
5
6
  codec: undefined,
@@ -55,12 +56,6 @@ async function decodeAsync(compressedImageFrame, imageInfo) {
55
56
  ...encodedImageInfo,
56
57
  };
57
58
  }
58
- function getPixelData(frameInfo, decodedBuffer) {
59
- if (frameInfo.isSigned) {
60
- return new Int8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
61
- }
62
- return new Uint8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
63
- }
64
59
  const initialize = initLibjpegTurbo;
65
60
  export { initialize };
66
61
  export default decodeAsync;
@@ -1,5 +1,6 @@
1
1
  import charlsFactory from '@cornerstonejs/codec-charls/decodewasmjs';
2
2
  const charlsWasm = new URL('@cornerstonejs/codec-charls/decodewasm', import.meta.url);
3
+ import getPixelData from './getPixelData.js';
3
4
  import { resolveWasmUrl, setWasmBasePathFromConfig } from '../wasmBasePath.js';
4
5
  const local = {
5
6
  codec: undefined,
@@ -71,16 +72,4 @@ async function decodeAsync(compressedImageFrame, imageInfo) {
71
72
  throw getExceptionMessage(error);
72
73
  }
73
74
  }
74
- function getPixelData(frameInfo, decodedBuffer, signed) {
75
- if (frameInfo.bitsPerSample > 8) {
76
- if (signed) {
77
- return new Int16Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength / 2);
78
- }
79
- return new Uint16Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength / 2);
80
- }
81
- if (signed) {
82
- return new Int8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
83
- }
84
- return new Uint8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
85
- }
86
75
  export default decodeAsync;
@@ -0,0 +1,8 @@
1
+ import type { ByteArray } from 'dicom-parser';
2
+ interface DecodedFrameInfo {
3
+ bitsPerSample?: number;
4
+ isSigned?: boolean | number;
5
+ componentCount?: number;
6
+ }
7
+ export default function getPixelData(frameInfo: DecodedFrameInfo, decodedBuffer: ByteArray, signedOverride?: boolean): Uint8Array | Int16Array | Uint16Array | Int8Array;
8
+ export {};
@@ -0,0 +1,17 @@
1
+ import isSignedPixelData from './isSignedPixelData.js';
2
+ export default function getPixelData(frameInfo, decodedBuffer, signedOverride) {
3
+ const signed = isSignedPixelData({
4
+ isSigned: signedOverride ?? frameInfo?.isSigned,
5
+ componentCount: frameInfo?.componentCount,
6
+ });
7
+ if (frameInfo?.bitsPerSample > 8) {
8
+ if (signed) {
9
+ return new Int16Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength / 2);
10
+ }
11
+ return new Uint16Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength / 2);
12
+ }
13
+ if (signed) {
14
+ return new Int8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
15
+ }
16
+ return new Uint8Array(decodedBuffer.buffer, decodedBuffer.byteOffset, decodedBuffer.byteLength);
17
+ }
@@ -0,0 +1,4 @@
1
+ export default function isSignedPixelData(frameInfo?: {
2
+ isSigned?: boolean | number;
3
+ componentCount?: number;
4
+ }): boolean;
@@ -0,0 +1,4 @@
1
+ export default function isSignedPixelData(frameInfo) {
2
+ const declaredSigned = frameInfo?.isSigned === true || frameInfo?.isSigned === 1;
3
+ return declaredSigned && frameInfo.componentCount === 1;
4
+ }
@@ -1 +1 @@
1
- export declare const version = "5.8.0";
1
+ export declare const version = "5.8.2";
@@ -1 +1 @@
1
- export const version = '5.8.0';
1
+ export const version = '5.8.2';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/dicom-image-loader",
3
- "version": "5.8.0",
3
+ "version": "5.8.2",
4
4
  "description": "Cornerstone Image Loader for DICOM WADO-URI and WADO-RS and Local file",
5
5
  "keywords": [
6
6
  "DICOM",
@@ -111,10 +111,10 @@
111
111
  "prepublishOnly": "pnpm run build:loader"
112
112
  },
113
113
  "dependencies": {
114
- "@cornerstonejs/codec-charls": "1.2.3",
115
- "@cornerstonejs/codec-libjpeg-turbo-8bit": "1.2.2",
116
- "@cornerstonejs/codec-openjpeg": "1.3.0",
117
- "@cornerstonejs/codec-openjph": "2.4.7",
114
+ "@cornerstonejs/codec-charls": "1.2.5",
115
+ "@cornerstonejs/codec-libjpeg-turbo-8bit": "1.2.4",
116
+ "@cornerstonejs/codec-openjpeg": "1.3.2",
117
+ "@cornerstonejs/codec-openjph": "2.4.9",
118
118
  "comlink": "4.4.2",
119
119
  "dicom-parser": "1.8.21",
120
120
  "jpeg-lossless-decoder-js": "2.1.2",
@@ -122,12 +122,12 @@
122
122
  "uuid": "9.0.1"
123
123
  },
124
124
  "devDependencies": {
125
- "@cornerstonejs/core": "5.8.0",
126
- "@cornerstonejs/metadata": "5.8.0"
125
+ "@cornerstonejs/core": "5.8.2",
126
+ "@cornerstonejs/metadata": "5.8.2"
127
127
  },
128
128
  "peerDependencies": {
129
- "@cornerstonejs/core": "5.8.0",
130
- "@cornerstonejs/metadata": "5.8.0",
129
+ "@cornerstonejs/core": "5.8.2",
130
+ "@cornerstonejs/metadata": "5.8.2",
131
131
  "dicom-parser": "1.8.21"
132
132
  },
133
133
  "config": {
@@ -135,5 +135,5 @@
135
135
  "path": "./node_modules/cz-conventional-changelog"
136
136
  }
137
137
  },
138
- "gitHead": "98e54d12b579d1667d359fcb6dcc6151c9e0154d"
138
+ "gitHead": "7034957b10f5e91ad8f4d7978591ef688e262d26"
139
139
  }