@cornerstonejs/adapters 0.2.0 → 0.2.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.
Files changed (37) hide show
  1. package/dist/@cornerstonejs/adapters.es.js +1603 -2092
  2. package/dist/@cornerstonejs/adapters.es.js.map +1 -1
  3. package/dist/@cornerstonejs/dts/index.d.ts +3 -0
  4. package/package.json +9 -32
  5. package/src/{index.js → index.ts} +0 -0
  6. package/dist/@cornerstonejs/adapters.js +0 -30195
  7. package/dist/@cornerstonejs/adapters.js.map +0 -1
  8. package/src/adapters/Cornerstone/Angle.js +0 -92
  9. package/src/adapters/Cornerstone/ArrowAnnotate.js +0 -106
  10. package/src/adapters/Cornerstone/Bidirectional.js +0 -187
  11. package/src/adapters/Cornerstone/CircleRoi.js +0 -109
  12. package/src/adapters/Cornerstone/CobbAngle.js +0 -96
  13. package/src/adapters/Cornerstone/EllipticalRoi.js +0 -149
  14. package/src/adapters/Cornerstone/FreehandRoi.js +0 -82
  15. package/src/adapters/Cornerstone/Length.js +0 -80
  16. package/src/adapters/Cornerstone/MeasurementReport.js +0 -352
  17. package/src/adapters/Cornerstone/RectangleRoi.js +0 -92
  18. package/src/adapters/Cornerstone/Segmentation.js +0 -118
  19. package/src/adapters/Cornerstone/Segmentation_3X.js +0 -632
  20. package/src/adapters/Cornerstone/Segmentation_4X.js +0 -1543
  21. package/src/adapters/Cornerstone/cornerstone4Tag.js +0 -1
  22. package/src/adapters/Cornerstone/index.js +0 -27
  23. package/src/adapters/Cornerstone3D/ArrowAnnotate.js +0 -155
  24. package/src/adapters/Cornerstone3D/Bidirectional.js +0 -196
  25. package/src/adapters/Cornerstone3D/CobbAngle.js +0 -125
  26. package/src/adapters/Cornerstone3D/CodingScheme.js +0 -16
  27. package/src/adapters/Cornerstone3D/EllipticalROI.js +0 -204
  28. package/src/adapters/Cornerstone3D/Length.js +0 -113
  29. package/src/adapters/Cornerstone3D/MeasurementReport.js +0 -445
  30. package/src/adapters/Cornerstone3D/PlanarFreehandROI.js +0 -137
  31. package/src/adapters/Cornerstone3D/Probe.js +0 -106
  32. package/src/adapters/Cornerstone3D/cornerstone3DTag.js +0 -1
  33. package/src/adapters/Cornerstone3D/index.js +0 -26
  34. package/src/adapters/VTKjs/Segmentation.js +0 -223
  35. package/src/adapters/VTKjs/index.js +0 -7
  36. package/src/adapters/helpers.js +0 -19
  37. package/src/adapters/index.js +0 -11
@@ -1,92 +0,0 @@
1
- import { utilities } from "dcmjs";
2
- import MeasurementReport from "./MeasurementReport";
3
- import CORNERSTONE_4_TAG from "./cornerstone4Tag";
4
-
5
- const { Polyline: TID300Polyline } = utilities.TID300;
6
-
7
- class RectangleRoi {
8
- static getMeasurementData(MeasurementGroup) {
9
- const { defaultState, SCOORDGroup, NUMGroup } =
10
- MeasurementReport.getSetupMeasurementData(MeasurementGroup);
11
-
12
- const state = {
13
- ...defaultState,
14
- toolType: RectangleRoi.toolType,
15
- handles: {
16
- start: {},
17
- end: {},
18
- textBox: {
19
- active: false,
20
- hasMoved: false,
21
- movesIndependently: false,
22
- drawnIndependently: true,
23
- allowedOutsideImage: true,
24
- hasBoundingBox: true
25
- },
26
- initialRotation: 0
27
- },
28
- cachedStats: {
29
- area: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : 0
30
- },
31
- color: undefined,
32
- invalidated: true
33
- };
34
- const intermediate = {};
35
-
36
- [
37
- state.handles.start.x,
38
- state.handles.start.y,
39
- intermediate.x,
40
- intermediate.y,
41
- state.handles.end.x,
42
- state.handles.end.y
43
- ] = SCOORDGroup.GraphicData;
44
-
45
- return state;
46
- }
47
-
48
- static getTID300RepresentationArguments(tool) {
49
- const { finding, findingSites, cachedStats = {}, handles } = tool;
50
- const { start, end } = handles;
51
- const points = [
52
- start,
53
- { x: start.x, y: end.y },
54
- end,
55
- { x: end.x, y: start.y }
56
- ];
57
- const { area, perimeter } = cachedStats;
58
-
59
- const trackingIdentifierTextValue =
60
- "cornerstoneTools@^4.0.0:RectangleRoi";
61
-
62
- return {
63
- points,
64
- area,
65
- perimeter,
66
- trackingIdentifierTextValue,
67
- finding,
68
- findingSites: findingSites || []
69
- };
70
- }
71
- }
72
-
73
- RectangleRoi.toolType = "RectangleRoi";
74
- RectangleRoi.utilityToolType = "RectangleRoi";
75
- RectangleRoi.TID300Representation = TID300Polyline;
76
- RectangleRoi.isValidCornerstoneTrackingIdentifier = TrackingIdentifier => {
77
- if (!TrackingIdentifier.includes(":")) {
78
- return false;
79
- }
80
-
81
- const [cornerstone4Tag, toolType] = TrackingIdentifier.split(":");
82
-
83
- if (cornerstone4Tag !== CORNERSTONE_4_TAG) {
84
- return false;
85
- }
86
-
87
- return toolType === RectangleRoi.toolType;
88
- };
89
-
90
- MeasurementReport.registerTool(RectangleRoi);
91
-
92
- export default RectangleRoi;
@@ -1,118 +0,0 @@
1
- import Segmentation_3X from "./Segmentation_3X";
2
- import Segmentation_4X from "./Segmentation_4X";
3
-
4
- const Segmentation = {
5
- generateSegmentation,
6
- generateToolState,
7
- fillSegmentation
8
- };
9
-
10
- export default Segmentation;
11
-
12
- /**
13
- * generateSegmentation - Generates a DICOM Segmentation object given cornerstoneTools data.
14
- *
15
- * @param {object[]} images An array of the cornerstone image objects.
16
- * @param {Object|Object[]} labelmaps3DorBrushData For 4.X: The cornerstone `Labelmap3D` object, or an array of objects.
17
- * For 3.X: the BrushData.
18
- * @param {number} cornerstoneToolsVersion The cornerstoneTools major version to map against.
19
- * @returns {Object}
20
- */
21
- function generateSegmentation(
22
- images,
23
- labelmaps3DorBrushData,
24
- options = { includeSliceSpacing: true },
25
- cornerstoneToolsVersion = 4
26
- ) {
27
- if (cornerstoneToolsVersion === 4) {
28
- return Segmentation_4X.generateSegmentation(
29
- images,
30
- labelmaps3DorBrushData,
31
- options
32
- );
33
- }
34
-
35
- if (cornerstoneToolsVersion === 3) {
36
- return Segmentation_3X.generateSegmentation(
37
- images,
38
- labelmaps3DorBrushData,
39
- options
40
- );
41
- }
42
-
43
- console.warn(
44
- `No generateSegmentation adapater for cornerstone version ${cornerstoneToolsVersion}, exiting.`
45
- );
46
- }
47
-
48
- /**
49
- * generateToolState - Given a set of cornrstoneTools imageIds and a Segmentation buffer,
50
- * derive cornerstoneTools toolState and brush metadata.
51
- *
52
- * @param {string[]} imageIds An array of the imageIds.
53
- * @param {ArrayBuffer} arrayBuffer The SEG arrayBuffer.
54
- * @param {*} metadataProvider
55
- * @param {bool} skipOverlapping - skip checks for overlapping segs, default value false.
56
- * @param {number} tolerance - default value 1.e-3.
57
- * @param {number} cornerstoneToolsVersion - default value 4.
58
- *
59
- * @returns {Object} The toolState and an object from which the
60
- * segment metadata can be derived.
61
- */
62
- function generateToolState(
63
- imageIds,
64
- arrayBuffer,
65
- metadataProvider,
66
- skipOverlapping = false,
67
- tolerance = 1e-3,
68
- cornerstoneToolsVersion = 4
69
- ) {
70
- if (cornerstoneToolsVersion === 4) {
71
- return Segmentation_4X.generateToolState(
72
- imageIds,
73
- arrayBuffer,
74
- metadataProvider,
75
- skipOverlapping,
76
- tolerance
77
- );
78
- }
79
-
80
- if (cornerstoneToolsVersion === 3) {
81
- return Segmentation_3X.generateToolState(
82
- imageIds,
83
- arrayBuffer,
84
- metadataProvider
85
- );
86
- }
87
-
88
- console.warn(
89
- `No generateToolState adapater for cornerstone version ${cornerstoneToolsVersion}, exiting.`
90
- );
91
- }
92
-
93
- /**
94
- * fillSegmentation - Fills a derived segmentation dataset with cornerstoneTools `LabelMap3D` data.
95
- *
96
- * @param {object[]} segmentation An empty segmentation derived dataset.
97
- * @param {Object|Object[]} inputLabelmaps3D The cornerstone `Labelmap3D` object, or an array of objects.
98
- * @param {Object} userOptions Options object to override default options.
99
- * @returns {Blob} description
100
- */
101
- function fillSegmentation(
102
- segmentation,
103
- inputLabelmaps3D,
104
- options = { includeSliceSpacing: true },
105
- cornerstoneToolsVersion = 4
106
- ) {
107
- if (cornerstoneToolsVersion === 4) {
108
- return Segmentation_4X.fillSegmentation(
109
- segmentation,
110
- inputLabelmaps3D,
111
- options
112
- );
113
- }
114
-
115
- console.warn(
116
- `No generateSegmentation adapater for cornerstone version ${cornerstoneToolsVersion}, exiting.`
117
- );
118
- }