@cornerstonejs/adapters 5.0.0-beta.1 → 5.0.1
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/Angle.js +23 -16
- package/dist/esm/adapters/Cornerstone/ArrowAnnotate.js +14 -19
- package/dist/esm/adapters/Cornerstone/Bidirectional.js +22 -27
- package/dist/esm/adapters/Cornerstone/CircleRoi.js +21 -27
- package/dist/esm/adapters/Cornerstone/CobbAngle.js +23 -16
- package/dist/esm/adapters/Cornerstone/EllipticalRoi.js +20 -26
- package/dist/esm/adapters/Cornerstone/FreehandRoi.js +22 -26
- package/dist/esm/adapters/Cornerstone/Length.js +19 -16
- package/dist/esm/adapters/Cornerstone/MeasurementReport.js +20 -40
- package/dist/esm/adapters/Cornerstone/ParametricMap.js +27 -38
- package/dist/esm/adapters/Cornerstone/RectangleRoi.js +27 -26
- package/dist/esm/adapters/Cornerstone/Segmentation_3X.js +19 -31
- package/dist/esm/adapters/Cornerstone/Segmentation_4X.js +69 -90
- package/dist/esm/adapters/Cornerstone/index.d.ts +11 -11
- package/dist/esm/adapters/Cornerstone3D/Angle.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/Angle.js +19 -26
- package/dist/esm/adapters/Cornerstone3D/ArrowAnnotate.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/ArrowAnnotate.js +24 -38
- package/dist/esm/adapters/Cornerstone3D/BaseAdapter3D.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/BaseAdapter3D.js +20 -31
- package/dist/esm/adapters/Cornerstone3D/Bidirectional.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/Bidirectional.js +27 -39
- package/dist/esm/adapters/Cornerstone3D/CircleROI.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/CircleROI.js +29 -37
- package/dist/esm/adapters/Cornerstone3D/CobbAngle.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/CobbAngle.js +27 -30
- package/dist/esm/adapters/Cornerstone3D/ControlPointPolyline.d.ts +5 -0
- package/dist/esm/adapters/Cornerstone3D/ControlPointPolyline.js +85 -0
- package/dist/esm/adapters/Cornerstone3D/EllipticalROI.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/EllipticalROI.js +27 -35
- package/dist/esm/adapters/Cornerstone3D/KeyImage.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/KeyImage.js +5 -11
- package/dist/esm/adapters/Cornerstone3D/LabelData.d.ts +3 -1
- package/dist/esm/adapters/Cornerstone3D/LabelData.js +41 -33
- package/dist/esm/adapters/Cornerstone3D/Length.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/Length.js +21 -29
- package/dist/esm/adapters/Cornerstone3D/MeasurementReport.d.ts +2 -1
- package/dist/esm/adapters/Cornerstone3D/MeasurementReport.js +108 -120
- package/dist/esm/adapters/Cornerstone3D/ParametricMap/generateToolState.js +2 -6
- package/dist/esm/adapters/Cornerstone3D/PlanarFreehandROI.d.ts +11 -1
- package/dist/esm/adapters/Cornerstone3D/PlanarFreehandROI.js +58 -44
- package/dist/esm/adapters/Cornerstone3D/Probe.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/Probe.js +21 -32
- package/dist/esm/adapters/Cornerstone3D/RTStruct/RTSS.js +14 -30
- package/dist/esm/adapters/Cornerstone3D/RTStruct/index.d.ts +2 -2
- package/dist/esm/adapters/Cornerstone3D/RTStruct/index.js +1 -3
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedFrameOfReferenceSequence.js +1 -3
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedSeriesSequence.js +7 -13
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getStructureSetModule.js +1 -3
- package/dist/esm/adapters/Cornerstone3D/RectangleROI.js +30 -32
- package/dist/esm/adapters/Cornerstone3D/Segmentation/compactMergeSegData.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/Segmentation/compactMergeSegData.js +5 -9
- package/dist/esm/adapters/Cornerstone3D/Segmentation/generateLabelMaps2DFrom3D.js +2 -4
- package/dist/esm/adapters/Cornerstone3D/Segmentation/generateSegmentation.js +6 -16
- package/dist/esm/adapters/Cornerstone3D/Segmentation/generateToolState.js +3 -4
- package/dist/esm/adapters/Cornerstone3D/Segmentation/index.d.ts +4 -4
- package/dist/esm/adapters/Cornerstone3D/Segmentation/labelmapImagesFromBuffer.d.ts +2 -2
- package/dist/esm/adapters/Cornerstone3D/Segmentation/labelmapImagesFromBuffer.js +147 -179
- package/dist/esm/adapters/Cornerstone3D/UltrasoundDirectional.d.ts +1 -1
- package/dist/esm/adapters/Cornerstone3D/UltrasoundDirectional.js +15 -26
- package/dist/esm/adapters/Cornerstone3D/constants/index.d.ts +10 -0
- package/dist/esm/adapters/Cornerstone3D/constants/index.js +12 -2
- package/dist/esm/adapters/Cornerstone3D/metricHandler.js +57 -24
- package/dist/esm/adapters/Cornerstone3D/unitMapper.d.ts +5 -0
- package/dist/esm/adapters/Cornerstone3D/unitMapper.js +16 -0
- package/dist/esm/adapters/VTKjs/Segmentation.js +2 -4
- package/dist/esm/adapters/VTKjs/index.d.ts +1 -1
- package/dist/esm/adapters/enums/index.d.ts +1 -1
- package/dist/esm/adapters/helpers/checkOrientation.js +5 -7
- package/dist/esm/adapters/helpers/downloadDICOMData.js +1 -3
- package/dist/esm/adapters/helpers/getDatasetsFromImages.js +3 -7
- package/dist/esm/adapters/helpers/index.d.ts +9 -9
- package/dist/esm/adapters/helpers/scoordToWorld.d.ts +1 -1
- package/dist/esm/adapters/helpers/scoordToWorld.js +5 -13
- package/dist/esm/adapters/helpers/toPoint3.d.ts +1 -1
- package/dist/esm/adapters/helpers/toPoint3.js +1 -3
- package/dist/esm/adapters/helpers/toScoordType.d.ts +1 -1
- package/dist/esm/adapters/helpers/toScoordType.js +3 -7
- package/dist/esm/adapters/index.d.ts +4 -4
- package/dist/esm/adapters/index.js +3 -2
- package/dist/esm/utilities/createInstance.js +9 -8
- package/dist/esm/utilities/referencedMetadataProvider.d.ts +3 -4
- package/dist/esm/utilities/referencedMetadataProvider.js +8 -14
- package/dist/esm/version.d.ts +1 -1
- package/package.json +13 -9
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -12
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -14
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -9
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -11
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
|
+
import { mapUnitFromUCUM } from './unitMapper.js';
|
|
3
|
+
|
|
4
|
+
const INTENSITY_METRICS = new Set(['Mean', 'Standard Deviation', 'Maximum', 'Minimum']);
|
|
1
5
|
function extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID) {
|
|
2
6
|
const numGroupsBySOPInstanceUID = {};
|
|
3
7
|
if (MeasurementGroup.ContentSequence) {
|
|
4
8
|
MeasurementGroup.ContentSequence.forEach(item => {
|
|
5
|
-
if (item.ValueType ===
|
|
9
|
+
if (item.ValueType === 'NUM' && item.ConceptNameCodeSequence) {
|
|
6
10
|
var _item$MeasuredValueSe, _item$MeasuredValueSe2;
|
|
7
11
|
const codeMeaning = item.ConceptNameCodeSequence.CodeMeaning;
|
|
8
12
|
const numericValue = (_item$MeasuredValueSe = item.MeasuredValueSequence) === null || _item$MeasuredValueSe === void 0 ? void 0 : _item$MeasuredValueSe.NumericValue;
|
|
@@ -11,9 +15,13 @@ function extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID) {
|
|
|
11
15
|
if (!numGroupsBySOPInstanceUID[referencedSOPInstanceUID]) {
|
|
12
16
|
numGroupsBySOPInstanceUID[referencedSOPInstanceUID] = {};
|
|
13
17
|
}
|
|
18
|
+
let unit = '';
|
|
19
|
+
if (unitCode) {
|
|
20
|
+
unit = resolveUnit(codeMeaning, unitCode);
|
|
21
|
+
}
|
|
14
22
|
numGroupsBySOPInstanceUID[referencedSOPInstanceUID][codeMeaning] = {
|
|
15
23
|
value: numericValue,
|
|
16
|
-
unit
|
|
24
|
+
unit
|
|
17
25
|
};
|
|
18
26
|
}
|
|
19
27
|
}
|
|
@@ -23,32 +31,39 @@ function extractAllNUMGroups(MeasurementGroup, referencedSOPInstanceUID) {
|
|
|
23
31
|
}
|
|
24
32
|
function restoreAdditionalMetrics(numGroups) {
|
|
25
33
|
const additionalMetrics = {};
|
|
26
|
-
let modalityUnit =
|
|
34
|
+
let modalityUnit = '';
|
|
27
35
|
const metricMapping = {
|
|
28
|
-
Mean:
|
|
29
|
-
|
|
30
|
-
Maximum:
|
|
31
|
-
Minimum:
|
|
32
|
-
Area:
|
|
33
|
-
Radius:
|
|
34
|
-
Perimeter:
|
|
35
|
-
Length:
|
|
36
|
-
Width:
|
|
36
|
+
Mean: 'mean',
|
|
37
|
+
'Standard Deviation': 'stdDev',
|
|
38
|
+
Maximum: 'max',
|
|
39
|
+
Minimum: 'min',
|
|
40
|
+
Area: 'area',
|
|
41
|
+
Radius: 'radius',
|
|
42
|
+
Perimeter: 'perimeter',
|
|
43
|
+
Length: 'length',
|
|
44
|
+
Width: 'width'
|
|
37
45
|
};
|
|
38
46
|
const unitCategory = {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
mean: 'modalityUnit',
|
|
48
|
+
stdDev: 'modalityUnit',
|
|
49
|
+
max: 'modalityUnit',
|
|
50
|
+
min: 'modalityUnit',
|
|
51
|
+
area: 'areaUnit',
|
|
52
|
+
radius: 'radiusUnit',
|
|
53
|
+
perimeter: 'unit',
|
|
54
|
+
length: 'unit',
|
|
55
|
+
width: 'widthUnit'
|
|
42
56
|
};
|
|
43
|
-
for (const
|
|
57
|
+
for (const _ref of Object.entries(metricMapping)) {
|
|
58
|
+
var _ref2 = _slicedToArray(_ref, 2);
|
|
59
|
+
const codeMeaning = _ref2[0];
|
|
60
|
+
const metricKey = _ref2[1];
|
|
44
61
|
const group = numGroups[codeMeaning];
|
|
45
62
|
if (!group) {
|
|
46
63
|
continue;
|
|
47
64
|
}
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
unit
|
|
51
|
-
} = group;
|
|
65
|
+
const value = group.value,
|
|
66
|
+
unit = group.unit;
|
|
52
67
|
if (value == null) {
|
|
53
68
|
continue;
|
|
54
69
|
}
|
|
@@ -56,20 +71,38 @@ function restoreAdditionalMetrics(numGroups) {
|
|
|
56
71
|
if (!unit) {
|
|
57
72
|
continue;
|
|
58
73
|
}
|
|
59
|
-
|
|
60
|
-
|
|
74
|
+
const mappedUnit = mapUnitFromUCUM(unit);
|
|
75
|
+
if (!mappedUnit) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (INTENSITY_METRICS.has(codeMeaning) && !modalityUnit) {
|
|
79
|
+
modalityUnit = mappedUnit;
|
|
61
80
|
}
|
|
62
81
|
const category = unitCategory[metricKey];
|
|
63
82
|
if (category) {
|
|
64
83
|
if (!additionalMetrics[category]) {
|
|
65
|
-
additionalMetrics[category] =
|
|
84
|
+
additionalMetrics[category] = mappedUnit;
|
|
66
85
|
}
|
|
67
86
|
} else {
|
|
68
|
-
additionalMetrics["".concat(metricKey, "Unit")] =
|
|
87
|
+
additionalMetrics["".concat(metricKey, "Unit")] = mappedUnit;
|
|
69
88
|
}
|
|
70
89
|
}
|
|
71
90
|
additionalMetrics.modalityUnit = modalityUnit;
|
|
72
91
|
return additionalMetrics;
|
|
73
92
|
}
|
|
93
|
+
function resolveUnit(codeMeaning, unitCode) {
|
|
94
|
+
if (!unitCode) {
|
|
95
|
+
return '';
|
|
96
|
+
}
|
|
97
|
+
const CodeValue = unitCode.CodeValue,
|
|
98
|
+
CodeMeaning = unitCode.CodeMeaning;
|
|
99
|
+
if (CodeValue === '1') {
|
|
100
|
+
if (!INTENSITY_METRICS.has(codeMeaning) && codeMeaning === 'Area') {
|
|
101
|
+
return "".concat(CodeMeaning, "\xB2");
|
|
102
|
+
}
|
|
103
|
+
return INTENSITY_METRICS.has(codeMeaning) ? '' : CodeMeaning;
|
|
104
|
+
}
|
|
105
|
+
return CodeValue;
|
|
106
|
+
}
|
|
74
107
|
|
|
75
108
|
export { extractAllNUMGroups, restoreAdditionalMetrics };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const UCUM_HOUNSFIELD_UNIT = "[hnsf'U]";
|
|
2
|
+
export declare const DISPLAY_HOUNSFIELD_UNIT = "HU";
|
|
3
|
+
export declare const UCUM_SQUARE_MILLIMETER = "mm2";
|
|
4
|
+
export declare const DISPLAY_SQUARE_MILLIMETER = "mm\u00B2";
|
|
5
|
+
export declare function mapUnitFromUCUM(unit: string | undefined): string | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const UCUM_HOUNSFIELD_UNIT = "[hnsf'U]";
|
|
2
|
+
const DISPLAY_HOUNSFIELD_UNIT = 'HU';
|
|
3
|
+
const UCUM_SQUARE_MILLIMETER = 'mm2';
|
|
4
|
+
const DISPLAY_SQUARE_MILLIMETER = 'mm²';
|
|
5
|
+
const UNIT_MAP_FROM_UCUM = {
|
|
6
|
+
[UCUM_HOUNSFIELD_UNIT]: DISPLAY_HOUNSFIELD_UNIT,
|
|
7
|
+
[UCUM_SQUARE_MILLIMETER]: DISPLAY_SQUARE_MILLIMETER
|
|
8
|
+
};
|
|
9
|
+
function mapUnitFromUCUM(unit) {
|
|
10
|
+
if (!unit) {
|
|
11
|
+
return unit;
|
|
12
|
+
}
|
|
13
|
+
return UNIT_MAP_FROM_UCUM[unit] || unit;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { DISPLAY_HOUNSFIELD_UNIT, DISPLAY_SQUARE_MILLIMETER, UCUM_HOUNSFIELD_UNIT, UCUM_SQUARE_MILLIMETER, mapUnitFromUCUM };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './Events';
|
|
@@ -2,21 +2,19 @@ import checkIfPerpendicular from './checkIfPerpendicular.js';
|
|
|
2
2
|
import { utilities } from '@cornerstonejs/core';
|
|
3
3
|
|
|
4
4
|
function checkOrientation(multiframe, validOrientations, sourceDataDimensions, tolerance) {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
PerFrameFunctionalGroupsSequence
|
|
8
|
-
} = multiframe;
|
|
5
|
+
const SharedFunctionalGroupsSequence = multiframe.SharedFunctionalGroupsSequence,
|
|
6
|
+
PerFrameFunctionalGroupsSequence = multiframe.PerFrameFunctionalGroupsSequence;
|
|
9
7
|
const sharedImageOrientationPatient = SharedFunctionalGroupsSequence.PlaneOrientationSequence ? SharedFunctionalGroupsSequence.PlaneOrientationSequence.ImageOrientationPatient : undefined;
|
|
10
8
|
const PerFrameFunctionalGroups = PerFrameFunctionalGroupsSequence[0];
|
|
11
9
|
const iop = sharedImageOrientationPatient || PerFrameFunctionalGroups.PlaneOrientationSequence.ImageOrientationPatient;
|
|
12
10
|
const inPlane = validOrientations.some(operation => utilities.isEqual(iop, operation, tolerance));
|
|
13
11
|
if (inPlane) {
|
|
14
|
-
return
|
|
12
|
+
return 'Planar';
|
|
15
13
|
}
|
|
16
14
|
if (checkIfPerpendicular(iop, validOrientations[0], tolerance) && sourceDataDimensions.includes(multiframe.Rows) && sourceDataDimensions.includes(multiframe.Columns)) {
|
|
17
|
-
return
|
|
15
|
+
return 'Perpendicular';
|
|
18
16
|
}
|
|
19
|
-
return
|
|
17
|
+
return 'Oblique';
|
|
20
18
|
}
|
|
21
19
|
|
|
22
20
|
export { checkOrientation as default };
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { data, normalizers } from 'dcmjs';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} = data;
|
|
7
|
-
const {
|
|
8
|
-
Normalizer
|
|
9
|
-
} = normalizers;
|
|
3
|
+
const DicomMessage = data.DicomMessage,
|
|
4
|
+
DicomMetaDictionary = data.DicomMetaDictionary;
|
|
5
|
+
const Normalizer = normalizers.Normalizer;
|
|
10
6
|
function getDatasetsFromImages(images, isMultiframe, options) {
|
|
11
7
|
const datasets = [];
|
|
12
8
|
if (isMultiframe) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { toArray } from
|
|
2
|
-
import { codeMeaningEquals } from
|
|
3
|
-
import { graphicTypeEquals } from
|
|
4
|
-
import { downloadDICOMData } from
|
|
5
|
-
export { copyStudyTags } from
|
|
6
|
-
export { copySeriesTags } from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
1
|
+
import { toArray } from './toArray';
|
|
2
|
+
import { codeMeaningEquals } from './codeMeaningEquals';
|
|
3
|
+
import { graphicTypeEquals } from './graphicTypeEquals';
|
|
4
|
+
import { downloadDICOMData } from './downloadDICOMData';
|
|
5
|
+
export { copyStudyTags } from './copyStudyTags';
|
|
6
|
+
export { copySeriesTags } from './copySeriesTags';
|
|
7
|
+
export * from './toScoordType';
|
|
8
|
+
export * from './scoordToWorld';
|
|
9
|
+
export * from './toPoint3';
|
|
10
10
|
export { toArray, codeMeaningEquals, graphicTypeEquals, downloadDICOMData };
|
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
import { utilities } from '@cornerstonejs/core';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
imageToWorldCoords
|
|
5
|
-
} = utilities;
|
|
3
|
+
const imageToWorldCoords = utilities.imageToWorldCoords;
|
|
6
4
|
function scoordToWorld(_ref, scoord) {
|
|
7
|
-
let
|
|
8
|
-
|
|
9
|
-
referencedImageId
|
|
10
|
-
} = _ref;
|
|
5
|
+
let is3DMeasurement = _ref.is3DMeasurement,
|
|
6
|
+
referencedImageId = _ref.referencedImageId;
|
|
11
7
|
const worldCoords = [];
|
|
12
8
|
if (is3DMeasurement) {
|
|
13
|
-
const
|
|
14
|
-
GraphicData
|
|
15
|
-
} = scoord;
|
|
9
|
+
const GraphicData = scoord.GraphicData;
|
|
16
10
|
for (let i = 0; i < GraphicData.length; i += 3) {
|
|
17
11
|
const point = [GraphicData[i], GraphicData[i + 1], GraphicData[i + 2]];
|
|
18
12
|
worldCoords.push(point);
|
|
19
13
|
}
|
|
20
14
|
} else {
|
|
21
|
-
const
|
|
22
|
-
GraphicData
|
|
23
|
-
} = scoord;
|
|
15
|
+
const GraphicData = scoord.GraphicData;
|
|
24
16
|
for (let i = 0; i < GraphicData.length; i += 2) {
|
|
25
17
|
const point = imageToWorldCoords(referencedImageId, [GraphicData[i], GraphicData[i + 1]]);
|
|
26
18
|
worldCoords.push(point);
|
|
@@ -3,9 +3,7 @@ function toPoint3(flatPoints) {
|
|
|
3
3
|
if (!(flatPoints !== null && flatPoints !== void 0 && flatPoints.length)) {
|
|
4
4
|
return points;
|
|
5
5
|
}
|
|
6
|
-
const
|
|
7
|
-
length: n
|
|
8
|
-
} = flatPoints;
|
|
6
|
+
const n = flatPoints.length;
|
|
9
7
|
if (n % 3 !== 0) {
|
|
10
8
|
throw new Error("Points array should be divisible by 3 for SCOORD3D, but contents are: ".concat(JSON.stringify(flatPoints), " of length ").concat(n));
|
|
11
9
|
}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { utilities } from '@cornerstonejs/core';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
worldToImageCoords: globalWorldToImageCoords
|
|
5
|
-
} = utilities;
|
|
3
|
+
const globalWorldToImageCoords = utilities.worldToImageCoords;
|
|
6
4
|
let useWorldToImageCoords = globalWorldToImageCoords;
|
|
7
5
|
function toScoord(_ref, point) {
|
|
8
|
-
let
|
|
9
|
-
|
|
10
|
-
referencedImageId
|
|
11
|
-
} = _ref;
|
|
6
|
+
let is3DMeasurement = _ref.is3DMeasurement,
|
|
7
|
+
referencedImageId = _ref.referencedImageId;
|
|
12
8
|
if (is3DMeasurement) {
|
|
13
9
|
return {
|
|
14
10
|
x: point[0],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NO_IMAGE_ID } from
|
|
2
|
-
import * as Enums from
|
|
3
|
-
import * as helpers from
|
|
1
|
+
import { NO_IMAGE_ID } from './Cornerstone3D/constants';
|
|
2
|
+
import * as Enums from './enums';
|
|
3
|
+
import * as helpers from './helpers';
|
|
4
4
|
declare const adaptersSR: {
|
|
5
5
|
Cornerstone: {
|
|
6
6
|
Length: typeof import("./Cornerstone/Length").default;
|
|
@@ -77,4 +77,4 @@ declare const adaptersRT: {
|
|
|
77
77
|
RTSS: typeof import("./Cornerstone3D/RTStruct");
|
|
78
78
|
};
|
|
79
79
|
};
|
|
80
|
-
export { adaptersSR, adaptersSEG, adaptersPMAP, adaptersRT, Enums, helpers, NO_IMAGE_ID };
|
|
80
|
+
export { adaptersSR, adaptersSEG, adaptersPMAP, adaptersRT, Enums, helpers, NO_IMAGE_ID, };
|
|
@@ -3,8 +3,9 @@ import { Cornerstone3DSR, Cornerstone3DSEG, Cornerstone3DPMAP, Cornerstone3DRT }
|
|
|
3
3
|
export { NO_IMAGE_ID } from './Cornerstone3D/constants/index.js';
|
|
4
4
|
import { VTKjsSEG } from './VTKjs/index.js';
|
|
5
5
|
import './enums/Events.js';
|
|
6
|
-
import '
|
|
7
|
-
import '
|
|
6
|
+
import './helpers/downloadDICOMData.js';
|
|
7
|
+
import './helpers/toScoordType.js';
|
|
8
|
+
import './helpers/scoordToWorld.js';
|
|
8
9
|
|
|
9
10
|
const adaptersSR = {
|
|
10
11
|
Cornerstone: CornerstoneSR,
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
1
2
|
import { Enums, metaData } from '@cornerstonejs/core';
|
|
2
3
|
|
|
3
|
-
const
|
|
4
|
-
MetadataModules
|
|
5
|
-
} = Enums;
|
|
4
|
+
const MetadataModules = Enums.MetadataModules;
|
|
6
5
|
function assignDefined(dest, source, options) {
|
|
7
6
|
if (!source) {
|
|
8
7
|
return;
|
|
9
8
|
}
|
|
10
|
-
for (const
|
|
9
|
+
for (const _ref of Object.entries(source)) {
|
|
10
|
+
var _ref2 = _slicedToArray(_ref, 2);
|
|
11
|
+
const key = _ref2[0];
|
|
12
|
+
const value = _ref2[1];
|
|
11
13
|
if (value === undefined) {
|
|
12
14
|
continue;
|
|
13
15
|
}
|
|
@@ -18,10 +20,9 @@ function assignDefined(dest, source, options) {
|
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
function createInstance(instanceKey, studyExemplarImageId, base, options) {
|
|
21
|
-
const
|
|
22
|
-
metadataProvider = metaData,
|
|
23
|
-
predecessorImageId
|
|
24
|
-
} = options;
|
|
23
|
+
const _options$metadataProv = options.metadataProvider,
|
|
24
|
+
metadataProvider = _options$metadataProv === void 0 ? metaData : _options$metadataProv,
|
|
25
|
+
predecessorImageId = options.predecessorImageId;
|
|
25
26
|
const result = {};
|
|
26
27
|
const instanceBase = metadataProvider.get(instanceKey, studyExemplarImageId);
|
|
27
28
|
Object.assign(result, instanceBase);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const IMAGE_MODULES: Enums.MetadataModules[];
|
|
1
|
+
export declare const STUDY_MODULES: import("packages/metadata/dist/esm/enums").MetadataModules[];
|
|
2
|
+
export declare const SERIES_MODULES: import("packages/metadata/dist/esm/enums").MetadataModules[];
|
|
3
|
+
export declare const IMAGE_MODULES: import("packages/metadata/dist/esm/enums").MetadataModules[];
|
|
5
4
|
export declare const metadataProvider: {
|
|
6
5
|
get: (type: string, imageId: string, options: any) => any;
|
|
7
6
|
ImageSopInstanceReference: (imageId: string) => {
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import _defineProperty from '
|
|
2
|
-
import {
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { Enums, metaData } from '@cornerstonejs/core';
|
|
3
3
|
import dcmjs from 'dcmjs';
|
|
4
4
|
import { metaRTSSContour, metaSRAnnotation } from '../adapters/Cornerstone3D/constants/index.js';
|
|
5
5
|
|
|
6
6
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
7
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
} = dcmjs.data;
|
|
11
|
-
const {
|
|
12
|
-
MetadataModules
|
|
13
|
-
} = Enums;
|
|
8
|
+
const DicomMetaDictionary = dcmjs.data.DicomMetaDictionary;
|
|
9
|
+
const MetadataModules = Enums.MetadataModules;
|
|
14
10
|
const STUDY_MODULES = [MetadataModules.GENERAL_STUDY, MetadataModules.PATIENT_STUDY, MetadataModules.PATIENT];
|
|
15
11
|
const SERIES_MODULES = [MetadataModules.GENERAL_SERIES];
|
|
16
12
|
const IMAGE_MODULES = [MetadataModules.GENERAL_IMAGE, MetadataModules.IMAGE_PLANE, MetadataModules.CINE, MetadataModules.VOI_LUT, MetadataModules.MODALITY_LUT, MetadataModules.SOP_COMMON];
|
|
@@ -21,12 +17,10 @@ const metadataProvider = {
|
|
|
21
17
|
},
|
|
22
18
|
[MetadataModules.IMAGE_SOP_INSTANCE_REFERENCE]: function (imageId) {
|
|
23
19
|
const frameModule = metaData.get(MetadataModules.FRAME_MODULE, imageId);
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
numberOfFrames
|
|
29
|
-
} = frameModule;
|
|
20
|
+
const sopClassUID = frameModule.sopClassUID,
|
|
21
|
+
sopInstanceUID = frameModule.sopInstanceUID,
|
|
22
|
+
frameNumber = frameModule.frameNumber,
|
|
23
|
+
numberOfFrames = frameModule.numberOfFrames;
|
|
30
24
|
if (numberOfFrames > 1) {
|
|
31
25
|
return {
|
|
32
26
|
ReferencedSOPClassUID: sopClassUID,
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "5.0.
|
|
1
|
+
export declare const version = "5.0.1";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/adapters",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
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",
|
|
@@ -59,15 +59,15 @@
|
|
|
59
59
|
"scripts": {
|
|
60
60
|
"test": "jest --testTimeout 60000",
|
|
61
61
|
"build": "rollup -c rollup.config.mjs",
|
|
62
|
-
"build:esm": "rollup -c rollup.config.mjs",
|
|
62
|
+
"build:esm": "pnpm run prebuild && rollup -c rollup.config.mjs",
|
|
63
63
|
"build:esm:watch": "rollup --watch -c rollup.config.mjs",
|
|
64
64
|
"clean": "rm -rf node_modules/.cache/storybook && shx rm -rf dist",
|
|
65
|
-
"clean:deep": "
|
|
65
|
+
"clean:deep": "pnpm run clean && shx rm -rf node_modules",
|
|
66
66
|
"dev": "rollup --watch -c rollup.config.mjs",
|
|
67
|
-
"build:all": "
|
|
67
|
+
"build:all": "pnpm run build",
|
|
68
68
|
"api-check": "echo 'No API check for this package'",
|
|
69
69
|
"start": "rollup --watch -c rollup.config.mjs",
|
|
70
|
-
"format": "prettier --write
|
|
70
|
+
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,md}\" \"test/**/*.{js,jsx,ts,tsx,json,css,md}\" \"examples/**/*.{js,jsx,ts,tsx,json,css,md}\" \"*.{js,mjs,json,md}\"",
|
|
71
71
|
"lint": "oxlint .",
|
|
72
72
|
"prebuild": "node ../../scripts/generate-version.js ./"
|
|
73
73
|
},
|
|
@@ -84,13 +84,17 @@
|
|
|
84
84
|
"dependencies": {
|
|
85
85
|
"@babel/runtime-corejs2": "7.26.10",
|
|
86
86
|
"buffer": "6.0.3",
|
|
87
|
-
"dcmjs": "0.
|
|
87
|
+
"dcmjs": "0.50.1",
|
|
88
88
|
"gl-matrix": "3.4.3",
|
|
89
89
|
"ndarray": "1.0.19"
|
|
90
90
|
},
|
|
91
|
+
"devDependencies": {
|
|
92
|
+
"@cornerstonejs/core": "5.0.1",
|
|
93
|
+
"@cornerstonejs/tools": "5.0.1"
|
|
94
|
+
},
|
|
91
95
|
"peerDependencies": {
|
|
92
|
-
"@cornerstonejs/core": "5.0.
|
|
93
|
-
"@cornerstonejs/tools": "5.0.
|
|
96
|
+
"@cornerstonejs/core": "5.0.1",
|
|
97
|
+
"@cornerstonejs/tools": "5.0.1"
|
|
94
98
|
},
|
|
95
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "b9a412e903308bff798b913ed0f9539bbd11380a"
|
|
96
100
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import toPropertyKey from './toPropertyKey.js';
|
|
2
|
-
|
|
3
|
-
function _defineProperty(e, r, t) {
|
|
4
|
-
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
5
|
-
value: t,
|
|
6
|
-
enumerable: !0,
|
|
7
|
-
configurable: !0,
|
|
8
|
-
writable: !0
|
|
9
|
-
}) : e[r] = t, e;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { _defineProperty as default };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import _typeof from './typeof.js';
|
|
2
|
-
|
|
3
|
-
function toPrimitive(t, r) {
|
|
4
|
-
if ("object" != _typeof(t) || !t) return t;
|
|
5
|
-
var e = t[Symbol.toPrimitive];
|
|
6
|
-
if (void 0 !== e) {
|
|
7
|
-
var i = e.call(t, r || "default");
|
|
8
|
-
if ("object" != _typeof(i)) return i;
|
|
9
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
10
|
-
}
|
|
11
|
-
return ("string" === r ? String : Number)(t);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { toPrimitive as default };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
function _typeof(o) {
|
|
2
|
-
"@babel/helpers - typeof";
|
|
3
|
-
|
|
4
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
5
|
-
return typeof o;
|
|
6
|
-
} : function (o) {
|
|
7
|
-
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
8
|
-
}, _typeof(o);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export { _typeof as default };
|