@cornerstonejs/tools 0.7.11 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/cjs/tools/MIPJumpToClickTool.js +6 -2
  2. package/dist/cjs/tools/MIPJumpToClickTool.js.map +1 -1
  3. package/dist/cjs/tools/StackScrollTool.js +2 -2
  4. package/dist/cjs/tools/StackScrollTool.js.map +1 -1
  5. package/dist/cjs/tools/StackScrollToolMouseWheelTool.js +6 -3
  6. package/dist/cjs/tools/StackScrollToolMouseWheelTool.js.map +1 -1
  7. package/dist/cjs/tools/WindowLevelTool.js +2 -1
  8. package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
  9. package/dist/cjs/tools/annotation/BidirectionalTool.js +3 -16
  10. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  11. package/dist/cjs/tools/annotation/EllipticalROITool.js +16 -25
  12. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  13. package/dist/cjs/tools/annotation/LengthTool.js +3 -16
  14. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  15. package/dist/cjs/tools/annotation/ProbeTool.js +23 -27
  16. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  17. package/dist/cjs/tools/annotation/RectangleROITool.js +16 -24
  18. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  19. package/dist/cjs/tools/base/AnnotationTool.d.ts +1 -0
  20. package/dist/cjs/tools/base/AnnotationTool.js +15 -1
  21. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  22. package/dist/cjs/tools/base/BaseTool.d.ts +1 -4
  23. package/dist/cjs/tools/base/BaseTool.js +13 -14
  24. package/dist/cjs/tools/base/BaseTool.js.map +1 -1
  25. package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js +2 -5
  26. package/dist/cjs/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
  27. package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js +3 -7
  28. package/dist/cjs/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
  29. package/dist/cjs/types/JumpToSliceOptions.d.ts +4 -0
  30. package/dist/cjs/types/JumpToSliceOptions.js +3 -0
  31. package/dist/cjs/types/JumpToSliceOptions.js.map +1 -0
  32. package/dist/cjs/types/index.d.ts +2 -1
  33. package/dist/cjs/utilities/index.d.ts +2 -1
  34. package/dist/cjs/utilities/index.js +3 -1
  35. package/dist/cjs/utilities/index.js.map +1 -1
  36. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js +4 -1
  37. package/dist/cjs/utilities/planar/filterAnnotationsForDisplay.js.map +1 -1
  38. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.d.ts +2 -2
  39. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js +5 -3
  40. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
  41. package/dist/cjs/utilities/viewport/jumpToSlice.d.ts +3 -0
  42. package/dist/cjs/utilities/viewport/jumpToSlice.js +20 -0
  43. package/dist/cjs/utilities/viewport/jumpToSlice.js.map +1 -0
  44. package/dist/esm/tools/MIPJumpToClickTool.js +6 -2
  45. package/dist/esm/tools/MIPJumpToClickTool.js.map +1 -1
  46. package/dist/esm/tools/StackScrollTool.js +2 -2
  47. package/dist/esm/tools/StackScrollTool.js.map +1 -1
  48. package/dist/esm/tools/StackScrollToolMouseWheelTool.js +6 -3
  49. package/dist/esm/tools/StackScrollToolMouseWheelTool.js.map +1 -1
  50. package/dist/esm/tools/WindowLevelTool.js +2 -1
  51. package/dist/esm/tools/WindowLevelTool.js.map +1 -1
  52. package/dist/esm/tools/annotation/BidirectionalTool.js +4 -17
  53. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  54. package/dist/esm/tools/annotation/EllipticalROITool.js +17 -26
  55. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  56. package/dist/esm/tools/annotation/LengthTool.js +4 -17
  57. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  58. package/dist/esm/tools/annotation/ProbeTool.js +24 -28
  59. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  60. package/dist/esm/tools/annotation/RectangleROITool.js +17 -25
  61. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  62. package/dist/esm/tools/base/AnnotationTool.d.ts +1 -0
  63. package/dist/esm/tools/base/AnnotationTool.js +16 -2
  64. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  65. package/dist/esm/tools/base/BaseTool.d.ts +1 -4
  66. package/dist/esm/tools/base/BaseTool.js +13 -14
  67. package/dist/esm/tools/base/BaseTool.js.map +1 -1
  68. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +2 -5
  69. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js.map +1 -1
  70. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js +3 -7
  71. package/dist/esm/tools/segmentation/RectangleROIThresholdTool.js.map +1 -1
  72. package/dist/esm/types/JumpToSliceOptions.d.ts +4 -0
  73. package/dist/esm/types/JumpToSliceOptions.js +2 -0
  74. package/dist/esm/types/JumpToSliceOptions.js.map +1 -0
  75. package/dist/esm/types/index.d.ts +2 -1
  76. package/dist/esm/utilities/index.d.ts +2 -1
  77. package/dist/esm/utilities/index.js +2 -1
  78. package/dist/esm/utilities/index.js.map +1 -1
  79. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js +4 -1
  80. package/dist/esm/utilities/planar/filterAnnotationsForDisplay.js.map +1 -1
  81. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.d.ts +2 -2
  82. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js +6 -4
  83. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
  84. package/dist/esm/utilities/viewport/jumpToSlice.d.ts +3 -0
  85. package/dist/esm/utilities/viewport/jumpToSlice.js +18 -0
  86. package/dist/esm/utilities/viewport/jumpToSlice.js.map +1 -0
  87. package/dist/umd/index.js +1 -1
  88. package/dist/umd/index.js.map +1 -1
  89. package/package.json +4 -4
@@ -11,5 +11,6 @@ import type { AnnotationHandle, TextBoxHandle } from './ToolHandle';
11
11
  import type InteractionTypes from './InteractionTypes';
12
12
  import type { ToolProps, PublicToolProps } from './ToolProps';
13
13
  import type { SVGCursorDescriptor, SVGPoint } from './CursorTypes';
14
+ import type JumpToSliceOptions from './JumpToSliceOptions';
14
15
  import type { Color, ColorLUT, RepresentationConfig, SegmentationRepresentationConfig, SegmentationRepresentationData, Segmentation, ToolGroupSpecificRepresentationState, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, SegmentationState, RepresentationPublicInput } from './SegmentationStateTypes';
15
- export type { Annotation, Annotations, FrameOfReferenceSpecificAnnotations, AnnotationState, ToolSpecificAnnotationTypes, PlanarBoundingBox, ToolProps, PublicToolProps, EventTypes, IPoints, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, IToolGroup, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, RepresentationPublicInput, Color, ColorLUT, LabelmapTypes, SVGCursorDescriptor, SVGPoint, };
16
+ export type { Annotation, Annotations, FrameOfReferenceSpecificAnnotations, AnnotationState, ToolSpecificAnnotationTypes, JumpToSliceOptions, PlanarBoundingBox, ToolProps, PublicToolProps, EventTypes, IPoints, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, IToolGroup, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, RepresentationPublicInput, Color, ColorLUT, LabelmapTypes, SVGCursorDescriptor, SVGPoint, };
@@ -5,6 +5,7 @@ import throttle from './throttle';
5
5
  import isObject from './isObject';
6
6
  import calibrateImageSpacing from './calibrateImageSpacing';
7
7
  import triggerAnnotationRenderForViewportIds from './triggerAnnotationRenderForViewportIds';
8
+ import jumpToSlice from './viewport/jumpToSlice';
8
9
  import pointInShapeCallback from './pointInShapeCallback';
9
10
  import pointInSurroundingSphereCallback from './pointInSurroundingSphereCallback';
10
11
  import * as segmentation from './segmentation';
@@ -14,4 +15,4 @@ import * as planar from './planar';
14
15
  import * as stackScrollTool from './stackScrollTool';
15
16
  import * as viewportFilters from './viewportFilters';
16
17
  import { triggerEvent } from '@cornerstonejs/core';
17
- export { math, planar, viewportFilters, stackScrollTool, drawing, debounce, deepMerge, throttle, isObject, triggerEvent, calibrateImageSpacing, segmentation, triggerAnnotationRenderForViewportIds, pointInShapeCallback, pointInSurroundingSphereCallback, getAnnotationNearPoint, getAnnotationNearPointOnEnabledElement, };
18
+ export { math, planar, viewportFilters, stackScrollTool, drawing, debounce, deepMerge, throttle, isObject, triggerEvent, calibrateImageSpacing, segmentation, triggerAnnotationRenderForViewportIds, pointInShapeCallback, pointInSurroundingSphereCallback, getAnnotationNearPoint, getAnnotationNearPointOnEnabledElement, jumpToSlice, };
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.getAnnotationNearPointOnEnabledElement = exports.getAnnotationNearPoint = exports.pointInSurroundingSphereCallback = exports.pointInShapeCallback = exports.triggerAnnotationRenderForViewportIds = exports.segmentation = exports.calibrateImageSpacing = exports.triggerEvent = exports.isObject = exports.throttle = exports.deepMerge = exports.debounce = exports.drawing = exports.stackScrollTool = exports.viewportFilters = exports.planar = exports.math = void 0;
25
+ exports.jumpToSlice = exports.getAnnotationNearPointOnEnabledElement = exports.getAnnotationNearPoint = exports.pointInSurroundingSphereCallback = exports.pointInShapeCallback = exports.triggerAnnotationRenderForViewportIds = exports.segmentation = exports.calibrateImageSpacing = exports.triggerEvent = exports.isObject = exports.throttle = exports.deepMerge = exports.debounce = exports.drawing = exports.stackScrollTool = exports.viewportFilters = exports.planar = exports.math = void 0;
26
26
  const getAnnotationNearPoint_1 = require("./getAnnotationNearPoint");
27
27
  Object.defineProperty(exports, "getAnnotationNearPoint", { enumerable: true, get: function () { return getAnnotationNearPoint_1.getAnnotationNearPoint; } });
28
28
  Object.defineProperty(exports, "getAnnotationNearPointOnEnabledElement", { enumerable: true, get: function () { return getAnnotationNearPoint_1.getAnnotationNearPointOnEnabledElement; } });
@@ -38,6 +38,8 @@ const calibrateImageSpacing_1 = __importDefault(require("./calibrateImageSpacing
38
38
  exports.calibrateImageSpacing = calibrateImageSpacing_1.default;
39
39
  const triggerAnnotationRenderForViewportIds_1 = __importDefault(require("./triggerAnnotationRenderForViewportIds"));
40
40
  exports.triggerAnnotationRenderForViewportIds = triggerAnnotationRenderForViewportIds_1.default;
41
+ const jumpToSlice_1 = __importDefault(require("./viewport/jumpToSlice"));
42
+ exports.jumpToSlice = jumpToSlice_1.default;
41
43
  const pointInShapeCallback_1 = __importDefault(require("./pointInShapeCallback"));
42
44
  exports.pointInShapeCallback = pointInShapeCallback_1.default;
43
45
  const pointInSurroundingSphereCallback_1 = __importDefault(require("./pointInSurroundingSphereCallback"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAGkC;AAwChC,uGA1CA,+CAAsB,OA0CA;AACtB,uHA1CA,+DAAsC,OA0CA;AAtCxC,0DAAkC;AA2BhC,mBA3BK,kBAAQ,CA2BL;AA1BV,4DAAoC;AA2BlC,oBA3BK,mBAAS,CA2BL;AA1BX,0DAAkC;AA2BhC,mBA3BK,kBAAQ,CA2BL;AA1BV,0DAAkC;AA2BhC,mBA3BK,kBAAQ,CA2BL;AA1BV,oFAA4D;AA4B1D,gCA5BK,+BAAqB,CA4BL;AA3BvB,oHAA4F;AA6B1F,gDA7BK,+CAAqC,CA6BL;AA3BvC,kFAA0D;AA4BxD,+BA5BK,8BAAoB,CA4BL;AA3BtB,0GAAkF;AA4BhF,2CA5BK,0CAAgC,CA4BL;AAzBlC,6DAA+C;AAsB7C,oCAAY;AArBd,mDAAqC;AAcnC,0BAAO;AAbT,6CAA+B;AAS7B,oBAAI;AARN,iDAAmC;AASjC,wBAAM;AARR,mEAAqD;AAUnD,0CAAe;AATjB,mEAAqD;AAQnD,0CAAe;AALjB,8CAAmD;AAYjD,6FAZO,mBAAY,OAYP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAGkC;AAyChC,uGA3CA,+CAAsB,OA2CA;AACtB,uHA3CA,+DAAsC,OA2CA;AAvCxC,0DAAkC;AA4BhC,mBA5BK,kBAAQ,CA4BL;AA3BV,4DAAoC;AA4BlC,oBA5BK,mBAAS,CA4BL;AA3BX,0DAAkC;AA4BhC,mBA5BK,kBAAQ,CA4BL;AA3BV,0DAAkC;AA4BhC,mBA5BK,kBAAQ,CA4BL;AA3BV,oFAA4D;AA6B1D,gCA7BK,+BAAqB,CA6BL;AA5BvB,oHAA4F;AA8B1F,gDA9BK,+CAAqC,CA8BL;AA7BvC,yEAAiD;AAkC/C,sBAlCK,qBAAW,CAkCL;AAhCb,kFAA0D;AA4BxD,+BA5BK,8BAAoB,CA4BL;AA3BtB,0GAAkF;AA4BhF,2CA5BK,0CAAgC,CA4BL;AAzBlC,6DAA+C;AAsB7C,oCAAY;AArBd,mDAAqC;AAcnC,0BAAO;AAbT,6CAA+B;AAS7B,oBAAI;AARN,iDAAmC;AASjC,wBAAM;AARR,mEAAqD;AAUnD,0CAAe;AATjB,mEAAqD;AAQnD,0CAAe;AALjB,8CAAmD;AAYjD,6FAZO,mBAAY,OAYP"}
@@ -11,7 +11,10 @@ function filterAnnotationsForDisplay(viewport, annotations) {
11
11
  const colonIndex = imageId.indexOf(':');
12
12
  const imageURI = imageId.substring(colonIndex + 1);
13
13
  return annotations.filter((annotation) => {
14
- return annotation.metadata.referencedImageId === imageURI;
14
+ const imageId = annotation.metadata.referencedImageId;
15
+ const colonIndex = imageId.indexOf(':');
16
+ const referenceImageURI = imageId.substring(colonIndex + 1);
17
+ return referenceImageURI === imageURI;
15
18
  });
16
19
  }
17
20
  else if (viewport instanceof core_1.VolumeViewport) {
@@ -1 +1 @@
1
- {"version":3,"file":"filterAnnotationsForDisplay.js","sourceRoot":"","sources":["../../../../src/utilities/planar/filterAnnotationsForDisplay.ts"],"names":[],"mappings":";;;;;AAAA,8CAK6B;AAE7B,kGAA0E;AAS1E,SAAwB,2BAA2B,CACjD,QAAyB,EACzB,WAAwB;IAExB,IAAI,QAAQ,YAAY,oBAAa,EAAE;QAErC,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAK7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAGnD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YACvC,OAAO,UAAU,CAAC,QAAQ,CAAC,iBAAiB,KAAK,QAAQ,CAAC;QAC5D,CAAC,CAAC,CAAC;KACJ;SAAM,IAAI,QAAQ,YAAY,qBAAc,EAAE;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEpC,MAAM,EAAE,wBAAwB,EAAE,GAChC,gBAAO,CAAC,oCAAoC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAGjE,OAAO,IAAA,sCAA4B,EACjC,WAAW,EACX,MAAM,EACN,wBAAwB,CACzB,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC;KACjE;AACH,CAAC;AAjCD,8CAiCC"}
1
+ {"version":3,"file":"filterAnnotationsForDisplay.js","sourceRoot":"","sources":["../../../../src/utilities/planar/filterAnnotationsForDisplay.ts"],"names":[],"mappings":";;;;;AAAA,8CAK6B;AAE7B,kGAA0E;AAS1E,SAAwB,2BAA2B,CACjD,QAAyB,EACzB,WAAwB;IAExB,IAAI,QAAQ,YAAY,oBAAa,EAAE;QAErC,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAK7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAOnD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACtD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC5D,OAAO,iBAAiB,KAAK,QAAQ,CAAC;QACxC,CAAC,CAAC,CAAC;KACJ;SAAM,IAAI,QAAQ,YAAY,qBAAc,EAAE;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEpC,MAAM,EAAE,wBAAwB,EAAE,GAChC,gBAAO,CAAC,oCAAoC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAGjE,OAAO,IAAA,sCAA4B,EACjC,WAAW,EACX,MAAM,EACN,wBAAwB,CACzB,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC;KACjE;AACH,CAAC;AAxCD,8CAwCC"}
@@ -1,2 +1,2 @@
1
- import { MouseDragEventType, MouseWheelEventType } from '../../types/EventTypes';
2
- export default function scrollThroughStack(evt: MouseWheelEventType | MouseDragEventType, deltaFrames: number, volumeId: string, invert?: boolean): void;
1
+ import { Types } from '@cornerstonejs/core';
2
+ export default function scrollThroughStack(viewport: Types.IStackViewport | Types.IVolumeViewport, targetId: string, deltaFrames: number, invert?: boolean): void;
@@ -7,9 +7,7 @@ const core_1 = require("@cornerstonejs/core");
7
7
  const clip_1 = __importDefault(require("../clip"));
8
8
  const getSliceRange_1 = __importDefault(require("./getSliceRange"));
9
9
  const snapFocalPointToSlice_1 = __importDefault(require("./snapFocalPointToSlice"));
10
- function scrollThroughStack(evt, deltaFrames, volumeId, invert = false) {
11
- const { element } = evt.detail;
12
- const { viewport } = (0, core_1.getEnabledElement)(element);
10
+ function scrollThroughStack(viewport, targetId, deltaFrames, invert = false) {
13
11
  const { type: viewportType } = viewport;
14
12
  const camera = viewport.getCamera();
15
13
  const { focalPoint, viewPlaneNormal, position } = camera;
@@ -22,6 +20,10 @@ function scrollThroughStack(evt, deltaFrames, volumeId, invert = false) {
22
20
  viewport.setImageIdIndex(newImageIdIndex);
23
21
  }
24
22
  else if (viewport instanceof core_1.VolumeViewport) {
23
+ if (!targetId.startsWith('volumeId')) {
24
+ throw new Error(`scrollThroughStack: targetId must start with 'volumeId' if viewport is a VolumeViewport`);
25
+ }
26
+ const volumeId = targetId.split('volumeId:')[1];
25
27
  const { spacingInNormalDirection, imageVolume } = core_1.utilities.getTargetVolumeAndSpacingInNormalDir(viewport, camera, volumeId);
26
28
  if (!imageVolume) {
27
29
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"scrollThroughStack.js","sourceRoot":"","sources":["../../../../src/utilities/stackScrollTool/scrollThroughStack.ts"],"names":[],"mappings":";;;;;AAAA,8CAK6B;AAC7B,mDAA2B;AAC3B,oEAA4C;AAC5C,oFAA4D;AAkB5D,SAAwB,kBAAkB,CACxC,GAA6C,EAC7C,WAAmB,EACnB,QAAgB,EAChB,MAAM,GAAG,KAAK;IAEd,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IAElD,IAAI,QAAQ,YAAY,oBAAa,EAAE;QAErC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC9D,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;QACrD,IAAI,eAAe,GAAG,mBAAmB,GAAG,KAAK,CAAC;QAClD,eAAe,GAAG,IAAA,cAAI,EAAC,eAAe,EAAE,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QAE/D,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;KAC3C;SAAM,IAAI,QAAQ,YAAY,qBAAc,EAAE;QAE7C,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,GAC7C,gBAAO,CAAC,oCAAoC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3E,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC3E;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAA,uBAAa,EAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QAE5E,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAA,+BAAqB,EAC1D,UAAU,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,KAAK,CACN,CAAC;QAEF,QAAQ,CAAC,SAAS,CAAC;YACjB,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,QAAQ,CAAC,MAAM,EAAE,CAAC;KACnB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;KACvE;AACH,CAAC;AAxDD,qCAwDC"}
1
+ {"version":3,"file":"scrollThroughStack.js","sourceRoot":"","sources":["../../../../src/utilities/stackScrollTool/scrollThroughStack.ts"],"names":[],"mappings":";;;;;AAAA,8CAK6B;AAC7B,mDAA2B;AAC3B,oEAA4C;AAC5C,oFAA4D;AAc5D,SAAwB,kBAAkB,CACxC,QAAsD,EACtD,QAAgB,EAChB,WAAmB,EACnB,MAAM,GAAG,KAAK;IAEd,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IAElD,IAAI,QAAQ,YAAY,oBAAa,EAAE;QAErC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC9D,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;QACrD,IAAI,eAAe,GAAG,mBAAmB,GAAG,KAAK,CAAC;QAClD,eAAe,GAAG,IAAA,cAAI,EAAC,eAAe,EAAE,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QAE/D,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;KAC3C;SAAM,IAAI,QAAQ,YAAY,qBAAc,EAAE;QAC7C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAGhD,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,GAC7C,gBAAO,CAAC,oCAAoC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3E,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC3E;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAA,uBAAa,EAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QAE5E,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAA,+BAAqB,EAC1D,UAAU,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,KAAK,CACN,CAAC;QAEF,QAAQ,CAAC,SAAS,CAAC;YACjB,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,QAAQ,CAAC,MAAM,EAAE,CAAC;KACnB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;KACvE;AACH,CAAC;AA9DD,qCA8DC"}
@@ -0,0 +1,3 @@
1
+ import JumpToSliceOptions from '../../types/JumpToSliceOptions';
2
+ declare function jumpToSlice(element: HTMLDivElement, options: JumpToSliceOptions): Promise<string>;
3
+ export default jumpToSlice;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@cornerstonejs/core");
4
+ function jumpToSlice(element, options) {
5
+ const { imageIdIndex } = options;
6
+ if (imageIdIndex === undefined) {
7
+ throw new Error('Cannot jump to slice without an imageIdIndex yet');
8
+ }
9
+ const enabledElement = (0, core_1.getEnabledElement)(element);
10
+ if (!enabledElement) {
11
+ throw new Error('Element has been disabled');
12
+ }
13
+ const { viewport } = enabledElement;
14
+ if (!(viewport instanceof core_1.StackViewport)) {
15
+ throw new Error('Cannot scroll to slice on a non-stack viewport yet');
16
+ }
17
+ return viewport.setImageIdIndex(imageIdIndex);
18
+ }
19
+ exports.default = jumpToSlice;
20
+ //# sourceMappingURL=jumpToSlice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jumpToSlice.js","sourceRoot":"","sources":["../../../../src/utilities/viewport/jumpToSlice.ts"],"names":[],"mappings":";;AAAA,8CAAuE;AAcvE,SAAS,WAAW,CAClB,OAAuB,EACvB,OAA2B;IAE3B,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACjC,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC9C;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAEpC,IAAI,CAAC,CAAC,QAAQ,YAAY,oBAAa,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,OAAO,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AAChD,CAAC;AAED,kBAAe,WAAW,CAAC"}
@@ -15,7 +15,11 @@ export default class MIPJumpToClickTool extends BaseTool {
15
15
  const { element, currentPoints } = evt.detail;
16
16
  const enabledElement = getEnabledElement(element);
17
17
  const { viewport, renderingEngine } = enabledElement;
18
- const targetVolumeId = this.getTargetId(viewport);
18
+ const targetId = this.getTargetId(viewport);
19
+ if (!targetId.startsWith('volumeId')) {
20
+ throw new Error(`MIPJumpToClickTool: targetId is not a volumeId, you should only use MIPJumpToClickTool with a volumeId as the targetId`);
21
+ }
22
+ const volumeId = targetId.split('volumeId:')[1];
19
23
  let maxIntensity = -Infinity;
20
24
  const maxFn = (intensity, point) => {
21
25
  if (intensity > maxIntensity) {
@@ -23,7 +27,7 @@ export default class MIPJumpToClickTool extends BaseTool {
23
27
  return point;
24
28
  }
25
29
  };
26
- const brightestPoint = getPointInLineOfSightWithCriteria(viewport, currentPoints.world, targetVolumeId, maxFn);
30
+ const brightestPoint = getPointInLineOfSightWithCriteria(viewport, currentPoints.world, volumeId, maxFn);
27
31
  if (!brightestPoint || !brightestPoint.length) {
28
32
  return;
29
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MIPJumpToClickTool.js","sourceRoot":"","sources":["../../../src/tools/MIPJumpToClickTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,WAAW,MAAM,mCAAmC,CAAC;AAS5D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,QAAQ;IAKtD,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,iBAAiB,EAAE,EAAE;SACtB;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAWD,kBAAkB,CAAC,GAAG;QACpB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAG9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAGrD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAiC,CAAC,CAAC;QAG3E,IAAI,YAAY,GAAG,CAAC,QAAQ,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,SAAS,GAAG,YAAY,EAAE;gBAC5B,YAAY,GAAG,SAAS,CAAC;gBACzB,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC;QAGF,MAAM,cAAc,GAAG,iCAAiC,CACtD,QAAiC,EACjC,aAAa,CAAC,KAAK,EACnB,cAAc,EACd,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC7C,OAAO;SACR;QAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAGjD,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAGvC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,QAAQ,YAAY,cAAc,EAAE;gBACtC,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;aACvC;iBAAM;gBACL,OAAO,CAAC,IAAI,CACV,wFAAwF,CACzF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAxEM,2BAAQ,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"MIPJumpToClickTool.js","sourceRoot":"","sources":["../../../src/tools/MIPJumpToClickTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,WAAW,MAAM,mCAAmC,CAAC;AAS5D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,QAAQ;IAKtD,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,iBAAiB,EAAE,EAAE;SACtB;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAWD,kBAAkB,CAAC,GAAG;QACpB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAG9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAGrD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAiC,CAAC,CAAC;QAErE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAGhD,IAAI,YAAY,GAAG,CAAC,QAAQ,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,SAAS,GAAG,YAAY,EAAE;gBAC5B,YAAY,GAAG,SAAS,CAAC;gBACzB,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC;QAGF,MAAM,cAAc,GAAG,iCAAiC,CACtD,QAAiC,EACjC,aAAa,CAAC,KAAK,EACnB,QAAQ,EACR,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC7C,OAAO;SACR;QAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAGjD,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAGvC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,QAAQ,YAAY,cAAc,EAAE;gBACtC,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;aACvC;iBAAM;gBACL,OAAO,CAAC,IAAI,CACV,wFAAwF,CACzF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAhFM,2BAAQ,GAAG,oBAAoB,CAAC"}
@@ -16,9 +16,9 @@ export default class StackScrollTool extends BaseTool {
16
16
  const { deltaPoints, viewportId, renderingEngineId } = evt.detail;
17
17
  const deltaFrames = deltaPoints.canvas[1];
18
18
  const { viewport } = getEnabledElementByIds(viewportId, renderingEngineId);
19
- const volumeId = this.getTargetId(viewport);
19
+ const targetId = this.getTargetId(viewport);
20
20
  const { invert } = this.configuration;
21
- scrollThroughStack(evt, deltaFrames, volumeId, invert);
21
+ scrollThroughStack(viewport, targetId, deltaFrames, invert);
22
22
  }
23
23
  }
24
24
  StackScrollTool.toolName = 'StackScroll';
@@ -1 +1 @@
1
- {"version":3,"file":"StackScrollTool.js","sourceRoot":"","sources":["../../../src/tools/StackScrollTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAOlE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,QAAQ;IAKnD,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,MAAM,EAAE,KAAK;SACd;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,aAAa,CAAC,GAAkC;QAC9C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAClE,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAEtC,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;;AA3BM,wBAAQ,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"StackScrollTool.js","sourceRoot":"","sources":["../../../src/tools/StackScrollTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAOlE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,QAAQ;IAKnD,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,aAAa,EAAE;YACb,MAAM,EAAE,KAAK;SACd;KACF;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,aAAa,CAAC,GAAkC;QAC9C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAClE,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAEtC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;;AA3BM,wBAAQ,GAAG,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { BaseTool } from './base';
2
2
  import { scrollThroughStack } from '../utilities/stackScrollTool';
3
+ import { getEnabledElement } from '@cornerstonejs/core';
3
4
  export default class StackScrollMouseWheelTool extends BaseTool {
4
5
  constructor(toolProps = {}, defaultToolProps = {
5
6
  supportedInteractionTypes: ['Mouse', 'Touch'],
@@ -8,10 +9,12 @@ export default class StackScrollMouseWheelTool extends BaseTool {
8
9
  super(toolProps, defaultToolProps);
9
10
  }
10
11
  mouseWheelCallback(evt) {
11
- const { wheel } = evt.detail;
12
+ const { wheel, element } = evt.detail;
12
13
  const { direction: deltaFrames } = wheel;
13
- const { invert, volumeId } = this.configuration;
14
- scrollThroughStack(evt, deltaFrames, volumeId, invert);
14
+ const { invert } = this.configuration;
15
+ const { viewport } = getEnabledElement(element);
16
+ const targetId = this.getTargetId(viewport);
17
+ scrollThroughStack(viewport, targetId, deltaFrames, invert);
15
18
  }
16
19
  }
17
20
  StackScrollMouseWheelTool.toolName = 'StackScrollMouseWheel';
@@ -1 +1 @@
1
- {"version":3,"file":"StackScrollToolMouseWheelTool.js","sourceRoot":"","sources":["../../../src/tools/StackScrollToolMouseWheelTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAOlE,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,QAAQ;IAK7D,YACE,SAAS,GAAG,EAAE,EACd,gBAAgB,GAAG;QACjB,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,MAAM,EAAE,KAAK;KACd;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,GAAwB;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAChD,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;;AAnBM,kCAAQ,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"StackScrollToolMouseWheelTool.js","sourceRoot":"","sources":["../../../src/tools/StackScrollToolMouseWheelTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,QAAQ;IAK7D,YACE,SAAS,GAAG,EAAE,EACd,gBAAgB,GAAG;QACjB,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7C,MAAM,EAAE,KAAK;KACd;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,GAAwB;QACzC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACtC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;;AArBM,kCAAQ,GAAG,uBAAuB,CAAC"}
@@ -49,7 +49,8 @@ export default class WindowLevelTool extends BaseTool {
49
49
  let volumeId, volumeActor, lower, upper, rgbTransferFunction, modality, newRange, viewportsContainingVolumeUID;
50
50
  let useDynamicRange = false;
51
51
  if (viewport instanceof VolumeViewport) {
52
- volumeId = this.getTargetId(viewport);
52
+ const targetId = this.getTargetId(viewport);
53
+ volumeId = targetId.split('volumeId:')[1];
53
54
  ({ volumeActor } = viewport.getActor(volumeId));
54
55
  rgbTransferFunction = volumeActor.getProperty().getRGBTransferFunction(0);
55
56
  viewportsContainingVolumeUID =
@@ -1 +1 @@
1
- {"version":3,"file":"WindowLevelTool.js","sourceRoot":"","sources":["../../../src/tools/WindowLevelTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WindowLevelTool.js","sourceRoot":"","sources":["../../../src/tools/WindowLevelTool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { vec2, vec3 } from 'gl-matrix';
2
- import { Settings, getEnabledElement, StackViewport, triggerEvent, eventTarget, cache, utilities as csUtils, } from '@cornerstonejs/core';
2
+ import { Settings, getEnabledElement, triggerEvent, eventTarget, utilities as csUtils, } from '@cornerstonejs/core';
3
3
  import { AnnotationTool } from '../base';
4
4
  import throttle from '../../utilities/throttle';
5
5
  import { addAnnotation, getAnnotations, removeAnnotation, } from '../../stateManagement/annotation/annotationState';
@@ -554,7 +554,7 @@ export default class BidirectionalTool extends AnnotationTool {
554
554
  const targetIds = Object.keys(cachedStats);
555
555
  for (let i = 0; i < targetIds.length; i++) {
556
556
  const targetId = targetIds[i];
557
- const { image } = this.getTargetIdViewportAndImage(targetId, renderingEngine);
557
+ const image = this.getTargetIdImage(targetId, renderingEngine);
558
558
  const { imageData, dimensions } = image;
559
559
  const dist1 = this._calculateLength(worldPos1, worldPos2);
560
560
  const dist2 = this._calculateLength(worldPos3, worldPos4);
@@ -599,28 +599,15 @@ export default class BidirectionalTool extends AnnotationTool {
599
599
  this.isDrawing = true;
600
600
  const camera = viewport.getCamera();
601
601
  const { viewPlaneNormal, viewUp } = camera;
602
- let referencedImageId;
603
- if (viewport instanceof StackViewport) {
604
- referencedImageId =
605
- viewport.getCurrentImageId && viewport.getCurrentImageId();
606
- }
607
- else {
608
- const volumeId = this.getTargetId(viewport);
609
- const imageVolume = cache.getVolume(volumeId);
610
- referencedImageId = csUtils.getClosestImageId(imageVolume, worldPos, viewPlaneNormal, viewUp);
611
- }
612
- if (referencedImageId) {
613
- const colonIndex = referencedImageId.indexOf(':');
614
- referencedImageId = referencedImageId.substring(colonIndex + 1);
615
- }
602
+ const referencedImageId = this.getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp);
616
603
  const annotation = {
617
604
  highlighted: true,
618
605
  invalidated: true,
619
606
  metadata: {
607
+ toolName: BidirectionalTool.toolName,
620
608
  viewPlaneNormal: [...viewPlaneNormal],
621
609
  viewUp: [...viewUp],
622
610
  FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
623
- toolName: BidirectionalTool.toolName,
624
611
  referencedImageId,
625
612
  },
626
613
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"BidirectionalTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/BidirectionalTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BidirectionalTool.js","sourceRoot":"","sources":["../../../../src/tools/annotation/BidirectionalTool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AnnotationTool } from '../base';
2
- import { getEnabledElement, Settings, StackViewport, VolumeViewport, eventTarget, triggerEvent, cache, utilities as csUtils, } from '@cornerstonejs/core';
2
+ import { getEnabledElement, Settings, VolumeViewport, eventTarget, triggerEvent, utilities as csUtils, } from '@cornerstonejs/core';
3
3
  import throttle from '../../utilities/throttle';
4
4
  import { addAnnotation, getAnnotations, removeAnnotation, } from '../../stateManagement/annotation/annotationState';
5
5
  import { isAnnotationLocked } from '../../stateManagement/annotation/annotationLocking';
@@ -34,30 +34,16 @@ export default class EllipticalROITool extends AnnotationTool {
34
34
  this.isDrawing = true;
35
35
  const camera = viewport.getCamera();
36
36
  const { viewPlaneNormal, viewUp } = camera;
37
- let referencedImageId;
38
- if (viewport instanceof StackViewport) {
39
- referencedImageId =
40
- viewport.getCurrentImageId && viewport.getCurrentImageId();
41
- }
42
- else {
43
- const volumeId = this.getTargetId(viewport);
44
- const imageVolume = cache.getVolume(volumeId);
45
- referencedImageId = csUtils.getClosestImageId(imageVolume, worldPos, viewPlaneNormal, viewUp);
46
- }
47
- if (referencedImageId) {
48
- const colonIndex = referencedImageId.indexOf(':');
49
- referencedImageId = referencedImageId.substring(colonIndex + 1);
50
- }
51
- this.isDrawing = true;
37
+ const referencedImageId = this.getReferencedImageId(viewport, worldPos, viewPlaneNormal, viewUp);
52
38
  const annotation = {
53
39
  highlighted: true,
54
40
  invalidated: true,
55
41
  metadata: {
42
+ toolName: EllipticalROITool.toolName,
56
43
  viewPlaneNormal: [...viewPlaneNormal],
57
44
  viewUp: [...viewUp],
58
45
  FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
59
46
  referencedImageId,
60
- toolName: EllipticalROITool.toolName,
61
47
  },
62
48
  data: {
63
49
  label: '',
@@ -417,15 +403,20 @@ export default class EllipticalROITool extends AnnotationTool {
417
403
  this._throttledCalculateCachedStats(annotation, viewport, renderingEngine, enabledElement);
418
404
  if (viewport instanceof VolumeViewport) {
419
405
  const { referencedImageId } = annotation.metadata;
420
- const viewports = renderingEngine.getViewports();
421
- viewports.forEach((vp) => {
422
- const stackTargetId = this.getTargetId(vp);
423
- if (vp instanceof StackViewport &&
424
- !vp.getCurrentImageId().includes(referencedImageId) &&
425
- data.cachedStats[stackTargetId]) {
426
- delete data.cachedStats[stackTargetId];
406
+ for (const targetId in data.cachedStats) {
407
+ if (targetId.startsWith('imageId')) {
408
+ const viewports = renderingEngine.getStackViewports();
409
+ const invalidatedStack = viewports.find((vp) => {
410
+ const referencedImageURI = csUtils.imageIdToURI(referencedImageId);
411
+ const hasImageURI = vp.hasImageURI(referencedImageURI);
412
+ const currentImageURI = csUtils.imageIdToURI(vp.getCurrentImageId());
413
+ return hasImageURI && currentImageURI !== referencedImageURI;
414
+ });
415
+ if (invalidatedStack) {
416
+ delete data.cachedStats[targetId];
417
+ }
427
418
  }
428
- });
419
+ }
429
420
  }
430
421
  }
431
422
  if (!viewport.getRenderingEngine()) {
@@ -521,7 +512,7 @@ export default class EllipticalROITool extends AnnotationTool {
521
512
  const worldPos2 = bottomRightWorld;
522
513
  for (let i = 0; i < targetIds.length; i++) {
523
514
  const targetId = targetIds[i];
524
- const { image } = this.getTargetIdViewportAndImage(targetId, renderingEngine);
515
+ const image = this.getTargetIdImage(targetId, renderingEngine);
525
516
  const { dimensions, imageData, metadata } = image;
526
517
  const worldPos1Index = transformWorldToIndex(imageData, worldPos1);
527
518
  worldPos1Index[0] = Math.floor(worldPos1Index[0]);