@cornerstonejs/tools 0.5.4 → 0.7.1

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 (115) hide show
  1. package/dist/cjs/constants/COLOR_LUT.js.map +1 -1
  2. package/dist/cjs/index.d.ts +1 -8
  3. package/dist/cjs/index.js +1 -8
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/stateManagement/annotation/annotationSelection.d.ts +2 -1
  6. package/dist/cjs/stateManagement/annotation/annotationSelection.js +2 -1
  7. package/dist/cjs/stateManagement/annotation/annotationSelection.js.map +1 -1
  8. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.d.ts +4 -4
  9. package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +9 -9
  10. package/dist/cjs/stateManagement/segmentation/config/segmentationColor.d.ts +2 -2
  11. package/dist/cjs/stateManagement/segmentation/config/segmentationColor.js +3 -3
  12. package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +4 -4
  13. package/dist/cjs/stateManagement/segmentation/segmentationState.js +6 -6
  14. package/dist/cjs/store/ToolGroupManager/ToolGroup.js +9 -6
  15. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  16. package/dist/cjs/tools/CrosshairsTool.d.ts +4 -2
  17. package/dist/cjs/tools/CrosshairsTool.js +12 -1
  18. package/dist/cjs/tools/CrosshairsTool.js.map +1 -1
  19. package/dist/cjs/tools/WindowLevelTool.js.map +1 -1
  20. package/dist/cjs/tools/annotation/BidirectionalTool.js +5 -5
  21. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  22. package/dist/cjs/tools/annotation/EllipticalROITool.js +3 -3
  23. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  24. package/dist/cjs/tools/annotation/LengthTool.js +3 -3
  25. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  26. package/dist/cjs/tools/annotation/ProbeTool.js +2 -2
  27. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  28. package/dist/cjs/tools/annotation/RectangleROITool.js +3 -3
  29. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  30. package/dist/cjs/tools/displayTools/Labelmap/labelmapConfig.js +2 -0
  31. package/dist/cjs/tools/displayTools/Labelmap/labelmapConfig.js.map +1 -1
  32. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +20 -7
  33. package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  34. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
  35. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +2 -2
  36. package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
  37. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js +3 -5
  38. package/dist/cjs/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  39. package/dist/cjs/tools/segmentation/strategies/fillCircle.js +4 -6
  40. package/dist/cjs/tools/segmentation/strategies/fillCircle.js.map +1 -1
  41. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js +3 -5
  42. package/dist/cjs/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  43. package/dist/cjs/types/LabelmapTypes.d.ts +1 -0
  44. package/dist/cjs/types/SegmentationStateTypes.d.ts +2 -2
  45. package/dist/cjs/types/index.d.ts +2 -2
  46. package/dist/cjs/utilities/index.d.ts +1 -2
  47. package/dist/cjs/utilities/index.js +1 -3
  48. package/dist/cjs/utilities/index.js.map +1 -1
  49. package/dist/cjs/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -1
  50. package/dist/cjs/utilities/pointInSurroundingSphereCallback.js +4 -3
  51. package/dist/cjs/utilities/pointInSurroundingSphereCallback.js.map +1 -1
  52. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js +2 -5
  53. package/dist/cjs/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  54. package/dist/esm/constants/COLOR_LUT.js.map +1 -1
  55. package/dist/esm/index.d.ts +1 -8
  56. package/dist/esm/index.js +1 -8
  57. package/dist/esm/index.js.map +1 -1
  58. package/dist/esm/stateManagement/annotation/annotationSelection.d.ts +2 -1
  59. package/dist/esm/stateManagement/annotation/annotationSelection.js +1 -1
  60. package/dist/esm/stateManagement/annotation/annotationSelection.js.map +1 -1
  61. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +4 -4
  62. package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +9 -9
  63. package/dist/esm/stateManagement/segmentation/config/segmentationColor.d.ts +2 -2
  64. package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +3 -3
  65. package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +4 -4
  66. package/dist/esm/stateManagement/segmentation/segmentationState.js +5 -5
  67. package/dist/esm/store/ToolGroupManager/ToolGroup.js +9 -6
  68. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  69. package/dist/esm/tools/CrosshairsTool.d.ts +4 -2
  70. package/dist/esm/tools/CrosshairsTool.js +12 -1
  71. package/dist/esm/tools/CrosshairsTool.js.map +1 -1
  72. package/dist/esm/tools/WindowLevelTool.js.map +1 -1
  73. package/dist/esm/tools/annotation/BidirectionalTool.js +5 -5
  74. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  75. package/dist/esm/tools/annotation/EllipticalROITool.js +3 -3
  76. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  77. package/dist/esm/tools/annotation/LengthTool.js +3 -3
  78. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  79. package/dist/esm/tools/annotation/ProbeTool.js +2 -2
  80. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  81. package/dist/esm/tools/annotation/RectangleROITool.js +3 -3
  82. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  83. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js +2 -0
  84. package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js.map +1 -1
  85. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +20 -7
  86. package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
  87. package/dist/esm/tools/displayTools/SegmentationDisplayTool.d.ts +2 -2
  88. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +2 -2
  89. package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
  90. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js +3 -2
  91. package/dist/esm/tools/segmentation/strategies/eraseRectangle.js.map +1 -1
  92. package/dist/esm/tools/segmentation/strategies/fillCircle.js +4 -3
  93. package/dist/esm/tools/segmentation/strategies/fillCircle.js.map +1 -1
  94. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +3 -2
  95. package/dist/esm/tools/segmentation/strategies/fillRectangle.js.map +1 -1
  96. package/dist/esm/types/LabelmapTypes.d.ts +1 -0
  97. package/dist/esm/types/SegmentationStateTypes.d.ts +2 -2
  98. package/dist/esm/types/index.d.ts +2 -2
  99. package/dist/esm/utilities/index.d.ts +1 -2
  100. package/dist/esm/utilities/index.js +1 -2
  101. package/dist/esm/utilities/index.js.map +1 -1
  102. package/dist/esm/utilities/planar/getPointInLineOfSightWithCriteria.js.map +1 -1
  103. package/dist/esm/utilities/pointInSurroundingSphereCallback.js +4 -3
  104. package/dist/esm/utilities/pointInSurroundingSphereCallback.js.map +1 -1
  105. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js +3 -3
  106. package/dist/esm/utilities/segmentation/thresholdVolumeByRange.js.map +1 -1
  107. package/dist/umd/index.js +1 -1
  108. package/dist/umd/index.js.map +1 -1
  109. package/package.json +4 -4
  110. package/dist/cjs/utilities/transformPhysicalToIndex.d.ts +0 -1
  111. package/dist/cjs/utilities/transformPhysicalToIndex.js +0 -9
  112. package/dist/cjs/utilities/transformPhysicalToIndex.js.map +0 -1
  113. package/dist/esm/utilities/transformPhysicalToIndex.d.ts +0 -1
  114. package/dist/esm/utilities/transformPhysicalToIndex.js +0 -6
  115. package/dist/esm/utilities/transformPhysicalToIndex.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentationDisplayTool.js","sourceRoot":"","sources":["../../../../src/tools/displayTools/SegmentationDisplayTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SegmentationDisplayTool.js","sourceRoot":"","sources":["../../../../src/tools/displayTools/SegmentationDisplayTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,eAAe,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,yCAAyC,EAAE,MAAM,8DAA8D,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA4B5C,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,QAAQ;IAE3D,YACE,YAA6B,EAAE,EAC/B,mBAA8B;QAC5B,aAAa,EAAE,EAAE;KAClB;QAED,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAsDrC,uBAAkB,GAAG,CAAC,WAAmB,EAAQ,EAAE;YACjD,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;YAE5C,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO;aACR;YAED,MAAM,oCAAoC,GACxC,8BAA8B,CAAC,WAAW,CAAC,CAAC;YAG9C,MAAM,kBAAkB,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CACpD,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;gBACpC,MAAM,cAAc,GAAG,sBAAsB,CAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;gBAEF,IAAI,cAAc,EAAE;oBAClB,OAAO,cAAc,CAAC,QAAQ,CAAC;iBAChC;YACH,CAAC,CACF,CAAC;YAGF,oCAAoC,CAAC,OAAO,CAC1C,CAAC,cAA+C,EAAE,EAAE;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC;gBAEjE,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACtC,IAAI,cAAc,CAAC,IAAI,IAAI,eAAe,CAAC,QAAQ,EAAE;wBACnD,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;qBAC1D;yBAAM;wBACL,MAAM,IAAI,KAAK,CACb,cAAc,cAAc,CAAC,IAAI,uBAAuB,CACzD,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;YAGF,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACtC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAlGF,CAAC;IAED,gBAAgB;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,oCAAoC,GACxC,8BAA8B,CAAC,WAAW,CAAC,CAAC;QAE9C,IACE,CAAC,oCAAoC;YACrC,oCAAoC,CAAC,MAAM,KAAK,CAAC,EACjD;YACA,OAAO;SACR;QAGD,KAAK,MAAM,0BAA0B,IAAI,oCAAoC,EAAE;YAC7E,0BAA0B,CAAC,UAAU,GAAG,IAAI,CAAC;YAC7C,yCAAyC,CACvC,WAAW,EACX,0BAA0B,CAAC,6BAA6B,CACzD,CAAC;SACH;IACH,CAAC;IAED,iBAAiB;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,oCAAoC,GACxC,8BAA8B,CAAC,WAAW,CAAC,CAAC;QAE9C,IACE,CAAC,oCAAoC;YACrC,oCAAoC,CAAC,MAAM,KAAK,CAAC,EACjD;YACA,OAAO;SACR;QAGD,KAAK,MAAM,0BAA0B,IAAI,oCAAoC,EAAE;YAC7E,0BAA0B,CAAC,UAAU,GAAG,KAAK,CAAC;YAC9C,yCAAyC,CACvC,WAAW,EACX,0BAA0B,CAAC,6BAA6B,CACzD,CAAC;SACH;IACH,CAAC;IA6DD,+BAA+B,CAC7B,WAAmB;QAEnB,MAAM,eAAe,GACnB,kBAAkB,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,EAAE,CAAC;QAG1D,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAE9D,OAAO,YAAY,CAAC;IACtB,CAAC;;AA5HM,gCAAQ,GAAG,qBAAqB,CAAC"}
@@ -1,12 +1,13 @@
1
+ import { utilities as csUtils } from '@cornerstonejs/core';
1
2
  import { getBoundingBoxAroundShape } from '../../../utilities/segmentation';
2
- import transformPhysicalToIndex from '../../../utilities/transformPhysicalToIndex';
3
3
  import { triggerSegmentationDataModified } from '../../../stateManagement/segmentation/triggerSegmentationEvents';
4
4
  import { pointInShapeCallback } from '../../../utilities';
5
+ const { transformWorldToIndex } = csUtils;
5
6
  function eraseRectangle(enabledElement, operationData, inside = true) {
6
7
  const { volume: segmentation, points, segmentsLocked, segmentationId, } = operationData;
7
8
  const { imageData, dimensions, scalarData } = segmentation;
8
9
  const rectangleCornersIJK = points.map((world) => {
9
- return transformPhysicalToIndex(imageData, world);
10
+ return transformWorldToIndex(imageData, world);
10
11
  });
11
12
  const boundsIJK = getBoundingBoxAroundShape(rectangleCornersIJK, dimensions);
12
13
  if (boundsIJK.every(([min, max]) => min !== max)) {
@@ -1 +1 @@
1
- {"version":3,"file":"eraseRectangle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/eraseRectangle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,wBAAwB,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAClH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAU1D,SAAS,cAAc,CACrB,cAAqC,EACrC,aAAiC,EACjC,MAAM,GAAG,IAAI;IAEb,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,MAAM,EACN,cAAc,EACd,cAAc,GACf,GAAG,aAAa,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IAE3D,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,OAAO,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,yBAAyB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAE7E,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAGD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAEhC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO;SACR;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEnE,+BAA+B,CAAC,cAAc,CAAC,CAAC;AAClD,CAAC;AAQD,MAAM,UAAU,oBAAoB,CAClC,cAAqC,EACrC,aAAiC;IAEjC,cAAc,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAQD,MAAM,UAAU,qBAAqB,CACnC,cAAqC,EACrC,aAAiC;IAEjC,cAAc,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"eraseRectangle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/eraseRectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAClH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;AAU1C,SAAS,cAAc,CACrB,cAAqC,EACrC,aAAiC,EACjC,MAAM,GAAG,IAAI;IAEb,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,MAAM,EACN,cAAc,EACd,cAAc,GACf,GAAG,aAAa,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IAE3D,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,OAAO,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,yBAAyB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAE7E,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAGD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAEhC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO;SACR;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEnE,+BAA+B,CAAC,cAAc,CAAC,CAAC;AAClD,CAAC;AAQD,MAAM,UAAU,oBAAoB,CAClC,cAAqC,EACrC,aAAiC;IAEjC,cAAc,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAQD,MAAM,UAAU,qBAAqB,CACnC,cAAqC,EACrC,aAAiC;IAEjC,cAAc,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { vec3 } from 'gl-matrix';
2
+ import { utilities as csUtils } from '@cornerstonejs/core';
2
3
  import { getCanvasEllipseCorners, pointInEllipse, } from '../../../utilities/math/ellipse';
3
4
  import { getBoundingBoxAroundShape } from '../../../utilities/segmentation';
4
- import transformPhysicalToIndex from '../../../utilities/transformPhysicalToIndex';
5
5
  import { triggerSegmentationDataModified } from '../../../stateManagement/segmentation/triggerSegmentationEvents';
6
6
  import { pointInShapeCallback } from '../../../utilities';
7
+ const { transformWorldToIndex } = csUtils;
7
8
  function fillCircle(enabledElement, operationData, inside = true) {
8
9
  const { volume: segmentationVolume, points, segmentsLocked, segmentIndex, segmentationId, } = operationData;
9
10
  const { imageData, dimensions, scalarData } = segmentationVolume;
@@ -18,8 +19,8 @@ function fillCircle(enabledElement, operationData, inside = true) {
18
19
  const topLeftWorld = viewport.canvasToWorld(topLeftCanvas);
19
20
  const bottomRightWorld = viewport.canvasToWorld(bottomRightCanvas);
20
21
  const ellipsoidCornersIJK = [
21
- transformPhysicalToIndex(imageData, topLeftWorld),
22
- transformPhysicalToIndex(imageData, bottomRightWorld),
22
+ transformWorldToIndex(imageData, topLeftWorld),
23
+ transformWorldToIndex(imageData, bottomRightWorld),
23
24
  ];
24
25
  const boundsIJK = getBoundingBoxAroundShape(ellipsoidCornersIJK, dimensions);
25
26
  if (boundsIJK.every(([min, max]) => min !== max)) {
@@ -1 +1 @@
1
- {"version":3,"file":"fillCircle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillCircle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fillCircle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillCircle.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
+ import { utilities as csUtils } from '@cornerstonejs/core';
1
2
  import { getBoundingBoxAroundShape } from '../../../utilities/segmentation';
2
3
  import { pointInShapeCallback } from '../../../utilities';
3
- import transformPhysicalToIndex from '../../../utilities/transformPhysicalToIndex';
4
4
  import { triggerSegmentationDataModified } from '../../../stateManagement/segmentation/triggerSegmentationEvents';
5
+ const { transformWorldToIndex } = csUtils;
5
6
  function fillRectangle(enabledElement, operationData, inside = true) {
6
7
  const { volume: segmentation, points, segmentsLocked, segmentIndex, segmentationId, constraintFn, } = operationData;
7
8
  const { imageData, dimensions, scalarData } = segmentation;
8
9
  let rectangleCornersIJK = points.map((world) => {
9
- return transformPhysicalToIndex(imageData, world);
10
+ return transformWorldToIndex(imageData, world);
10
11
  });
11
12
  rectangleCornersIJK = rectangleCornersIJK.map((point) => {
12
13
  return point.map((coord) => {
@@ -1 +1 @@
1
- {"version":3,"file":"fillRectangle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillRectangle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,wBAAwB,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAoBlH,SAAS,aAAa,CACpB,cAAqC,EACrC,aAA4B,EAC5B,MAAM,GAAG,IAAI;IAEb,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,GACb,GAAG,aAAa,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IAE3D,IAAI,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,OAAO,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAGH,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,yBAAyB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAE7E,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAGD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAEpC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9C,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO;SACR;QAED,IAAI,CAAC,YAAY,EAAE;YACjB,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;YACjC,OAAO;SACR;QAED,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1B,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;SAClC;IACH,CAAC,CAAC;IAEF,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEvE,+BAA+B,CAAC,cAAc,CAAC,CAAC;AAClD,CAAC;AASD,MAAM,UAAU,mBAAmB,CACjC,cAAqC,EACrC,aAA4B;IAE5B,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AASD,MAAM,UAAU,oBAAoB,CAClC,cAAqC,EACrC,aAA4B;IAE5B,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"fillRectangle.js","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/fillRectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAElH,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;AAoB1C,SAAS,aAAa,CACpB,cAAqC,EACrC,aAA4B,EAC5B,MAAM,GAAG,IAAI;IAEb,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,GACb,GAAG,aAAa,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IAE3D,IAAI,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,OAAO,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAGH,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,yBAAyB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAE7E,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAGD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAEpC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9C,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO;SACR;QAED,IAAI,CAAC,YAAY,EAAE;YACjB,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;YACjC,OAAO;SACR;QAED,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;YAC1B,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;SAClC;IACH,CAAC,CAAC;IAEF,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEvE,+BAA+B,CAAC,cAAc,CAAC,CAAC;AAClD,CAAC;AASD,MAAM,UAAU,mBAAmB,CACjC,cAAqC,EACrC,aAA4B;IAE5B,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AASD,MAAM,UAAU,oBAAoB,CAClC,cAAqC,EACrC,aAA4B;IAE5B,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC"}
@@ -5,6 +5,7 @@ export declare type LabelmapConfig = {
5
5
  outlineWidthActive?: number;
6
6
  outlineWidthInactive?: number;
7
7
  renderFill?: boolean;
8
+ renderFillInactive?: boolean;
8
9
  fillAlpha?: number;
9
10
  fillAlphaInactive?: number;
10
11
  };
@@ -1,7 +1,7 @@
1
1
  import * as Enums from '../enums';
2
2
  import type { LabelmapConfig, LabelmapSegmentationData, LabelmapRenderingConfig } from './LabelmapTypes';
3
3
  export declare type Color = [number, number, number, number];
4
- export declare type ColorLut = Array<Color>;
4
+ export declare type ColorLUT = Array<Color>;
5
5
  export declare type RepresentationConfig = {
6
6
  LABELMAP?: LabelmapConfig;
7
7
  };
@@ -38,7 +38,7 @@ export declare type ToolGroupSpecificLabelmapRepresentation = ToolGroupSpecificR
38
38
  export declare type ToolGroupSpecificRepresentation = ToolGroupSpecificLabelmapRepresentation;
39
39
  export declare type ToolGroupSpecificRepresentations = Array<ToolGroupSpecificRepresentation>;
40
40
  export declare type SegmentationState = {
41
- colorLut: ColorLut[];
41
+ colorLUT: ColorLUT[];
42
42
  segmentations: Segmentation[];
43
43
  globalConfig: SegmentationRepresentationConfig;
44
44
  toolGroups: {
@@ -11,5 +11,5 @@ 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 { Color, ColorLut, RepresentationConfig, SegmentationRepresentationConfig, SegmentationRepresentationData, Segmentation, ToolGroupSpecificRepresentationState, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, SegmentationState } 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, Color, ColorLut, LabelmapTypes, SVGCursorDescriptor, SVGPoint, };
14
+ 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, };
@@ -5,7 +5,6 @@ import throttle from './throttle';
5
5
  import isObject from './isObject';
6
6
  import calibrateImageSpacing from './calibrateImageSpacing';
7
7
  import triggerAnnotationRenderForViewportIds from './triggerAnnotationRenderForViewportIds';
8
- import transformPhysicalToIndex from './transformPhysicalToIndex';
9
8
  import pointInShapeCallback from './pointInShapeCallback';
10
9
  import pointInSurroundingSphereCallback from './pointInSurroundingSphereCallback';
11
10
  import * as segmentation from './segmentation';
@@ -15,4 +14,4 @@ import * as planar from './planar';
15
14
  import * as stackScrollTool from './stackScrollTool';
16
15
  import * as viewportFilters from './viewportFilters';
17
16
  import { triggerEvent } from '@cornerstonejs/core';
18
- export { math, planar, viewportFilters, stackScrollTool, drawing, debounce, deepMerge, throttle, isObject, triggerEvent, calibrateImageSpacing, segmentation, triggerAnnotationRenderForViewportIds, pointInShapeCallback, pointInSurroundingSphereCallback, getAnnotationNearPoint, getAnnotationNearPointOnEnabledElement, transformPhysicalToIndex, };
17
+ export { math, planar, viewportFilters, stackScrollTool, drawing, debounce, deepMerge, throttle, isObject, triggerEvent, calibrateImageSpacing, segmentation, triggerAnnotationRenderForViewportIds, pointInShapeCallback, pointInSurroundingSphereCallback, getAnnotationNearPoint, getAnnotationNearPointOnEnabledElement, };
@@ -5,7 +5,6 @@ import throttle from './throttle';
5
5
  import isObject from './isObject';
6
6
  import calibrateImageSpacing from './calibrateImageSpacing';
7
7
  import triggerAnnotationRenderForViewportIds from './triggerAnnotationRenderForViewportIds';
8
- import transformPhysicalToIndex from './transformPhysicalToIndex';
9
8
  import pointInShapeCallback from './pointInShapeCallback';
10
9
  import pointInSurroundingSphereCallback from './pointInSurroundingSphereCallback';
11
10
  import * as segmentation from './segmentation';
@@ -15,5 +14,5 @@ import * as planar from './planar';
15
14
  import * as stackScrollTool from './stackScrollTool';
16
15
  import * as viewportFilters from './viewportFilters';
17
16
  import { triggerEvent } from '@cornerstonejs/core';
18
- export { math, planar, viewportFilters, stackScrollTool, drawing, debounce, deepMerge, throttle, isObject, triggerEvent, calibrateImageSpacing, segmentation, triggerAnnotationRenderForViewportIds, pointInShapeCallback, pointInSurroundingSphereCallback, getAnnotationNearPoint, getAnnotationNearPointOnEnabledElement, transformPhysicalToIndex, };
17
+ export { math, planar, viewportFilters, stackScrollTool, drawing, debounce, deepMerge, throttle, isObject, triggerEvent, calibrateImageSpacing, segmentation, triggerAnnotationRenderForViewportIds, pointInShapeCallback, pointInSurroundingSphereCallback, getAnnotationNearPoint, getAnnotationNearPointOnEnabledElement, };
19
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sCAAsC,GACvC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,qCAAqC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAGlF,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACL,IAAI,EACJ,MAAM,EACN,eAAe,EACf,eAAe,EACf,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,qCAAqC,EACrC,oBAAoB,EACpB,gCAAgC,EAChC,sBAAsB,EACtB,sCAAsC,EACtC,wBAAwB,GACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sCAAsC,GACvC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,qCAAqC,MAAM,yCAAyC,CAAC;AAE5F,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAGlF,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACL,IAAI,EACJ,MAAM,EACN,eAAe,EACf,eAAe,EACf,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,qCAAqC,EACrC,oBAAoB,EACpB,gCAAgC,EAChC,sBAAsB,EACtB,sCAAsC,GACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPointInLineOfSightWithCriteria.js","sourceRoot":"","sources":["../../../../src/utilities/planar/getPointInLineOfSightWithCriteria.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAmB3D,MAAM,CAAC,OAAO,UAAU,iCAAiC,CACvD,QAA+B,EAC/B,QAAsB,EACtB,cAAsB,EACtB,gBAA0E,EAC1E,QAAQ,GAAG,IAAI;IAGf,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAI5C,MAAM,EAAE,wBAAwB,EAAE,GAChC,OAAO,CAAC,oCAAoC,CAC1C,QAAQ,EACR,MAAM,EACN,cAAc,CACf,CAAC;IAEJ,MAAM,IAAI,GAAG,wBAAwB,GAAG,QAAQ,CAAC;IAKjD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAGvB,MAAM,MAAM,GAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAGvC,IAAI,KAAK,GAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAGpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAEnD,IAAI,WAAW,CAAC;IAIhB,KAAK,IAAI,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE;QAE9D,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvB,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAG7C,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;YAE5B,MAAM,SAAS,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAGxD,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE;gBACf,WAAW,GAAG,WAAW,CAAC;aAC3B;SACF;KACF;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAOD,MAAM,SAAS,GAAG,UAChB,KAAmB,EACnB,MAAqB;IAErB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;IACpD,OAAO,CACL,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAChB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"getPointInLineOfSightWithCriteria.js","sourceRoot":"","sources":["../../../../src/utilities/planar/getPointInLineOfSightWithCriteria.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAkB3D,MAAM,CAAC,OAAO,UAAU,iCAAiC,CACvD,QAA+B,EAC/B,QAAsB,EACtB,cAAsB,EACtB,gBAA0E,EAC1E,QAAQ,GAAG,IAAI;IAGf,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAI5C,MAAM,EAAE,wBAAwB,EAAE,GAChC,OAAO,CAAC,oCAAoC,CAC1C,QAAQ,EACR,MAAM,EACN,cAAc,CACf,CAAC;IAEJ,MAAM,IAAI,GAAG,wBAAwB,GAAG,QAAQ,CAAC;IAKjD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAGvB,MAAM,MAAM,GAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAGvC,IAAI,KAAK,GAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAGpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAEnD,IAAI,WAAW,CAAC;IAIhB,KAAK,IAAI,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE;QAE9D,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvB,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAG7C,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;YAE5B,MAAM,SAAS,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAGxD,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,WAAW,EAAE;gBACf,WAAW,GAAG,WAAW,CAAC;aAC3B;SACF;KACF;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAOD,MAAM,SAAS,GAAG,UAChB,KAAmB,EACnB,MAAqB;IAErB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;IACpD,OAAO,CACL,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAChB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,8 +1,9 @@
1
+ import { utilities as csUtils } from '@cornerstonejs/core';
1
2
  import { vec3 } from 'gl-matrix';
2
3
  import { pointInSphere } from './math/sphere';
3
4
  import { getBoundingBoxAroundShape } from './segmentation/getBoundingBoxUtils';
4
5
  import pointInShapeCallback from './pointInShapeCallback';
5
- import transformPhysicalToIndex from './transformPhysicalToIndex';
6
+ const { transformWorldToIndex } = csUtils;
6
7
  export default function pointInSurroundingSphereCallback(viewport, imageData, circlePoints, callback) {
7
8
  const dimensions = imageData.getDimensions();
8
9
  const camera = viewport.getCamera();
@@ -21,8 +22,8 @@ export default function pointInSurroundingSphereCallback(viewport, imageData, ci
21
22
  vec3.scaleAndAdd(topLeftWorld, topLeftWorld, viewRight, -radiusWorld);
22
23
  vec3.scaleAndAdd(bottomRightWorld, bottomRightWorld, viewRight, radiusWorld);
23
24
  const sphereCornersIJK = [
24
- transformPhysicalToIndex(imageData, topLeftWorld),
25
- transformPhysicalToIndex(imageData, bottomRightWorld),
25
+ transformWorldToIndex(imageData, topLeftWorld),
26
+ (transformWorldToIndex(imageData, bottomRightWorld)),
26
27
  ];
27
28
  const boundsIJK = getBoundingBoxAroundShape(sphereCornersIJK, dimensions);
28
29
  const sphereObj = {
@@ -1 +1 @@
1
- {"version":3,"file":"pointInSurroundingSphereCallback.js","sourceRoot":"","sources":["../../../src/utilities/pointInSurroundingSphereCallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pointInSurroundingSphereCallback.js","sourceRoot":"","sources":["../../../src/utilities/pointInSurroundingSphereCallback.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { cache } from '@cornerstonejs/core';
1
+ import { cache, utilities as csUtils } from '@cornerstonejs/core';
2
2
  import { getBoundingBoxAroundShape, extend2DBoundingBoxInViewAxis, } from '../segmentation';
3
3
  import { pointInShapeCallback } from '../../utilities';
4
4
  import { triggerSegmentationDataModified } from '../../stateManagement/segmentation/triggerSegmentationEvents';
5
- import transformPhysicalToIndex from '../transformPhysicalToIndex';
6
5
  import * as SegmentationState from '../../stateManagement/segmentation/segmentationState';
6
+ const { transformWorldToIndex } = csUtils;
7
7
  function thresholdVolumeByRange(annotations, referenceVolumes, segmentationRepresentation, options) {
8
8
  if (referenceVolumes.length > 1) {
9
9
  throw new Error('thresholding more than one volumes is not supported yet');
@@ -34,7 +34,7 @@ function thresholdVolumeByRange(annotations, referenceVolumes, segmentationRepre
34
34
  const { projectionPoints } = data.cachedStats;
35
35
  pointsToUse = [].concat(...projectionPoints);
36
36
  }
37
- const rectangleCornersIJK = pointsToUse.map((world) => transformPhysicalToIndex(imageData, world));
37
+ const rectangleCornersIJK = pointsToUse.map((world) => transformWorldToIndex(imageData, world));
38
38
  let boundsIJK = getBoundingBoxAroundShape(rectangleCornersIJK, dimensions);
39
39
  if (numSlicesToProject && !data.cachedStats?.projectionPoints) {
40
40
  boundsIJK = extendBoundingBoxInSliceAxisIfNecessary(boundsIJK, numSlicesToProject);
@@ -1 +1 @@
1
- {"version":3,"file":"thresholdVolumeByRange.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/thresholdVolumeByRange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thresholdVolumeByRange.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/thresholdVolumeByRange.ts"],"names":[],"mappings":"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"}