@cornerstonejs/adapters 5.0.0-beta.1 → 5.0.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.
Files changed (89) hide show
  1. package/dist/esm/adapters/Cornerstone/Angle.js +23 -16
  2. package/dist/esm/adapters/Cornerstone/ArrowAnnotate.js +14 -19
  3. package/dist/esm/adapters/Cornerstone/Bidirectional.js +22 -27
  4. package/dist/esm/adapters/Cornerstone/CircleRoi.js +21 -27
  5. package/dist/esm/adapters/Cornerstone/CobbAngle.js +23 -16
  6. package/dist/esm/adapters/Cornerstone/EllipticalRoi.js +20 -26
  7. package/dist/esm/adapters/Cornerstone/FreehandRoi.js +22 -26
  8. package/dist/esm/adapters/Cornerstone/Length.js +19 -16
  9. package/dist/esm/adapters/Cornerstone/MeasurementReport.js +20 -40
  10. package/dist/esm/adapters/Cornerstone/ParametricMap.js +27 -38
  11. package/dist/esm/adapters/Cornerstone/RectangleRoi.js +27 -26
  12. package/dist/esm/adapters/Cornerstone/Segmentation_3X.js +19 -31
  13. package/dist/esm/adapters/Cornerstone/Segmentation_4X.js +69 -90
  14. package/dist/esm/adapters/Cornerstone/index.d.ts +11 -11
  15. package/dist/esm/adapters/Cornerstone3D/Angle.d.ts +1 -1
  16. package/dist/esm/adapters/Cornerstone3D/Angle.js +19 -26
  17. package/dist/esm/adapters/Cornerstone3D/ArrowAnnotate.d.ts +1 -1
  18. package/dist/esm/adapters/Cornerstone3D/ArrowAnnotate.js +24 -38
  19. package/dist/esm/adapters/Cornerstone3D/BaseAdapter3D.d.ts +1 -1
  20. package/dist/esm/adapters/Cornerstone3D/BaseAdapter3D.js +20 -31
  21. package/dist/esm/adapters/Cornerstone3D/Bidirectional.d.ts +1 -1
  22. package/dist/esm/adapters/Cornerstone3D/Bidirectional.js +27 -39
  23. package/dist/esm/adapters/Cornerstone3D/CircleROI.d.ts +1 -1
  24. package/dist/esm/adapters/Cornerstone3D/CircleROI.js +29 -37
  25. package/dist/esm/adapters/Cornerstone3D/CobbAngle.d.ts +1 -1
  26. package/dist/esm/adapters/Cornerstone3D/CobbAngle.js +27 -30
  27. package/dist/esm/adapters/Cornerstone3D/ControlPointPolyline.d.ts +5 -0
  28. package/dist/esm/adapters/Cornerstone3D/ControlPointPolyline.js +85 -0
  29. package/dist/esm/adapters/Cornerstone3D/EllipticalROI.d.ts +1 -1
  30. package/dist/esm/adapters/Cornerstone3D/EllipticalROI.js +27 -35
  31. package/dist/esm/adapters/Cornerstone3D/KeyImage.d.ts +1 -1
  32. package/dist/esm/adapters/Cornerstone3D/KeyImage.js +5 -11
  33. package/dist/esm/adapters/Cornerstone3D/LabelData.d.ts +3 -1
  34. package/dist/esm/adapters/Cornerstone3D/LabelData.js +41 -33
  35. package/dist/esm/adapters/Cornerstone3D/Length.d.ts +1 -1
  36. package/dist/esm/adapters/Cornerstone3D/Length.js +21 -29
  37. package/dist/esm/adapters/Cornerstone3D/MeasurementReport.d.ts +2 -1
  38. package/dist/esm/adapters/Cornerstone3D/MeasurementReport.js +108 -120
  39. package/dist/esm/adapters/Cornerstone3D/ParametricMap/generateToolState.js +2 -6
  40. package/dist/esm/adapters/Cornerstone3D/PlanarFreehandROI.d.ts +11 -1
  41. package/dist/esm/adapters/Cornerstone3D/PlanarFreehandROI.js +58 -44
  42. package/dist/esm/adapters/Cornerstone3D/Probe.d.ts +1 -1
  43. package/dist/esm/adapters/Cornerstone3D/Probe.js +21 -32
  44. package/dist/esm/adapters/Cornerstone3D/RTStruct/RTSS.js +14 -30
  45. package/dist/esm/adapters/Cornerstone3D/RTStruct/index.d.ts +2 -2
  46. package/dist/esm/adapters/Cornerstone3D/RTStruct/index.js +1 -3
  47. package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedFrameOfReferenceSequence.js +1 -3
  48. package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedSeriesSequence.js +7 -13
  49. package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getStructureSetModule.js +1 -3
  50. package/dist/esm/adapters/Cornerstone3D/RectangleROI.js +30 -32
  51. package/dist/esm/adapters/Cornerstone3D/Segmentation/compactMergeSegData.d.ts +1 -1
  52. package/dist/esm/adapters/Cornerstone3D/Segmentation/compactMergeSegData.js +5 -9
  53. package/dist/esm/adapters/Cornerstone3D/Segmentation/generateLabelMaps2DFrom3D.js +2 -4
  54. package/dist/esm/adapters/Cornerstone3D/Segmentation/generateSegmentation.js +6 -16
  55. package/dist/esm/adapters/Cornerstone3D/Segmentation/generateToolState.js +3 -4
  56. package/dist/esm/adapters/Cornerstone3D/Segmentation/index.d.ts +4 -4
  57. package/dist/esm/adapters/Cornerstone3D/Segmentation/labelmapImagesFromBuffer.d.ts +2 -2
  58. package/dist/esm/adapters/Cornerstone3D/Segmentation/labelmapImagesFromBuffer.js +147 -179
  59. package/dist/esm/adapters/Cornerstone3D/UltrasoundDirectional.d.ts +1 -1
  60. package/dist/esm/adapters/Cornerstone3D/UltrasoundDirectional.js +15 -26
  61. package/dist/esm/adapters/Cornerstone3D/constants/index.d.ts +10 -0
  62. package/dist/esm/adapters/Cornerstone3D/constants/index.js +12 -2
  63. package/dist/esm/adapters/Cornerstone3D/metricHandler.js +57 -24
  64. package/dist/esm/adapters/Cornerstone3D/unitMapper.d.ts +5 -0
  65. package/dist/esm/adapters/Cornerstone3D/unitMapper.js +16 -0
  66. package/dist/esm/adapters/VTKjs/Segmentation.js +2 -4
  67. package/dist/esm/adapters/VTKjs/index.d.ts +1 -1
  68. package/dist/esm/adapters/enums/index.d.ts +1 -1
  69. package/dist/esm/adapters/helpers/checkOrientation.js +5 -7
  70. package/dist/esm/adapters/helpers/downloadDICOMData.js +1 -3
  71. package/dist/esm/adapters/helpers/getDatasetsFromImages.js +3 -7
  72. package/dist/esm/adapters/helpers/index.d.ts +9 -9
  73. package/dist/esm/adapters/helpers/scoordToWorld.d.ts +1 -1
  74. package/dist/esm/adapters/helpers/scoordToWorld.js +5 -13
  75. package/dist/esm/adapters/helpers/toPoint3.d.ts +1 -1
  76. package/dist/esm/adapters/helpers/toPoint3.js +1 -3
  77. package/dist/esm/adapters/helpers/toScoordType.d.ts +1 -1
  78. package/dist/esm/adapters/helpers/toScoordType.js +3 -7
  79. package/dist/esm/adapters/index.d.ts +4 -4
  80. package/dist/esm/adapters/index.js +3 -2
  81. package/dist/esm/utilities/createInstance.js +9 -8
  82. package/dist/esm/utilities/referencedMetadataProvider.d.ts +3 -4
  83. package/dist/esm/utilities/referencedMetadataProvider.js +8 -14
  84. package/dist/esm/version.d.ts +1 -1
  85. package/package.json +13 -9
  86. package/dist/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -12
  87. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -14
  88. package/dist/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -9
  89. 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 === "NUM" && item.ConceptNameCodeSequence) {
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: unitCode || ""
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: "mean",
29
- "Standard Deviation": "stdDev",
30
- Maximum: "max",
31
- Minimum: "min",
32
- Area: "area",
33
- Radius: "radius",
34
- Perimeter: "perimeter",
35
- Length: "length",
36
- Width: "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
- area: "areaUnit",
40
- radius: "radiusUnit",
41
- width: "widthUnit"
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 [codeMeaning, metricKey] of Object.entries(metricMapping)) {
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
- value,
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
- if (!modalityUnit) {
60
- modalityUnit = unit;
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] = unit;
84
+ additionalMetrics[category] = mappedUnit;
66
85
  }
67
86
  } else {
68
- additionalMetrics["".concat(metricKey, "Unit")] = 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,9 +1,7 @@
1
1
  import { data } from 'dcmjs';
2
2
 
3
- const {
4
- Colors,
5
- BitArray
6
- } = data;
3
+ const Colors = data.Colors,
4
+ BitArray = data.BitArray;
7
5
 
8
6
  // TODO: Is there a better name for this? RGBAInt?
9
7
  // Should we move it to Colors.js
@@ -1,4 +1,4 @@
1
- import Segmentation from "./Segmentation";
1
+ import Segmentation from './Segmentation';
2
2
  declare const VTKjsSEG: {
3
3
  Segmentation: typeof Segmentation;
4
4
  };
@@ -1 +1 @@
1
- export * from "./Events";
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
- SharedFunctionalGroupsSequence,
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 "Planar";
12
+ return 'Planar';
15
13
  }
16
14
  if (checkIfPerpendicular(iop, validOrientations[0], tolerance) && sourceDataDimensions.includes(multiframe.Rows) && sourceDataDimensions.includes(multiframe.Columns)) {
17
- return "Perpendicular";
15
+ return 'Perpendicular';
18
16
  }
19
- return "Oblique";
17
+ return 'Oblique';
20
18
  }
21
19
 
22
20
  export { checkOrientation as default };
@@ -1,8 +1,6 @@
1
1
  import { data } from 'dcmjs';
2
2
 
3
- const {
4
- datasetToBlob
5
- } = data;
3
+ const datasetToBlob = data.datasetToBlob;
6
4
  function downloadDICOMData(bufferOrDataset, filename) {
7
5
  let blob;
8
6
  if (bufferOrDataset instanceof ArrayBuffer) {
@@ -1,12 +1,8 @@
1
1
  import { data, normalizers } from 'dcmjs';
2
2
 
3
- const {
4
- DicomMessage,
5
- DicomMetaDictionary
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 "./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";
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,4 +1,4 @@
1
- import { type Types } from "@cornerstonejs/core";
1
+ import { type Types } from '@cornerstonejs/core';
2
2
  export declare function scoordToWorld({ is3DMeasurement, referencedImageId }: {
3
3
  is3DMeasurement: any;
4
4
  referencedImageId: any;
@@ -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
- is3DMeasurement,
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);
@@ -1,3 +1,3 @@
1
- import type { Types } from "@cornerstonejs/core";
1
+ import type { Types } from '@cornerstonejs/core';
2
2
  export declare function toPoint3(flatPoints: number[]): Types.Point3[];
3
3
  export default toPoint3;
@@ -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,4 +1,4 @@
1
- import { type Types, utilities } from "@cornerstonejs/core";
1
+ import { type Types, utilities } from '@cornerstonejs/core';
2
2
  export declare function toScoord({ is3DMeasurement, referencedImageId }: {
3
3
  is3DMeasurement: any;
4
4
  referencedImageId: any;
@@ -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
- is3DMeasurement,
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 "./Cornerstone3D/constants";
2
- import * as Enums from "./enums";
3
- import * as helpers from "./helpers";
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 'dcmjs';
7
- import '@cornerstonejs/core';
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 [key, value] of Object.entries(source)) {
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
- import { Enums } from '@cornerstonejs/core';
2
- export declare const STUDY_MODULES: Enums.MetadataModules[];
3
- export declare const SERIES_MODULES: Enums.MetadataModules[];
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 '../node_modules/@babel/runtime/helpers/esm/defineProperty.js';
2
- import { metaData, Enums } from '@cornerstonejs/core';
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
- DicomMetaDictionary
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
- sopClassUID,
26
- sopInstanceUID,
27
- frameNumber,
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,
@@ -1 +1 @@
1
- export declare const version = "5.0.0-beta.1";
1
+ export declare const version = "5.0.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/adapters",
3
- "version": "5.0.0-beta.1",
3
+ "version": "5.0.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",
@@ -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": "yarn run clean && shx rm -rf node_modules",
65
+ "clean:deep": "pnpm run clean && shx rm -rf node_modules",
66
66
  "dev": "rollup --watch -c rollup.config.mjs",
67
- "build:all": "yarn build",
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 'src/**/*.js' 'test/**/*.js'",
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.49.4",
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.0",
93
+ "@cornerstonejs/tools": "5.0.0"
94
+ },
91
95
  "peerDependencies": {
92
- "@cornerstonejs/core": "5.0.0-beta.1",
93
- "@cornerstonejs/tools": "5.0.0-beta.1"
96
+ "@cornerstonejs/core": "5.0.0",
97
+ "@cornerstonejs/tools": "5.0.0"
94
98
  },
95
- "gitHead": "269b3089ffd45d016454fde74374389d03feebac"
99
+ "gitHead": "d6f3fba43abcbaaf7468ff534588f6a88720b875"
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,9 +0,0 @@
1
- import _typeof from './typeof.js';
2
- import toPrimitive from './toPrimitive.js';
3
-
4
- function toPropertyKey(t) {
5
- var i = toPrimitive(t, "string");
6
- return "symbol" == _typeof(i) ? i : i + "";
7
- }
8
-
9
- export { toPropertyKey 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 };