@cornerstonejs/tools 1.33.0 → 1.35.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/eventDispatchers/mouseEventHandlers/mouseDown.js +4 -4
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
- package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +3 -2
- package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/store/SynchronizerManager/Synchronizer.d.ts +1 -0
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js +17 -1
- package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .d.ts +1 -1
- package/dist/cjs/synchronizers/callbacks/areViewportsCoplanar .js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/{stackImageSyncCallback.d.ts → imageSliceSyncCallback.d.ts} +1 -1
- package/dist/cjs/synchronizers/callbacks/{stackImageSyncCallback.js → imageSliceSyncCallback.js} +8 -4
- package/dist/cjs/synchronizers/callbacks/{stackImageSyncCallback.js.map → imageSliceSyncCallback.js.map} +1 -1
- package/dist/cjs/synchronizers/index.d.ts +3 -2
- package/dist/cjs/synchronizers/index.js +5 -3
- package/dist/cjs/synchronizers/index.js.map +1 -1
- package/dist/cjs/synchronizers/synchronizers/{createStackImageSynchronizer.d.ts → createImageSliceSynchronizer.d.ts} +1 -1
- package/dist/cjs/synchronizers/synchronizers/createImageSliceSynchronizer.js +17 -0
- package/dist/cjs/synchronizers/synchronizers/createImageSliceSynchronizer.js.map +1 -0
- package/dist/cjs/synchronizers/synchronizers/index.d.ts +3 -2
- package/dist/cjs/synchronizers/synchronizers/index.js +5 -3
- package/dist/cjs/synchronizers/synchronizers/index.js.map +1 -1
- package/dist/cjs/tools/AdvancedMagnifyTool.d.ts +4 -0
- package/dist/cjs/tools/AdvancedMagnifyTool.js +8 -3
- package/dist/cjs/tools/AdvancedMagnifyTool.js.map +1 -1
- package/dist/cjs/tools/annotation/SplineROITool.d.ts +59 -0
- package/dist/cjs/tools/annotation/SplineROITool.js +709 -0
- package/dist/cjs/tools/annotation/SplineROITool.js.map +1 -0
- package/dist/cjs/tools/annotation/splines/BSpline.d.ts +5 -0
- package/dist/cjs/tools/annotation/splines/BSpline.js +14 -0
- package/dist/cjs/tools/annotation/splines/BSpline.js.map +1 -0
- package/dist/cjs/tools/annotation/splines/CardinalSpline.d.ts +12 -0
- package/dist/cjs/tools/annotation/splines/CardinalSpline.js +38 -0
- package/dist/cjs/tools/annotation/splines/CardinalSpline.js.map +1 -0
- package/dist/cjs/tools/annotation/splines/CatmullRomSpline.d.ts +5 -0
- package/dist/cjs/tools/annotation/splines/CatmullRomSpline.js +12 -0
- package/dist/cjs/tools/annotation/splines/CatmullRomSpline.js.map +1 -0
- package/dist/cjs/tools/annotation/splines/CubicSpline.d.ts +13 -0
- package/dist/cjs/tools/annotation/splines/CubicSpline.js +192 -0
- package/dist/cjs/tools/annotation/splines/CubicSpline.js.map +1 -0
- package/dist/cjs/tools/annotation/splines/LinearSpline.d.ts +5 -0
- package/dist/cjs/tools/annotation/splines/LinearSpline.js +12 -0
- package/dist/cjs/tools/annotation/splines/LinearSpline.js.map +1 -0
- package/dist/cjs/tools/annotation/splines/QuadraticBezier.d.ts +6 -0
- package/dist/cjs/tools/annotation/splines/QuadraticBezier.js +20 -0
- package/dist/cjs/tools/annotation/splines/QuadraticBezier.js.map +1 -0
- package/dist/cjs/tools/annotation/splines/QuadraticSpline.d.ts +9 -0
- package/dist/cjs/tools/annotation/splines/QuadraticSpline.js +18 -0
- package/dist/cjs/tools/annotation/splines/QuadraticSpline.js.map +1 -0
- package/dist/cjs/tools/annotation/splines/Spline.d.ts +49 -0
- package/dist/cjs/tools/annotation/splines/Spline.js +420 -0
- package/dist/cjs/tools/annotation/splines/Spline.js.map +1 -0
- package/dist/cjs/tools/index.d.ts +2 -1
- package/dist/cjs/tools/index.js +3 -1
- package/dist/cjs/tools/index.js.map +1 -1
- package/dist/cjs/types/CardinalSplineProps.d.ts +5 -0
- package/dist/cjs/types/CardinalSplineProps.js +3 -0
- package/dist/cjs/types/CardinalSplineProps.js.map +1 -0
- package/dist/cjs/types/ClosestControlPoint.d.ts +4 -0
- package/dist/cjs/types/ClosestControlPoint.js +3 -0
- package/dist/cjs/types/ClosestControlPoint.js.map +1 -0
- package/dist/cjs/types/ClosestPoint.d.ts +5 -0
- package/dist/cjs/types/ClosestPoint.js +3 -0
- package/dist/cjs/types/ClosestPoint.js.map +1 -0
- package/dist/cjs/types/ClosestSplinePoint.d.ts +4 -0
- package/dist/cjs/types/ClosestSplinePoint.js +3 -0
- package/dist/cjs/types/ClosestSplinePoint.js.map +1 -0
- package/dist/cjs/types/ControlPointInfo.d.ts +5 -0
- package/dist/cjs/types/ControlPointInfo.js +3 -0
- package/dist/cjs/types/ControlPointInfo.js.map +1 -0
- package/dist/cjs/types/ISpline.d.ts +29 -0
- package/dist/cjs/types/ISpline.js +3 -0
- package/dist/cjs/types/ISpline.js.map +1 -0
- package/dist/cjs/types/SplineCurveSegment.d.ts +14 -0
- package/dist/cjs/types/SplineCurveSegment.js +3 -0
- package/dist/cjs/types/SplineCurveSegment.js.map +1 -0
- package/dist/cjs/types/SplineLineSegment.d.ts +10 -0
- package/dist/cjs/types/SplineLineSegment.js +3 -0
- package/dist/cjs/types/SplineLineSegment.js.map +1 -0
- package/dist/cjs/types/SplineProps.d.ts +4 -0
- package/dist/cjs/types/SplineProps.js +3 -0
- package/dist/cjs/types/SplineProps.js.map +1 -0
- package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +34 -0
- package/dist/cjs/types/index.d.ts +10 -1
- package/dist/cjs/utilities/index.d.ts +2 -3
- package/dist/cjs/utilities/index.js +5 -5
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/math/aabb/distanceToPoint.d.ts +2 -0
- package/dist/cjs/utilities/math/aabb/distanceToPoint.js +11 -0
- package/dist/cjs/utilities/math/aabb/distanceToPoint.js.map +1 -0
- package/dist/cjs/utilities/math/aabb/distanceToPointSquared.d.ts +2 -0
- package/dist/cjs/utilities/math/aabb/distanceToPointSquared.js +24 -0
- package/dist/cjs/utilities/math/aabb/distanceToPointSquared.js.map +1 -0
- package/dist/cjs/utilities/math/aabb/index.d.ts +2 -0
- package/dist/cjs/utilities/math/aabb/index.js +11 -0
- package/dist/cjs/utilities/math/aabb/index.js.map +1 -0
- package/dist/cjs/utilities/math/index.d.ts +6 -5
- package/dist/cjs/utilities/math/index.js +11 -9
- package/dist/cjs/utilities/math/index.js.map +1 -1
- package/dist/cjs/utilities/math/line/distanceToPointSquared.js +5 -21
- package/dist/cjs/utilities/math/line/distanceToPointSquared.js.map +1 -1
- package/dist/cjs/utilities/math/line/distanceToPointSquaredInfo.d.ts +5 -0
- package/dist/cjs/utilities/math/line/distanceToPointSquaredInfo.js +56 -0
- package/dist/cjs/utilities/math/line/distanceToPointSquaredInfo.js.map +1 -0
- package/dist/cjs/utilities/math/line/index.d.ts +2 -1
- package/dist/cjs/utilities/math/line/index.js +3 -1
- package/dist/cjs/utilities/math/line/index.js.map +1 -1
- package/dist/cjs/utilities/math/point/distanceToPoint.js +5 -6
- package/dist/cjs/utilities/math/point/distanceToPoint.js.map +1 -1
- package/dist/cjs/utilities/math/point/distanceToPointSquared.d.ts +4 -0
- package/dist/cjs/utilities/math/point/distanceToPointSquared.js +12 -0
- package/dist/cjs/utilities/math/point/distanceToPointSquared.js.map +1 -0
- package/dist/cjs/utilities/math/point/index.d.ts +3 -2
- package/dist/cjs/utilities/math/point/index.js +7 -3
- package/dist/cjs/utilities/math/point/index.js.map +1 -1
- package/dist/cjs/utilities/math/point/mirror.d.ts +2 -0
- package/dist/cjs/utilities/math/point/mirror.js +11 -0
- package/dist/cjs/utilities/math/point/mirror.js.map +1 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +4 -4
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +2 -1
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.js +17 -1
- package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/areViewportsCoplanar .js.map +1 -1
- package/dist/esm/synchronizers/callbacks/{stackImageSyncCallback.js → imageSliceSyncCallback.js} +8 -4
- package/dist/esm/synchronizers/callbacks/imageSliceSyncCallback.js.map +1 -0
- package/dist/esm/synchronizers/index.js +3 -2
- package/dist/esm/synchronizers/index.js.map +1 -1
- package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.js +11 -0
- package/dist/esm/synchronizers/synchronizers/createImageSliceSynchronizer.js.map +1 -0
- package/dist/esm/synchronizers/synchronizers/index.js +3 -2
- package/dist/esm/synchronizers/synchronizers/index.js.map +1 -1
- package/dist/esm/tools/AdvancedMagnifyTool.js +8 -3
- package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -1
- package/dist/esm/tools/annotation/SplineROITool.js +703 -0
- package/dist/esm/tools/annotation/SplineROITool.js.map +1 -0
- package/dist/esm/tools/annotation/splines/BSpline.js +10 -0
- package/dist/esm/tools/annotation/splines/BSpline.js.map +1 -0
- package/dist/esm/tools/annotation/splines/CardinalSpline.js +33 -0
- package/dist/esm/tools/annotation/splines/CardinalSpline.js.map +1 -0
- package/dist/esm/tools/annotation/splines/CatmullRomSpline.js +8 -0
- package/dist/esm/tools/annotation/splines/CatmullRomSpline.js.map +1 -0
- package/dist/esm/tools/annotation/splines/CubicSpline.js +165 -0
- package/dist/esm/tools/annotation/splines/CubicSpline.js.map +1 -0
- package/dist/esm/tools/annotation/splines/LinearSpline.js +8 -0
- package/dist/esm/tools/annotation/splines/LinearSpline.js.map +1 -0
- package/dist/esm/tools/annotation/splines/QuadraticBezier.js +16 -0
- package/dist/esm/tools/annotation/splines/QuadraticBezier.js.map +1 -0
- package/dist/esm/tools/annotation/splines/QuadraticSpline.js +14 -0
- package/dist/esm/tools/annotation/splines/QuadraticSpline.js.map +1 -0
- package/dist/esm/tools/annotation/splines/Spline.js +392 -0
- package/dist/esm/tools/annotation/splines/Spline.js.map +1 -0
- package/dist/esm/tools/index.js +2 -1
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/types/CardinalSplineProps.js +2 -0
- package/dist/esm/types/CardinalSplineProps.js.map +1 -0
- package/dist/esm/types/ClosestControlPoint.js +2 -0
- package/dist/esm/types/ClosestControlPoint.js.map +1 -0
- package/dist/esm/types/ClosestPoint.js +2 -0
- package/dist/esm/types/ClosestPoint.js.map +1 -0
- package/dist/esm/types/ClosestSplinePoint.js +2 -0
- package/dist/esm/types/ClosestSplinePoint.js.map +1 -0
- package/dist/esm/types/ControlPointInfo.js +2 -0
- package/dist/esm/types/ControlPointInfo.js.map +1 -0
- package/dist/esm/types/ISpline.js +2 -0
- package/dist/esm/types/ISpline.js.map +1 -0
- package/dist/esm/types/SplineCurveSegment.js +2 -0
- package/dist/esm/types/SplineCurveSegment.js.map +1 -0
- package/dist/esm/types/SplineLineSegment.js +2 -0
- package/dist/esm/types/SplineLineSegment.js.map +1 -0
- package/dist/esm/types/SplineProps.js +2 -0
- package/dist/esm/types/SplineProps.js.map +1 -0
- package/dist/esm/utilities/index.js +2 -3
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/math/aabb/distanceToPoint.js +5 -0
- package/dist/esm/utilities/math/aabb/distanceToPoint.js.map +1 -0
- package/dist/esm/utilities/math/aabb/distanceToPointSquared.js +21 -0
- package/dist/esm/utilities/math/aabb/distanceToPointSquared.js.map +1 -0
- package/dist/esm/utilities/math/aabb/index.js +3 -0
- package/dist/esm/utilities/math/aabb/index.js.map +1 -0
- package/dist/esm/utilities/math/index.js +6 -5
- package/dist/esm/utilities/math/index.js.map +1 -1
- package/dist/esm/utilities/math/line/distanceToPointSquared.js +2 -21
- package/dist/esm/utilities/math/line/distanceToPointSquared.js.map +1 -1
- package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js +30 -0
- package/dist/esm/utilities/math/line/distanceToPointSquaredInfo.js.map +1 -0
- package/dist/esm/utilities/math/line/index.js +2 -1
- package/dist/esm/utilities/math/line/index.js.map +1 -1
- package/dist/esm/utilities/math/point/distanceToPoint.js +2 -6
- package/dist/esm/utilities/math/point/distanceToPoint.js.map +1 -1
- package/dist/esm/utilities/math/point/distanceToPointSquared.js +9 -0
- package/dist/esm/utilities/math/point/distanceToPointSquared.js.map +1 -0
- package/dist/esm/utilities/math/point/index.js +3 -2
- package/dist/esm/utilities/math/point/index.js.map +1 -1
- package/dist/esm/utilities/math/point/mirror.js +8 -0
- package/dist/esm/utilities/math/point/mirror.js.map +1 -0
- package/dist/types/eventDispatchers/mouseEventHandlers/mouseDown.d.ts.map +1 -1
- package/dist/types/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/store/SynchronizerManager/Synchronizer.d.ts +1 -0
- package/dist/types/store/SynchronizerManager/Synchronizer.d.ts.map +1 -1
- package/dist/types/synchronizers/callbacks/areViewportsCoplanar .d.ts +1 -1
- package/dist/types/synchronizers/callbacks/areViewportsCoplanar .d.ts.map +1 -1
- package/dist/types/synchronizers/callbacks/{stackImageSyncCallback.d.ts → imageSliceSyncCallback.d.ts} +2 -2
- package/dist/types/synchronizers/callbacks/imageSliceSyncCallback.d.ts.map +1 -0
- package/dist/types/synchronizers/index.d.ts +3 -2
- package/dist/types/synchronizers/index.d.ts.map +1 -1
- package/dist/types/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts +3 -0
- package/dist/types/synchronizers/synchronizers/createImageSliceSynchronizer.d.ts.map +1 -0
- package/dist/types/synchronizers/synchronizers/index.d.ts +3 -2
- package/dist/types/synchronizers/synchronizers/index.d.ts.map +1 -1
- package/dist/types/tools/AdvancedMagnifyTool.d.ts +4 -0
- package/dist/types/tools/AdvancedMagnifyTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/SplineROITool.d.ts +60 -0
- package/dist/types/tools/annotation/SplineROITool.d.ts.map +1 -0
- package/dist/types/tools/annotation/splines/BSpline.d.ts +6 -0
- package/dist/types/tools/annotation/splines/BSpline.d.ts.map +1 -0
- package/dist/types/tools/annotation/splines/CardinalSpline.d.ts +13 -0
- package/dist/types/tools/annotation/splines/CardinalSpline.d.ts.map +1 -0
- package/dist/types/tools/annotation/splines/CatmullRomSpline.d.ts +6 -0
- package/dist/types/tools/annotation/splines/CatmullRomSpline.d.ts.map +1 -0
- package/dist/types/tools/annotation/splines/CubicSpline.d.ts +14 -0
- package/dist/types/tools/annotation/splines/CubicSpline.d.ts.map +1 -0
- package/dist/types/tools/annotation/splines/LinearSpline.d.ts +6 -0
- package/dist/types/tools/annotation/splines/LinearSpline.d.ts.map +1 -0
- package/dist/types/tools/annotation/splines/QuadraticBezier.d.ts +7 -0
- package/dist/types/tools/annotation/splines/QuadraticBezier.d.ts.map +1 -0
- package/dist/types/tools/annotation/splines/QuadraticSpline.d.ts +10 -0
- package/dist/types/tools/annotation/splines/QuadraticSpline.d.ts.map +1 -0
- package/dist/types/tools/annotation/splines/Spline.d.ts +50 -0
- package/dist/types/tools/annotation/splines/Spline.d.ts.map +1 -0
- package/dist/types/tools/index.d.ts +2 -1
- package/dist/types/tools/index.d.ts.map +1 -1
- package/dist/types/types/CardinalSplineProps.d.ts +6 -0
- package/dist/types/types/CardinalSplineProps.d.ts.map +1 -0
- package/dist/types/types/ClosestControlPoint.d.ts +5 -0
- package/dist/types/types/ClosestControlPoint.d.ts.map +1 -0
- package/dist/types/types/ClosestPoint.d.ts +6 -0
- package/dist/types/types/ClosestPoint.d.ts.map +1 -0
- package/dist/types/types/ClosestSplinePoint.d.ts +5 -0
- package/dist/types/types/ClosestSplinePoint.d.ts.map +1 -0
- package/dist/types/types/ControlPointInfo.d.ts +6 -0
- package/dist/types/types/ControlPointInfo.d.ts.map +1 -0
- package/dist/types/types/ISpline.d.ts +30 -0
- package/dist/types/types/ISpline.d.ts.map +1 -0
- package/dist/types/types/SplineCurveSegment.d.ts +15 -0
- package/dist/types/types/SplineCurveSegment.d.ts.map +1 -0
- package/dist/types/types/SplineLineSegment.d.ts +11 -0
- package/dist/types/types/SplineLineSegment.d.ts.map +1 -0
- package/dist/types/types/SplineProps.d.ts +5 -0
- package/dist/types/types/SplineProps.d.ts.map +1 -0
- package/dist/types/types/ToolSpecificAnnotationTypes.d.ts +34 -0
- package/dist/types/types/ToolSpecificAnnotationTypes.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +10 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utilities/index.d.ts +2 -3
- package/dist/types/utilities/index.d.ts.map +1 -1
- package/dist/types/utilities/math/aabb/distanceToPoint.d.ts +3 -0
- package/dist/types/utilities/math/aabb/distanceToPoint.d.ts.map +1 -0
- package/dist/types/utilities/math/aabb/distanceToPointSquared.d.ts +3 -0
- package/dist/types/utilities/math/aabb/distanceToPointSquared.d.ts.map +1 -0
- package/dist/types/utilities/math/aabb/index.d.ts +3 -0
- package/dist/types/utilities/math/aabb/index.d.ts.map +1 -0
- package/dist/types/utilities/math/index.d.ts +6 -5
- package/dist/types/utilities/math/index.d.ts.map +1 -1
- package/dist/types/utilities/math/line/distanceToPointSquared.d.ts.map +1 -1
- package/dist/types/utilities/math/line/distanceToPointSquaredInfo.d.ts +6 -0
- package/dist/types/utilities/math/line/distanceToPointSquaredInfo.d.ts.map +1 -0
- package/dist/types/utilities/math/line/index.d.ts +2 -1
- package/dist/types/utilities/math/line/index.d.ts.map +1 -1
- package/dist/types/utilities/math/point/distanceToPoint.d.ts.map +1 -1
- package/dist/types/utilities/math/point/distanceToPointSquared.d.ts +5 -0
- package/dist/types/utilities/math/point/distanceToPointSquared.d.ts.map +1 -0
- package/dist/types/utilities/math/point/index.d.ts +3 -2
- package/dist/types/utilities/math/point/index.d.ts.map +1 -1
- package/dist/types/utilities/math/point/mirror.d.ts +3 -0
- package/dist/types/utilities/math/point/mirror.d.ts.map +1 -0
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.LICENSE.txt +6 -0
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/eventDispatchers/mouseEventHandlers/mouseDown.ts +8 -6
- package/src/eventDispatchers/shared/getToolsWithActionsForMouseEvent.ts +3 -2
- package/src/index.ts +2 -0
- package/src/store/SynchronizerManager/Synchronizer.ts +28 -3
- package/src/synchronizers/callbacks/areViewportsCoplanar .ts +2 -2
- package/src/synchronizers/callbacks/{stackImageSyncCallback.ts → imageSliceSyncCallback.ts} +16 -8
- package/src/synchronizers/index.ts +5 -1
- package/src/synchronizers/synchronizers/{createStackImageSynchronizer.ts → createImageSliceSynchronizer.ts} +8 -5
- package/src/synchronizers/synchronizers/index.ts +4 -1
- package/src/tools/AdvancedMagnifyTool.ts +8 -3
- package/src/tools/annotation/SplineROITool.ts +1151 -0
- package/src/tools/annotation/splines/BSpline.ts +22 -0
- package/src/tools/annotation/splines/CardinalSpline.ts +45 -0
- package/src/tools/annotation/splines/CatmullRomSpline.ts +19 -0
- package/src/tools/annotation/splines/CubicSpline.ts +288 -0
- package/src/tools/annotation/splines/LinearSpline.ts +20 -0
- package/src/tools/annotation/splines/QuadraticBezier.ts +20 -0
- package/src/tools/annotation/splines/QuadraticSpline.ts +25 -0
- package/src/tools/annotation/splines/Spline.ts +729 -0
- package/src/tools/index.ts +2 -0
- package/src/types/CardinalSplineProps.ts +11 -0
- package/src/types/ClosestControlPoint.ts +6 -0
- package/src/types/ClosestPoint.ts +8 -0
- package/src/types/ClosestSplinePoint.ts +6 -0
- package/src/types/ControlPointInfo.ts +8 -0
- package/src/types/ISpline.ts +164 -0
- package/src/types/SplineCurveSegment.ts +28 -0
- package/src/types/SplineLineSegment.ts +20 -0
- package/src/types/SplineProps.ts +15 -0
- package/src/types/ToolSpecificAnnotationTypes.ts +35 -0
- package/src/types/index.ts +21 -0
- package/src/utilities/index.ts +6 -2
- package/src/utilities/math/aabb/distanceToPoint.ts +20 -0
- package/src/utilities/math/aabb/distanceToPointSquared.ts +47 -0
- package/src/utilities/math/aabb/index.ts +2 -0
- package/src/utilities/math/index.ts +10 -8
- package/src/utilities/math/line/distanceToPointSquared.ts +3 -29
- package/src/utilities/math/line/distanceToPointSquaredInfo.ts +54 -0
- package/src/utilities/math/line/index.ts +7 -1
- package/src/utilities/math/point/distanceToPoint.ts +2 -10
- package/src/utilities/math/point/distanceToPointSquared.ts +21 -0
- package/src/utilities/math/point/index.ts +3 -3
- package/src/utilities/math/point/mirror.ts +21 -0
- package/dist/cjs/synchronizers/synchronizers/createStackImageSynchronizer.js +0 -15
- package/dist/cjs/synchronizers/synchronizers/createStackImageSynchronizer.js.map +0 -1
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +0 -1
- package/dist/esm/synchronizers/synchronizers/createStackImageSynchronizer.js +0 -9
- package/dist/esm/synchronizers/synchronizers/createStackImageSynchronizer.js.map +0 -1
- package/dist/types/synchronizers/callbacks/stackImageSyncCallback.d.ts.map +0 -1
- package/dist/types/synchronizers/synchronizers/createStackImageSynchronizer.d.ts +0 -3
- package/dist/types/synchronizers/synchronizers/createStackImageSynchronizer.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/tools",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.35.0",
|
|
4
4
|
"description": "Cornerstone3D Tools",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"webpack:watch": "webpack --mode development --progress --watch --config ./.webpack/webpack.dev.js"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cornerstonejs/core": "^1.
|
|
32
|
+
"@cornerstonejs/core": "^1.35.0",
|
|
33
33
|
"comlink": "^4.4.1",
|
|
34
34
|
"lodash.clonedeep": "4.5.0",
|
|
35
35
|
"lodash.get": "^4.4.2"
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"type": "individual",
|
|
54
54
|
"url": "https://ohif.org/donate"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "115719df9d081849d8ee1c3d9c39b3c2249be17c"
|
|
57
57
|
}
|
|
@@ -82,6 +82,14 @@ export default function mouseDown(evt: EventTypes.MouseDownEventType) {
|
|
|
82
82
|
...(passiveToolsIfEventWasPrimaryMouseButton || []),
|
|
83
83
|
];
|
|
84
84
|
|
|
85
|
+
// Actions need to run before tool/handle selected callbacks otherwise actions
|
|
86
|
+
// like the one from SplineTool to remove/add control points would not work.
|
|
87
|
+
const actionExecuted = mouseDownAnnotationAction(evt);
|
|
88
|
+
|
|
89
|
+
if (actionExecuted) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
|
|
85
93
|
const eventDetail = evt.detail;
|
|
86
94
|
const { element } = eventDetail;
|
|
87
95
|
|
|
@@ -151,12 +159,6 @@ export default function mouseDown(evt: EventTypes.MouseDownEventType) {
|
|
|
151
159
|
}
|
|
152
160
|
}
|
|
153
161
|
|
|
154
|
-
const actionExecuted = mouseDownAnnotationAction(evt);
|
|
155
|
-
|
|
156
|
-
if (actionExecuted) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
162
|
// Don't stop propagation so that mouseDownActivate can handle the event
|
|
161
163
|
}
|
|
162
164
|
|
|
@@ -41,14 +41,15 @@ export default function getToolsWithActionsForMouseEvent(
|
|
|
41
41
|
for (let j = 0; j < toolGroupToolNames.length; j++) {
|
|
42
42
|
const toolName = toolGroupToolNames[j];
|
|
43
43
|
const tool = toolGroup.getToolInstance(toolName);
|
|
44
|
-
const
|
|
44
|
+
const actionsConfig = tool.configuration?.actions ?? {};
|
|
45
|
+
const actions = Object.values(actionsConfig);
|
|
45
46
|
|
|
46
47
|
if (!actions?.length || !toolModes.includes(tool.mode)) {
|
|
47
48
|
continue;
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
const action = actions.find(
|
|
51
|
-
(action) =>
|
|
52
|
+
(action: any) =>
|
|
52
53
|
action.bindings.length &&
|
|
53
54
|
action.bindings.some(
|
|
54
55
|
(binding) =>
|
package/src/index.ts
CHANGED
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
RectangleROITool,
|
|
40
40
|
EllipticalROITool,
|
|
41
41
|
CircleROITool,
|
|
42
|
+
SplineROITool,
|
|
42
43
|
BidirectionalTool,
|
|
43
44
|
PlanarFreehandROITool,
|
|
44
45
|
ArrowAnnotateTool,
|
|
@@ -102,6 +103,7 @@ export {
|
|
|
102
103
|
RectangleROITool,
|
|
103
104
|
EllipticalROITool,
|
|
104
105
|
CircleROITool,
|
|
106
|
+
SplineROITool,
|
|
105
107
|
BidirectionalTool,
|
|
106
108
|
PlanarFreehandROITool,
|
|
107
109
|
ArrowAnnotateTool,
|
|
@@ -17,6 +17,7 @@ class Synchronizer {
|
|
|
17
17
|
//
|
|
18
18
|
private _enabled: boolean;
|
|
19
19
|
private _eventName: string;
|
|
20
|
+
private _auxiliaryEventNames: string[];
|
|
20
21
|
private _eventHandler: ISynchronizerEventHandler;
|
|
21
22
|
private _ignoreFiredEvents: boolean;
|
|
22
23
|
private _sourceViewports: Array<Types.IViewportId>;
|
|
@@ -38,6 +39,7 @@ class Synchronizer {
|
|
|
38
39
|
this._sourceViewports = [];
|
|
39
40
|
this._targetViewports = [];
|
|
40
41
|
this._options = options || {};
|
|
42
|
+
this._auxiliaryEventNames = this._options.auxiliaryEventNames || [];
|
|
41
43
|
|
|
42
44
|
//
|
|
43
45
|
this.id = synchronizerId;
|
|
@@ -89,11 +91,26 @@ class Synchronizer {
|
|
|
89
91
|
|
|
90
92
|
const { renderingEngineId, viewportId } = viewportInfo;
|
|
91
93
|
|
|
92
|
-
const
|
|
94
|
+
const viewport =
|
|
93
95
|
getRenderingEngine(renderingEngineId).getViewport(viewportId);
|
|
94
96
|
|
|
95
|
-
|
|
97
|
+
if (!viewport) {
|
|
98
|
+
console.warn(
|
|
99
|
+
`Synchronizer.addSource: No viewport for ${renderingEngineId} ${viewportId}`
|
|
100
|
+
);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const element = viewport.element;
|
|
105
|
+
|
|
96
106
|
element.addEventListener(this._eventName, this._onEvent.bind(this));
|
|
107
|
+
|
|
108
|
+
if (this._auxiliaryEventNames.length) {
|
|
109
|
+
this._auxiliaryEventNames.forEach((eventName) => {
|
|
110
|
+
element.addEventListener(eventName, this._onEvent.bind(this));
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
97
114
|
this._updateDisableHandlers();
|
|
98
115
|
|
|
99
116
|
this._sourceViewports.push(viewportInfo);
|
|
@@ -157,8 +174,16 @@ class Synchronizer {
|
|
|
157
174
|
const element = _getViewportElement(viewportInfo);
|
|
158
175
|
|
|
159
176
|
this._sourceViewports.splice(index, 1);
|
|
160
|
-
|
|
177
|
+
|
|
178
|
+
//@ts-ignore
|
|
161
179
|
element.removeEventListener(this._eventName, this._eventHandler);
|
|
180
|
+
|
|
181
|
+
if (this._auxiliaryEventNames) {
|
|
182
|
+
this._auxiliaryEventNames.forEach((eventName) => {
|
|
183
|
+
//@ts-ignore
|
|
184
|
+
element.removeEventListener(eventName, this._eventHandler);
|
|
185
|
+
});
|
|
186
|
+
}
|
|
162
187
|
this._updateDisableHandlers();
|
|
163
188
|
}
|
|
164
189
|
|
|
@@ -2,8 +2,8 @@ import { vec3 } from 'gl-matrix';
|
|
|
2
2
|
import { Types } from '@cornerstonejs/core';
|
|
3
3
|
|
|
4
4
|
export default function areViewportsCoplanar(
|
|
5
|
-
viewport1: Types.IStackViewport,
|
|
6
|
-
viewport2: Types.IStackViewport
|
|
5
|
+
viewport1: Types.IStackViewport | Types.IVolumeViewport,
|
|
6
|
+
viewport2: Types.IStackViewport | Types.IVolumeViewport
|
|
7
7
|
): boolean {
|
|
8
8
|
const { viewPlaneNormal: viewPlaneNormal1 } = viewport1.getCamera();
|
|
9
9
|
const { viewPlaneNormal: viewPlaneNormal2 } = viewport2.getCamera();
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
Types,
|
|
5
5
|
metaData,
|
|
6
6
|
utilities,
|
|
7
|
+
VolumeViewport,
|
|
7
8
|
} from '@cornerstonejs/core';
|
|
8
9
|
import { Synchronizer } from '../../store';
|
|
9
10
|
import { jumpToSlice } from '../../utilities';
|
|
@@ -37,7 +38,7 @@ const getSpatialRegistration = (targetId, sourceId) =>
|
|
|
37
38
|
* the same as sourceViewport.
|
|
38
39
|
* @param cameraModifiedEvent - The CAMERA_MODIFIED event.
|
|
39
40
|
*/
|
|
40
|
-
export default async function
|
|
41
|
+
export default async function imageSliceSyncCallback(
|
|
41
42
|
synchronizerInstance: Synchronizer,
|
|
42
43
|
sourceViewport: Types.IViewportId,
|
|
43
44
|
targetViewport: Types.IViewportId
|
|
@@ -49,9 +50,9 @@ export default async function stackImageSyncCallback(
|
|
|
49
50
|
);
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
const sViewport = renderingEngine.getViewport(
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
const sViewport = renderingEngine.getViewport(sourceViewport.viewportId) as
|
|
54
|
+
| Types.IVolumeViewport
|
|
55
|
+
| Types.IStackViewport;
|
|
55
56
|
|
|
56
57
|
const options = synchronizerInstance.getOptions(targetViewport.viewportId);
|
|
57
58
|
|
|
@@ -59,9 +60,9 @@ export default async function stackImageSyncCallback(
|
|
|
59
60
|
return;
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
const tViewport = renderingEngine.getViewport(
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
const tViewport = renderingEngine.getViewport(targetViewport.viewportId) as
|
|
64
|
+
| Types.IVolumeViewport
|
|
65
|
+
| Types.IStackViewport;
|
|
65
66
|
|
|
66
67
|
const imageId1 = sViewport.getCurrentImageId();
|
|
67
68
|
const imagePlaneModule1 = metaData.get('imagePlaneModule', imageId1);
|
|
@@ -116,12 +117,19 @@ export default async function stackImageSyncCallback(
|
|
|
116
117
|
targetImageIds
|
|
117
118
|
);
|
|
118
119
|
|
|
120
|
+
let imageIndexToSet = closestImageIdIndex2.index;
|
|
121
|
+
if (tViewport instanceof VolumeViewport) {
|
|
122
|
+
// since in case of volume viewport our stack is reversed, we should
|
|
123
|
+
// reverse the index as well
|
|
124
|
+
imageIndexToSet = targetImageIds.length - closestImageIdIndex2.index - 1;
|
|
125
|
+
}
|
|
126
|
+
|
|
119
127
|
if (
|
|
120
128
|
closestImageIdIndex2.index !== -1 &&
|
|
121
129
|
tViewport.getCurrentImageIdIndex() !== closestImageIdIndex2.index
|
|
122
130
|
) {
|
|
123
131
|
await jumpToSlice(tViewport.element, {
|
|
124
|
-
imageIndex:
|
|
132
|
+
imageIndex: imageIndexToSet,
|
|
125
133
|
});
|
|
126
134
|
}
|
|
127
135
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import createCameraPositionSynchronizer from './synchronizers/createCameraPositionSynchronizer';
|
|
2
2
|
import createVOISynchronizer from './synchronizers/createVOISynchronizer';
|
|
3
3
|
import createZoomPanSynchronizer from './synchronizers/createZoomPanSynchronizer';
|
|
4
|
-
import
|
|
4
|
+
import createImageSliceSynchronizer from './synchronizers/createImageSliceSynchronizer';
|
|
5
|
+
|
|
6
|
+
// for backward compatibility
|
|
7
|
+
const createStackImageSynchronizer = createImageSliceSynchronizer;
|
|
5
8
|
|
|
6
9
|
export {
|
|
7
10
|
createCameraPositionSynchronizer,
|
|
8
11
|
createVOISynchronizer,
|
|
9
12
|
createZoomPanSynchronizer,
|
|
13
|
+
createImageSliceSynchronizer,
|
|
10
14
|
createStackImageSynchronizer,
|
|
11
15
|
};
|
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
import { createSynchronizer } from '../../store/SynchronizerManager';
|
|
2
2
|
import { Enums } from '@cornerstonejs/core';
|
|
3
|
-
import
|
|
3
|
+
import imageSliceSyncCallback from '../callbacks/imageSliceSyncCallback';
|
|
4
4
|
import Synchronizer from '../../store/SynchronizerManager/Synchronizer';
|
|
5
5
|
|
|
6
|
-
const { STACK_NEW_IMAGE } = Enums.Events;
|
|
6
|
+
const { STACK_NEW_IMAGE, VOLUME_NEW_IMAGE } = Enums.Events;
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* A helper that creates a new `Synchronizer` which listens to the `STACK_NEW_IMAGE`
|
|
10
|
-
* rendering event and calls the `
|
|
10
|
+
* rendering event and calls the `ImageSliceSyncCallback`.
|
|
11
11
|
*
|
|
12
12
|
* @param synchronizerName - The name of the synchronizer.
|
|
13
13
|
* @returns A new `Synchronizer` instance.
|
|
14
14
|
*/
|
|
15
|
-
export default function
|
|
15
|
+
export default function createImageSliceSynchronizer(
|
|
16
16
|
synchronizerName: string
|
|
17
17
|
): Synchronizer {
|
|
18
18
|
const stackImageSynchronizer = createSynchronizer(
|
|
19
19
|
synchronizerName,
|
|
20
20
|
STACK_NEW_IMAGE,
|
|
21
|
-
|
|
21
|
+
imageSliceSyncCallback,
|
|
22
|
+
{
|
|
23
|
+
auxiliaryEventNames: [VOLUME_NEW_IMAGE],
|
|
24
|
+
}
|
|
22
25
|
);
|
|
23
26
|
|
|
24
27
|
return stackImageSynchronizer;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import createCameraPositionSynchronizer from './createCameraPositionSynchronizer';
|
|
2
2
|
import createVOISynchronizer from './createVOISynchronizer';
|
|
3
3
|
import createZoomPanSynchronizer from './createZoomPanSynchronizer';
|
|
4
|
-
import
|
|
4
|
+
import createImageSliceSynchronizer from './createImageSliceSynchronizer';
|
|
5
5
|
|
|
6
|
+
// for backward compatibility
|
|
7
|
+
const createStackImageSynchronizer = createImageSliceSynchronizer;
|
|
6
8
|
export {
|
|
7
9
|
createCameraPositionSynchronizer,
|
|
8
10
|
createVOISynchronizer,
|
|
9
11
|
createZoomPanSynchronizer,
|
|
12
|
+
createImageSliceSynchronizer,
|
|
10
13
|
createStackImageSynchronizer,
|
|
11
14
|
};
|
|
@@ -41,8 +41,13 @@ import { getCanvasCircleRadius } from '../utilities/math/circle';
|
|
|
41
41
|
import AdvancedMagnifyViewportManager from './AdvancedMagnifyViewportManager';
|
|
42
42
|
import type { AutoPanCallbackData } from './AdvancedMagnifyViewport';
|
|
43
43
|
|
|
44
|
+
enum AdvancedMagnifyToolActions {
|
|
45
|
+
ShowZoomFactorsList = 'showZoomFactorsList',
|
|
46
|
+
}
|
|
47
|
+
|
|
44
48
|
class AdvancedMagnifyTool extends AnnotationTool {
|
|
45
49
|
static toolName;
|
|
50
|
+
static Actions = AdvancedMagnifyToolActions;
|
|
46
51
|
|
|
47
52
|
magnifyViewportManager: AdvancedMagnifyViewportManager;
|
|
48
53
|
touchDragCallback: any;
|
|
@@ -71,8 +76,8 @@ class AdvancedMagnifyTool extends AnnotationTool {
|
|
|
71
76
|
padding: 10, // px
|
|
72
77
|
},
|
|
73
78
|
},
|
|
74
|
-
actions:
|
|
75
|
-
{
|
|
79
|
+
actions: {
|
|
80
|
+
showZoomFactorsList: {
|
|
76
81
|
method: 'showZoomFactorsList',
|
|
77
82
|
bindings: [
|
|
78
83
|
{
|
|
@@ -81,7 +86,7 @@ class AdvancedMagnifyTool extends AnnotationTool {
|
|
|
81
86
|
},
|
|
82
87
|
],
|
|
83
88
|
},
|
|
84
|
-
|
|
89
|
+
},
|
|
85
90
|
},
|
|
86
91
|
}
|
|
87
92
|
) {
|