@cornerstonejs/adapters 3.32.12 → 3.33.0
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/esm/adapters/Cornerstone/ParametricMap.js +2 -2
- package/dist/esm/adapters/Cornerstone/Segmentation_4X.js +11 -11
- package/dist/esm/adapters/helpers/checkOrientation.js +2 -2
- package/dist/esm/version.d.ts +1 -1
- package/package.json +4 -4
- package/dist/esm/adapters/helpers/compareArrays.d.ts +0 -1
- package/dist/esm/adapters/helpers/compareArrays.js +0 -18
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { log, data, normalizers } from 'dcmjs';
|
|
2
2
|
import checkOrientation from '../helpers/checkOrientation.js';
|
|
3
|
-
import
|
|
3
|
+
import { utilities } from '@cornerstonejs/core';
|
|
4
4
|
|
|
5
5
|
const {
|
|
6
6
|
DicomMessage,
|
|
@@ -167,7 +167,7 @@ function getImageIdOfSourceImagebyGeometry(ReferencedSeriesInstanceUID, FrameOfR
|
|
|
167
167
|
if (sourceImageMetadata === undefined || sourceImageMetadata.ImagePositionPatient === undefined || sourceImageMetadata.FrameOfReferenceUID !== FrameOfReferenceUID || sourceImageMetadata.SeriesInstanceUID !== ReferencedSeriesInstanceUID) {
|
|
168
168
|
continue;
|
|
169
169
|
}
|
|
170
|
-
if (
|
|
170
|
+
if (utilities.isEqual(PerFrameFunctionalGroup.PlanePositionSequence[0].ImagePositionPatient, sourceImageMetadata.ImagePositionPatient, tolerance)) {
|
|
171
171
|
return imageIds[imageIdsIndex];
|
|
172
172
|
}
|
|
173
173
|
}
|
|
@@ -2,7 +2,7 @@ import { utilities, log, data, normalizers, derivations } from 'dcmjs';
|
|
|
2
2
|
import ndarray from 'ndarray';
|
|
3
3
|
import getDatasetsFromImages from '../helpers/getDatasetsFromImages.js';
|
|
4
4
|
import checkOrientation from '../helpers/checkOrientation.js';
|
|
5
|
-
import
|
|
5
|
+
import { utilities as utilities$1 } from '@cornerstonejs/core';
|
|
6
6
|
import { Events } from '../enums/Events.js';
|
|
7
7
|
|
|
8
8
|
const {
|
|
@@ -970,10 +970,10 @@ function getImageIdOfSourceImagebyGeometry(ReferencedSeriesInstanceUID, FrameOfR
|
|
|
970
970
|
// For multiframe images, check each frame's position
|
|
971
971
|
if (isMultiframe) {
|
|
972
972
|
const framePosition = metadataProvider.get("imagePlaneModule", imageId)?.imagePositionPatient;
|
|
973
|
-
if (framePosition &&
|
|
973
|
+
if (framePosition && utilities$1.isEqual(segFramePosition, framePosition, tolerance)) {
|
|
974
974
|
return imageId;
|
|
975
975
|
}
|
|
976
|
-
} else if (
|
|
976
|
+
} else if (utilities$1.isEqual(segFramePosition, sourceImageMetadata.ImagePositionPatient, tolerance)) {
|
|
977
977
|
return imageId;
|
|
978
978
|
}
|
|
979
979
|
}
|
|
@@ -1015,38 +1015,38 @@ function getValidOrientations(iop) {
|
|
|
1015
1015
|
* @return {Ndarray} The aligned pixelData.
|
|
1016
1016
|
*/
|
|
1017
1017
|
function alignPixelDataWithSourceData(pixelData2D, iop, orientations, tolerance) {
|
|
1018
|
-
if (
|
|
1018
|
+
if (utilities$1.isEqual(iop, orientations[0], tolerance)) {
|
|
1019
1019
|
return pixelData2D;
|
|
1020
|
-
} else if (
|
|
1020
|
+
} else if (utilities$1.isEqual(iop, orientations[1], tolerance)) {
|
|
1021
1021
|
// Flipped vertically.
|
|
1022
1022
|
|
|
1023
1023
|
// Undo Flip
|
|
1024
1024
|
return flipMatrix2D.v(pixelData2D);
|
|
1025
|
-
} else if (
|
|
1025
|
+
} else if (utilities$1.isEqual(iop, orientations[2], tolerance)) {
|
|
1026
1026
|
// Flipped horizontally.
|
|
1027
1027
|
|
|
1028
1028
|
// Unfo flip
|
|
1029
1029
|
return flipMatrix2D.h(pixelData2D);
|
|
1030
|
-
} else if (
|
|
1030
|
+
} else if (utilities$1.isEqual(iop, orientations[3], tolerance)) {
|
|
1031
1031
|
//Rotated 90 degrees
|
|
1032
1032
|
|
|
1033
1033
|
// Rotate back
|
|
1034
1034
|
return rotateMatrix902D(pixelData2D);
|
|
1035
|
-
} else if (
|
|
1035
|
+
} else if (utilities$1.isEqual(iop, orientations[4], tolerance)) {
|
|
1036
1036
|
//Rotated 90 degrees and fliped horizontally.
|
|
1037
1037
|
|
|
1038
1038
|
// Undo flip and rotate back.
|
|
1039
1039
|
return rotateMatrix902D(flipMatrix2D.h(pixelData2D));
|
|
1040
|
-
} else if (
|
|
1040
|
+
} else if (utilities$1.isEqual(iop, orientations[5], tolerance)) {
|
|
1041
1041
|
// Rotated 90 degrees and fliped vertically
|
|
1042
1042
|
|
|
1043
1043
|
// Unfo flip and rotate back.
|
|
1044
1044
|
return rotateMatrix902D(flipMatrix2D.v(pixelData2D));
|
|
1045
|
-
} else if (
|
|
1045
|
+
} else if (utilities$1.isEqual(iop, orientations[6], tolerance)) {
|
|
1046
1046
|
// Rotated 180 degrees. // TODO -> Do this more effeciently, there is a 1:1 mapping like 90 degree rotation.
|
|
1047
1047
|
|
|
1048
1048
|
return rotateMatrix902D(rotateMatrix902D(pixelData2D));
|
|
1049
|
-
} else if (
|
|
1049
|
+
} else if (utilities$1.isEqual(iop, orientations[7], tolerance)) {
|
|
1050
1050
|
// Rotated 270 degrees
|
|
1051
1051
|
|
|
1052
1052
|
// Rotate back.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import checkIfPerpendicular from './checkIfPerpendicular.js';
|
|
2
|
-
import
|
|
2
|
+
import { utilities } from '@cornerstonejs/core';
|
|
3
3
|
|
|
4
4
|
function checkOrientation(multiframe, validOrientations, sourceDataDimensions, tolerance) {
|
|
5
5
|
const {
|
|
@@ -9,7 +9,7 @@ function checkOrientation(multiframe, validOrientations, sourceDataDimensions, t
|
|
|
9
9
|
const sharedImageOrientationPatient = SharedFunctionalGroupsSequence.PlaneOrientationSequence ? SharedFunctionalGroupsSequence.PlaneOrientationSequence.ImageOrientationPatient : undefined;
|
|
10
10
|
const PerFrameFunctionalGroups = PerFrameFunctionalGroupsSequence[0];
|
|
11
11
|
const iop = sharedImageOrientationPatient || PerFrameFunctionalGroups.PlaneOrientationSequence.ImageOrientationPatient;
|
|
12
|
-
const inPlane = validOrientations.some(operation =>
|
|
12
|
+
const inPlane = validOrientations.some(operation => utilities.isEqual(iop, operation, tolerance));
|
|
13
13
|
if (inPlane) {
|
|
14
14
|
return "Planar";
|
|
15
15
|
}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "3.
|
|
1
|
+
export declare const version = "3.33.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/adapters",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.33.0",
|
|
4
4
|
"description": "Adapters for Cornerstone3D to/from formats including DICOM SR and others",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"types": "./dist/esm/index.d.ts",
|
|
@@ -89,8 +89,8 @@
|
|
|
89
89
|
"ndarray": "^1.0.19"
|
|
90
90
|
},
|
|
91
91
|
"peerDependencies": {
|
|
92
|
-
"@cornerstonejs/core": "^3.
|
|
93
|
-
"@cornerstonejs/tools": "^3.
|
|
92
|
+
"@cornerstonejs/core": "^3.33.0",
|
|
93
|
+
"@cornerstonejs/tools": "^3.33.0"
|
|
94
94
|
},
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "ddd0cea514cd49ceb614c5417d871894800a9fc5"
|
|
96
96
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function compareArrays(array1: number[], array2: number[], tolerance: number): boolean;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { utilities } from 'dcmjs';
|
|
2
|
-
|
|
3
|
-
const {
|
|
4
|
-
nearlyEqual
|
|
5
|
-
} = utilities.orientation;
|
|
6
|
-
function compareArrays(array1, array2, tolerance) {
|
|
7
|
-
if (array1.length !== array2.length) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
for (let i = 0; i < array1.length; ++i) {
|
|
11
|
-
if (!nearlyEqual(array1[i], array2[i], tolerance)) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export { compareArrays as default };
|