@cornerstonejs/tools 0.11.0 → 0.13.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/cjs/cursors/SVGMouseCursor.js +2 -2
- package/dist/cjs/cursors/SVGMouseCursor.js.map +1 -1
- package/dist/cjs/drawingSvg/drawArrow.js +0 -2
- package/dist/cjs/drawingSvg/drawArrow.js.map +1 -1
- package/dist/cjs/drawingSvg/drawPolyline.d.ts +8 -0
- package/dist/cjs/drawingSvg/drawPolyline.js +50 -0
- package/dist/cjs/drawingSvg/drawPolyline.js.map +1 -0
- package/dist/cjs/drawingSvg/drawTextBox.js +9 -0
- package/dist/cjs/drawingSvg/drawTextBox.js.map +1 -1
- package/dist/cjs/drawingSvg/index.d.ts +2 -1
- package/dist/cjs/drawingSvg/index.js +3 -1
- package/dist/cjs/drawingSvg/index.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/config/ToolStyle.d.ts +18 -0
- package/dist/cjs/stateManagement/annotation/config/ToolStyle.js +129 -0
- package/dist/cjs/stateManagement/annotation/config/ToolStyle.js.map +1 -0
- package/dist/cjs/stateManagement/annotation/config/getFont.d.ts +2 -2
- package/dist/cjs/stateManagement/annotation/config/getFont.js +4 -6
- package/dist/cjs/stateManagement/annotation/config/getFont.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/config/helpers.d.ts +4 -0
- package/dist/cjs/stateManagement/annotation/config/helpers.js +26 -0
- package/dist/cjs/stateManagement/annotation/config/helpers.js.map +1 -0
- package/dist/cjs/stateManagement/annotation/config/index.d.ts +2 -5
- package/dist/cjs/stateManagement/annotation/config/index.js +3 -9
- package/dist/cjs/stateManagement/annotation/config/index.js.map +1 -1
- package/dist/cjs/stateManagement/index.d.ts +1 -4
- package/dist/cjs/stateManagement/index.js +1 -10
- package/dist/cjs/stateManagement/index.js.map +1 -1
- package/dist/cjs/tools/annotation/{ArrowTool.d.ts → ArrowAnnotateTool.d.ts} +2 -2
- package/dist/cjs/tools/annotation/{ArrowTool.js → ArrowAnnotateTool.js} +16 -11
- package/dist/cjs/tools/annotation/ArrowAnnotateTool.js.map +1 -0
- package/dist/cjs/tools/annotation/BidirectionalTool.js +11 -8
- package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/cjs/tools/annotation/DragProbeTool.d.ts +23 -0
- package/dist/cjs/tools/annotation/DragProbeTool.js +109 -0
- package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -0
- package/dist/cjs/tools/annotation/EllipticalROITool.js +42 -30
- package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/LengthTool.js +11 -8
- package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +32 -0
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +191 -0
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -0
- package/dist/cjs/tools/annotation/ProbeTool.js +8 -4
- package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/RectangleROITool.js +11 -8
- package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts +2 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +216 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.d.ts +2 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +182 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/editLoopCommon.d.ts +2 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/editLoopCommon.js +127 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/editLoopCommon.js.map +1 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts +2 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js +289 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.d.ts +2 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +43 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.d.ts +2 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js +105 -0
- package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -0
- package/dist/cjs/tools/base/AnnotationTool.d.ts +3 -3
- package/dist/cjs/tools/base/AnnotationTool.js +10 -10
- package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
- package/dist/cjs/tools/index.d.ts +4 -2
- package/dist/cjs/tools/index.js +7 -3
- package/dist/cjs/tools/index.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js +10 -7
- package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js +10 -7
- package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +0 -3
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/cjs/types/AnnotationStyle.d.ts +29 -0
- package/dist/cjs/types/AnnotationStyle.js +3 -0
- package/dist/cjs/types/AnnotationStyle.js.map +1 -0
- package/dist/cjs/types/AnnotationTypes.d.ts +1 -0
- package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +31 -0
- package/dist/cjs/types/index.d.ts +2 -1
- package/dist/cjs/utilities/math/index.d.ts +2 -1
- package/dist/cjs/utilities/math/index.js +3 -1
- package/dist/cjs/utilities/math/index.js.map +1 -1
- package/dist/cjs/utilities/math/polyline/addCanvasPointsToArray.d.ts +4 -0
- package/dist/cjs/utilities/math/polyline/addCanvasPointsToArray.js +36 -0
- package/dist/cjs/utilities/math/polyline/addCanvasPointsToArray.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/calculateAreaOfPoints.d.ts +2 -0
- package/dist/cjs/utilities/math/polyline/calculateAreaOfPoints.js +14 -0
- package/dist/cjs/utilities/math/polyline/calculateAreaOfPoints.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/getIntersectionWithPolyline.d.ts +7 -0
- package/dist/cjs/utilities/math/polyline/getIntersectionWithPolyline.js +110 -0
- package/dist/cjs/utilities/math/polyline/getIntersectionWithPolyline.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/getSubPixelSpacingAndXYDirections.d.ts +7 -0
- package/dist/cjs/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js +67 -0
- package/dist/cjs/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/index.d.ts +7 -0
- package/dist/cjs/utilities/math/polyline/index.js +20 -0
- package/dist/cjs/utilities/math/polyline/index.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +22 -0
- package/dist/cjs/utilities/math/polyline/planarFreehandROIInternalTypes.js +3 -0
- package/dist/cjs/utilities/math/polyline/planarFreehandROIInternalTypes.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/pointCanProjectOnLine.d.ts +3 -0
- package/dist/cjs/utilities/math/polyline/pointCanProjectOnLine.js +35 -0
- package/dist/cjs/utilities/math/polyline/pointCanProjectOnLine.js.map +1 -0
- package/dist/cjs/utilities/math/polyline/pointsAreWithinCloseContourProximity.d.ts +3 -0
- package/dist/cjs/utilities/math/polyline/pointsAreWithinCloseContourProximity.js +8 -0
- package/dist/cjs/utilities/math/polyline/pointsAreWithinCloseContourProximity.js.map +1 -0
- package/dist/esm/cursors/SVGMouseCursor.js +2 -2
- package/dist/esm/cursors/SVGMouseCursor.js.map +1 -1
- package/dist/esm/drawingSvg/drawArrow.js +0 -2
- package/dist/esm/drawingSvg/drawArrow.js.map +1 -1
- package/dist/esm/drawingSvg/drawPolyline.d.ts +8 -0
- package/dist/esm/drawingSvg/drawPolyline.js +44 -0
- package/dist/esm/drawingSvg/drawPolyline.js.map +1 -0
- package/dist/esm/drawingSvg/drawTextBox.js +9 -0
- package/dist/esm/drawingSvg/drawTextBox.js.map +1 -1
- package/dist/esm/drawingSvg/index.d.ts +2 -1
- package/dist/esm/drawingSvg/index.js +2 -1
- package/dist/esm/drawingSvg/index.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/stateManagement/annotation/config/ToolStyle.d.ts +18 -0
- package/dist/esm/stateManagement/annotation/config/ToolStyle.js +136 -0
- package/dist/esm/stateManagement/annotation/config/ToolStyle.js.map +1 -0
- package/dist/esm/stateManagement/annotation/config/getFont.d.ts +2 -2
- package/dist/esm/stateManagement/annotation/config/getFont.js +4 -6
- package/dist/esm/stateManagement/annotation/config/getFont.js.map +1 -1
- package/dist/esm/stateManagement/annotation/config/helpers.d.ts +4 -0
- package/dist/esm/stateManagement/annotation/config/helpers.js +20 -0
- package/dist/esm/stateManagement/annotation/config/helpers.js.map +1 -0
- package/dist/esm/stateManagement/annotation/config/index.d.ts +2 -5
- package/dist/esm/stateManagement/annotation/config/index.js +2 -5
- package/dist/esm/stateManagement/annotation/config/index.js.map +1 -1
- package/dist/esm/stateManagement/index.d.ts +1 -4
- package/dist/esm/stateManagement/index.js +1 -4
- package/dist/esm/stateManagement/index.js.map +1 -1
- package/dist/esm/tools/annotation/{ArrowTool.d.ts → ArrowAnnotateTool.d.ts} +2 -2
- package/dist/esm/tools/annotation/{ArrowTool.js → ArrowAnnotateTool.js} +17 -12
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -0
- package/dist/esm/tools/annotation/BidirectionalTool.js +12 -9
- package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/esm/tools/annotation/DragProbeTool.d.ts +23 -0
- package/dist/esm/tools/annotation/DragProbeTool.js +103 -0
- package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -0
- package/dist/esm/tools/annotation/EllipticalROITool.js +43 -31
- package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
- package/dist/esm/tools/annotation/LengthTool.js +12 -9
- package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
- package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +32 -0
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +186 -0
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -0
- package/dist/esm/tools/annotation/ProbeTool.js +9 -5
- package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/RectangleROITool.js +12 -9
- package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +211 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +177 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.js +125 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/editLoopCommon.js.map +1 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +284 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +41 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.d.ts +2 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +103 -0
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -0
- package/dist/esm/tools/base/AnnotationTool.d.ts +3 -3
- package/dist/esm/tools/base/AnnotationTool.js +10 -10
- package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
- package/dist/esm/tools/index.d.ts +4 -2
- package/dist/esm/tools/index.js +4 -2
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +11 -8
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js +11 -8
- package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +1 -4
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/esm/types/AnnotationStyle.d.ts +29 -0
- package/dist/esm/types/AnnotationStyle.js +2 -0
- package/dist/esm/types/AnnotationStyle.js.map +1 -0
- package/dist/esm/types/AnnotationTypes.d.ts +1 -0
- package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +31 -0
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/utilities/math/index.d.ts +2 -1
- package/dist/esm/utilities/math/index.js +2 -1
- package/dist/esm/utilities/math/index.js.map +1 -1
- package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.d.ts +4 -0
- package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.js +34 -0
- package/dist/esm/utilities/math/polyline/addCanvasPointsToArray.js.map +1 -0
- package/dist/esm/utilities/math/polyline/calculateAreaOfPoints.d.ts +2 -0
- package/dist/esm/utilities/math/polyline/calculateAreaOfPoints.js +11 -0
- package/dist/esm/utilities/math/polyline/calculateAreaOfPoints.js.map +1 -0
- package/dist/esm/utilities/math/polyline/getIntersectionWithPolyline.d.ts +7 -0
- package/dist/esm/utilities/math/polyline/getIntersectionWithPolyline.js +106 -0
- package/dist/esm/utilities/math/polyline/getIntersectionWithPolyline.js.map +1 -0
- package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.d.ts +7 -0
- package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js +65 -0
- package/dist/esm/utilities/math/polyline/getSubPixelSpacingAndXYDirections.js.map +1 -0
- package/dist/esm/utilities/math/polyline/index.d.ts +7 -0
- package/dist/esm/utilities/math/polyline/index.js +8 -0
- package/dist/esm/utilities/math/polyline/index.js.map +1 -0
- package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.d.ts +22 -0
- package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.js +2 -0
- package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.js.map +1 -0
- package/dist/esm/utilities/math/polyline/pointCanProjectOnLine.d.ts +3 -0
- package/dist/esm/utilities/math/polyline/pointCanProjectOnLine.js +33 -0
- package/dist/esm/utilities/math/polyline/pointCanProjectOnLine.js.map +1 -0
- package/dist/esm/utilities/math/polyline/pointsAreWithinCloseContourProximity.d.ts +3 -0
- package/dist/esm/utilities/math/polyline/pointsAreWithinCloseContourProximity.js +6 -0
- package/dist/esm/utilities/math/polyline/pointsAreWithinCloseContourProximity.js.map +1 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/stateManagement/annotation/config/annotationStyle.d.ts +0 -5
- package/dist/cjs/stateManagement/annotation/config/annotationStyle.js +0 -74
- package/dist/cjs/stateManagement/annotation/config/annotationStyle.js.map +0 -1
- package/dist/cjs/stateManagement/annotation/config/getStyle.d.ts +0 -2
- package/dist/cjs/stateManagement/annotation/config/getStyle.js +0 -22
- package/dist/cjs/stateManagement/annotation/config/getStyle.js.map +0 -1
- package/dist/cjs/stateManagement/annotation/config/setAnnotationStyle.d.ts +0 -2
- package/dist/cjs/stateManagement/annotation/config/setAnnotationStyle.js +0 -17
- package/dist/cjs/stateManagement/annotation/config/setAnnotationStyle.js.map +0 -1
- package/dist/cjs/stateManagement/annotation/config/setGlobalStyle.d.ts +0 -1
- package/dist/cjs/stateManagement/annotation/config/setGlobalStyle.js +0 -8
- package/dist/cjs/stateManagement/annotation/config/setGlobalStyle.js.map +0 -1
- package/dist/cjs/stateManagement/annotation/config/setToolStyle.d.ts +0 -1
- package/dist/cjs/stateManagement/annotation/config/setToolStyle.js +0 -17
- package/dist/cjs/stateManagement/annotation/config/setToolStyle.js.map +0 -1
- package/dist/cjs/tools/annotation/ArrowTool.js.map +0 -1
- package/dist/esm/stateManagement/annotation/config/annotationStyle.d.ts +0 -5
- package/dist/esm/stateManagement/annotation/config/annotationStyle.js +0 -70
- package/dist/esm/stateManagement/annotation/config/annotationStyle.js.map +0 -1
- package/dist/esm/stateManagement/annotation/config/getStyle.d.ts +0 -2
- package/dist/esm/stateManagement/annotation/config/getStyle.js +0 -16
- package/dist/esm/stateManagement/annotation/config/getStyle.js.map +0 -1
- package/dist/esm/stateManagement/annotation/config/setAnnotationStyle.d.ts +0 -2
- package/dist/esm/stateManagement/annotation/config/setAnnotationStyle.js +0 -12
- package/dist/esm/stateManagement/annotation/config/setAnnotationStyle.js.map +0 -1
- package/dist/esm/stateManagement/annotation/config/setGlobalStyle.d.ts +0 -1
- package/dist/esm/stateManagement/annotation/config/setGlobalStyle.js +0 -5
- package/dist/esm/stateManagement/annotation/config/setGlobalStyle.js.map +0 -1
- package/dist/esm/stateManagement/annotation/config/setToolStyle.d.ts +0 -1
- package/dist/esm/stateManagement/annotation/config/setToolStyle.js +0 -11
- package/dist/esm/stateManagement/annotation/config/setToolStyle.js.map +0 -1
- package/dist/esm/tools/annotation/ArrowTool.js.map +0 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getClosestIntersectionWithPolyline = exports.getFirstIntersectionWithPolyline = void 0;
|
|
4
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
5
|
+
function getFirstIntersectionWithPolyline(points, p1, q1, closed = true) {
|
|
6
|
+
let initialI;
|
|
7
|
+
let j;
|
|
8
|
+
if (closed) {
|
|
9
|
+
j = points.length - 1;
|
|
10
|
+
initialI = 0;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
j = 0;
|
|
14
|
+
initialI = 1;
|
|
15
|
+
}
|
|
16
|
+
for (let i = initialI; i < points.length; i++) {
|
|
17
|
+
const p2 = points[j];
|
|
18
|
+
const q2 = points[i];
|
|
19
|
+
if (doesIntersect(p1, q1, p2, q2)) {
|
|
20
|
+
return [j, i];
|
|
21
|
+
}
|
|
22
|
+
j = i;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.getFirstIntersectionWithPolyline = getFirstIntersectionWithPolyline;
|
|
26
|
+
function getClosestIntersectionWithPolyline(points, p1, q1, closed = true) {
|
|
27
|
+
let initialI;
|
|
28
|
+
let j;
|
|
29
|
+
if (closed) {
|
|
30
|
+
j = points.length - 1;
|
|
31
|
+
initialI = 0;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
j = 0;
|
|
35
|
+
initialI = 1;
|
|
36
|
+
}
|
|
37
|
+
const intersections = [];
|
|
38
|
+
for (let i = initialI; i < points.length; i++) {
|
|
39
|
+
const p2 = points[j];
|
|
40
|
+
const q2 = points[i];
|
|
41
|
+
if (doesIntersect(p1, q1, p2, q2)) {
|
|
42
|
+
intersections.push([j, i]);
|
|
43
|
+
}
|
|
44
|
+
j = i;
|
|
45
|
+
}
|
|
46
|
+
if (intersections.length === 0) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const distances = [];
|
|
50
|
+
intersections.forEach((intersection) => {
|
|
51
|
+
const intersectionPoints = [
|
|
52
|
+
points[intersection[0]],
|
|
53
|
+
points[intersection[1]],
|
|
54
|
+
];
|
|
55
|
+
const midpoint = [
|
|
56
|
+
(intersectionPoints[0][0] + intersectionPoints[1][0]) / 2,
|
|
57
|
+
(intersectionPoints[0][1] + intersectionPoints[1][1]) / 2,
|
|
58
|
+
];
|
|
59
|
+
distances.push(gl_matrix_1.vec2.distance(midpoint, p1));
|
|
60
|
+
});
|
|
61
|
+
const minDistance = Math.min(...distances);
|
|
62
|
+
const indexOfMinDistance = distances.indexOf(minDistance);
|
|
63
|
+
return {
|
|
64
|
+
segment: intersections[indexOfMinDistance],
|
|
65
|
+
distance: minDistance,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
exports.getClosestIntersectionWithPolyline = getClosestIntersectionWithPolyline;
|
|
69
|
+
function doesIntersect(p1, q1, p2, q2) {
|
|
70
|
+
let result = false;
|
|
71
|
+
const orient = [
|
|
72
|
+
orientation(p1, q1, p2),
|
|
73
|
+
orientation(p1, q1, q2),
|
|
74
|
+
orientation(p2, q2, p1),
|
|
75
|
+
orientation(p2, q2, q1),
|
|
76
|
+
];
|
|
77
|
+
if (orient[0] !== orient[1] && orient[2] !== orient[3]) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
if (orient[0] === 0 && onSegment(p1, p2, q1)) {
|
|
81
|
+
result = true;
|
|
82
|
+
}
|
|
83
|
+
else if (orient[1] === 0 && onSegment(p1, q2, q1)) {
|
|
84
|
+
result = true;
|
|
85
|
+
}
|
|
86
|
+
else if (orient[2] === 0 && onSegment(p2, p1, q2)) {
|
|
87
|
+
result = true;
|
|
88
|
+
}
|
|
89
|
+
else if (orient[3] === 0 && onSegment(p2, q1, q2)) {
|
|
90
|
+
result = true;
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
function orientation(p, q, r) {
|
|
95
|
+
const orientationValue = (q[1] - p[1]) * (r[0] - q[0]) - (q[0] - p[0]) * (r[1] - q[1]);
|
|
96
|
+
if (orientationValue === 0) {
|
|
97
|
+
return 0;
|
|
98
|
+
}
|
|
99
|
+
return orientationValue > 0 ? 1 : 2;
|
|
100
|
+
}
|
|
101
|
+
function onSegment(p, q, r) {
|
|
102
|
+
if (q[0] <= Math.max(p[0], r[0]) &&
|
|
103
|
+
q[0] >= Math.min(p[0], r[0]) &&
|
|
104
|
+
q[1] <= Math.max(p[1], r[1]) &&
|
|
105
|
+
q[1] >= Math.min(p[1], r[1])) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=getIntersectionWithPolyline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIntersectionWithPolyline.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/getIntersectionWithPolyline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
declare const getSubPixelSpacingAndXYDirections: (viewport: Types.IStackViewport | Types.IVolumeViewport, subPixelResolution: number) => {
|
|
3
|
+
spacing: Types.Point2;
|
|
4
|
+
xDir: Types.Point3;
|
|
5
|
+
yDir: Types.Point3;
|
|
6
|
+
};
|
|
7
|
+
export default getSubPixelSpacingAndXYDirections;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@cornerstonejs/core");
|
|
4
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
5
|
+
const EPSILON = 1e-3;
|
|
6
|
+
const getSubPixelSpacingAndXYDirections = (viewport, subPixelResolution) => {
|
|
7
|
+
let spacing;
|
|
8
|
+
let xDir;
|
|
9
|
+
let yDir;
|
|
10
|
+
if (viewport instanceof core_1.StackViewport) {
|
|
11
|
+
const imageData = viewport.getImageData();
|
|
12
|
+
xDir = imageData.direction.slice(0, 3);
|
|
13
|
+
yDir = imageData.direction.slice(3, 6);
|
|
14
|
+
spacing = imageData.spacing;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
const imageData = viewport.getImageData();
|
|
18
|
+
const { direction, spacing: volumeSpacing } = imageData;
|
|
19
|
+
const { viewPlaneNormal, viewUp } = viewport.getCamera();
|
|
20
|
+
const iVector = direction.slice(0, 3);
|
|
21
|
+
const jVector = direction.slice(3, 6);
|
|
22
|
+
const kVector = direction.slice(6, 9);
|
|
23
|
+
let viewRight = gl_matrix_1.vec3.create();
|
|
24
|
+
gl_matrix_1.vec3.cross(viewRight, viewUp, viewPlaneNormal);
|
|
25
|
+
viewRight = [-viewRight[0], -viewRight[1], -viewRight[2]];
|
|
26
|
+
let xSpacing;
|
|
27
|
+
if (Math.abs(1 - gl_matrix_1.vec3.dot(viewRight, iVector)) < EPSILON) {
|
|
28
|
+
xSpacing = volumeSpacing[0];
|
|
29
|
+
xDir = iVector;
|
|
30
|
+
}
|
|
31
|
+
else if (Math.abs(1 - gl_matrix_1.vec3.dot(viewRight, jVector)) < EPSILON) {
|
|
32
|
+
xSpacing = volumeSpacing[1];
|
|
33
|
+
xDir = jVector;
|
|
34
|
+
}
|
|
35
|
+
else if (Math.abs(1 - gl_matrix_1.vec3.dot(viewRight, kVector)) < EPSILON) {
|
|
36
|
+
xSpacing = volumeSpacing[2];
|
|
37
|
+
xDir = kVector;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw new Error('No support yet for oblique plane planar contours');
|
|
41
|
+
}
|
|
42
|
+
let ySpacing;
|
|
43
|
+
if (Math.abs(1 - gl_matrix_1.vec3.dot(viewPlaneNormal, iVector)) < EPSILON) {
|
|
44
|
+
ySpacing = volumeSpacing[0];
|
|
45
|
+
yDir = iVector;
|
|
46
|
+
}
|
|
47
|
+
else if (Math.abs(1 - gl_matrix_1.vec3.dot(viewPlaneNormal, jVector)) < EPSILON) {
|
|
48
|
+
ySpacing = volumeSpacing[1];
|
|
49
|
+
yDir = jVector;
|
|
50
|
+
}
|
|
51
|
+
else if (Math.abs(1 - gl_matrix_1.vec3.dot(viewPlaneNormal, kVector)) < EPSILON) {
|
|
52
|
+
ySpacing = volumeSpacing[2];
|
|
53
|
+
yDir = kVector;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
throw new Error('No support yet for oblique plane planar contours');
|
|
57
|
+
}
|
|
58
|
+
spacing = [xSpacing, ySpacing];
|
|
59
|
+
}
|
|
60
|
+
const subPixelSpacing = [
|
|
61
|
+
spacing[0] / subPixelResolution,
|
|
62
|
+
spacing[1] / subPixelResolution,
|
|
63
|
+
];
|
|
64
|
+
return { spacing: subPixelSpacing, xDir, yDir };
|
|
65
|
+
};
|
|
66
|
+
exports.default = getSubPixelSpacingAndXYDirections;
|
|
67
|
+
//# sourceMappingURL=getSubPixelSpacingAndXYDirections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSubPixelSpacingAndXYDirections.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/getSubPixelSpacingAndXYDirections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { getFirstIntersectionWithPolyline, getClosestIntersectionWithPolyline } from './getIntersectionWithPolyline';
|
|
2
|
+
import getSubPixelSpacingAndXYDirections from './getSubPixelSpacingAndXYDirections';
|
|
3
|
+
import pointsAreWithinCloseContourProximity from './pointsAreWithinCloseContourProximity';
|
|
4
|
+
import addCanvasPointsToArray from './addCanvasPointsToArray';
|
|
5
|
+
import pointCanProjectOnLine from './pointCanProjectOnLine';
|
|
6
|
+
import calculateAreaOfPoints from './calculateAreaOfPoints';
|
|
7
|
+
export { getFirstIntersectionWithPolyline, getClosestIntersectionWithPolyline, getSubPixelSpacingAndXYDirections, pointsAreWithinCloseContourProximity, addCanvasPointsToArray, pointCanProjectOnLine, calculateAreaOfPoints, };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.calculateAreaOfPoints = exports.pointCanProjectOnLine = exports.addCanvasPointsToArray = exports.pointsAreWithinCloseContourProximity = exports.getSubPixelSpacingAndXYDirections = exports.getClosestIntersectionWithPolyline = exports.getFirstIntersectionWithPolyline = void 0;
|
|
7
|
+
const getIntersectionWithPolyline_1 = require("./getIntersectionWithPolyline");
|
|
8
|
+
Object.defineProperty(exports, "getFirstIntersectionWithPolyline", { enumerable: true, get: function () { return getIntersectionWithPolyline_1.getFirstIntersectionWithPolyline; } });
|
|
9
|
+
Object.defineProperty(exports, "getClosestIntersectionWithPolyline", { enumerable: true, get: function () { return getIntersectionWithPolyline_1.getClosestIntersectionWithPolyline; } });
|
|
10
|
+
const getSubPixelSpacingAndXYDirections_1 = __importDefault(require("./getSubPixelSpacingAndXYDirections"));
|
|
11
|
+
exports.getSubPixelSpacingAndXYDirections = getSubPixelSpacingAndXYDirections_1.default;
|
|
12
|
+
const pointsAreWithinCloseContourProximity_1 = __importDefault(require("./pointsAreWithinCloseContourProximity"));
|
|
13
|
+
exports.pointsAreWithinCloseContourProximity = pointsAreWithinCloseContourProximity_1.default;
|
|
14
|
+
const addCanvasPointsToArray_1 = __importDefault(require("./addCanvasPointsToArray"));
|
|
15
|
+
exports.addCanvasPointsToArray = addCanvasPointsToArray_1.default;
|
|
16
|
+
const pointCanProjectOnLine_1 = __importDefault(require("./pointCanProjectOnLine"));
|
|
17
|
+
exports.pointCanProjectOnLine = pointCanProjectOnLine_1.default;
|
|
18
|
+
const calculateAreaOfPoints_1 = __importDefault(require("./calculateAreaOfPoints"));
|
|
19
|
+
exports.calculateAreaOfPoints = calculateAreaOfPoints_1.default;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/index.ts"],"names":[],"mappings":";;;;;;AAAA,+EAGuC;AAQrC,iHAVA,8DAAgC,OAUA;AAChC,mHAVA,gEAAkC,OAUA;AARpC,4GAAoF;AASlF,4CATK,2CAAiC,CASL;AARnC,kHAA0F;AASxF,+CATK,8CAAoC,CASL;AARtC,sFAA8D;AAS5D,iCATK,gCAAsB,CASL;AARxB,oFAA4D;AAS1D,gCATK,+BAAqB,CASL;AARvB,oFAA4D;AAS1D,gCATK,+BAAqB,CASL"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import { PlanarFreehandROIAnnotation } from '../../../types/ToolSpecificAnnotationTypes';
|
|
3
|
+
declare type PlanarFreehandROIDrawData = {
|
|
4
|
+
polylineIndex: number;
|
|
5
|
+
canvasPoints: Types.Point2[];
|
|
6
|
+
};
|
|
7
|
+
declare type PlanarFreehandROIEditData = {
|
|
8
|
+
prevCanvasPoints: Types.Point2[];
|
|
9
|
+
editCanvasPoints: Types.Point2[];
|
|
10
|
+
fusedCanvasPoints: Types.Point2[];
|
|
11
|
+
startCrossingIndex?: Types.Point2;
|
|
12
|
+
editIndex: number;
|
|
13
|
+
snapIndex?: number;
|
|
14
|
+
};
|
|
15
|
+
declare type PlanarFreehandROICommonData = {
|
|
16
|
+
annotation: PlanarFreehandROIAnnotation;
|
|
17
|
+
viewportIdsToRender: string[];
|
|
18
|
+
spacing: Types.Point2;
|
|
19
|
+
xDir: Types.Point3;
|
|
20
|
+
yDir: Types.Point3;
|
|
21
|
+
};
|
|
22
|
+
export { PlanarFreehandROIDrawData, PlanarFreehandROIEditData, PlanarFreehandROICommonData, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planarFreehandROIInternalTypes.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/planarFreehandROIInternalTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
4
|
+
const pointCanProjectOnLine = (p, p1, p2, proximity) => {
|
|
5
|
+
const p1p = [p[0] - p1[0], p[1] - p1[1]];
|
|
6
|
+
const p1p2 = [p2[0] - p1[0], p2[1] - p1[1]];
|
|
7
|
+
const dot = p1p[0] * p1p2[0] + p1p[1] * p1p2[1];
|
|
8
|
+
if (dot < 0) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
const p1p2Mag = Math.sqrt(p1p2[0] * p1p2[0] + p1p2[1] * p1p2[1]);
|
|
12
|
+
if (p1p2Mag === 0) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
const projectionVectorMag = dot / p1p2Mag;
|
|
16
|
+
const p1p2UnitVector = [p1p2[0] / p1p2Mag, p1p2[1] / p1p2Mag];
|
|
17
|
+
const projectionVector = [
|
|
18
|
+
p1p2UnitVector[0] * projectionVectorMag,
|
|
19
|
+
p1p2UnitVector[1] * projectionVectorMag,
|
|
20
|
+
];
|
|
21
|
+
const projectionPoint = [
|
|
22
|
+
p1[0] + projectionVector[0],
|
|
23
|
+
p1[1] + projectionVector[1],
|
|
24
|
+
];
|
|
25
|
+
const distance = gl_matrix_1.vec2.distance(p, projectionPoint);
|
|
26
|
+
if (distance > proximity) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
if (gl_matrix_1.vec2.distance(p1, projectionPoint) > gl_matrix_1.vec2.distance(p1, p2)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return true;
|
|
33
|
+
};
|
|
34
|
+
exports.default = pointCanProjectOnLine;
|
|
35
|
+
//# sourceMappingURL=pointCanProjectOnLine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointCanProjectOnLine.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/pointCanProjectOnLine.ts"],"names":[],"mappings":";;AACA,yCAAiC;AAMjC,MAAM,qBAAqB,GAAG,CAC5B,CAAe,EACf,EAAgB,EAChB,EAAgB,EAChB,SAAiB,EACR,EAAE;IAEX,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAGhD,IAAI,GAAG,GAAG,CAAC,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,IAAI,OAAO,KAAK,CAAC,EAAE;QACjB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,mBAAmB,GAAG,GAAG,GAAG,OAAO,CAAC;IAC1C,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG;QACvB,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB;QACvC,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB;KACxC,CAAC;IACF,MAAM,eAAe,GAAiB;QACpC,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAC3B,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;KAC5B,CAAC;IAEF,MAAM,QAAQ,GAAG,gBAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAEnD,IAAI,QAAQ,GAAG,SAAS,EAAE;QAExB,OAAO,KAAK,CAAC;KACd;IAGD,IAAI,gBAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,GAAG,gBAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC9D,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
4
|
+
const pointsAreWithinCloseContourProximity = (p1, p2, closeContourProximity) => {
|
|
5
|
+
return gl_matrix_1.vec2.dist(p1, p2) < closeContourProximity;
|
|
6
|
+
};
|
|
7
|
+
exports.default = pointsAreWithinCloseContourProximity;
|
|
8
|
+
//# sourceMappingURL=pointsAreWithinCloseContourProximity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointsAreWithinCloseContourProximity.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/pointsAreWithinCloseContourProximity.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAMjC,MAAM,oCAAoC,GAAG,CAC3C,EAAgB,EAChB,EAAgB,EAChB,qBAA6B,EACpB,EAAE;IACX,OAAO,gBAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,qBAAqB,CAAC;AACnD,CAAC,CAAC;AAEF,kBAAe,oCAAoC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ToolModes, AnnotationStyleStates } from '../enums';
|
|
2
|
-
import { getDefaultStyleProperty } from '../stateManagement/annotation/config/annotationStyle';
|
|
3
2
|
import ImageMouseCursor from './ImageMouseCursor';
|
|
4
3
|
import { getDefinedSVGCursorDescriptor } from './SVGCursorDescriptor';
|
|
4
|
+
import { getStyleProperty } from '../stateManagement/annotation/config/helpers';
|
|
5
5
|
const PROPERTY = 'color';
|
|
6
6
|
const STATE = AnnotationStyleStates.Highlighted;
|
|
7
7
|
const MODE = ToolModes.Active;
|
|
@@ -11,7 +11,7 @@ export default class SVGMouseCursor extends ImageMouseCursor {
|
|
|
11
11
|
}
|
|
12
12
|
static getDefinedCursor(name, pointer = false, color) {
|
|
13
13
|
if (!color) {
|
|
14
|
-
color =
|
|
14
|
+
color = getStyleProperty(PROPERTY, {}, STATE, MODE);
|
|
15
15
|
}
|
|
16
16
|
const urn = getCursorURN(name, pointer, color);
|
|
17
17
|
let cursor = super.getDefinedCursor(urn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SVGMouseCursor.js","sourceRoot":"","sources":["../../../src/cursors/SVGMouseCursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SVGMouseCursor.js","sourceRoot":"","sources":["../../../src/cursors/SVGMouseCursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAE5D,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAKhF,MAAM,QAAQ,GAAG,OAAO,CAAC;AACzB,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,CAAC;AAChD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;AAE9B,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,gBAAgB;IAC1D,YACE,GAAW,EACX,CAAU,EACV,CAAU,EACV,IAAyB,EACzB,QAAkC;QAElC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAYD,MAAM,CAAC,gBAAgB,CACrB,IAAY,EACZ,OAAO,GAAG,KAAK,EACf,KAAc;QAEd,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACvE;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,UAAU,EAAE;gBACd,MAAM,GAAG,oBAAoB,CAC3B,UAAU,EACV,GAAG,EACH,OAAO,EACP,KAAK,EACL,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAClC,CAAC;gBACF,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aACrC;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAMD,SAAS,MAAM,CAAC,QAAgB,EAAE,UAAmC;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,OAAgB,EAAE,KAAa;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,OAAO,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAA+B,EAC/B,IAAY,EACZ,OAAgB,EAChB,KAAa,EACb,QAAqB;IAErB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC;IACvC,OAAO,IAAI,cAAc,CACvB,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAChD,CAAC,EACD,CAAC,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,UAA+B,EAC/B,OAAgB,EAChB,OAAgC;IAEhC,OAAO,GAAG,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,iBAAiB,CACxB,UAA+B,EAC/B,OAAgB,EAChB,OAAgC;IAEhC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC,CACpE,UAAU,EACV,OAAO,CACR,CAAC;IACF,OAAO,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,aAAa,CACpB,UAA+B,EAC/B,OAAgC;IAEhC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IACtD,MAAM,SAAS,GAAG;;eAEL,QAAQ,aAAa,QAAQ;QACpC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;QACtB,WAAW;WACR,CAAC;IACV,OAAO,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAA+B,EAC/B,OAAgC;IAEhC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAC/D,UAAU,CAAC;IACb,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC;IAC9B,MAAM,SAAS,GAAG;;eAEL,OAAO,aAAa,OAAO,kBAAkB,OAAO,IAAI,OAAO;WACnE,uBAAuB;8CACY,KAAK,MAAM,WAAW;WACzD,CAAC;IACV,OAAO,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -35,13 +35,11 @@ export default function drawArrow(svgDrawingHelper, annotationUID, arrowUID, sta
|
|
|
35
35
|
color,
|
|
36
36
|
width,
|
|
37
37
|
lineWidth,
|
|
38
|
-
lineDash,
|
|
39
38
|
});
|
|
40
39
|
drawLine(svgDrawingHelper, annotationUID, '3', secondLine.start, secondLine.end, {
|
|
41
40
|
color,
|
|
42
41
|
width,
|
|
43
42
|
lineWidth,
|
|
44
|
-
lineDash,
|
|
45
43
|
});
|
|
46
44
|
}
|
|
47
45
|
//# sourceMappingURL=drawArrow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawArrow.js","sourceRoot":"","sources":["../../../src/drawingSvg/drawArrow.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,gBAAqB,EACrB,aAAqB,EACrB,QAAgB,EAChB,KAAmB,EACnB,GAAiB,EACjB,OAAO,GAAG,EAAE;IAGZ,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACxE,OAAO;KACR;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CACzD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;KACpB,EACD,OAAO,CACR,CAAC;IAGF,QAAQ,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QAC9D,KAAK;QACL,KAAK;QACL,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAIH,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE;YACL,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;SACpC;QACjB,GAAG,EAAE,GAAG;KACT,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE;YACL,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;SACpC;QACjB,GAAG,EAAE,GAAG;KACT,CAAC;IAEF,QAAQ,CACN,gBAAgB,EAChB,aAAa,EACb,GAAG,EACH,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,GAAG,EACb;QACE,KAAK;QACL,KAAK;QACL,SAAS;
|
|
1
|
+
{"version":3,"file":"drawArrow.js","sourceRoot":"","sources":["../../../src/drawingSvg/drawArrow.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,gBAAqB,EACrB,aAAqB,EACrB,QAAgB,EAChB,KAAmB,EACnB,GAAiB,EACjB,OAAO,GAAG,EAAE;IAGZ,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACxE,OAAO;KACR;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CACzD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;KACpB,EACD,OAAO,CACR,CAAC;IAGF,QAAQ,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QAC9D,KAAK;QACL,KAAK;QACL,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAIH,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE;YACL,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;SACpC;QACjB,GAAG,EAAE,GAAG;KACT,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE;YACL,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;SACpC;QACjB,GAAG,EAAE,GAAG;KACT,CAAC;IAEF,QAAQ,CACN,gBAAgB,EAChB,aAAa,EACb,GAAG,EACH,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,GAAG,EACb;QACE,KAAK;QACL,KAAK;QACL,SAAS;KACV,CACF,CAAC;IAEF,QAAQ,CACN,gBAAgB,EAChB,aAAa,EACb,GAAG,EACH,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,GAAG,EACd;QACE,KAAK;QACL,KAAK;QACL,SAAS;KACV,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
export default function drawPolyline(svgDrawingHelper: any, annotationUID: string, polylineUID: string, points: Types.Point2[], options: {
|
|
3
|
+
color?: string;
|
|
4
|
+
width?: number;
|
|
5
|
+
lineWidth?: number;
|
|
6
|
+
lineDash?: string;
|
|
7
|
+
connectLastToFirst?: boolean;
|
|
8
|
+
}): void;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import _getHash from './_getHash';
|
|
2
|
+
import _setNewAttributesIfValid from './_setNewAttributesIfValid';
|
|
3
|
+
import _setAttributesIfNecessary from './_setAttributesIfNecessary';
|
|
4
|
+
export default function drawPolyline(svgDrawingHelper, annotationUID, polylineUID, points, options) {
|
|
5
|
+
if (points.length < 2) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const { color, width, lineWidth, lineDash } = Object.assign({
|
|
9
|
+
color: 'dodgerblue',
|
|
10
|
+
width: '2',
|
|
11
|
+
lineWidth: undefined,
|
|
12
|
+
lineDash: undefined,
|
|
13
|
+
connectLastToFirst: false,
|
|
14
|
+
}, options);
|
|
15
|
+
const strokeWidth = lineWidth || width;
|
|
16
|
+
const svgns = 'http://www.w3.org/2000/svg';
|
|
17
|
+
const svgNodeHash = _getHash(annotationUID, 'polyline', polylineUID);
|
|
18
|
+
const existingPolyLine = svgDrawingHelper._getSvgNode(svgNodeHash);
|
|
19
|
+
let pointsAttribute = '';
|
|
20
|
+
for (const point of points) {
|
|
21
|
+
pointsAttribute += `${point[0]}, ${point[1]} `;
|
|
22
|
+
}
|
|
23
|
+
if (options.connectLastToFirst) {
|
|
24
|
+
const firstPoint = points[0];
|
|
25
|
+
pointsAttribute += `${firstPoint[0]}, ${firstPoint[1]}`;
|
|
26
|
+
}
|
|
27
|
+
const attributes = {
|
|
28
|
+
points: pointsAttribute,
|
|
29
|
+
stroke: color,
|
|
30
|
+
fill: 'none',
|
|
31
|
+
'stroke-width': strokeWidth,
|
|
32
|
+
'stroke-dasharray': lineDash,
|
|
33
|
+
};
|
|
34
|
+
if (existingPolyLine) {
|
|
35
|
+
_setAttributesIfNecessary(attributes, existingPolyLine);
|
|
36
|
+
svgDrawingHelper._setNodeTouched(svgNodeHash);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const newPolyLine = document.createElementNS(svgns, 'polyline');
|
|
40
|
+
_setNewAttributesIfValid(attributes, newPolyLine);
|
|
41
|
+
svgDrawingHelper._appendNode(newPolyLine, svgNodeHash);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=drawPolyline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawPolyline.js","sourceRoot":"","sources":["../../../src/drawingSvg/drawPolyline.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAQpE,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,gBAAqB,EACrB,aAAqB,EACrB,WAAmB,EACnB,MAAsB,EACtB,OAMC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO;KACR;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CACzD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;QACnB,kBAAkB,EAAE,KAAK;KAC1B,EACD,OAAO,CACR,CAAC;IAGF,MAAM,WAAW,GAAG,SAAS,IAAI,KAAK,CAAC;IAEvC,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEnE,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,eAAe,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;KAChD;IAED,IAAI,OAAO,CAAC,kBAAkB,EAAE;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE7B,eAAe,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD;IAED,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,WAAW;QAC3B,kBAAkB,EAAE,QAAQ;KAC7B,CAAC;IAEF,IAAI,gBAAgB,EAAE;QAEpB,yBAAyB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAExD,gBAAgB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KAC/C;SAAM;QACL,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAEhE,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAElD,gBAAgB,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;KACxD;AACH,CAAC"}
|
|
@@ -28,6 +28,15 @@ function _drawTextGroup(svgDrawingHelper, annotationUID, textUID, textLines, pos
|
|
|
28
28
|
const text = textLines[i] || '';
|
|
29
29
|
textSpanElement.textContent = text;
|
|
30
30
|
}
|
|
31
|
+
if (textLines.length > textSpans.length) {
|
|
32
|
+
for (let i = 0; i < textLines.length - textSpans.length; i++) {
|
|
33
|
+
const textLine = textLines[i + textSpans.length];
|
|
34
|
+
const textSpan = _createTextSpan(textLine);
|
|
35
|
+
textElement.appendChild(textSpan);
|
|
36
|
+
}
|
|
37
|
+
existingTextGroup.appendChild(textElement);
|
|
38
|
+
svgDrawingHelper._appendNode(existingTextGroup, svgNodeHash);
|
|
39
|
+
}
|
|
31
40
|
const textAttributes = {
|
|
32
41
|
fill: color,
|
|
33
42
|
'font-size': fontSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawTextBox.js","sourceRoot":"","sources":["../../../src/drawingSvg/drawTextBox.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAUpE,SAAS,WAAW,CAClB,gBAAyC,EACzC,aAAqB,EACrB,OAAe,EACf,SAAwB,EACxB,QAAsB,EACtB,OAAO,GAAG,EAAE;IAEZ,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC;QACE,UAAU,EAAE,8BAA8B;QAC1C,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,kBAAkB;QACzB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;KACd,EACD,OAAO,CACR,CAAC;IAGF,MAAM,oBAAoB,GAAG,cAAc,CACzC,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAS,EACT,QAAQ,EACR,aAAa,CACd,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,SAAS,cAAc,CACrB,gBAAqB,EACrB,aAAqB,EACrB,OAAe,EACf,SAAwB,EACxB,QAAsB,EACtB,OAAY;IAEZ,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAErE,IAAI,oBAAoB,CAAC;IACzB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAIpE,IAAI,iBAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"drawTextBox.js","sourceRoot":"","sources":["../../../src/drawingSvg/drawTextBox.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@ import drawCircle from './drawCircle';
|
|
|
3
3
|
import drawEllipse from './drawEllipse';
|
|
4
4
|
import drawHandles from './drawHandles';
|
|
5
5
|
import drawLine from './drawLine';
|
|
6
|
+
import drawPolyline from './drawPolyline';
|
|
6
7
|
import drawLinkedTextBox from './drawLinkedTextBox';
|
|
7
8
|
import drawRect from './drawRect';
|
|
8
9
|
import drawTextBox from './drawTextBox';
|
|
9
10
|
import drawArrow from './drawArrow';
|
|
10
|
-
export { draw, drawCircle, drawEllipse, drawHandles, drawLine, drawLinkedTextBox, drawRect, drawTextBox, drawArrow, };
|
|
11
|
+
export { draw, drawCircle, drawEllipse, drawHandles, drawLine, drawPolyline, drawLinkedTextBox, drawRect, drawTextBox, drawArrow, };
|
|
@@ -3,9 +3,10 @@ import drawCircle from './drawCircle';
|
|
|
3
3
|
import drawEllipse from './drawEllipse';
|
|
4
4
|
import drawHandles from './drawHandles';
|
|
5
5
|
import drawLine from './drawLine';
|
|
6
|
+
import drawPolyline from './drawPolyline';
|
|
6
7
|
import drawLinkedTextBox from './drawLinkedTextBox';
|
|
7
8
|
import drawRect from './drawRect';
|
|
8
9
|
import drawTextBox from './drawTextBox';
|
|
9
10
|
import drawArrow from './drawArrow';
|
|
10
|
-
export { draw, drawCircle, drawEllipse, drawHandles, drawLine, drawLinkedTextBox, drawRect, drawTextBox, drawArrow, };
|
|
11
|
+
export { draw, drawCircle, drawEllipse, drawHandles, drawLine, drawPolyline, drawLinkedTextBox, drawRect, drawTextBox, drawArrow, };
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drawingSvg/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,GACV,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drawingSvg/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,GACV,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ import * as cursors from './cursors';
|
|
|
8
8
|
import * as Types from './types';
|
|
9
9
|
import * as annotation from './stateManagement/annotation';
|
|
10
10
|
import * as segmentation from './stateManagement/segmentation';
|
|
11
|
-
import { BaseTool, AnnotationTool, PanTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool,
|
|
11
|
+
import { BaseTool, AnnotationTool, PanTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool } from './tools';
|
|
12
12
|
import * as Enums from './enums';
|
|
13
|
-
export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool,
|
|
13
|
+
export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, Types, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
|
package/dist/esm/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import * as cursors from './cursors';
|
|
|
8
8
|
import * as Types from './types';
|
|
9
9
|
import * as annotation from './stateManagement/annotation';
|
|
10
10
|
import * as segmentation from './stateManagement/segmentation';
|
|
11
|
-
import { BaseTool, AnnotationTool, PanTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool,
|
|
11
|
+
import { BaseTool, AnnotationTool, PanTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, CrosshairsTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SegmentationDisplayTool, BrushTool, } from './tools';
|
|
12
12
|
import * as Enums from './enums';
|
|
13
|
-
export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool,
|
|
13
|
+
export { init, destroy, addTool, removeTool, cancelActiveManipulations, BaseTool, AnnotationTool, PanTool, DragProbeTool, WindowLevelTool, ZoomTool, StackScrollTool, StackScrollMouseWheelTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, LengthTool, CrosshairsTool, ProbeTool, RectangleROITool, EllipticalROITool, BidirectionalTool, PlanarFreehandROITool, ArrowAnnotateTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, synchronizers, Synchronizer, SynchronizerManager, Types, ToolGroupManager, Enums, CONSTANTS, drawing, annotation, segmentation, utilities, cursors, };
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,OAAO,EACP,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,OAAO,EACP,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,EACvB,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAEL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAU,EACV,yBAAyB,EAEzB,QAAQ,EACR,cAAc,EAEd,OAAO,EACP,aAAa,EACb,eAAe,EACf,QAAQ,EACR,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAElB,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EAEjB,uBAAuB,EAEvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EAET,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,KAAK,EAEL,gBAAgB,EAEhB,KAAK,EAEL,SAAS,EAET,OAAO,EAEP,UAAU,EAEV,YAAY,EAEZ,SAAS,EACT,OAAO,GACR,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StyleConfig, ToolStyleConfig, StyleSpecifier, AnnotationStyle } from '../../../types/AnnotationStyle';
|
|
2
|
+
declare class ToolStyle {
|
|
3
|
+
config: StyleConfig;
|
|
4
|
+
constructor();
|
|
5
|
+
getAnnotationToolStyles(annotationUID: string): AnnotationStyle;
|
|
6
|
+
getViewportToolStyles(viewportId: string): ToolStyleConfig;
|
|
7
|
+
getToolGroupToolStyles(toolGroupId: string): ToolStyleConfig;
|
|
8
|
+
getDefaultToolStyles(): ToolStyleConfig;
|
|
9
|
+
setAnnotationStyles(annotationUID: string, styles: AnnotationStyle): void;
|
|
10
|
+
setViewportToolStyles(viewportId: string, styles: ToolStyleConfig): void;
|
|
11
|
+
setToolGroupToolStyles(toolGroupId: string, styles: ToolStyleConfig): void;
|
|
12
|
+
setDefaultToolStyles(styles: ToolStyleConfig): void;
|
|
13
|
+
getStyleProperty(toolStyle: string, specifications: StyleSpecifier): any;
|
|
14
|
+
private _getToolStyle;
|
|
15
|
+
private _initializeConfig;
|
|
16
|
+
}
|
|
17
|
+
declare const toolStyle: ToolStyle;
|
|
18
|
+
export default toolStyle;
|