@cornerstonejs/adapters 0.2.0 → 0.3.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 (44) hide show
  1. package/dist/@cornerstonejs/adapters.es.js +3472 -28871
  2. package/dist/@cornerstonejs/adapters.es.js.map +1 -1
  3. package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/Angle.d.ts +44 -0
  4. package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/Bidirectional.d.ts +49 -0
  5. package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/CobbAngle.d.ts +44 -0
  6. package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/MeasurementReport.d.ts +53 -0
  7. package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/PlanarFreehandROI.d.ts +30 -0
  8. package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/RectangleROI.d.ts +30 -0
  9. package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/index.d.ts +21 -0
  10. package/dist/@cornerstonejs/dts/index.d.ts +3 -0
  11. package/package.json +10 -35
  12. package/src/{index.js → index.ts} +0 -0
  13. package/dist/@cornerstonejs/adapters.js +0 -30195
  14. package/dist/@cornerstonejs/adapters.js.map +0 -1
  15. package/src/adapters/Cornerstone/Angle.js +0 -92
  16. package/src/adapters/Cornerstone/ArrowAnnotate.js +0 -106
  17. package/src/adapters/Cornerstone/Bidirectional.js +0 -187
  18. package/src/adapters/Cornerstone/CircleRoi.js +0 -109
  19. package/src/adapters/Cornerstone/CobbAngle.js +0 -96
  20. package/src/adapters/Cornerstone/EllipticalRoi.js +0 -149
  21. package/src/adapters/Cornerstone/FreehandRoi.js +0 -82
  22. package/src/adapters/Cornerstone/Length.js +0 -80
  23. package/src/adapters/Cornerstone/MeasurementReport.js +0 -352
  24. package/src/adapters/Cornerstone/RectangleRoi.js +0 -92
  25. package/src/adapters/Cornerstone/Segmentation.js +0 -118
  26. package/src/adapters/Cornerstone/Segmentation_3X.js +0 -632
  27. package/src/adapters/Cornerstone/Segmentation_4X.js +0 -1543
  28. package/src/adapters/Cornerstone/cornerstone4Tag.js +0 -1
  29. package/src/adapters/Cornerstone/index.js +0 -27
  30. package/src/adapters/Cornerstone3D/ArrowAnnotate.js +0 -155
  31. package/src/adapters/Cornerstone3D/Bidirectional.js +0 -196
  32. package/src/adapters/Cornerstone3D/CobbAngle.js +0 -125
  33. package/src/adapters/Cornerstone3D/CodingScheme.js +0 -16
  34. package/src/adapters/Cornerstone3D/EllipticalROI.js +0 -204
  35. package/src/adapters/Cornerstone3D/Length.js +0 -113
  36. package/src/adapters/Cornerstone3D/MeasurementReport.js +0 -445
  37. package/src/adapters/Cornerstone3D/PlanarFreehandROI.js +0 -137
  38. package/src/adapters/Cornerstone3D/Probe.js +0 -106
  39. package/src/adapters/Cornerstone3D/cornerstone3DTag.js +0 -1
  40. package/src/adapters/Cornerstone3D/index.js +0 -26
  41. package/src/adapters/VTKjs/Segmentation.js +0 -223
  42. package/src/adapters/VTKjs/index.js +0 -7
  43. package/src/adapters/helpers.js +0 -19
  44. 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
- }