@cornerstonejs/tools 1.71.1 → 1.71.2

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 (76) hide show
  1. package/dist/cjs/tools/displayTools/Contour/contourConfig.js +2 -2
  2. package/dist/cjs/tools/displayTools/Contour/contourConfig.js.map +1 -1
  3. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +8 -6
  4. package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  5. package/dist/cjs/tools/displayTools/Contour/contourHandler/contourConfigCache.js.map +1 -0
  6. package/dist/cjs/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts +6 -0
  7. package/dist/cjs/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +124 -0
  8. package/dist/cjs/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js.map +1 -0
  9. package/dist/cjs/tools/displayTools/Contour/contourHandler/utils.js.map +1 -0
  10. package/dist/cjs/tools/displayTools/Contour/removeContourFromElement.d.ts +1 -1
  11. package/dist/cjs/tools/displayTools/Contour/removeContourFromElement.js +12 -9
  12. package/dist/cjs/tools/displayTools/Contour/removeContourFromElement.js.map +1 -1
  13. package/dist/esm/tools/displayTools/Contour/contourConfig.js +2 -2
  14. package/dist/esm/tools/displayTools/Contour/contourConfig.js.map +1 -1
  15. package/dist/esm/tools/displayTools/Contour/contourDisplay.js +8 -7
  16. package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
  17. package/dist/esm/tools/displayTools/Contour/contourHandler/contourConfigCache.js.map +1 -0
  18. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +119 -0
  19. package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js.map +1 -0
  20. package/dist/esm/tools/displayTools/Contour/contourHandler/utils.js.map +1 -0
  21. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +12 -9
  22. package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js.map +1 -1
  23. package/dist/types/tools/displayTools/Contour/contourDisplay.d.ts.map +1 -1
  24. package/dist/types/tools/displayTools/Contour/contourHandler/contourConfigCache.d.ts.map +1 -0
  25. package/dist/types/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts +7 -0
  26. package/dist/types/tools/displayTools/Contour/contourHandler/handleContourSegmentation.d.ts.map +1 -0
  27. package/dist/types/tools/displayTools/Contour/contourHandler/utils.d.ts.map +1 -0
  28. package/dist/types/tools/displayTools/Contour/removeContourFromElement.d.ts +1 -1
  29. package/dist/types/tools/displayTools/Contour/removeContourFromElement.d.ts.map +1 -1
  30. package/dist/umd/index.js +1 -1
  31. package/dist/umd/index.js.map +1 -1
  32. package/package.json +3 -3
  33. package/src/tools/displayTools/Contour/contourConfig.ts +2 -2
  34. package/src/tools/displayTools/Contour/contourDisplay.ts +14 -91
  35. package/src/tools/displayTools/Contour/contourHandler/handleContourSegmentation.ts +207 -0
  36. package/src/tools/displayTools/Contour/removeContourFromElement.ts +20 -14
  37. package/dist/cjs/tools/displayTools/Contour/vtkContour/addContourSetsToElement.d.ts +0 -3
  38. package/dist/cjs/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js +0 -73
  39. package/dist/cjs/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js.map +0 -1
  40. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts +0 -3
  41. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js +0 -14
  42. package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js.map +0 -1
  43. package/dist/cjs/tools/displayTools/Contour/vtkContour/contourConfigCache.js.map +0 -1
  44. package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts +0 -3
  45. package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js +0 -98
  46. package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js.map +0 -1
  47. package/dist/cjs/tools/displayTools/Contour/vtkContour/utils.js.map +0 -1
  48. package/dist/esm/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js +0 -66
  49. package/dist/esm/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js.map +0 -1
  50. package/dist/esm/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js +0 -10
  51. package/dist/esm/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js.map +0 -1
  52. package/dist/esm/tools/displayTools/Contour/vtkContour/contourConfigCache.js.map +0 -1
  53. package/dist/esm/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js +0 -93
  54. package/dist/esm/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js.map +0 -1
  55. package/dist/esm/tools/displayTools/Contour/vtkContour/utils.js.map +0 -1
  56. package/dist/types/tools/displayTools/Contour/vtkContour/addContourSetsToElement.d.ts +0 -4
  57. package/dist/types/tools/displayTools/Contour/vtkContour/addContourSetsToElement.d.ts.map +0 -1
  58. package/dist/types/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts +0 -4
  59. package/dist/types/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts.map +0 -1
  60. package/dist/types/tools/displayTools/Contour/vtkContour/contourConfigCache.d.ts.map +0 -1
  61. package/dist/types/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts +0 -4
  62. package/dist/types/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts.map +0 -1
  63. package/dist/types/tools/displayTools/Contour/vtkContour/utils.d.ts.map +0 -1
  64. package/src/tools/displayTools/Contour/vtkContour/addContourSetsToElement.ts +0 -113
  65. package/src/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.ts +0 -28
  66. package/src/tools/displayTools/Contour/vtkContour/updateVTKContourSets.ts +0 -155
  67. /package/dist/cjs/tools/displayTools/Contour/{vtkContour → contourHandler}/contourConfigCache.d.ts +0 -0
  68. /package/dist/cjs/tools/displayTools/Contour/{vtkContour → contourHandler}/contourConfigCache.js +0 -0
  69. /package/dist/cjs/tools/displayTools/Contour/{vtkContour → contourHandler}/utils.d.ts +0 -0
  70. /package/dist/cjs/tools/displayTools/Contour/{vtkContour → contourHandler}/utils.js +0 -0
  71. /package/dist/esm/tools/displayTools/Contour/{vtkContour → contourHandler}/contourConfigCache.js +0 -0
  72. /package/dist/esm/tools/displayTools/Contour/{vtkContour → contourHandler}/utils.js +0 -0
  73. /package/dist/types/tools/displayTools/Contour/{vtkContour → contourHandler}/contourConfigCache.d.ts +0 -0
  74. /package/dist/types/tools/displayTools/Contour/{vtkContour → contourHandler}/utils.d.ts +0 -0
  75. /package/src/tools/displayTools/Contour/{vtkContour → contourHandler}/contourConfigCache.ts +0 -0
  76. /package/src/tools/displayTools/Contour/{vtkContour → contourHandler}/utils.ts +0 -0
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const defaultContourConfig = {
4
4
  renderOutline: true,
5
5
  outlineWidthAutoGenerated: 3,
6
- outlineWidthActive: 2,
6
+ outlineWidthActive: 1,
7
7
  outlineWidthInactive: 1,
8
8
  outlineOpacity: 1,
9
9
  outlineOpacityInactive: 0.85,
@@ -11,7 +11,7 @@ const defaultContourConfig = {
11
11
  outlineDashInactive: undefined,
12
12
  outlineDashAutoGenerated: '5,3',
13
13
  activeSegmentOutlineWidthDelta: 0,
14
- renderFill: true,
14
+ renderFill: false,
15
15
  fillAlpha: 0.5,
16
16
  fillAlphaInactive: 0.3,
17
17
  fillAlphaAutoGenerated: 0.3,
@@ -1 +1 @@
1
- {"version":3,"file":"contourConfig.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourConfig.ts"],"names":[],"mappings":";;AAEA,MAAM,oBAAoB,GAAkB;IAC1C,aAAa,EAAE,IAAI;IACnB,yBAAyB,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC;IACrB,oBAAoB,EAAE,CAAC;IACvB,cAAc,EAAE,CAAC;IACjB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,wBAAwB,EAAE,KAAK;IAC/B,8BAA8B,EAAE,CAAC;IACjC,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,GAAG;IACtB,sBAAsB,EAAE,GAAG;CAC5B,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"contourConfig.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourConfig.ts"],"names":[],"mappings":";;AAEA,MAAM,oBAAoB,GAAkB;IAC1C,aAAa,EAAE,IAAI;IACnB,yBAAyB,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC;IACrB,oBAAoB,EAAE,CAAC;IACvB,cAAc,EAAE,CAAC;IACjB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,wBAAwB,EAAE,KAAK;IAC/B,8BAA8B,EAAE,CAAC;IACjC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,GAAG;IACtB,sBAAsB,EAAE,GAAG;CAC5B,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
@@ -39,10 +39,10 @@ const core_1 = require("@cornerstonejs/core");
39
39
  const SegmentationRepresentations_1 = __importDefault(require("../../../enums/SegmentationRepresentations"));
40
40
  const SegmentationState = __importStar(require("../../../stateManagement/segmentation/segmentationState"));
41
41
  const ToolGroupManager_1 = require("../../../store/ToolGroupManager");
42
- const addOrUpdateVTKContourSets_1 = require("./vtkContour/addOrUpdateVTKContourSets");
43
42
  const removeContourFromElement_1 = __importDefault(require("./removeContourFromElement"));
44
- const contourConfigCache_1 = require("./vtkContour/contourConfigCache");
43
+ const contourConfigCache_1 = require("./contourHandler/contourConfigCache");
45
44
  const segmentation_1 = require("../../../stateManagement/segmentation");
45
+ const handleContourSegmentation_1 = require("./contourHandler/handleContourSegmentation");
46
46
  let polySegConversionInProgress = false;
47
47
  function removeSegmentationRepresentation(toolGroupId, segmentationRepresentationUID, renderImmediate = false) {
48
48
  _removeContourFromToolGroupViewports(toolGroupId, segmentationRepresentationUID);
@@ -57,6 +57,7 @@ function removeSegmentationRepresentation(toolGroupId, segmentationRepresentatio
57
57
  }
58
58
  }
59
59
  function render(viewport, representationConfig, toolGroupConfig) {
60
+ var _a;
60
61
  return __awaiter(this, void 0, void 0, function* () {
61
62
  const { segmentationId } = representationConfig;
62
63
  const segmentation = SegmentationState.getSegmentation(segmentationId);
@@ -73,11 +74,12 @@ function render(viewport, representationConfig, toolGroupConfig) {
73
74
  viewport,
74
75
  });
75
76
  }
76
- const { geometryIds } = contourData;
77
- if (!(geometryIds === null || geometryIds === void 0 ? void 0 : geometryIds.length) || !(viewport instanceof core_1.BaseVolumeViewport)) {
77
+ if (!contourData) {
78
78
  return;
79
79
  }
80
- (0, addOrUpdateVTKContourSets_1.addOrUpdateVTKContourSets)(viewport, geometryIds, representationConfig, toolGroupConfig);
80
+ if ((_a = contourData === null || contourData === void 0 ? void 0 : contourData.geometryIds) === null || _a === void 0 ? void 0 : _a.length) {
81
+ (0, handleContourSegmentation_1.handleContourSegmentation)(viewport, contourData.geometryIds, contourData.annotationUIDsMap, representationConfig, toolGroupConfig);
82
+ }
81
83
  });
82
84
  }
83
85
  function _removeContourFromToolGroupViewports(toolGroupId, segmentationRepresentationUID) {
@@ -89,7 +91,7 @@ function _removeContourFromToolGroupViewports(toolGroupId, segmentationRepresent
89
91
  for (const viewportInfo of viewportsInfo) {
90
92
  const { viewportId, renderingEngineId } = viewportInfo;
91
93
  const enabledElement = (0, core_1.getEnabledElementByIds)(viewportId, renderingEngineId);
92
- (0, removeContourFromElement_1.default)(enabledElement.viewport.element, segmentationRepresentationUID);
94
+ (0, removeContourFromElement_1.default)(segmentationRepresentationUID, toolGroupId);
93
95
  }
94
96
  }
95
97
  exports.default = {
@@ -1 +1 @@
1
- {"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAI6B;AAE7B,6GAAyE;AACzE,2GAA6F;AAC7F,sEAA+D;AAK/D,sFAAmF;AACnF,0FAAkE;AAClE,wEAAoE;AACpE,wEAAgE;AAEhE,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAYxC,SAAS,gCAAgC,CACvC,WAAmB,EACnB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,oCAAoC,CAClC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,iBAAiB,CAAC,gCAAgC,CAChD,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,IAAA,sCAAiB,EAAC,6BAA6B,CAAC,CAAC;IAEjD,IAAI,eAAe,EAAE;QACnB,MAAM,aAAa,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE;YAC1D,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAQD,SAAe,MAAM,CACnB,QAA+B,EAC/B,oBAAqD,EACrD,eAAiD;;QAEjD,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;QAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEvE,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QAED,IAAI,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,qCAAe,CAAC,OAAO,CAAC,CAAC;QAE3E,IACE,CAAC,WAAW;YACZ,sBAAO,CAAC,iCAAiC,CACvC,oBAAoB,CAAC,6BAA6B,CACnD;YACD,CAAC,2BAA2B,EAC5B;YACA,2BAA2B,GAAG,IAAI,CAAC;YAEnC,WAAW,GAAG,MAAM,sBAAO,CAAC,kCAAkC,CAC5D,cAAc,EACd;gBACE,6BAA6B,EAC3B,oBAAoB,CAAC,6BAA6B;gBACpD,QAAQ;aACT,CACF,CAAC;SACH;QAOD,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAEpC,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,IAAI,CAAC,CAAC,QAAQ,YAAY,yBAAkB,CAAC,EAAE;YACrE,OAAO;SACR;QAGD,IAAA,qDAAyB,EACvB,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,eAAe,CAChB,CAAC;IAkEJ,CAAC;CAAA;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,6BAAqC;IAErC,MAAM,SAAS,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,iBAAiB,CAAC,CAAC;KAC7E;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEpC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC;QACvD,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;QACF,IAAA,kCAAwB,EACtB,cAAc,CAAC,QAAQ,CAAC,OAAO,EAC/B,6BAA6B,CAC9B,CAAC;KACH;AACH,CAAC;AAED,kBAAe;IACb,MAAM;IACN,gCAAgC;CACjC,CAAC"}
1
+ {"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAoE;AAEpE,6GAAyE;AACzE,2GAA6F;AAC7F,sEAA+D;AAK/D,0FAAkE;AAClE,4EAAwE;AACxE,wEAAgE;AAChE,0FAAuF;AAEvF,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAYxC,SAAS,gCAAgC,CACvC,WAAmB,EACnB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,oCAAoC,CAClC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,iBAAiB,CAAC,gCAAgC,CAChD,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,IAAA,sCAAiB,EAAC,6BAA6B,CAAC,CAAC;IAEjD,IAAI,eAAe,EAAE;QACnB,MAAM,aAAa,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE;YAC1D,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAQD,SAAe,MAAM,CACnB,QAA+B,EAC/B,oBAAqD,EACrD,eAAiD;;;QAEjD,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;QAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEvE,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QAED,IAAI,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,qCAAe,CAAC,OAAO,CAAC,CAAC;QAE3E,IACE,CAAC,WAAW;YACZ,sBAAO,CAAC,iCAAiC,CACvC,oBAAoB,CAAC,6BAA6B,CACnD;YACD,CAAC,2BAA2B,EAC5B;YACA,2BAA2B,GAAG,IAAI,CAAC;YAEnC,WAAW,GAAG,MAAM,sBAAO,CAAC,kCAAkC,CAC5D,cAAc,EACd;gBACE,6BAA6B,EAC3B,oBAAoB,CAAC,6BAA6B;gBACpD,QAAQ;aACT,CACF,CAAC;SACH;QAED,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,IAAI,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,0CAAE,MAAM,EAAE;YACpC,IAAA,qDAAyB,EACvB,QAAQ,EACR,WAAW,CAAC,WAAW,EACvB,WAAW,CAAC,iBAAiB,EAC7B,oBAAoB,EACpB,eAAe,CAChB,CAAC;SACH;;CACF;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,6BAAqC;IAErC,MAAM,SAAS,GAAG,IAAA,+BAAY,EAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,iBAAiB,CAAC,CAAC;KAC7E;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEpC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC;QACvD,MAAM,cAAc,GAAG,IAAA,6BAAsB,EAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;QACF,IAAA,kCAAwB,EAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;KACtE;AACH,CAAC;AAED,kBAAe;IACb,MAAM;IACN,gCAAgC;CACjC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contourConfigCache.js","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/contourConfigCache.ts"],"names":[],"mappings":";;;AAYA,MAAM,2CAA2C,GAAG,IAAI,GAAG,EAAE,CAAC;AAE9D,SAAgB,cAAc,CAC5B,6BAAqC;IAErC,OAAO,2CAA2C,CAAC,GAAG,CACpD,6BAA6B,CAC9B,CAAC;AACJ,CAAC;AAND,wCAMC;AAED,SAAgB,cAAc,CAC5B,6BAAqC,EACrC,MAAmB;IAEnB,2CAA2C,CAAC,GAAG,CAC7C,6BAA6B,EAC7B,MAAM,CACP,CAAC;AACJ,CAAC;AARD,wCAQC;AAED,SAAgB,iBAAiB,CAAC,6BAAqC;IACrE,2CAA2C,CAAC,MAAM,CAChD,6BAA6B,CAC9B,CAAC;AACJ,CAAC;AAJD,8CAIC"}
@@ -0,0 +1,6 @@
1
+ import { Types } from '@cornerstonejs/core';
2
+ import { SegmentationRepresentationConfig, ToolGroupSpecificContourRepresentation } from '../../../../types';
3
+ declare function handleContourSegmentation(viewport: Types.IVolumeViewport, geometryIds: string[], annotationUIDsMap: Map<number, Set<string>>, contourRepresentation: ToolGroupSpecificContourRepresentation, contourRepresentationConfig: SegmentationRepresentationConfig): void;
4
+ declare function updateContourSets(viewport: Types.IVolumeViewport, geometryIds: string[], contourRepresentation: ToolGroupSpecificContourRepresentation, contourRepresentationConfig: SegmentationRepresentationConfig): void;
5
+ declare function addContourSetsToElement(viewport: Types.IVolumeViewport, geometryIds: string[], contourRepresentation: ToolGroupSpecificContourRepresentation, contourRepresentationConfig: SegmentationRepresentationConfig): void;
6
+ export { handleContourSegmentation, updateContourSets, addContourSetsToElement, };
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addContourSetsToElement = exports.updateContourSets = exports.handleContourSegmentation = void 0;
4
+ const stateManagement_1 = require("../../../../stateManagement");
5
+ const core_1 = require("@cornerstonejs/core");
6
+ const contourConfigCache_1 = require("./contourConfigCache");
7
+ const utils_1 = require("./utils");
8
+ const contourSegmentation_1 = require("../../../../utilities/contourSegmentation");
9
+ const utils_2 = require("./utils");
10
+ function handleContourSegmentation(viewport, geometryIds, annotationUIDsMap, contourRepresentation, contourRepresentationConfig) {
11
+ const addOrUpdateFn = annotationUIDsMap.size
12
+ ? updateContourSets
13
+ : addContourSetsToElement;
14
+ addOrUpdateFn(viewport, geometryIds, contourRepresentation, contourRepresentationConfig);
15
+ }
16
+ exports.handleContourSegmentation = handleContourSegmentation;
17
+ function updateContourSets(viewport, geometryIds, contourRepresentation, contourRepresentationConfig) {
18
+ const { segmentationRepresentationUID, segmentsHidden } = contourRepresentation;
19
+ const newContourConfig = contourRepresentationConfig.representations.CONTOUR;
20
+ const cachedConfig = (0, contourConfigCache_1.getConfigCache)(segmentationRepresentationUID);
21
+ const newOutlineWithActive = newContourConfig.outlineWidthActive;
22
+ if ((cachedConfig === null || cachedConfig === void 0 ? void 0 : cachedConfig.outlineWidthActive) !== newOutlineWithActive) {
23
+ (0, contourConfigCache_1.setConfigCache)(segmentationRepresentationUID, Object.assign({}, cachedConfig, {
24
+ outlineWidthActive: newOutlineWithActive,
25
+ }));
26
+ }
27
+ const segmentsToSetToInvisible = [];
28
+ const segmentsToSetToVisible = [];
29
+ for (const segmentIndex of segmentsHidden) {
30
+ if (!cachedConfig.segmentsHidden.has(segmentIndex)) {
31
+ segmentsToSetToInvisible.push(segmentIndex);
32
+ }
33
+ }
34
+ for (const segmentIndex of cachedConfig.segmentsHidden) {
35
+ if (!segmentsHidden.has(segmentIndex)) {
36
+ segmentsToSetToVisible.push(segmentIndex);
37
+ }
38
+ }
39
+ const mergedInvisibleSegments = Array.from(cachedConfig.segmentsHidden)
40
+ .filter((segmentIndex) => !segmentsToSetToVisible.includes(segmentIndex))
41
+ .concat(segmentsToSetToInvisible);
42
+ const { segmentSpecificConfigs } = geometryIds.reduce((acc, geometryId) => {
43
+ const geometry = core_1.cache.getGeometry(geometryId);
44
+ const { data: contourSet } = geometry;
45
+ const segmentIndex = contourSet.getSegmentIndex();
46
+ const segmentSpecificConfig = (0, utils_1.getSegmentSpecificConfig)(contourRepresentation, geometryId, segmentIndex);
47
+ acc.segmentSpecificConfigs[segmentIndex] = segmentSpecificConfig !== null && segmentSpecificConfig !== void 0 ? segmentSpecificConfig : {};
48
+ return acc;
49
+ }, { contourSets: [], segmentSpecificConfigs: {} });
50
+ const affectedSegments = [
51
+ ...mergedInvisibleSegments,
52
+ ...segmentsToSetToVisible,
53
+ ];
54
+ const hasCustomSegmentSpecificConfig = Object.values(segmentSpecificConfigs).some((config) => Object.keys(config).length > 0);
55
+ if (affectedSegments.length || hasCustomSegmentSpecificConfig) {
56
+ (0, contourConfigCache_1.setConfigCache)(segmentationRepresentationUID, Object.assign({}, cachedConfig, {
57
+ segmentsHidden: new Set(segmentsHidden),
58
+ }));
59
+ }
60
+ viewport.render();
61
+ }
62
+ exports.updateContourSets = updateContourSets;
63
+ function addContourSetsToElement(viewport, geometryIds, contourRepresentation, contourRepresentationConfig) {
64
+ const { segmentationRepresentationUID, segmentationId, segmentsHidden } = contourRepresentation;
65
+ const segmentSpecificMap = new Map();
66
+ geometryIds.forEach((geometryId) => {
67
+ const geometry = core_1.cache.getGeometry(geometryId);
68
+ if (!geometry) {
69
+ console.warn(`No geometry found for geometryId ${geometryId}. Skipping render.`);
70
+ return;
71
+ }
72
+ const segmentIndex = geometry.data.getSegmentIndex();
73
+ (0, utils_2.validateGeometry)(geometry);
74
+ const segmentSpecificConfig = (0, utils_1.getSegmentSpecificConfig)(contourRepresentation, geometryId, segmentIndex);
75
+ const contourSet = geometry.data;
76
+ contourSet.contours.forEach((contour) => {
77
+ const { points, color, id } = contour;
78
+ const contourSegmentationAnnotation = {
79
+ annotationUID: core_1.utilities.uuidv4(),
80
+ data: {
81
+ contour: {
82
+ closed: true,
83
+ polyline: points,
84
+ },
85
+ segmentation: {
86
+ segmentationId,
87
+ segmentIndex,
88
+ color,
89
+ id,
90
+ },
91
+ handles: {},
92
+ },
93
+ handles: {},
94
+ highlighted: false,
95
+ autoGenerated: false,
96
+ invalidated: false,
97
+ isLocked: false,
98
+ isVisible: true,
99
+ metadata: {
100
+ referencedImageId: viewport.getCurrentImageId(),
101
+ toolName: 'PlanarFreehandContourSegmentationTool',
102
+ FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
103
+ viewPlaneNormal: viewport.getCamera().viewPlaneNormal,
104
+ },
105
+ };
106
+ const annotationGroupSelector = viewport.element;
107
+ (0, stateManagement_1.addAnnotation)(contourSegmentationAnnotation, annotationGroupSelector);
108
+ (0, contourSegmentation_1.addContourSegmentationAnnotation)(contourSegmentationAnnotation);
109
+ });
110
+ if (segmentSpecificConfig) {
111
+ segmentSpecificMap.set(segmentIndex, segmentSpecificConfig);
112
+ }
113
+ });
114
+ const outlineWidthActive = contourRepresentationConfig.representations.CONTOUR.outlineWidthActive;
115
+ (0, contourConfigCache_1.setConfigCache)(segmentationRepresentationUID, Object.assign({}, (0, contourConfigCache_1.getConfigCache)(segmentationRepresentationUID), {
116
+ segmentsHidden: new Set(segmentsHidden),
117
+ segmentSpecificMap,
118
+ outlineWidthActive,
119
+ }));
120
+ viewport.resetCamera();
121
+ viewport.render();
122
+ }
123
+ exports.addContourSetsToElement = addContourSetsToElement;
124
+ //# sourceMappingURL=handleContourSegmentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleContourSegmentation.js","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/handleContourSegmentation.ts"],"names":[],"mappings":";;;AAGA,iEAA4D;AAC5D,8CAA8D;AAM9D,6DAAsE;AACtE,mCAAmD;AACnD,mFAA6F;AAE7F,mCAA2C;AAE3C,SAAS,yBAAyB,CAChC,QAA+B,EAC/B,WAAqB,EACrB,iBAA2C,EAC3C,qBAA6D,EAC7D,2BAA6D;IAE7D,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI;QAC1C,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,uBAAuB,CAAC;IAC5B,aAAa,CACX,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AA2KC,8DAAyB;AAzK3B,SAAS,iBAAiB,CACxB,QAA+B,EAC/B,WAAqB,EACrB,qBAA6D,EAC7D,2BAA6D;IAE7D,MAAM,EAAE,6BAA6B,EAAE,cAAc,EAAE,GACrD,qBAAqB,CAAC;IACxB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,eAAe,CAAC,OAAO,CAAC;IAC7E,MAAM,YAAY,GAAG,IAAA,mCAAc,EAAC,6BAA6B,CAAC,CAAC;IAEnE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;IAEjE,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,kBAAkB,MAAK,oBAAoB,EAAE;QAC7D,IAAA,mCAAc,EACZ,6BAA6B,EAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;YAC9B,kBAAkB,EAAE,oBAAoB;SACzC,CAAC,CACH,CAAC;KACH;IAED,MAAM,wBAAwB,GAAG,EAAE,CAAC;IACpC,MAAM,sBAAsB,GAAG,EAAE,CAAC;IAElC,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE;QACzC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAClD,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC7C;KACF;IAED,KAAK,MAAM,YAAY,IAAI,YAAY,CAAC,cAAc,EAAE;QACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC3C;KACF;IAED,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;SACpE,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACxE,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAEpC,MAAM,EAAE,sBAAsB,EAAE,GAAG,WAAW,CAAC,MAAM,CACnD,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;QAClB,MAAM,QAAQ,GAAG,YAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;QACtC,MAAM,YAAY,GAAI,UAAgC,CAAC,eAAe,EAAE,CAAC;QACzE,MAAM,qBAAqB,GAAG,IAAA,gCAAwB,EACpD,qBAAqB,EACrB,UAAU,EACV,YAAY,CACb,CAAC;QACF,GAAG,CAAC,sBAAsB,CAAC,YAAY,CAAC,GAAG,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,CAAC;QAEvE,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,WAAW,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAChD,CAAC;IAEF,MAAM,gBAAgB,GAAG;QACvB,GAAG,uBAAuB;QAC1B,GAAG,sBAAsB;KAC1B,CAAC;IAEF,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAClD,sBAAsB,CACvB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnD,IAAI,gBAAgB,CAAC,MAAM,IAAI,8BAA8B,EAAE;QAC7D,IAAA,mCAAc,EACZ,6BAA6B,EAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;YAC9B,cAAc,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC;SACxC,CAAC,CACH,CAAC;KACH;IAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AACpB,CAAC;AA6FC,8CAAiB;AA3FnB,SAAS,uBAAuB,CAC9B,QAA+B,EAC/B,WAAqB,EACrB,qBAA6D,EAC7D,2BAA6D;IAE7D,MAAM,EAAE,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE,GACrE,qBAAqB,CAAC;IACxB,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;IACrC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,YAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,CAAC,IAAI,CACV,oCAAoC,UAAU,oBAAoB,CACnE,CAAC;YACF,OAAO;SACR;QAED,MAAM,YAAY,GAAI,QAAQ,CAAC,IAA0B,CAAC,eAAe,EAAE,CAAC;QAE5E,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;QAE3B,MAAM,qBAAqB,GAAG,IAAA,gCAAwB,EACpD,qBAAqB,EACrB,UAAU,EACV,YAAY,CACb,CAAC;QAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAyB,CAAC;QAEtD,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;YACtC,MAAM,6BAA6B,GAAG;gBACpC,aAAa,EAAE,gBAAS,CAAC,MAAM,EAAE;gBACjC,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,MAAM;qBACjB;oBACD,YAAY,EAAE;wBACZ,cAAc;wBACd,YAAY;wBACZ,KAAK;wBACL,EAAE;qBACH;oBACD,OAAO,EAAE,EAAE;iBACZ;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,KAAK;gBAClB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE;oBACR,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE;oBAC/C,QAAQ,EAAE,uCAAuC;oBACjD,mBAAmB,EAAE,QAAQ,CAAC,sBAAsB,EAAE;oBACtD,eAAe,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,eAAe;iBACtD;aACF,CAAC;YACF,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,CAAC;YAEjD,IAAA,+BAAa,EAAC,6BAA6B,EAAE,uBAAuB,CAAC,CAAC;YAEtE,IAAA,sDAAgC,EAAC,6BAA6B,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,IAAI,qBAAqB,EAAE;YACzB,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;SAC7D;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GACtB,2BAA2B,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAEzE,IAAA,mCAAc,EACZ,6BAA6B,EAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAA,mCAAc,EAAC,6BAA6B,CAAC,EAAE;QAC/D,cAAc,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC;QACvC,kBAAkB;QAClB,kBAAkB;KACnB,CAAC,CACH,CAAC;IAEF,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC;AACpB,CAAC;AAKC,0DAAuB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/utils.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAmD;AACnD,sFAAiE;AACjE,gFAA2D;AAC3D,yFAAoE;AAepE,SAAgB,wBAAwB,CACtC,qBAA6D,EAC7D,SAAiB,EACjB,KAAa;;IAEb,IAAI,qBAAqB,GACvB,MAAA,qBAAqB,CAAC,qBAAqB,0CAAG,SAAS,CAAC,CAAC;IAE3D,IAAI,CAAC,qBAAqB,EAAE;QAE1B,qBAAqB;YACnB,MAAA,qBAAqB,CAAC,qBAAqB,0CAAG,KAAK,CAAC,CAAC;KACxD;IAED,IAAI,CAAC,qBAAqB,EAAE;QAC1B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;AACvC,CAAC;AAnBD,4DAmBC;AAOD,SAAgB,gBAAgB,CAAC,QAAyB;IACxD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;KACpE;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE/B,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAK,CAAC,YAAY,CAAC,OAAO,EAAE;QAChD,MAAM,IAAI,KAAK,CACb,iBAAiB,QAAQ,CAAC,IAAI,+BAA+B,CAC9D,CAAC;KACH;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAClB,OAAO,CAAC,IAAI,CACV,oCAAoC,UAAU,oBAAoB,CACnE,CAAC;QACF,OAAO;KACR;AACH,CAAC;AAnBD,4CAmBC;AAUD,SAAgB,WAAW,CAAC,UAA6B;IACvD,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,gBAAS,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,mBAAY,CAAC,WAAW,EAAE,CAAC;IAIzC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,OAAuB,EAAE,EAAE;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAG/B,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAChC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,cAAc,GAAG,UAAU,CACnD,CAAC;QAGF,IAAI,IAAI,KAAK,YAAK,CAAC,WAAW,CAAC,aAAa,EAAE;YAC5C,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;SACpC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjD,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAE/B,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QAExC,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;IAC7C,CAAC,CAAC,CAAC;IAGH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAG9B,MAAM,OAAO,GAAG,kBAAW,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExB,OAAO,OAAO,CAAC;AACjB,CAAC;AA1CD,kCA0CC"}
@@ -1,2 +1,2 @@
1
- declare function removeContourFromElement(element: HTMLDivElement, segmentationRepresentationUID: string, removeFromCache?: boolean): void;
1
+ declare function removeContourFromElement(segmentationRepresentationUID: string, toolGroupId: string, removeFromCache?: boolean): void;
2
2
  export default removeContourFromElement;
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@cornerstonejs/core");
4
- function removeContourFromElement(element, segmentationRepresentationUID, removeFromCache = false) {
5
- const enabledElement = (0, core_1.getEnabledElement)(element);
6
- const { viewport } = enabledElement;
7
- const actorEntries = viewport.getActors();
8
- const actorUIDsToRemove = actorEntries
9
- .map(({ uid }) => uid.includes(segmentationRepresentationUID) ? uid : undefined)
10
- .filter(Boolean);
11
- viewport.removeActors(actorUIDsToRemove);
3
+ const segmentationState_1 = require("../../../stateManagement/segmentation/segmentationState");
4
+ const stateManagement_1 = require("../../../stateManagement");
5
+ function removeContourFromElement(segmentationRepresentationUID, toolGroupId, removeFromCache = false) {
6
+ const segmentationRepresentation = (0, segmentationState_1.getSegmentationRepresentationByUID)(toolGroupId, segmentationRepresentationUID);
7
+ const { segmentationId } = segmentationRepresentation;
8
+ const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
9
+ const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
10
+ annotationUIDsMap.forEach((annotationSet) => {
11
+ annotationSet.forEach((annotationUID) => {
12
+ (0, stateManagement_1.removeAnnotation)(annotationUID);
13
+ });
14
+ });
12
15
  }
13
16
  exports.default = removeContourFromElement;
14
17
  //# sourceMappingURL=removeContourFromElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"removeContourFromElement.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/removeContourFromElement.ts"],"names":[],"mappings":";;AAAA,8CAAwD;AAaxD,SAAS,wBAAwB,CAC/B,OAAuB,EACvB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAEpC,MAAM,YAAY,GAAI,QAAkC,CAAC,SAAS,EAAE,CAAC;IAGrE,MAAM,iBAAiB,GAAG,YAAY;SACnC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACf,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC9D;SACA,MAAM,CAAC,OAAO,CAAC,CAAC;IAGnB,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAG3C,CAAC;AAED,kBAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"removeContourFromElement.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/removeContourFromElement.ts"],"names":[],"mappings":";;AAEA,+FAGiE;AAEjE,8DAA4D;AAY5D,SAAS,wBAAwB,CAC/B,6BAAqC,EACrC,WAAmB,EACnB,eAAe,GAAG,KAAK;IAEvB,MAAM,0BAA0B,GAAG,IAAA,sDAAkC,EACnE,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,MAAM,EAAE,cAAc,EAAE,GAAG,0BAA0B,CAAC;IAEtD,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;IAEtE,iBAAiB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAC1C,aAAa,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YACtC,IAAA,kCAAgB,EAAC,aAAa,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kBAAe,wBAAwB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  const defaultContourConfig = {
2
2
  renderOutline: true,
3
3
  outlineWidthAutoGenerated: 3,
4
- outlineWidthActive: 2,
4
+ outlineWidthActive: 1,
5
5
  outlineWidthInactive: 1,
6
6
  outlineOpacity: 1,
7
7
  outlineOpacityInactive: 0.85,
@@ -9,7 +9,7 @@ const defaultContourConfig = {
9
9
  outlineDashInactive: undefined,
10
10
  outlineDashAutoGenerated: '5,3',
11
11
  activeSegmentOutlineWidthDelta: 0,
12
- renderFill: true,
12
+ renderFill: false,
13
13
  fillAlpha: 0.5,
14
14
  fillAlphaInactive: 0.3,
15
15
  fillAlphaAutoGenerated: 0.3,
@@ -1 +1 @@
1
- {"version":3,"file":"contourConfig.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourConfig.ts"],"names":[],"mappings":"AAEA,MAAM,oBAAoB,GAAkB;IAC1C,aAAa,EAAE,IAAI;IACnB,yBAAyB,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC;IACrB,oBAAoB,EAAE,CAAC;IACvB,cAAc,EAAE,CAAC;IACjB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,wBAAwB,EAAE,KAAK;IAC/B,8BAA8B,EAAE,CAAC;IACjC,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,GAAG;IACtB,sBAAsB,EAAE,GAAG;CAC5B,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"contourConfig.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourConfig.ts"],"names":[],"mappings":"AAEA,MAAM,oBAAoB,GAAkB;IAC1C,aAAa,EAAE,IAAI;IACnB,yBAAyB,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC;IACrB,oBAAoB,EAAE,CAAC;IACvB,cAAc,EAAE,CAAC;IACjB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,wBAAwB,EAAE,KAAK;IAC/B,8BAA8B,EAAE,CAAC;IACjC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,GAAG;IACtB,sBAAsB,EAAE,GAAG;CAC5B,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,eAAe,uBAAuB,CAAC"}
@@ -1,11 +1,11 @@
1
- import { getEnabledElementByIds, BaseVolumeViewport, } from '@cornerstonejs/core';
1
+ import { getEnabledElementByIds } from '@cornerstonejs/core';
2
2
  import Representations from '../../../enums/SegmentationRepresentations';
3
3
  import * as SegmentationState from '../../../stateManagement/segmentation/segmentationState';
4
4
  import { getToolGroup } from '../../../store/ToolGroupManager';
5
- import { addOrUpdateVTKContourSets } from './vtkContour/addOrUpdateVTKContourSets';
6
5
  import removeContourFromElement from './removeContourFromElement';
7
- import { deleteConfigCache } from './vtkContour/contourConfigCache';
6
+ import { deleteConfigCache } from './contourHandler/contourConfigCache';
8
7
  import { polySeg } from '../../../stateManagement/segmentation';
8
+ import { handleContourSegmentation } from './contourHandler/handleContourSegmentation';
9
9
  let polySegConversionInProgress = false;
10
10
  function removeSegmentationRepresentation(toolGroupId, segmentationRepresentationUID, renderImmediate = false) {
11
11
  _removeContourFromToolGroupViewports(toolGroupId, segmentationRepresentationUID);
@@ -35,11 +35,12 @@ async function render(viewport, representationConfig, toolGroupConfig) {
35
35
  viewport,
36
36
  });
37
37
  }
38
- const { geometryIds } = contourData;
39
- if (!geometryIds?.length || !(viewport instanceof BaseVolumeViewport)) {
38
+ if (!contourData) {
40
39
  return;
41
40
  }
42
- addOrUpdateVTKContourSets(viewport, geometryIds, representationConfig, toolGroupConfig);
41
+ if (contourData?.geometryIds?.length) {
42
+ handleContourSegmentation(viewport, contourData.geometryIds, contourData.annotationUIDsMap, representationConfig, toolGroupConfig);
43
+ }
43
44
  }
44
45
  function _removeContourFromToolGroupViewports(toolGroupId, segmentationRepresentationUID) {
45
46
  const toolGroup = getToolGroup(toolGroupId);
@@ -50,7 +51,7 @@ function _removeContourFromToolGroupViewports(toolGroupId, segmentationRepresent
50
51
  for (const viewportInfo of viewportsInfo) {
51
52
  const { viewportId, renderingEngineId } = viewportInfo;
52
53
  const enabledElement = getEnabledElementByIds(viewportId, renderingEngineId);
53
- removeContourFromElement(enabledElement.viewport.element, segmentationRepresentationUID);
54
+ removeContourFromElement(segmentationRepresentationUID, toolGroupId);
54
55
  }
55
56
  }
56
57
  export default {
@@ -1 +1 @@
1
- {"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAS,MAAM,qBAAqB,CAAC;AAEpE,OAAO,eAAe,MAAM,4CAA4C,CAAC;AACzE,OAAO,KAAK,iBAAiB,MAAM,yDAAyD,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK/D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAYxC,SAAS,gCAAgC,CACvC,WAAmB,EACnB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,oCAAoC,CAClC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,iBAAiB,CAAC,gCAAgC,CAChD,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;IAEjD,IAAI,eAAe,EAAE;QACnB,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE;YAC1D,MAAM,cAAc,GAAG,sBAAsB,CAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAQD,KAAK,UAAU,MAAM,CACnB,QAA+B,EAC/B,oBAAqD,EACrD,eAAiD;IAEjD,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;IAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAEvE,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;KACR;IAED,IAAI,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAE3E,IACE,CAAC,WAAW;QACZ,OAAO,CAAC,iCAAiC,CACvC,oBAAoB,CAAC,6BAA6B,CACnD;QACD,CAAC,2BAA2B,EAC5B;QACA,2BAA2B,GAAG,IAAI,CAAC;QAEnC,WAAW,GAAG,MAAM,OAAO,CAAC,kCAAkC,CAC5D,cAAc,EACd;YACE,6BAA6B,EAC3B,oBAAoB,CAAC,6BAA6B;YACpD,QAAQ;SACT,CACF,CAAC;KACH;IAED,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO;KACR;IAED,IAAI,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE;QACpC,yBAAyB,CACvB,QAAQ,EACR,WAAW,CAAC,WAAW,EACvB,WAAW,CAAC,iBAAiB,EAC7B,oBAAoB,EACpB,eAAe,CAChB,CAAC;KACH;AACH,CAAC;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,6BAAqC;IAErC,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,iBAAiB,CAAC,CAAC;KAC7E;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEpC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC;QACvD,MAAM,cAAc,GAAG,sBAAsB,CAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;QACF,wBAAwB,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;KACtE;AACH,CAAC;AAED,eAAe;IACb,MAAM;IACN,gCAAgC;CACjC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contourConfigCache.js","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/contourConfigCache.ts"],"names":[],"mappings":"AAYA,MAAM,2CAA2C,GAAG,IAAI,GAAG,EAAE,CAAC;AAE9D,MAAM,UAAU,cAAc,CAC5B,6BAAqC;IAErC,OAAO,2CAA2C,CAAC,GAAG,CACpD,6BAA6B,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,6BAAqC,EACrC,MAAmB;IAEnB,2CAA2C,CAAC,GAAG,CAC7C,6BAA6B,EAC7B,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,6BAAqC;IACrE,2CAA2C,CAAC,MAAM,CAChD,6BAA6B,CAC9B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { addAnnotation } from '../../../../stateManagement';
2
+ import { cache, utilities } from '@cornerstonejs/core';
3
+ import { getConfigCache, setConfigCache } from './contourConfigCache';
4
+ import { getSegmentSpecificConfig } from './utils';
5
+ import { addContourSegmentationAnnotation } from '../../../../utilities/contourSegmentation';
6
+ import { validateGeometry } from './utils';
7
+ function handleContourSegmentation(viewport, geometryIds, annotationUIDsMap, contourRepresentation, contourRepresentationConfig) {
8
+ const addOrUpdateFn = annotationUIDsMap.size
9
+ ? updateContourSets
10
+ : addContourSetsToElement;
11
+ addOrUpdateFn(viewport, geometryIds, contourRepresentation, contourRepresentationConfig);
12
+ }
13
+ function updateContourSets(viewport, geometryIds, contourRepresentation, contourRepresentationConfig) {
14
+ const { segmentationRepresentationUID, segmentsHidden } = contourRepresentation;
15
+ const newContourConfig = contourRepresentationConfig.representations.CONTOUR;
16
+ const cachedConfig = getConfigCache(segmentationRepresentationUID);
17
+ const newOutlineWithActive = newContourConfig.outlineWidthActive;
18
+ if (cachedConfig?.outlineWidthActive !== newOutlineWithActive) {
19
+ setConfigCache(segmentationRepresentationUID, Object.assign({}, cachedConfig, {
20
+ outlineWidthActive: newOutlineWithActive,
21
+ }));
22
+ }
23
+ const segmentsToSetToInvisible = [];
24
+ const segmentsToSetToVisible = [];
25
+ for (const segmentIndex of segmentsHidden) {
26
+ if (!cachedConfig.segmentsHidden.has(segmentIndex)) {
27
+ segmentsToSetToInvisible.push(segmentIndex);
28
+ }
29
+ }
30
+ for (const segmentIndex of cachedConfig.segmentsHidden) {
31
+ if (!segmentsHidden.has(segmentIndex)) {
32
+ segmentsToSetToVisible.push(segmentIndex);
33
+ }
34
+ }
35
+ const mergedInvisibleSegments = Array.from(cachedConfig.segmentsHidden)
36
+ .filter((segmentIndex) => !segmentsToSetToVisible.includes(segmentIndex))
37
+ .concat(segmentsToSetToInvisible);
38
+ const { segmentSpecificConfigs } = geometryIds.reduce((acc, geometryId) => {
39
+ const geometry = cache.getGeometry(geometryId);
40
+ const { data: contourSet } = geometry;
41
+ const segmentIndex = contourSet.getSegmentIndex();
42
+ const segmentSpecificConfig = getSegmentSpecificConfig(contourRepresentation, geometryId, segmentIndex);
43
+ acc.segmentSpecificConfigs[segmentIndex] = segmentSpecificConfig ?? {};
44
+ return acc;
45
+ }, { contourSets: [], segmentSpecificConfigs: {} });
46
+ const affectedSegments = [
47
+ ...mergedInvisibleSegments,
48
+ ...segmentsToSetToVisible,
49
+ ];
50
+ const hasCustomSegmentSpecificConfig = Object.values(segmentSpecificConfigs).some((config) => Object.keys(config).length > 0);
51
+ if (affectedSegments.length || hasCustomSegmentSpecificConfig) {
52
+ setConfigCache(segmentationRepresentationUID, Object.assign({}, cachedConfig, {
53
+ segmentsHidden: new Set(segmentsHidden),
54
+ }));
55
+ }
56
+ viewport.render();
57
+ }
58
+ function addContourSetsToElement(viewport, geometryIds, contourRepresentation, contourRepresentationConfig) {
59
+ const { segmentationRepresentationUID, segmentationId, segmentsHidden } = contourRepresentation;
60
+ const segmentSpecificMap = new Map();
61
+ geometryIds.forEach((geometryId) => {
62
+ const geometry = cache.getGeometry(geometryId);
63
+ if (!geometry) {
64
+ console.warn(`No geometry found for geometryId ${geometryId}. Skipping render.`);
65
+ return;
66
+ }
67
+ const segmentIndex = geometry.data.getSegmentIndex();
68
+ validateGeometry(geometry);
69
+ const segmentSpecificConfig = getSegmentSpecificConfig(contourRepresentation, geometryId, segmentIndex);
70
+ const contourSet = geometry.data;
71
+ contourSet.contours.forEach((contour) => {
72
+ const { points, color, id } = contour;
73
+ const contourSegmentationAnnotation = {
74
+ annotationUID: utilities.uuidv4(),
75
+ data: {
76
+ contour: {
77
+ closed: true,
78
+ polyline: points,
79
+ },
80
+ segmentation: {
81
+ segmentationId,
82
+ segmentIndex,
83
+ color,
84
+ id,
85
+ },
86
+ handles: {},
87
+ },
88
+ handles: {},
89
+ highlighted: false,
90
+ autoGenerated: false,
91
+ invalidated: false,
92
+ isLocked: false,
93
+ isVisible: true,
94
+ metadata: {
95
+ referencedImageId: viewport.getCurrentImageId(),
96
+ toolName: 'PlanarFreehandContourSegmentationTool',
97
+ FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
98
+ viewPlaneNormal: viewport.getCamera().viewPlaneNormal,
99
+ },
100
+ };
101
+ const annotationGroupSelector = viewport.element;
102
+ addAnnotation(contourSegmentationAnnotation, annotationGroupSelector);
103
+ addContourSegmentationAnnotation(contourSegmentationAnnotation);
104
+ });
105
+ if (segmentSpecificConfig) {
106
+ segmentSpecificMap.set(segmentIndex, segmentSpecificConfig);
107
+ }
108
+ });
109
+ const outlineWidthActive = contourRepresentationConfig.representations.CONTOUR.outlineWidthActive;
110
+ setConfigCache(segmentationRepresentationUID, Object.assign({}, getConfigCache(segmentationRepresentationUID), {
111
+ segmentsHidden: new Set(segmentsHidden),
112
+ segmentSpecificMap,
113
+ outlineWidthActive,
114
+ }));
115
+ viewport.resetCamera();
116
+ viewport.render();
117
+ }
118
+ export { handleContourSegmentation, updateContourSets, addContourSetsToElement, };
119
+ //# sourceMappingURL=handleContourSegmentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleContourSegmentation.js","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/handleContourSegmentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAS,MAAM,qBAAqB,CAAC;AACnD,OAAO,YAAY,MAAM,uCAAuC,CAAC;AACjE,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,WAAW,MAAM,2CAA2C,CAAC;AAepE,MAAM,UAAU,wBAAwB,CACtC,qBAA6D,EAC7D,SAAiB,EACjB,KAAa;IAEb,IAAI,qBAAqB,GACvB,qBAAqB,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC;IAE3D,IAAI,CAAC,qBAAqB,EAAE;QAE1B,qBAAqB;YACnB,qBAAqB,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC;KACxD;IAED,IAAI,CAAC,qBAAqB,EAAE;QAC1B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;AACvC,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAAC,QAAyB;IACxD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;KACpE;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE/B,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;QAChD,MAAM,IAAI,KAAK,CACb,iBAAiB,QAAQ,CAAC,IAAI,+BAA+B,CAC9D,CAAC;KACH;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAClB,OAAO,CAAC,IAAI,CACV,oCAAoC,UAAU,oBAAoB,CACnE,CAAC;QACF,OAAO;KACR;AACH,CAAC;AAUD,MAAM,UAAU,WAAW,CAAC,UAA6B;IACvD,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAIzC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,OAAuB,EAAE,EAAE;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAG/B,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAChC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,cAAc,GAAG,UAAU,CACnD,CAAC;QAGF,IAAI,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE;YAC5C,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;SACpC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjD,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAE/B,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QAExC,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;IAC7C,CAAC,CAAC,CAAC;IAGH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAG9B,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExB,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,12 +1,15 @@
1
- import { getEnabledElement } from '@cornerstonejs/core';
2
- function removeContourFromElement(element, segmentationRepresentationUID, removeFromCache = false) {
3
- const enabledElement = getEnabledElement(element);
4
- const { viewport } = enabledElement;
5
- const actorEntries = viewport.getActors();
6
- const actorUIDsToRemove = actorEntries
7
- .map(({ uid }) => uid.includes(segmentationRepresentationUID) ? uid : undefined)
8
- .filter(Boolean);
9
- viewport.removeActors(actorUIDsToRemove);
1
+ import { getSegmentationRepresentationByUID, getSegmentation, } from '../../../stateManagement/segmentation/segmentationState';
2
+ import { removeAnnotation } from '../../../stateManagement';
3
+ function removeContourFromElement(segmentationRepresentationUID, toolGroupId, removeFromCache = false) {
4
+ const segmentationRepresentation = getSegmentationRepresentationByUID(toolGroupId, segmentationRepresentationUID);
5
+ const { segmentationId } = segmentationRepresentation;
6
+ const segmentation = getSegmentation(segmentationId);
7
+ const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
8
+ annotationUIDsMap.forEach((annotationSet) => {
9
+ annotationSet.forEach((annotationUID) => {
10
+ removeAnnotation(annotationUID);
11
+ });
12
+ });
10
13
  }
11
14
  export default removeContourFromElement;
12
15
  //# sourceMappingURL=removeContourFromElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"removeContourFromElement.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/removeContourFromElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAaxD,SAAS,wBAAwB,CAC/B,OAAuB,EACvB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;IAEpC,MAAM,YAAY,GAAI,QAAkC,CAAC,SAAS,EAAE,CAAC;IAGrE,MAAM,iBAAiB,GAAG,YAAY;SACnC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACf,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC9D;SACA,MAAM,CAAC,OAAO,CAAC,CAAC;IAGnB,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAG3C,CAAC;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"removeContourFromElement.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/removeContourFromElement.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kCAAkC,EAClC,eAAe,GAChB,MAAM,yDAAyD,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAY5D,SAAS,wBAAwB,CAC/B,6BAAqC,EACrC,WAAmB,EACnB,eAAe,GAAG,KAAK;IAEvB,MAAM,0BAA0B,GAAG,kCAAkC,CACnE,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,MAAM,EAAE,cAAc,EAAE,GAAG,0BAA0B,CAAC;IAEtD,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAErD,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;IAEtE,iBAAiB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAC1C,aAAa,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YACtC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"contourDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAEN,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,uCAAuC,CAAC;AAkB/C,iBAAS,gCAAgC,CACvC,WAAW,EAAE,MAAM,EACnB,6BAA6B,EAAE,MAAM,EACrC,eAAe,UAAQ,GACtB,IAAI,CAsBN;AAQD,iBAAe,MAAM,CACnB,QAAQ,EAAE,KAAK,CAAC,eAAe,EAC/B,oBAAoB,EAAE,+BAA+B,EACrD,eAAe,EAAE,gCAAgC,GAChD,OAAO,CAAC,IAAI,CAAC,CAgHf;;;;;AA2BD,wBAGE"}
1
+ {"version":3,"file":"contourDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAKpE,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,uCAAuC,CAAC;AAkB/C,iBAAS,gCAAgC,CACvC,WAAW,EAAE,MAAM,EACnB,6BAA6B,EAAE,MAAM,EACrC,eAAe,UAAQ,GACtB,IAAI,CAsBN;AAQD,iBAAe,MAAM,CACnB,QAAQ,EAAE,KAAK,CAAC,eAAe,EAC/B,oBAAoB,EAAE,+BAA+B,EACrD,eAAe,EAAE,gCAAgC,GAChD,OAAO,CAAC,IAAI,CAAC,CA0Cf;;;;;AAwBD,wBAGE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contourConfigCache.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/contourConfigCache.ts"],"names":[],"mappings":"AAAA,aAAK,WAAW,GAAG;IACjB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAUF,wBAAgB,cAAc,CAC5B,6BAA6B,EAAE,MAAM,GACpC,WAAW,CAIb;AAED,wBAAgB,cAAc,CAC5B,6BAA6B,EAAE,MAAM,EACrC,MAAM,EAAE,WAAW,QAMpB;AAED,wBAAgB,iBAAiB,CAAC,6BAA6B,EAAE,MAAM,QAItE"}
@@ -0,0 +1,7 @@
1
+ import { Types } from '@cornerstonejs/core';
2
+ import { SegmentationRepresentationConfig, ToolGroupSpecificContourRepresentation } from '../../../../types';
3
+ declare function handleContourSegmentation(viewport: Types.IVolumeViewport, geometryIds: string[], annotationUIDsMap: Map<number, Set<string>>, contourRepresentation: ToolGroupSpecificContourRepresentation, contourRepresentationConfig: SegmentationRepresentationConfig): void;
4
+ declare function updateContourSets(viewport: Types.IVolumeViewport, geometryIds: string[], contourRepresentation: ToolGroupSpecificContourRepresentation, contourRepresentationConfig: SegmentationRepresentationConfig): void;
5
+ declare function addContourSetsToElement(viewport: Types.IVolumeViewport, geometryIds: string[], contourRepresentation: ToolGroupSpecificContourRepresentation, contourRepresentationConfig: SegmentationRepresentationConfig): void;
6
+ export { handleContourSegmentation, updateContourSets, addContourSetsToElement, };
7
+ //# sourceMappingURL=handleContourSegmentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleContourSegmentation.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/handleContourSegmentation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,EAAa,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EACL,gCAAgC,EAChC,sCAAsC,EACvC,MAAM,mBAAmB,CAAC;AAO3B,iBAAS,yBAAyB,CAChC,QAAQ,EAAE,KAAK,CAAC,eAAe,EAC/B,WAAW,EAAE,MAAM,EAAE,EACrB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC3C,qBAAqB,EAAE,sCAAsC,EAC7D,2BAA2B,EAAE,gCAAgC,QAW9D;AAED,iBAAS,iBAAiB,CACxB,QAAQ,EAAE,KAAK,CAAC,eAAe,EAC/B,WAAW,EAAE,MAAM,EAAE,EACrB,qBAAqB,EAAE,sCAAsC,EAC7D,2BAA2B,EAAE,gCAAgC,QAyE9D;AAED,iBAAS,uBAAuB,CAC9B,QAAQ,EAAE,KAAK,CAAC,eAAe,EAC/B,WAAW,EAAE,MAAM,EAAE,EACrB,qBAAqB,EAAE,sCAAsC,EAC7D,2BAA2B,EAAE,gCAAgC,QAmF9D;AAED,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,GACxB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/displayTools/Contour/contourHandler/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,sCAAsC,EAAE,MAAM,mBAAmB,CAAC;AAc3E,wBAAgB,wBAAwB,CACtC,qBAAqB,EAAE,sCAAsC,EAC7D,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,0DAgBd;AAOD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAmBhE;AAUD,wBAAgB,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,eA0CxD"}
@@ -1,3 +1,3 @@
1
- declare function removeContourFromElement(element: HTMLDivElement, segmentationRepresentationUID: string, removeFromCache?: boolean): void;
1
+ declare function removeContourFromElement(segmentationRepresentationUID: string, toolGroupId: string, removeFromCache?: boolean): void;
2
2
  export default removeContourFromElement;
3
3
  //# sourceMappingURL=removeContourFromElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"removeContourFromElement.d.ts","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/removeContourFromElement.ts"],"names":[],"mappings":"AAaA,iBAAS,wBAAwB,CAC/B,OAAO,EAAE,cAAc,EACvB,6BAA6B,EAAE,MAAM,EACrC,eAAe,UAAQ,GACtB,IAAI,CAiBN;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"removeContourFromElement.d.ts","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/removeContourFromElement.ts"],"names":[],"mappings":"AAmBA,iBAAS,wBAAwB,CAC/B,6BAA6B,EAAE,MAAM,EACrC,WAAW,EAAE,MAAM,EACnB,eAAe,UAAQ,GACtB,IAAI,CAiBN;AAED,eAAe,wBAAwB,CAAC"}