@cornerstonejs/tools 0.15.3 → 0.17.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 (103) hide show
  1. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
  2. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +3 -0
  3. package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  4. package/dist/cjs/stateManagement/annotation/annotationState.d.ts +2 -1
  5. package/dist/cjs/stateManagement/annotation/annotationState.js +9 -1
  6. package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
  7. package/dist/cjs/stateManagement/annotation/annotationVisibility.js +1 -1
  8. package/dist/cjs/stateManagement/annotation/annotationVisibility.js.map +1 -1
  9. package/dist/cjs/store/SynchronizerManager/Synchronizer.d.ts +1 -0
  10. package/dist/cjs/store/SynchronizerManager/Synchronizer.js +6 -0
  11. package/dist/cjs/store/SynchronizerManager/Synchronizer.js.map +1 -1
  12. package/dist/cjs/store/SynchronizerManager/getSynchronizersForViewport.js +2 -1
  13. package/dist/cjs/store/SynchronizerManager/getSynchronizersForViewport.js.map +1 -1
  14. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +7 -2
  15. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  16. package/dist/cjs/tools/CrosshairsTool.d.ts +1 -1
  17. package/dist/cjs/tools/CrosshairsTool.js +36 -23
  18. package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
  19. package/dist/cjs/tools/StackScrollTool.js +2 -1
  20. package/dist/cjs/tools/StackScrollTool.js.map +1 -1
  21. package/dist/cjs/tools/StackScrollToolMouseWheelTool.js +2 -1
  22. package/dist/cjs/tools/StackScrollToolMouseWheelTool.js.map +1 -1
  23. package/dist/cjs/tools/WindowLevelTool.js +3 -1
  24. package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
  25. package/dist/cjs/tools/ZoomTool.js +1 -1
  26. package/dist/cjs/tools/ZoomTool.js.map +1 -1
  27. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js +2 -0
  28. package/dist/cjs/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  29. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +1 -0
  30. package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  31. package/dist/cjs/types/JumpToSliceOptions.d.ts +1 -1
  32. package/dist/cjs/types/ScrollOptions.d.ts +1 -2
  33. package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +1 -0
  34. package/dist/cjs/utilities/index.d.ts +2 -1
  35. package/dist/cjs/utilities/index.js +3 -1
  36. package/dist/cjs/utilities/index.js.map +1 -1
  37. package/dist/cjs/utilities/stackScrollTool/index.d.ts +1 -3
  38. package/dist/cjs/utilities/stackScrollTool/index.js +1 -5
  39. package/dist/cjs/utilities/stackScrollTool/index.js.map +1 -1
  40. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js +3 -6
  41. package/dist/cjs/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
  42. package/dist/cjs/utilities/viewport/jumpToSlice.d.ts +1 -1
  43. package/dist/cjs/utilities/viewport/jumpToSlice.js +37 -12
  44. package/dist/cjs/utilities/viewport/jumpToSlice.js.map +1 -1
  45. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
  46. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +3 -0
  47. package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
  48. package/dist/esm/stateManagement/annotation/annotationState.d.ts +2 -1
  49. package/dist/esm/stateManagement/annotation/annotationState.js +8 -1
  50. package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
  51. package/dist/esm/stateManagement/annotation/annotationVisibility.js +1 -1
  52. package/dist/esm/stateManagement/annotation/annotationVisibility.js.map +1 -1
  53. package/dist/esm/store/SynchronizerManager/Synchronizer.d.ts +1 -0
  54. package/dist/esm/store/SynchronizerManager/Synchronizer.js +6 -0
  55. package/dist/esm/store/SynchronizerManager/Synchronizer.js.map +1 -1
  56. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js +2 -1
  57. package/dist/esm/store/SynchronizerManager/getSynchronizersForViewport.js.map +1 -1
  58. package/dist/esm/store/ToolGroupManager/ToolGroup.js +8 -3
  59. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  60. package/dist/esm/tools/CrosshairsTool.d.ts +1 -1
  61. package/dist/esm/tools/CrosshairsTool.js +36 -23
  62. package/dist/esm/tools/CrosshairsTool.js.map +1 -1
  63. package/dist/esm/tools/StackScrollTool.js +2 -1
  64. package/dist/esm/tools/StackScrollTool.js.map +1 -1
  65. package/dist/esm/tools/StackScrollToolMouseWheelTool.js +2 -1
  66. package/dist/esm/tools/StackScrollToolMouseWheelTool.js.map +1 -1
  67. package/dist/esm/tools/WindowLevelTool.js +3 -1
  68. package/dist/esm/tools/WindowLevelTool.js.map +1 -1
  69. package/dist/esm/tools/ZoomTool.js +1 -1
  70. package/dist/esm/tools/ZoomTool.js.map +1 -1
  71. package/dist/esm/tools/annotation/ArrowAnnotateTool.js +2 -0
  72. package/dist/esm/tools/annotation/ArrowAnnotateTool.js.map +1 -1
  73. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +2 -1
  74. package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
  75. package/dist/esm/types/JumpToSliceOptions.d.ts +1 -1
  76. package/dist/esm/types/ScrollOptions.d.ts +1 -2
  77. package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +1 -0
  78. package/dist/esm/utilities/index.d.ts +2 -1
  79. package/dist/esm/utilities/index.js +2 -1
  80. package/dist/esm/utilities/index.js.map +1 -1
  81. package/dist/esm/utilities/stackScrollTool/index.d.ts +1 -3
  82. package/dist/esm/utilities/stackScrollTool/index.js +1 -3
  83. package/dist/esm/utilities/stackScrollTool/index.js.map +1 -1
  84. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js +3 -6
  85. package/dist/esm/utilities/stackScrollTool/scrollThroughStack.js.map +1 -1
  86. package/dist/esm/utilities/viewport/jumpToSlice.d.ts +1 -1
  87. package/dist/esm/utilities/viewport/jumpToSlice.js +25 -11
  88. package/dist/esm/utilities/viewport/jumpToSlice.js.map +1 -1
  89. package/dist/umd/index.js +1 -1
  90. package/dist/umd/index.js.map +1 -1
  91. package/package.json +5 -5
  92. package/dist/cjs/utilities/stackScrollTool/getSliceRange.d.ts +0 -6
  93. package/dist/cjs/utilities/stackScrollTool/getSliceRange.js +0 -32
  94. package/dist/cjs/utilities/stackScrollTool/getSliceRange.js.map +0 -1
  95. package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.d.ts +0 -5
  96. package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.js +0 -41
  97. package/dist/cjs/utilities/stackScrollTool/snapFocalPointToSlice.js.map +0 -1
  98. package/dist/esm/utilities/stackScrollTool/getSliceRange.d.ts +0 -6
  99. package/dist/esm/utilities/stackScrollTool/getSliceRange.js +0 -26
  100. package/dist/esm/utilities/stackScrollTool/getSliceRange.js.map +0 -1
  101. package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.d.ts +0 -5
  102. package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.js +0 -38
  103. package/dist/esm/utilities/stackScrollTool/snapFocalPointToSlice.js.map +0 -1
@@ -1,3 +1,3 @@
1
1
  import JumpToSliceOptions from '../../types/JumpToSliceOptions';
2
- declare function jumpToSlice(element: HTMLDivElement, options: JumpToSliceOptions): Promise<string>;
2
+ declare function jumpToSlice(element: HTMLDivElement, options: JumpToSliceOptions): Promise<void>;
3
3
  export default jumpToSlice;
@@ -1,21 +1,35 @@
1
- import { getEnabledElement, StackViewport } from '@cornerstonejs/core';
1
+ import { getEnabledElement, StackViewport, VolumeViewport, utilities as csUtils, } from '@cornerstonejs/core';
2
2
  import clip from '../clip';
3
- function jumpToSlice(element, options) {
4
- const { imageIdIndex } = options;
5
- if (imageIdIndex === undefined) {
6
- throw new Error('Cannot jump to slice without an imageIdIndex yet');
7
- }
3
+ import { scrollThroughStack } from '../stackScrollTool';
4
+ async function jumpToSlice(element, options) {
5
+ const { imageIndex } = options;
8
6
  const enabledElement = getEnabledElement(element);
9
7
  if (!enabledElement) {
10
8
  throw new Error('Element has been disabled');
11
9
  }
12
10
  const { viewport } = enabledElement;
13
- if (!(viewport instanceof StackViewport)) {
14
- throw new Error('Cannot scroll to slice on a non-stack viewport yet');
11
+ const { imageIndex: currentImageIndex, numberOfSlices } = _getImageSliceData(viewport);
12
+ const imageIndexToJump = _getImageIndexToJump(numberOfSlices, imageIndex);
13
+ const delta = imageIndexToJump - currentImageIndex;
14
+ scrollThroughStack(viewport, { delta });
15
+ }
16
+ function _getImageSliceData(viewport) {
17
+ if (viewport instanceof StackViewport) {
18
+ return {
19
+ numberOfSlices: viewport.getImageIds().length,
20
+ imageIndex: viewport.getCurrentImageIdIndex(),
21
+ };
22
+ }
23
+ else if (viewport instanceof VolumeViewport) {
24
+ return csUtils.getImageSliceDataForVolumeViewport(viewport);
15
25
  }
16
- const numberOfFrames = viewport.getImageIds().length;
17
- const newImageIdIndex = clip(imageIdIndex, 0, numberOfFrames - 1);
18
- return viewport.setImageIdIndex(newImageIdIndex);
26
+ else {
27
+ throw new Error('Unsupported viewport type');
28
+ }
29
+ }
30
+ function _getImageIndexToJump(numberOfSlices, imageIndex) {
31
+ const lastSliceIndex = numberOfSlices - 1;
32
+ return clip(imageIndex, 0, lastSliceIndex);
19
33
  }
20
34
  export default jumpToSlice;
21
35
  //# sourceMappingURL=jumpToSlice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jumpToSlice.js","sourceRoot":"","sources":["../../../../src/utilities/viewport/jumpToSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,IAAI,MAAM,SAAS,CAAC;AAa3B,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,iBAAiB,CAAC,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,aAAa,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;IACrD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;IAElE,OAAO,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;AACnD,CAAC;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"jumpToSlice.js","sourceRoot":"","sources":["../../../../src/utilities/viewport/jumpToSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,SAAS,IAAI,OAAO,GAErB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAYxD,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,OAA2B;IAE3B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,cAAc,GAAG,iBAAiB,CAAC,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,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,GACrD,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE/B,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;IAEnD,kBAAkB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAsD;IAEtD,IAAI,QAAQ,YAAY,aAAa,EAAE;QACrC,OAAO;YACL,cAAc,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM;YAC7C,UAAU,EAAE,QAAQ,CAAC,sBAAsB,EAAE;SAC9C,CAAC;KACH;SAAM,IAAI,QAAQ,YAAY,cAAc,EAAE;QAC7C,OAAO,OAAO,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC;KAC7D;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC9C;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,cAAsB,EACtB,UAAkB;IAElB,MAAM,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC;IAE1C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED,eAAe,WAAW,CAAC"}