@cornerstonejs/tools 1.43.7 → 1.44.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/index.d.ts +2 -2
- package/dist/cjs/index.js +5 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +3 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +7 -2
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.d.ts +2 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js +23 -9
- package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +14 -1
- package/dist/cjs/stateManagement/segmentation/helpers/normalizeSegmentationInput.js.map +1 -1
- package/dist/cjs/tools/annotation/AngleTool.js +4 -3
- package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
- package/dist/cjs/tools/annotation/ArrowAnnotateTool.js +4 -3
- package/dist/cjs/tools/annotation/ArrowAnnotateTool.js.map +1 -1
- package/dist/cjs/tools/annotation/BidirectionalTool.js +4 -4
- package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/cjs/tools/annotation/CircleROITool.js +4 -3
- package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/CobbAngleTool.js +4 -3
- package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
- package/dist/cjs/tools/annotation/DragProbeTool.js +4 -1
- package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/EllipticalROITool.js +4 -3
- package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/KeyImageTool.js +4 -1
- package/dist/cjs/tools/annotation/KeyImageTool.js.map +1 -1
- package/dist/cjs/tools/annotation/LengthTool.js +4 -4
- package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
- package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.d.ts +6 -0
- package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js +14 -0
- package/dist/cjs/tools/annotation/LivewireContourSegmentationTool.js.map +1 -0
- package/dist/cjs/tools/annotation/LivewireContourTool.d.ts +14 -5
- package/dist/cjs/tools/annotation/LivewireContourTool.js +126 -159
- package/dist/cjs/tools/annotation/LivewireContourTool.js.map +1 -1
- package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +8 -0
- package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js +24 -0
- package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -0
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +16 -6
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +104 -134
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/ProbeTool.js +1 -1
- package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/RectangleROITool.js +4 -3
- package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/SplineContourSegmentationTool.d.ts +8 -0
- package/dist/cjs/tools/annotation/SplineContourSegmentationTool.js +23 -0
- package/dist/cjs/tools/annotation/SplineContourSegmentationTool.js.map +1 -0
- package/dist/cjs/tools/annotation/SplineROITool.d.ts +15 -8
- package/dist/cjs/tools/annotation/SplineROITool.js +168 -240
- package/dist/cjs/tools/annotation/SplineROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +5 -5
- package/dist/cjs/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +4 -4
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js +7 -7
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js +19 -15
- package/dist/cjs/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationTool.d.ts +15 -0
- package/dist/cjs/tools/base/AnnotationTool.js +24 -0
- package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
- package/dist/cjs/tools/base/ContourBaseTool.d.ts +19 -0
- package/dist/cjs/tools/base/ContourBaseTool.js +130 -0
- package/dist/cjs/tools/base/ContourBaseTool.js.map +1 -0
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.d.ts +18 -0
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.js +139 -0
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -0
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +1 -0
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/cjs/tools/index.d.ts +4 -1
- package/dist/cjs/tools/index.js +7 -1
- package/dist/cjs/tools/index.js.map +1 -1
- package/dist/cjs/types/ContourAnnotation.d.ts +11 -0
- package/dist/cjs/types/ContourAnnotation.js +3 -0
- package/dist/cjs/types/ContourAnnotation.js.map +1 -0
- package/dist/cjs/types/ContourSegmentationAnnotation.d.ts +11 -0
- package/dist/cjs/types/ContourSegmentationAnnotation.js +3 -0
- package/dist/cjs/types/ContourSegmentationAnnotation.js.map +1 -0
- package/dist/cjs/types/ContourTypes.d.ts +4 -1
- package/dist/cjs/types/SegmentationStateTypes.d.ts +1 -1
- package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +11 -52
- package/dist/cjs/types/index.d.ts +3 -1
- package/dist/cjs/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +7 -2
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +20 -7
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +13 -1
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js.map +1 -1
- package/dist/esm/tools/annotation/AngleTool.js +4 -3
- package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js +4 -3
- package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.js +4 -4
- package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/esm/tools/annotation/CircleROITool.js +4 -3
- package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
- package/dist/esm/tools/annotation/CobbAngleTool.js +4 -3
- package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
- package/dist/esm/tools/annotation/DragProbeTool.js +4 -1
- package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/EllipticalROITool.js +4 -3
- package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
- package/dist/esm/tools/annotation/KeyImageTool.js +4 -1
- package/dist/esm/tools/annotation/KeyImageTool.js.map +1 -1
- package/dist/esm/tools/annotation/LengthTool.js +4 -4
- package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
- package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js +9 -0
- package/dist/esm/tools/annotation/LivewireContourSegmentationTool.js.map +1 -0
- package/dist/esm/tools/annotation/LivewireContourTool.js +123 -160
- package/dist/esm/tools/annotation/LivewireContourTool.js.map +1 -1
- package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js +19 -0
- package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -0
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +104 -134
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/esm/tools/annotation/ProbeTool.js +1 -1
- package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/RectangleROITool.js +4 -3
- package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
- package/dist/esm/tools/annotation/SplineContourSegmentationTool.js +18 -0
- package/dist/esm/tools/annotation/SplineContourSegmentationTool.js.map +1 -0
- package/dist/esm/tools/annotation/SplineROITool.js +153 -227
- package/dist/esm/tools/annotation/SplineROITool.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js +5 -5
- package/dist/esm/tools/annotation/planarFreehandROITool/closedContourEditLoop.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +4 -4
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js +7 -7
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEditLoop.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js +19 -15
- package/dist/esm/tools/annotation/planarFreehandROITool/renderMethods.js.map +1 -1
- package/dist/esm/tools/base/AnnotationTool.js +24 -0
- package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
- package/dist/esm/tools/base/ContourBaseTool.js +122 -0
- package/dist/esm/tools/base/ContourBaseTool.js.map +1 -0
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +131 -0
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -0
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +1 -0
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/esm/tools/index.js +4 -1
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/types/ContourAnnotation.js +2 -0
- package/dist/esm/types/ContourAnnotation.js.map +1 -0
- package/dist/esm/types/ContourSegmentationAnnotation.js +2 -0
- package/dist/esm/types/ContourSegmentationAnnotation.js.map +1 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/SegmentationStateManager.d.ts +3 -1
- package/dist/types/stateManagement/segmentation/SegmentationStateManager.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/config/segmentationVisibility.d.ts +2 -1
- package/dist/types/stateManagement/segmentation/config/segmentationVisibility.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/helpers/normalizeSegmentationInput.d.ts.map +1 -1
- package/dist/types/tools/annotation/AngleTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/ArrowAnnotateTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/CircleROITool.d.ts.map +1 -1
- package/dist/types/tools/annotation/CobbAngleTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/DragProbeTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/EllipticalROITool.d.ts.map +1 -1
- package/dist/types/tools/annotation/KeyImageTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/LengthTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/LivewireContourSegmentationTool.d.ts +7 -0
- package/dist/types/tools/annotation/LivewireContourSegmentationTool.d.ts.map +1 -0
- package/dist/types/tools/annotation/LivewireContourTool.d.ts +14 -5
- package/dist/types/tools/annotation/LivewireContourTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +9 -0
- package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts.map +1 -0
- package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts +16 -6
- package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts.map +1 -1
- package/dist/types/tools/annotation/RectangleROITool.d.ts.map +1 -1
- package/dist/types/tools/annotation/SplineContourSegmentationTool.d.ts +9 -0
- package/dist/types/tools/annotation/SplineContourSegmentationTool.d.ts.map +1 -0
- package/dist/types/tools/annotation/SplineROITool.d.ts +15 -8
- package/dist/types/tools/annotation/SplineROITool.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/closedContourEditLoop.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/openContourEditLoop.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/openContourEndEditLoop.d.ts.map +1 -1
- package/dist/types/tools/annotation/planarFreehandROITool/renderMethods.d.ts.map +1 -1
- package/dist/types/tools/base/AnnotationTool.d.ts +15 -0
- package/dist/types/tools/base/AnnotationTool.d.ts.map +1 -1
- package/dist/types/tools/base/ContourBaseTool.d.ts +20 -0
- package/dist/types/tools/base/ContourBaseTool.d.ts.map +1 -0
- package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts +19 -0
- package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Contour/contourDisplay.d.ts.map +1 -1
- package/dist/types/tools/index.d.ts +4 -1
- package/dist/types/tools/index.d.ts.map +1 -1
- package/dist/types/types/ContourAnnotation.d.ts +12 -0
- package/dist/types/types/ContourAnnotation.d.ts.map +1 -0
- package/dist/types/types/ContourSegmentationAnnotation.d.ts +12 -0
- package/dist/types/types/ContourSegmentationAnnotation.d.ts.map +1 -0
- package/dist/types/types/ContourTypes.d.ts +4 -1
- package/dist/types/types/ContourTypes.d.ts.map +1 -1
- package/dist/types/types/SegmentationStateTypes.d.ts +1 -1
- package/dist/types/types/SegmentationStateTypes.d.ts.map +1 -1
- package/dist/types/types/ToolSpecificAnnotationTypes.d.ts +11 -52
- package/dist/types/types/ToolSpecificAnnotationTypes.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +3 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +6 -0
- package/src/stateManagement/segmentation/SegmentationStateManager.ts +11 -2
- package/src/stateManagement/segmentation/config/segmentationVisibility.ts +52 -6
- package/src/stateManagement/segmentation/helpers/normalizeSegmentationInput.ts +27 -1
- package/src/tools/annotation/AngleTool.ts +4 -3
- package/src/tools/annotation/ArrowAnnotateTool.ts +4 -3
- package/src/tools/annotation/BidirectionalTool.ts +4 -4
- package/src/tools/annotation/CircleROITool.ts +4 -3
- package/src/tools/annotation/CobbAngleTool.ts +4 -3
- package/src/tools/annotation/DragProbeTool.ts +4 -1
- package/src/tools/annotation/EllipticalROITool.ts +4 -3
- package/src/tools/annotation/KeyImageTool.ts +4 -1
- package/src/tools/annotation/LengthTool.ts +4 -5
- package/src/tools/annotation/LivewireContourSegmentationTool.ts +13 -0
- package/src/tools/annotation/LivewireContourTool.ts +75 -150
- package/src/tools/annotation/PlanarFreehandContourSegmentationTool.ts +30 -0
- package/src/tools/annotation/PlanarFreehandROITool.ts +153 -187
- package/src/tools/annotation/ProbeTool.ts +1 -1
- package/src/tools/annotation/RectangleROITool.ts +4 -3
- package/src/tools/annotation/SplineContourSegmentationTool.ts +28 -0
- package/src/tools/annotation/SplineROITool.ts +172 -282
- package/src/tools/annotation/planarFreehandROITool/closedContourEditLoop.ts +7 -5
- package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +4 -4
- package/src/tools/annotation/planarFreehandROITool/findOpenUShapedContourVectorToPeak.ts +3 -1
- package/src/tools/annotation/planarFreehandROITool/openContourEditLoop.ts +12 -9
- package/src/tools/annotation/planarFreehandROITool/openContourEndEditLoop.ts +5 -2
- package/src/tools/annotation/planarFreehandROITool/renderMethods.ts +19 -14
- package/src/tools/base/AnnotationTool.ts +35 -0
- package/src/tools/base/ContourBaseTool.ts +226 -0
- package/src/tools/base/ContourSegmentationBaseTool.ts +276 -0
- package/src/tools/displayTools/Contour/contourDisplay.ts +1 -0
- package/src/tools/index.ts +6 -0
- package/src/types/ContourAnnotation.ts +13 -0
- package/src/types/ContourSegmentationAnnotation.ts +14 -0
- package/src/types/ContourTypes.ts +8 -1
- package/src/types/SegmentationStateTypes.ts +1 -1
- package/src/types/ToolSpecificAnnotationTypes.ts +17 -53
- package/src/types/index.ts +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnnotationTool.js","sourceRoot":"","sources":["../../../../src/tools/base/AnnotationTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AnnotationTool.js","sourceRoot":"","sources":["../../../../src/tools/base/AnnotationTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import { Annotation, ContourAnnotation, EventTypes, PublicToolProps, ToolProps, SVGDrawingHelper } from '../../types';
|
|
3
|
+
import AnnotationTool from './AnnotationTool';
|
|
4
|
+
declare abstract class ContourBaseTool extends AnnotationTool {
|
|
5
|
+
constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps);
|
|
6
|
+
renderAnnotation(enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper): boolean;
|
|
7
|
+
protected createAnnotation(evt: EventTypes.InteractionEventType): Annotation;
|
|
8
|
+
protected addAnnotation(annotation: Annotation, element: HTMLDivElement): string;
|
|
9
|
+
protected cancelAnnotation(annotation: Annotation): void;
|
|
10
|
+
protected getPolylinePoints(annotation: ContourAnnotation): Types.Point3[];
|
|
11
|
+
protected renderAnnotationInstance(renderContext: {
|
|
12
|
+
enabledElement: Types.IEnabledElement;
|
|
13
|
+
targetId: string;
|
|
14
|
+
annotation: Annotation;
|
|
15
|
+
annotationStyle: Record<string, any>;
|
|
16
|
+
svgDrawingHelper: SVGDrawingHelper;
|
|
17
|
+
}): boolean;
|
|
18
|
+
}
|
|
19
|
+
export { ContourBaseTool as default, ContourBaseTool };
|
|
@@ -0,0 +1,130 @@
|
|
|
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.ContourBaseTool = exports.default = void 0;
|
|
7
|
+
const core_1 = require("@cornerstonejs/core");
|
|
8
|
+
const annotationState_1 = require("../../stateManagement/annotation/annotationState");
|
|
9
|
+
const drawingSvg_1 = require("../../drawingSvg");
|
|
10
|
+
const AnnotationTool_1 = __importDefault(require("./AnnotationTool"));
|
|
11
|
+
class ContourBaseTool extends AnnotationTool_1.default {
|
|
12
|
+
constructor(toolProps, defaultToolProps) {
|
|
13
|
+
super(toolProps, defaultToolProps);
|
|
14
|
+
}
|
|
15
|
+
renderAnnotation(enabledElement, svgDrawingHelper) {
|
|
16
|
+
let renderStatus = false;
|
|
17
|
+
const { viewport } = enabledElement;
|
|
18
|
+
const { element } = viewport;
|
|
19
|
+
if (!viewport.getRenderingEngine()) {
|
|
20
|
+
console.warn('Rendering Engine has been destroyed');
|
|
21
|
+
return renderStatus;
|
|
22
|
+
}
|
|
23
|
+
let annotations = (0, annotationState_1.getAnnotations)(this.getToolName(), element);
|
|
24
|
+
if (!(annotations === null || annotations === void 0 ? void 0 : annotations.length)) {
|
|
25
|
+
return renderStatus;
|
|
26
|
+
}
|
|
27
|
+
annotations = this.filterInteractableAnnotationsForElement(element, annotations);
|
|
28
|
+
if (!(annotations === null || annotations === void 0 ? void 0 : annotations.length)) {
|
|
29
|
+
return renderStatus;
|
|
30
|
+
}
|
|
31
|
+
const targetId = this.getTargetId(viewport);
|
|
32
|
+
const styleSpecifier = {
|
|
33
|
+
toolGroupId: this.toolGroupId,
|
|
34
|
+
toolName: this.getToolName(),
|
|
35
|
+
viewportId: enabledElement.viewport.id,
|
|
36
|
+
};
|
|
37
|
+
for (let i = 0; i < annotations.length; i++) {
|
|
38
|
+
const annotation = annotations[i];
|
|
39
|
+
styleSpecifier.annotationUID = annotation.annotationUID;
|
|
40
|
+
const annotationStyle = this.getAnnotationStyle({
|
|
41
|
+
annotation,
|
|
42
|
+
styleSpecifier,
|
|
43
|
+
});
|
|
44
|
+
if (!annotationStyle.visibility) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const annotationRendered = this.renderAnnotationInstance({
|
|
48
|
+
enabledElement,
|
|
49
|
+
targetId,
|
|
50
|
+
annotation,
|
|
51
|
+
annotationStyle,
|
|
52
|
+
svgDrawingHelper,
|
|
53
|
+
});
|
|
54
|
+
renderStatus || (renderStatus = annotationRendered);
|
|
55
|
+
annotation.invalidated = false;
|
|
56
|
+
}
|
|
57
|
+
return renderStatus;
|
|
58
|
+
}
|
|
59
|
+
createAnnotation(evt) {
|
|
60
|
+
const eventDetail = evt.detail;
|
|
61
|
+
const { currentPoints, element } = eventDetail;
|
|
62
|
+
const { world: worldPos } = currentPoints;
|
|
63
|
+
const enabledElement = (0, core_1.getEnabledElement)(element);
|
|
64
|
+
const { viewport } = enabledElement;
|
|
65
|
+
const camera = viewport.getCamera();
|
|
66
|
+
const { viewPlaneNormal, viewUp } = camera;
|
|
67
|
+
const referencedImageId = this.getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp);
|
|
68
|
+
const FrameOfReferenceUID = viewport.getFrameOfReferenceUID();
|
|
69
|
+
return {
|
|
70
|
+
highlighted: true,
|
|
71
|
+
invalidated: true,
|
|
72
|
+
metadata: {
|
|
73
|
+
toolName: this.getToolName(),
|
|
74
|
+
viewPlaneNormal: [...viewPlaneNormal],
|
|
75
|
+
viewUp: [...viewUp],
|
|
76
|
+
FrameOfReferenceUID,
|
|
77
|
+
referencedImageId,
|
|
78
|
+
},
|
|
79
|
+
data: {
|
|
80
|
+
handles: {
|
|
81
|
+
points: [],
|
|
82
|
+
activeHandleIndex: null,
|
|
83
|
+
textBox: {
|
|
84
|
+
hasMoved: false,
|
|
85
|
+
worldPosition: [0, 0, 0],
|
|
86
|
+
worldBoundingBox: {
|
|
87
|
+
topLeft: [0, 0, 0],
|
|
88
|
+
topRight: [0, 0, 0],
|
|
89
|
+
bottomLeft: [0, 0, 0],
|
|
90
|
+
bottomRight: [0, 0, 0],
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
contour: {
|
|
95
|
+
polyline: [],
|
|
96
|
+
closed: false,
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
addAnnotation(annotation, element) {
|
|
102
|
+
return (0, annotationState_1.addAnnotation)(annotation, element);
|
|
103
|
+
}
|
|
104
|
+
cancelAnnotation(annotation) {
|
|
105
|
+
}
|
|
106
|
+
getPolylinePoints(annotation) {
|
|
107
|
+
var _a, _b;
|
|
108
|
+
return (_b = (_a = annotation.data.contour) === null || _a === void 0 ? void 0 : _a.polyline) !== null && _b !== void 0 ? _b : annotation.data.polyline;
|
|
109
|
+
}
|
|
110
|
+
renderAnnotationInstance(renderContext) {
|
|
111
|
+
const { enabledElement, annotationStyle, svgDrawingHelper } = renderContext;
|
|
112
|
+
const annotation = renderContext.annotation;
|
|
113
|
+
const { annotationUID } = annotation;
|
|
114
|
+
const { viewport } = enabledElement;
|
|
115
|
+
const { worldToCanvas } = viewport;
|
|
116
|
+
const polylineCanvasPoints = this.getPolylinePoints(annotation).map((point) => worldToCanvas(point));
|
|
117
|
+
const { lineWidth, lineDash, color, fillColor, fillOpacity } = annotationStyle;
|
|
118
|
+
(0, drawingSvg_1.drawPolyline)(svgDrawingHelper, annotationUID, 'contourPolyline', polylineCanvasPoints, {
|
|
119
|
+
color,
|
|
120
|
+
lineDash,
|
|
121
|
+
lineWidth: Math.max(0.1, lineWidth),
|
|
122
|
+
fillColor: fillColor,
|
|
123
|
+
fillOpacity,
|
|
124
|
+
});
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.default = ContourBaseTool;
|
|
129
|
+
exports.ContourBaseTool = ContourBaseTool;
|
|
130
|
+
//# sourceMappingURL=ContourBaseTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContourBaseTool.js","sourceRoot":"","sources":["../../../../src/tools/base/ContourBaseTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Annotation, EventTypes, PublicToolProps, ToolProps } from '../../types';
|
|
2
|
+
import { StyleSpecifier } from '../../types/AnnotationStyle';
|
|
3
|
+
import ContourBaseTool from './ContourBaseTool';
|
|
4
|
+
declare abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
5
|
+
constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps);
|
|
6
|
+
protected isContourSegmentationTool(): boolean;
|
|
7
|
+
protected createAnnotation(evt: EventTypes.InteractionEventType): Annotation;
|
|
8
|
+
protected addAnnotation(annotation: Annotation, element: HTMLDivElement): string;
|
|
9
|
+
protected cancelAnnotation(annotation: Annotation): void;
|
|
10
|
+
protected getAnnotationStyle(context: {
|
|
11
|
+
annotation: Annotation;
|
|
12
|
+
styleSpecifier: StyleSpecifier;
|
|
13
|
+
}): any;
|
|
14
|
+
private _getContourSegmentationStyle;
|
|
15
|
+
private _registerContourSegmentationAnnotation;
|
|
16
|
+
private _unregisterContourSegmentationAnnotation;
|
|
17
|
+
}
|
|
18
|
+
export { ContourSegmentationBaseTool as default, ContourSegmentationBaseTool };
|
|
@@ -0,0 +1,139 @@
|
|
|
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.ContourSegmentationBaseTool = exports.default = void 0;
|
|
7
|
+
const core_1 = require("@cornerstonejs/core");
|
|
8
|
+
const segmentation_1 = require("../../stateManagement/segmentation");
|
|
9
|
+
const enums_1 = require("../../enums");
|
|
10
|
+
const ContourBaseTool_1 = __importDefault(require("./ContourBaseTool"));
|
|
11
|
+
class ContourSegmentationBaseTool extends ContourBaseTool_1.default {
|
|
12
|
+
constructor(toolProps, defaultToolProps) {
|
|
13
|
+
super(toolProps, defaultToolProps);
|
|
14
|
+
}
|
|
15
|
+
isContourSegmentationTool() {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
createAnnotation(evt) {
|
|
19
|
+
const { toolGroupId } = this;
|
|
20
|
+
const contourAnnotation = super.createAnnotation(evt);
|
|
21
|
+
if (!this.isContourSegmentationTool()) {
|
|
22
|
+
return contourAnnotation;
|
|
23
|
+
}
|
|
24
|
+
const activeSegmentationRepresentation = segmentation_1.activeSegmentation.getActiveSegmentationRepresentation(toolGroupId);
|
|
25
|
+
if (!activeSegmentationRepresentation) {
|
|
26
|
+
throw new Error('No active segmentation detected, create one before using scissors tool');
|
|
27
|
+
}
|
|
28
|
+
const { type: segmentationType } = activeSegmentationRepresentation;
|
|
29
|
+
if (segmentationType !== enums_1.SegmentationRepresentations.Contour) {
|
|
30
|
+
throw new Error(`A contour segmentation must be active`);
|
|
31
|
+
}
|
|
32
|
+
const { segmentationId, segmentationRepresentationUID } = activeSegmentationRepresentation;
|
|
33
|
+
const segmentIndex = segmentation_1.segmentIndex.getActiveSegmentIndex(segmentationId);
|
|
34
|
+
return core_1.utilities.deepMerge(contourAnnotation, {
|
|
35
|
+
data: {
|
|
36
|
+
segmentation: {
|
|
37
|
+
segmentationId,
|
|
38
|
+
segmentIndex,
|
|
39
|
+
segmentationRepresentationUID,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
addAnnotation(annotation, element) {
|
|
45
|
+
const annotationUID = super.addAnnotation(annotation, element);
|
|
46
|
+
if (this.isContourSegmentationTool()) {
|
|
47
|
+
this._registerContourSegmentationAnnotation(annotation);
|
|
48
|
+
}
|
|
49
|
+
return annotationUID;
|
|
50
|
+
}
|
|
51
|
+
cancelAnnotation(annotation) {
|
|
52
|
+
if (this.isContourSegmentationTool()) {
|
|
53
|
+
this._unregisterContourSegmentationAnnotation(annotation);
|
|
54
|
+
}
|
|
55
|
+
super.cancelAnnotation(annotation);
|
|
56
|
+
}
|
|
57
|
+
getAnnotationStyle(context) {
|
|
58
|
+
const annotationStyle = super.getAnnotationStyle(context);
|
|
59
|
+
if (!this.isContourSegmentationTool()) {
|
|
60
|
+
return annotationStyle;
|
|
61
|
+
}
|
|
62
|
+
const contourSegmentationStyle = this._getContourSegmentationStyle(context);
|
|
63
|
+
return core_1.utilities.deepMerge(annotationStyle, contourSegmentationStyle);
|
|
64
|
+
}
|
|
65
|
+
_getContourSegmentationStyle(context) {
|
|
66
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
67
|
+
const { toolGroupId } = this;
|
|
68
|
+
const annotation = context.annotation;
|
|
69
|
+
const { segmentationRepresentationUID, segmentationId, segmentIndex } = annotation.data.segmentation;
|
|
70
|
+
const segmentationRepresentation = segmentation_1.state.getSegmentationRepresentationByUID(toolGroupId, segmentationRepresentationUID);
|
|
71
|
+
const { active } = segmentationRepresentation;
|
|
72
|
+
const segmentsLocked = segmentation_1.segmentLocking.getLockedSegments(segmentationId);
|
|
73
|
+
const annotationLocked = segmentsLocked.includes(segmentIndex);
|
|
74
|
+
const segmentColor = segmentation_1.config.color.getColorForSegmentIndex(toolGroupId, segmentationRepresentationUID, segmentIndex);
|
|
75
|
+
const segmentationVisible = segmentation_1.config.visibility.getSegmentationVisibility(toolGroupId, segmentationRepresentationUID);
|
|
76
|
+
const globalConfig = segmentation_1.config.getGlobalConfig();
|
|
77
|
+
const toolGroupConfig = segmentation_1.config.getToolGroupSpecificConfig(toolGroupId);
|
|
78
|
+
const segmentationRepresentationConfig = segmentation_1.config.getSegmentationRepresentationSpecificConfig(toolGroupId, segmentationRepresentationUID);
|
|
79
|
+
const segmentConfig = segmentation_1.config.getSegmentSpecificConfig(toolGroupId, segmentationRepresentationUID, segmentIndex);
|
|
80
|
+
const segmentVisible = segmentation_1.config.visibility.getSegmentVisibility(toolGroupId, segmentationRepresentationUID, segmentIndex);
|
|
81
|
+
const mergedConfig = Object.assign({}, (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.representations) === null || _a === void 0 ? void 0 : _a.CONTOUR) !== null && _b !== void 0 ? _b : {}, (_d = (_c = toolGroupConfig === null || toolGroupConfig === void 0 ? void 0 : toolGroupConfig.representations) === null || _c === void 0 ? void 0 : _c.CONTOUR) !== null && _d !== void 0 ? _d : {}, (_e = segmentationRepresentationConfig === null || segmentationRepresentationConfig === void 0 ? void 0 : segmentationRepresentationConfig.CONTOUR) !== null && _e !== void 0 ? _e : {}, (_f = segmentConfig === null || segmentConfig === void 0 ? void 0 : segmentConfig.CONTOUR) !== null && _f !== void 0 ? _f : {});
|
|
82
|
+
let lineWidth = 1;
|
|
83
|
+
let lineDash = undefined;
|
|
84
|
+
let lineOpacity = 1;
|
|
85
|
+
let fillOpacity = 0;
|
|
86
|
+
if (active) {
|
|
87
|
+
lineWidth = (_g = mergedConfig.outlineWidthActive) !== null && _g !== void 0 ? _g : lineWidth;
|
|
88
|
+
lineDash = (_h = mergedConfig.outlineDashActive) !== null && _h !== void 0 ? _h : lineDash;
|
|
89
|
+
lineOpacity = (_j = mergedConfig.outlineOpacity) !== null && _j !== void 0 ? _j : lineOpacity;
|
|
90
|
+
fillOpacity = (_k = mergedConfig.fillAlpha) !== null && _k !== void 0 ? _k : fillOpacity;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
lineWidth = (_l = mergedConfig.outlineWidthInactive) !== null && _l !== void 0 ? _l : lineWidth;
|
|
94
|
+
lineDash = (_m = mergedConfig.outlineDashInactive) !== null && _m !== void 0 ? _m : lineDash;
|
|
95
|
+
lineOpacity = (_o = mergedConfig.outlineOpacityInactive) !== null && _o !== void 0 ? _o : lineOpacity;
|
|
96
|
+
fillOpacity = (_p = mergedConfig.fillAlphaInactive) !== null && _p !== void 0 ? _p : fillOpacity;
|
|
97
|
+
}
|
|
98
|
+
lineWidth = mergedConfig.renderOutline ? lineWidth : 0;
|
|
99
|
+
fillOpacity = mergedConfig.renderFill ? fillOpacity : 0;
|
|
100
|
+
const color = `rgba(${segmentColor[0]}, ${segmentColor[1]}, ${segmentColor[2]}, ${lineOpacity})`;
|
|
101
|
+
const fillColor = `rgb(${segmentColor[0]}, ${segmentColor[1]}, ${segmentColor[2]})`;
|
|
102
|
+
return {
|
|
103
|
+
color,
|
|
104
|
+
fillColor,
|
|
105
|
+
lineWidth,
|
|
106
|
+
fillOpacity,
|
|
107
|
+
lineDash,
|
|
108
|
+
textbox: {
|
|
109
|
+
color,
|
|
110
|
+
},
|
|
111
|
+
visibility: segmentationVisible && segmentVisible,
|
|
112
|
+
locked: annotationLocked,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
_registerContourSegmentationAnnotation(annotation) {
|
|
116
|
+
const { segmentationId, segmentIndex } = annotation.data.segmentation;
|
|
117
|
+
const segmentation = segmentation_1.state.getSegmentation(segmentationId);
|
|
118
|
+
const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
|
|
119
|
+
let annotationsUIDsSet = annotationUIDsMap.get(segmentIndex);
|
|
120
|
+
if (!annotationsUIDsSet) {
|
|
121
|
+
annotationsUIDsSet = new Set();
|
|
122
|
+
annotationUIDsMap.set(segmentIndex, annotationsUIDsSet);
|
|
123
|
+
}
|
|
124
|
+
annotationsUIDsSet.add(annotation.annotationUID);
|
|
125
|
+
}
|
|
126
|
+
_unregisterContourSegmentationAnnotation(annotation) {
|
|
127
|
+
const { segmentationId, segmentIndex } = annotation.data.segmentation;
|
|
128
|
+
const segmentation = segmentation_1.state.getSegmentation(segmentationId);
|
|
129
|
+
const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
|
|
130
|
+
const annotationsUIDsSet = annotationUIDsMap.get(segmentIndex);
|
|
131
|
+
annotationsUIDsSet.delete(annotation.annotationUID);
|
|
132
|
+
if (!annotationsUIDsSet.size) {
|
|
133
|
+
annotationUIDsMap.delete(segmentIndex);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.default = ContourSegmentationBaseTool;
|
|
138
|
+
exports.ContourSegmentationBaseTool = ContourSegmentationBaseTool;
|
|
139
|
+
//# sourceMappingURL=ContourSegmentationBaseTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContourSegmentationBaseTool.js","sourceRoot":"","sources":["../../../../src/tools/base/ContourSegmentationBaseTool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAgD;AAOhD,qEAM4C;AAG5C,uCAA0D;AAC1D,wEAAgD;AAMhD,MAAe,2BAA4B,SAAQ,yBAAe;IAChE,YAAY,SAA0B,EAAE,gBAA2B;QACjE,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAYS,yBAAyB;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CAAC,GAAoC;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACrC,OAAO,iBAAiB,CAAC;SAC1B;QAED,MAAM,gCAAgC,GACpC,iCAAkB,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC,gCAAgC,EAAE;YACrC,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;SACH;QAED,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,gCAAgC,CAAC;QAEpE,IAAI,gBAAgB,KAAK,mCAA2B,CAAC,OAAO,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QAED,MAAM,EAAE,cAAc,EAAE,6BAA6B,EAAE,GACrD,gCAAgC,CAAC;QACnC,MAAM,YAAY,GAChB,2BAAsB,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAE/D,OAAsC,gBAAS,CAAC,SAAS,CACvD,iBAAiB,EACjB;YACE,IAAI,EAAE;gBACJ,YAAY,EAAE;oBACZ,cAAc;oBACd,YAAY;oBACZ,6BAA6B;iBAC9B;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAES,aAAa,CACrB,UAAsB,EACtB,OAAuB;QAEvB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACpC,IAAI,CAAC,sCAAsC,CACzC,UAA2C,CAC5C,CAAC;SACH;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAMS,gBAAgB,CAAC,UAAsB;QAC/C,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACpC,IAAI,CAAC,wCAAwC,CAC3C,UAA2C,CAC5C,CAAC;SACH;QAED,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAYS,kBAAkB,CAAC,OAG5B;QACC,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACrC,OAAO,eAAe,CAAC;SACxB;QAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAE5E,OAAO,gBAAS,CAAC,SAAS,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IACxE,CAAC;IAMO,4BAA4B,CAAC,OAGpC;;QACC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,UAA2C,CAAC;QACvE,MAAM,EAAE,6BAA6B,EAAE,cAAc,EAAE,YAAY,EAAE,GACnE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/B,MAAM,0BAA0B,GAC9B,oBAAiB,CAAC,kCAAkC,CAClD,WAAW,EACX,6BAA6B,CAC9B,CAAC;QAEJ,MAAM,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAAC;QAC9C,MAAM,cAAc,GAAG,6BAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,YAAqB,CAAC,CAAC;QAExE,MAAM,YAAY,GAAG,qBAAkB,CAAC,KAAK,CAAC,uBAAuB,CACnE,WAAW,EACX,6BAA6B,EAC7B,YAAY,CACb,CAAC;QAEF,MAAM,mBAAmB,GACvB,qBAAkB,CAAC,UAAU,CAAC,yBAAyB,CACrD,WAAW,EACX,6BAA6B,CAC9B,CAAC;QAEJ,MAAM,YAAY,GAAG,qBAAkB,CAAC,eAAe,EAAE,CAAC;QAE1D,MAAM,eAAe,GACnB,qBAAkB,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QAE7D,MAAM,gCAAgC,GACpC,qBAAkB,CAAC,2CAA2C,CAC5D,WAAW,EACX,6BAA6B,CAC9B,CAAC;QAEJ,MAAM,aAAa,GAAG,qBAAkB,CAAC,wBAAwB,CAC/D,WAAW,EACX,6BAA6B,EAC7B,YAAY,CACb,CAAC;QAEF,MAAM,cAAc,GAAG,qBAAkB,CAAC,UAAU,CAAC,oBAAoB,CACvE,WAAW,EACX,6BAA6B,EAC7B,YAAY,CACb,CAAC;QAGF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,EAAE,EACF,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe,0CAAE,OAAO,mCAAI,EAAE,EAC5C,MAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,eAAe,0CAAE,OAAO,mCAAI,EAAE,EAC/C,MAAA,gCAAgC,aAAhC,gCAAgC,uBAAhC,gCAAgC,CAAE,OAAO,mCAAI,EAAE,EAC/C,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,mCAAI,EAAE,CAC7B,CAAC;QAEF,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,MAAM,EAAE;YACV,SAAS,GAAG,MAAA,YAAY,CAAC,kBAAkB,mCAAI,SAAS,CAAC;YACzD,QAAQ,GAAG,MAAA,YAAY,CAAC,iBAAiB,mCAAI,QAAQ,CAAC;YACtD,WAAW,GAAG,MAAA,YAAY,CAAC,cAAc,mCAAI,WAAW,CAAC;YACzD,WAAW,GAAG,MAAA,YAAY,CAAC,SAAS,mCAAI,WAAW,CAAC;SACrD;aAAM;YACL,SAAS,GAAG,MAAA,YAAY,CAAC,oBAAoB,mCAAI,SAAS,CAAC;YAC3D,QAAQ,GAAG,MAAA,YAAY,CAAC,mBAAmB,mCAAI,QAAQ,CAAC;YACxD,WAAW,GAAG,MAAA,YAAY,CAAC,sBAAsB,mCAAI,WAAW,CAAC;YACjE,WAAW,GAAG,MAAA,YAAY,CAAC,iBAAiB,mCAAI,WAAW,CAAC;SAC7D;QAED,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC;QACjG,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;QAEpF,OAAO;YACL,KAAK;YACL,SAAS;YACT,SAAS;YACT,WAAW;YACX,QAAQ;YACR,OAAO,EAAE;gBACP,KAAK;aACN;YACD,UAAU,EAAE,mBAAmB,IAAI,cAAc;YACjD,MAAM,EAAE,gBAAgB;SACzB,CAAC;IACJ,CAAC;IAEO,sCAAsC,CAC5C,UAAyC;QAEzC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;QACtE,MAAM,YAAY,GAAG,oBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAEtE,IAAI,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE7D,IAAI,CAAC,kBAAkB,EAAE;YACvB,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;YAC/B,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;SACzD;QAED,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAEO,wCAAwC,CAC9C,UAAyC;QAEzC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;QACtE,MAAM,YAAY,GAAG,oBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;QACtE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE/D,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAGpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAC5B,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACxC;IACH,CAAC;CACF;AAEuC,8CAAO;AAAE,kEAA2B"}
|
|
@@ -65,6 +65,7 @@ function render(viewport, representationConfig, toolGroupConfig) {
|
|
|
65
65
|
}
|
|
66
66
|
if (!(geometryIds === null || geometryIds === void 0 ? void 0 : geometryIds.length)) {
|
|
67
67
|
console.warn(`No contours found for segmentationId ${segmentationId}. Skipping render.`);
|
|
68
|
+
return;
|
|
68
69
|
}
|
|
69
70
|
(0, addOrUpdateContourSets_1.addOrUpdateContourSets)(viewport, geometryIds, representationConfig, toolGroupConfig);
|
|
70
71
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAI6B;AAE7B,6GAAyE;AACzE,2GAA6F;AAC7F,sEAA+D;AAK/D,qEAAkE;AAClE,0FAAkE;AAClE,6DAAyD;AAYzD,SAAS,gCAAgC,CACvC,WAAmB,EACnB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,oCAAoC,CAClC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,iBAAiB,CAAC,gCAAgC,CAChD,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,IAAA,sCAAiB,EAAC,6BAA6B,CAAC,CAAC;IAEjD,IAAI,eAAe,EAAE;QACnB,MAAM,aAAa,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE;YAC1D,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAQD,SAAe,MAAM,CACnB,QAA+B,EAC/B,oBAAqD,EACrD,eAAiD;;QAEjD,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;QAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,qCAAe,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAIpC,IAAI,QAAQ,YAAY,oBAAa,EAAE;YACrC,OAAO;SACR;QAED,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,wCAAwC,cAAc,oBAAoB,CAC3E,CAAC;
|
|
1
|
+
{"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAI6B;AAE7B,6GAAyE;AACzE,2GAA6F;AAC7F,sEAA+D;AAK/D,qEAAkE;AAClE,0FAAkE;AAClE,6DAAyD;AAYzD,SAAS,gCAAgC,CACvC,WAAmB,EACnB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,oCAAoC,CAClC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,iBAAiB,CAAC,gCAAgC,CAChD,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,IAAA,sCAAiB,EAAC,6BAA6B,CAAC,CAAC;IAEjD,IAAI,eAAe,EAAE;QACnB,MAAM,aAAa,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE;YAC1D,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAQD,SAAe,MAAM,CACnB,QAA+B,EAC/B,oBAAqD,EACrD,eAAiD;;QAEjD,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;QAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,qCAAe,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAIpC,IAAI,QAAQ,YAAY,oBAAa,EAAE;YACrC,OAAO;SACR;QAED,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,wCAAwC,cAAc,oBAAoB,CAC3E,CAAC;YACF,OAAO;SACR;QAGD,IAAA,+CAAsB,EACpB,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,eAAe,CAChB,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,6BAAqC;IAErC,MAAM,SAAS,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,iBAAiB,CAAC,CAAC;KAC7E;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEpC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC;QACvD,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;QACF,IAAA,kCAAwB,EACtB,cAAc,CAAC,QAAQ,CAAC,OAAO,EAC/B,6BAA6B,CAC9B,CAAC;KACH;AACH,CAAC;AAED,kBAAe;IACb,MAAM;IACN,gCAAgC;CACjC,CAAC"}
|
|
@@ -25,8 +25,11 @@ import RectangleROITool from './annotation/RectangleROITool';
|
|
|
25
25
|
import EllipticalROITool from './annotation/EllipticalROITool';
|
|
26
26
|
import CircleROITool from './annotation/CircleROITool';
|
|
27
27
|
import SplineROITool from './annotation/SplineROITool';
|
|
28
|
+
import SplineContourSegmentationTool from './annotation/SplineContourSegmentationTool';
|
|
28
29
|
import PlanarFreehandROITool from './annotation/PlanarFreehandROITool';
|
|
30
|
+
import PlanarFreehandContourSegmentationTool from './annotation/PlanarFreehandContourSegmentationTool';
|
|
29
31
|
import LivewireContourTool from './annotation/LivewireContourTool';
|
|
32
|
+
import LivewireContourSegmentationTool from './annotation/LivewireContourSegmentationTool';
|
|
30
33
|
import ArrowAnnotateTool from './annotation/ArrowAnnotateTool';
|
|
31
34
|
import AngleTool from './annotation/AngleTool';
|
|
32
35
|
import CobbAngleTool from './annotation/CobbAngleTool';
|
|
@@ -42,4 +45,4 @@ import BrushTool from './segmentation/BrushTool';
|
|
|
42
45
|
import PaintFillTool from './segmentation/PaintFillTool';
|
|
43
46
|
import OrientationMarkerTool from './OrientationMarkerTool';
|
|
44
47
|
import SegmentSelectTool from './segmentation/SegmentSelectTool';
|
|
45
|
-
export { BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, PlanarRotateTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, ReferenceCursors, CrosshairsTool, ReferenceLinesTool, OverlayGridTool, SegmentationIntersectionTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, CircleROITool, SplineROITool, PlanarFreehandROITool, LivewireContourTool, ArrowAnnotateTool, AngleTool, CobbAngleTool, UltrasoundDirectionalTool, KeyImageTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, BrushTool, MagnifyTool, AdvancedMagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, OrientationMarkerTool, SegmentSelectTool, };
|
|
48
|
+
export { BaseTool, AnnotationTool, AnnotationDisplayTool, PanTool, TrackballRotateTool, DragProbeTool, WindowLevelTool, StackScrollTool, PlanarRotateTool, StackScrollMouseWheelTool, ZoomTool, VolumeRotateMouseWheelTool, MIPJumpToClickTool, ReferenceCursors, CrosshairsTool, ReferenceLinesTool, OverlayGridTool, SegmentationIntersectionTool, BidirectionalTool, LengthTool, ProbeTool, RectangleROITool, EllipticalROITool, CircleROITool, SplineROITool, PlanarFreehandROITool, PlanarFreehandContourSegmentationTool, LivewireContourTool, LivewireContourSegmentationTool, ArrowAnnotateTool, AngleTool, CobbAngleTool, UltrasoundDirectionalTool, KeyImageTool, SegmentationDisplayTool, RectangleScissorsTool, CircleScissorsTool, SphereScissorsTool, RectangleROIThresholdTool, RectangleROIStartEndThresholdTool, SplineContourSegmentationTool, BrushTool, MagnifyTool, AdvancedMagnifyTool, ReferenceLines, PaintFillTool, ScaleOverlayTool, OrientationMarkerTool, SegmentSelectTool, };
|
package/dist/cjs/tools/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SegmentSelectTool = exports.OrientationMarkerTool = exports.ScaleOverlayTool = exports.PaintFillTool = exports.ReferenceLines = exports.AdvancedMagnifyTool = exports.MagnifyTool = exports.BrushTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.KeyImageTool = exports.UltrasoundDirectionalTool = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.LivewireContourTool = exports.PlanarFreehandROITool = exports.SplineROITool = exports.CircleROITool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.LengthTool = exports.BidirectionalTool = exports.SegmentationIntersectionTool = exports.OverlayGridTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.ReferenceCursors = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.ZoomTool = exports.StackScrollMouseWheelTool = exports.PlanarRotateTool = exports.StackScrollTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationDisplayTool = exports.AnnotationTool = exports.BaseTool = void 0;
|
|
6
|
+
exports.SegmentSelectTool = exports.OrientationMarkerTool = exports.ScaleOverlayTool = exports.PaintFillTool = exports.ReferenceLines = exports.AdvancedMagnifyTool = exports.MagnifyTool = exports.BrushTool = exports.SplineContourSegmentationTool = exports.RectangleROIStartEndThresholdTool = exports.RectangleROIThresholdTool = exports.SphereScissorsTool = exports.CircleScissorsTool = exports.RectangleScissorsTool = exports.SegmentationDisplayTool = exports.KeyImageTool = exports.UltrasoundDirectionalTool = exports.CobbAngleTool = exports.AngleTool = exports.ArrowAnnotateTool = exports.LivewireContourSegmentationTool = exports.LivewireContourTool = exports.PlanarFreehandContourSegmentationTool = exports.PlanarFreehandROITool = exports.SplineROITool = exports.CircleROITool = exports.EllipticalROITool = exports.RectangleROITool = exports.ProbeTool = exports.LengthTool = exports.BidirectionalTool = exports.SegmentationIntersectionTool = exports.OverlayGridTool = exports.ReferenceLinesTool = exports.CrosshairsTool = exports.ReferenceCursors = exports.MIPJumpToClickTool = exports.VolumeRotateMouseWheelTool = exports.ZoomTool = exports.StackScrollMouseWheelTool = exports.PlanarRotateTool = exports.StackScrollTool = exports.WindowLevelTool = exports.DragProbeTool = exports.TrackballRotateTool = exports.PanTool = exports.AnnotationDisplayTool = exports.AnnotationTool = exports.BaseTool = void 0;
|
|
7
7
|
const base_1 = require("./base");
|
|
8
8
|
Object.defineProperty(exports, "BaseTool", { enumerable: true, get: function () { return base_1.BaseTool; } });
|
|
9
9
|
Object.defineProperty(exports, "AnnotationTool", { enumerable: true, get: function () { return base_1.AnnotationTool; } });
|
|
@@ -60,10 +60,16 @@ const CircleROITool_1 = __importDefault(require("./annotation/CircleROITool"));
|
|
|
60
60
|
exports.CircleROITool = CircleROITool_1.default;
|
|
61
61
|
const SplineROITool_1 = __importDefault(require("./annotation/SplineROITool"));
|
|
62
62
|
exports.SplineROITool = SplineROITool_1.default;
|
|
63
|
+
const SplineContourSegmentationTool_1 = __importDefault(require("./annotation/SplineContourSegmentationTool"));
|
|
64
|
+
exports.SplineContourSegmentationTool = SplineContourSegmentationTool_1.default;
|
|
63
65
|
const PlanarFreehandROITool_1 = __importDefault(require("./annotation/PlanarFreehandROITool"));
|
|
64
66
|
exports.PlanarFreehandROITool = PlanarFreehandROITool_1.default;
|
|
67
|
+
const PlanarFreehandContourSegmentationTool_1 = __importDefault(require("./annotation/PlanarFreehandContourSegmentationTool"));
|
|
68
|
+
exports.PlanarFreehandContourSegmentationTool = PlanarFreehandContourSegmentationTool_1.default;
|
|
65
69
|
const LivewireContourTool_1 = __importDefault(require("./annotation/LivewireContourTool"));
|
|
66
70
|
exports.LivewireContourTool = LivewireContourTool_1.default;
|
|
71
|
+
const LivewireContourSegmentationTool_1 = __importDefault(require("./annotation/LivewireContourSegmentationTool"));
|
|
72
|
+
exports.LivewireContourSegmentationTool = LivewireContourSegmentationTool_1.default;
|
|
67
73
|
const ArrowAnnotateTool_1 = __importDefault(require("./annotation/ArrowAnnotateTool"));
|
|
68
74
|
exports.ArrowAnnotateTool = ArrowAnnotateTool_1.default;
|
|
69
75
|
const AngleTool_1 = __importDefault(require("./annotation/AngleTool"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAyE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAyE;AAwDvE,yFAxDO,eAAQ,OAwDP;AACR,+FAzDiB,qBAAc,OAyDjB;AACd,sGA1DiC,4BAAqB,OA0DjC;AAzDvB,wDAAgC;AA2D9B,kBA3DK,iBAAO,CA2DL;AA1DT,gFAAwD;AA2DtD,8BA3DK,6BAAmB,CA2DL;AA1DrB,wEAAgD;AA4D9C,0BA5DK,yBAAe,CA4DL;AA3DjB,wEAAgD;AA4D9C,0BA5DK,yBAAe,CA4DL;AA3DjB,0EAAkD;AA4DhD,2BA5DK,0BAAgB,CA4DL;AA3DlB,oGAAwE;AA4DtE,oCA5DK,uCAAyB,CA4DL;AA3D3B,0DAAkC;AA4DhC,mBA5DK,kBAAQ,CA4DL;AA3DV,8FAAsE;AA4DpE,qCA5DK,oCAA0B,CA4DL;AA3D5B,8EAAsD;AA4DpD,6BA5DK,4BAAkB,CA4DL;AA3DpB,sEAA8C;AA8D5C,yBA9DK,wBAAc,CA8DL;AA7DhB,gEAAwC;AA2FtC,sBA3FK,qBAAW,CA2FL;AA1Fb,gFAAwD;AA2FtD,8BA3FK,6BAAmB,CA2FL;AA1FrB,8EAAsD;AA4DpD,6BA5DK,4BAAkB,CA4DL;AA3DpB,wEAAgD;AA4D9C,0BA5DK,yBAAe,CA4DL;AA3DjB,kGAA0E;AA4DxE,uCA5DK,sCAA4B,CA4DL;AA3D9B,0EAAkD;AAsDhD,2BAtDK,0BAAgB,CAsDL;AArDlB,8EAAkD;AAuFhD,yBAvFK,4BAAc,CAuFL;AAtFhB,0EAAkD;AAwFhD,2BAxFK,0BAAgB,CAwFL;AArFlB,uFAA+D;AAuD7D,4BAvDK,2BAAiB,CAuDL;AAtDnB,yEAAiD;AAuD/C,qBAvDK,oBAAU,CAuDL;AAtDZ,uEAA+C;AAuD7C,oBAvDK,mBAAS,CAuDL;AAtDX,+EAAuD;AAsCrD,wBAtCK,uBAAa,CAsCL;AArCf,qFAA6D;AAsD3D,2BAtDK,0BAAgB,CAsDL;AArDlB,uFAA+D;AAsD7D,4BAtDK,2BAAiB,CAsDL;AArDnB,+EAAuD;AAsDrD,wBAtDK,uBAAa,CAsDL;AArDf,+EAAuD;AAsDrD,wBAtDK,uBAAa,CAsDL;AArDf,+GAAuF;AAuErF,wCAvEK,uCAA6B,CAuEL;AAtE/B,+FAAuE;AAqDrE,gCArDK,+BAAqB,CAqDL;AApDvB,+HAAuG;AAqDrG,gDArDK,+CAAqC,CAqDL;AApDvC,2FAAmE;AAqDjE,8BArDK,6BAAmB,CAqDL;AApDrB,mHAA2F;AAqDzF,0CArDK,yCAA+B,CAqDL;AApDjC,uFAA+D;AAqD7D,4BArDK,2BAAiB,CAqDL;AApDnB,uEAA+C;AAqD7C,oBArDK,mBAAS,CAqDL;AApDX,+EAAuD;AAqDrD,wBArDK,uBAAa,CAqDL;AApDf,uGAA+E;AAqD7E,oCArDK,mCAAyB,CAqDL;AApD3B,6EAAqD;AAqDnD,uBArDK,sBAAY,CAqDL;AAlDd,qGAA6E;AAoD3E,kCApDK,iCAAuB,CAoDL;AAjDzB,iGAAyE;AAmDvE,gCAnDK,+BAAqB,CAmDL;AAlDvB,2FAAmE;AAmDjE,6BAnDK,4BAAkB,CAmDL;AAlDpB,2FAAmE;AAmDjE,6BAnDK,4BAAkB,CAmDL;AAlDpB,yGAAiF;AAmD/E,oCAnDK,mCAAyB,CAmDL;AAlD3B,yHAAiG;AAmD/F,4CAnDK,2CAAiC,CAmDL;AAlDnC,yEAAiD;AAoD/C,oBApDK,mBAAS,CAoDL;AAnDX,iFAAyD;AAuDvD,wBAvDK,uBAAa,CAuDL;AAtDf,oFAA4D;AAwD1D,gCAxDK,+BAAqB,CAwDL;AAvDvB,yFAAiE;AAwD/D,4BAxDK,2BAAiB,CAwDL"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import { Annotation } from './AnnotationTypes';
|
|
3
|
+
export declare type ContourAnnotationData = {
|
|
4
|
+
data: {
|
|
5
|
+
contour: {
|
|
6
|
+
polyline: Types.Point3[];
|
|
7
|
+
closed: boolean;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare type ContourAnnotation = Annotation & ContourAnnotationData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContourAnnotation.js","sourceRoot":"","sources":["../../../src/types/ContourAnnotation.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ContourAnnotation } from './ContourAnnotation';
|
|
2
|
+
export declare type ContourSegmentationAnnotationData = {
|
|
3
|
+
data: {
|
|
4
|
+
segmentation: {
|
|
5
|
+
segmentationId: string;
|
|
6
|
+
segmentIndex: number;
|
|
7
|
+
segmentationRepresentationUID: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare type ContourSegmentationAnnotation = ContourAnnotation & ContourSegmentationAnnotationData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContourSegmentationAnnotation.js","sourceRoot":"","sources":["../../../src/types/ContourSegmentationAnnotation.ts"],"names":[],"mappings":""}
|
|
@@ -3,6 +3,8 @@ export declare type ContourConfig = {
|
|
|
3
3
|
outlineWidthInactive?: number;
|
|
4
4
|
outlineOpacity?: number;
|
|
5
5
|
outlineOpacityInactive?: number;
|
|
6
|
+
outlineDashActive?: string;
|
|
7
|
+
outlineDashInactive?: string;
|
|
6
8
|
renderOutline?: boolean;
|
|
7
9
|
renderFill?: boolean;
|
|
8
10
|
fillAlpha?: number;
|
|
@@ -10,5 +12,6 @@ export declare type ContourConfig = {
|
|
|
10
12
|
};
|
|
11
13
|
export declare type ContourRenderingConfig = {};
|
|
12
14
|
export declare type ContourSegmentationData = {
|
|
13
|
-
geometryIds
|
|
15
|
+
geometryIds?: string[];
|
|
16
|
+
annotationUIDsMap?: Map<number, Set<string>>;
|
|
14
17
|
};
|
|
@@ -74,7 +74,7 @@ export declare type SegmentationPublicInput = {
|
|
|
74
74
|
segmentationId: string;
|
|
75
75
|
representation: {
|
|
76
76
|
type: Enums.SegmentationRepresentations;
|
|
77
|
-
data
|
|
77
|
+
data?: LabelmapSegmentationData | ContourSegmentationData | SurfaceSegmentationData;
|
|
78
78
|
};
|
|
79
79
|
};
|
|
80
80
|
export declare type RepresentationPublicInput = {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Types } from '@cornerstonejs/core';
|
|
2
2
|
import { Annotation } from './AnnotationTypes';
|
|
3
3
|
import { ISpline } from './';
|
|
4
|
+
import { ContourSegmentationAnnotationData } from './ContourSegmentationAnnotation';
|
|
5
|
+
import { ContourAnnotation } from './ContourAnnotation';
|
|
4
6
|
interface ROICachedStats {
|
|
5
7
|
[targetId: string]: {
|
|
6
8
|
Modality: string;
|
|
@@ -111,29 +113,13 @@ export interface CircleROIAnnotation extends Annotation {
|
|
|
111
113
|
};
|
|
112
114
|
};
|
|
113
115
|
}
|
|
114
|
-
export
|
|
116
|
+
export declare type SplineROIAnnotation = ContourAnnotation & {
|
|
115
117
|
data: {
|
|
116
118
|
label?: string;
|
|
117
|
-
handles: {
|
|
118
|
-
points: Types.Point3[];
|
|
119
|
-
activeHandleIndex: number | null;
|
|
120
|
-
textBox?: {
|
|
121
|
-
hasMoved: boolean;
|
|
122
|
-
worldPosition: Types.Point3;
|
|
123
|
-
worldBoundingBox: {
|
|
124
|
-
topLeft: Types.Point3;
|
|
125
|
-
topRight: Types.Point3;
|
|
126
|
-
bottomLeft: Types.Point3;
|
|
127
|
-
bottomRight: Types.Point3;
|
|
128
|
-
};
|
|
129
|
-
};
|
|
130
|
-
};
|
|
131
119
|
spline: {
|
|
132
120
|
type: string;
|
|
133
121
|
instance: ISpline;
|
|
134
122
|
resolution: number;
|
|
135
|
-
polyline: Types.Point3[];
|
|
136
|
-
closed: boolean;
|
|
137
123
|
};
|
|
138
124
|
cachedStats?: {
|
|
139
125
|
[targetId: string]: {
|
|
@@ -143,17 +129,14 @@ export interface SplineROIAnnotation extends Annotation {
|
|
|
143
129
|
};
|
|
144
130
|
};
|
|
145
131
|
};
|
|
146
|
-
}
|
|
147
|
-
export
|
|
132
|
+
};
|
|
133
|
+
export declare type SplineContourSegmentationAnnotation = SplineROIAnnotation & ContourSegmentationAnnotationData;
|
|
134
|
+
export declare type LivewireContourAnnotation = ContourAnnotation & {
|
|
148
135
|
data: {
|
|
149
|
-
polyline: Types.Point3[];
|
|
150
136
|
label?: string;
|
|
151
|
-
handles: {
|
|
152
|
-
points: Types.Point3[];
|
|
153
|
-
activeHandleIndex: number | null;
|
|
154
|
-
};
|
|
155
137
|
};
|
|
156
|
-
}
|
|
138
|
+
};
|
|
139
|
+
export declare type LivewireContourSegmentationAnnotation = LivewireContourAnnotation & ContourSegmentationAnnotationData;
|
|
157
140
|
export interface EllipticalROIAnnotation extends Annotation {
|
|
158
141
|
data: {
|
|
159
142
|
handles: {
|
|
@@ -250,40 +233,16 @@ export interface RectangleROIStartEndThresholdAnnotation extends Annotation {
|
|
|
250
233
|
};
|
|
251
234
|
};
|
|
252
235
|
}
|
|
253
|
-
export
|
|
254
|
-
metadata: {
|
|
255
|
-
cameraPosition?: Types.Point3;
|
|
256
|
-
cameraFocalPoint?: Types.Point3;
|
|
257
|
-
viewPlaneNormal?: Types.Point3;
|
|
258
|
-
viewUp?: Types.Point3;
|
|
259
|
-
annotationUID?: string;
|
|
260
|
-
FrameOfReferenceUID: string;
|
|
261
|
-
referencedImageId?: string;
|
|
262
|
-
toolName: string;
|
|
263
|
-
};
|
|
236
|
+
export declare type PlanarFreehandROIAnnotation = ContourAnnotation & {
|
|
264
237
|
data: {
|
|
265
|
-
polyline: Types.Point3[];
|
|
266
238
|
label?: string;
|
|
267
239
|
isOpenContour?: boolean;
|
|
268
240
|
isOpenUShapeContour?: boolean;
|
|
269
241
|
openUShapeContourVectorToPeak?: Types.Point3[];
|
|
270
|
-
handles: {
|
|
271
|
-
points: Types.Point3[];
|
|
272
|
-
activeHandleIndex: number | null;
|
|
273
|
-
textBox: {
|
|
274
|
-
hasMoved: boolean;
|
|
275
|
-
worldPosition: Types.Point3;
|
|
276
|
-
worldBoundingBox: {
|
|
277
|
-
topLeft: Types.Point3;
|
|
278
|
-
topRight: Types.Point3;
|
|
279
|
-
bottomLeft: Types.Point3;
|
|
280
|
-
bottomRight: Types.Point3;
|
|
281
|
-
};
|
|
282
|
-
};
|
|
283
|
-
};
|
|
284
242
|
cachedStats?: ROICachedStats;
|
|
285
243
|
};
|
|
286
|
-
}
|
|
244
|
+
};
|
|
245
|
+
export declare type PlanarFreehandContourSegmentationAnnotation = PlanarFreehandROIAnnotation & ContourSegmentationAnnotationData;
|
|
287
246
|
export interface ArrowAnnotation extends Annotation {
|
|
288
247
|
data: {
|
|
289
248
|
text: string;
|