@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.
- package/dist/@cornerstonejs/adapters.es.js +3472 -28871
- package/dist/@cornerstonejs/adapters.es.js.map +1 -1
- package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/Angle.d.ts +44 -0
- package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/Bidirectional.d.ts +49 -0
- package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/CobbAngle.d.ts +44 -0
- package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/MeasurementReport.d.ts +53 -0
- package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/PlanarFreehandROI.d.ts +30 -0
- package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/RectangleROI.d.ts +30 -0
- package/dist/@cornerstonejs/dts/adapters/Cornerstone3D/index.d.ts +21 -0
- package/dist/@cornerstonejs/dts/index.d.ts +3 -0
- package/package.json +10 -35
- package/src/{index.js → index.ts} +0 -0
- package/dist/@cornerstonejs/adapters.js +0 -30195
- package/dist/@cornerstonejs/adapters.js.map +0 -1
- package/src/adapters/Cornerstone/Angle.js +0 -92
- package/src/adapters/Cornerstone/ArrowAnnotate.js +0 -106
- package/src/adapters/Cornerstone/Bidirectional.js +0 -187
- package/src/adapters/Cornerstone/CircleRoi.js +0 -109
- package/src/adapters/Cornerstone/CobbAngle.js +0 -96
- package/src/adapters/Cornerstone/EllipticalRoi.js +0 -149
- package/src/adapters/Cornerstone/FreehandRoi.js +0 -82
- package/src/adapters/Cornerstone/Length.js +0 -80
- package/src/adapters/Cornerstone/MeasurementReport.js +0 -352
- package/src/adapters/Cornerstone/RectangleRoi.js +0 -92
- package/src/adapters/Cornerstone/Segmentation.js +0 -118
- package/src/adapters/Cornerstone/Segmentation_3X.js +0 -632
- package/src/adapters/Cornerstone/Segmentation_4X.js +0 -1543
- package/src/adapters/Cornerstone/cornerstone4Tag.js +0 -1
- package/src/adapters/Cornerstone/index.js +0 -27
- package/src/adapters/Cornerstone3D/ArrowAnnotate.js +0 -155
- package/src/adapters/Cornerstone3D/Bidirectional.js +0 -196
- package/src/adapters/Cornerstone3D/CobbAngle.js +0 -125
- package/src/adapters/Cornerstone3D/CodingScheme.js +0 -16
- package/src/adapters/Cornerstone3D/EllipticalROI.js +0 -204
- package/src/adapters/Cornerstone3D/Length.js +0 -113
- package/src/adapters/Cornerstone3D/MeasurementReport.js +0 -445
- package/src/adapters/Cornerstone3D/PlanarFreehandROI.js +0 -137
- package/src/adapters/Cornerstone3D/Probe.js +0 -106
- package/src/adapters/Cornerstone3D/cornerstone3DTag.js +0 -1
- package/src/adapters/Cornerstone3D/index.js +0 -26
- package/src/adapters/VTKjs/Segmentation.js +0 -223
- package/src/adapters/VTKjs/index.js +0 -7
- package/src/adapters/helpers.js +0 -19
- 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
|
-
}
|