@cornerstonejs/tools 1.55.0 → 1.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js +15 -7
  2. package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js.map +1 -1
  3. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +1 -1
  4. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js.map +1 -1
  5. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +2 -1
  6. package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -1
  7. package/dist/cjs/tools/segmentation/BrushTool.js +1 -1
  8. package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
  9. package/dist/cjs/tools/segmentation/strategies/BrushStrategy.d.ts +3 -2
  10. package/dist/cjs/tools/segmentation/strategies/BrushStrategy.js +11 -4
  11. package/dist/cjs/tools/segmentation/strategies/BrushStrategy.js.map +1 -1
  12. package/dist/cjs/tools/segmentation/strategies/compositions/dynamicThreshold.js +9 -3
  13. package/dist/cjs/tools/segmentation/strategies/compositions/dynamicThreshold.js.map +1 -1
  14. package/dist/cjs/tools/segmentation/strategies/compositions/islandRemoval.js +1 -1
  15. package/dist/cjs/tools/segmentation/strategies/compositions/islandRemoval.js.map +1 -1
  16. package/dist/cjs/tools/segmentation/strategies/compositions/threshold.js +6 -2
  17. package/dist/cjs/tools/segmentation/strategies/compositions/threshold.js.map +1 -1
  18. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.d.ts +2 -3
  19. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js +21 -6
  20. package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -1
  21. package/dist/cjs/utilities/pointInShapeCallback.js +3 -1
  22. package/dist/cjs/utilities/pointInShapeCallback.js.map +1 -1
  23. package/dist/cjs/utilities/segmentation/floodFill.js +16 -22
  24. package/dist/cjs/utilities/segmentation/floodFill.js.map +1 -1
  25. package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.js +3 -2
  26. package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.js.map +1 -1
  27. package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.js +3 -2
  28. package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.js.map +1 -1
  29. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +16 -8
  30. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js.map +1 -1
  31. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +1 -1
  32. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js.map +1 -1
  33. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +2 -1
  34. package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -1
  35. package/dist/esm/tools/segmentation/BrushTool.js +1 -1
  36. package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
  37. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +10 -3
  38. package/dist/esm/tools/segmentation/strategies/BrushStrategy.js.map +1 -1
  39. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +9 -3
  40. package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js.map +1 -1
  41. package/dist/esm/tools/segmentation/strategies/compositions/islandRemoval.js +1 -1
  42. package/dist/esm/tools/segmentation/strategies/compositions/islandRemoval.js.map +1 -1
  43. package/dist/esm/tools/segmentation/strategies/compositions/threshold.js +6 -2
  44. package/dist/esm/tools/segmentation/strategies/compositions/threshold.js.map +1 -1
  45. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +21 -6
  46. package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -1
  47. package/dist/esm/utilities/pointInShapeCallback.js +3 -1
  48. package/dist/esm/utilities/pointInShapeCallback.js.map +1 -1
  49. package/dist/esm/utilities/segmentation/floodFill.js +16 -22
  50. package/dist/esm/utilities/segmentation/floodFill.js.map +1 -1
  51. package/dist/esm/utilities/segmentation/getSegmentAtLabelmapBorder.js +3 -2
  52. package/dist/esm/utilities/segmentation/getSegmentAtLabelmapBorder.js.map +1 -1
  53. package/dist/esm/utilities/segmentation/getSegmentAtWorldPoint.js +3 -2
  54. package/dist/esm/utilities/segmentation/getSegmentAtWorldPoint.js.map +1 -1
  55. package/dist/types/eventListeners/segmentation/imageChangeEventListener.d.ts.map +1 -1
  56. package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts.map +1 -1
  57. package/dist/types/tools/segmentation/strategies/BrushStrategy.d.ts +3 -2
  58. package/dist/types/tools/segmentation/strategies/BrushStrategy.d.ts.map +1 -1
  59. package/dist/types/tools/segmentation/strategies/compositions/dynamicThreshold.d.ts.map +1 -1
  60. package/dist/types/tools/segmentation/strategies/compositions/islandRemoval.d.ts.map +1 -1
  61. package/dist/types/tools/segmentation/strategies/compositions/threshold.d.ts.map +1 -1
  62. package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts +2 -3
  63. package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts.map +1 -1
  64. package/dist/types/utilities/pointInShapeCallback.d.ts.map +1 -1
  65. package/dist/types/utilities/segmentation/floodFill.d.ts.map +1 -1
  66. package/dist/types/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts.map +1 -1
  67. package/dist/types/utilities/segmentation/getSegmentAtWorldPoint.d.ts.map +1 -1
  68. package/dist/umd/985.index.js +1 -1
  69. package/dist/umd/985.index.js.map +1 -1
  70. package/dist/umd/index.js +1 -1
  71. package/dist/umd/index.js.map +1 -1
  72. package/package.json +7 -3
  73. package/src/eventListeners/segmentation/imageChangeEventListener.ts +28 -13
  74. package/src/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.ts +1 -1
  75. package/src/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.ts +3 -1
  76. package/src/tools/segmentation/BrushTool.ts +1 -1
  77. package/src/tools/segmentation/strategies/BrushStrategy.ts +25 -4
  78. package/src/tools/segmentation/strategies/compositions/dynamicThreshold.ts +12 -2
  79. package/src/tools/segmentation/strategies/compositions/islandRemoval.ts +1 -2
  80. package/src/tools/segmentation/strategies/compositions/threshold.ts +8 -6
  81. package/src/tools/segmentation/strategies/utils/getStrategyData.ts +20 -5
  82. package/src/utilities/pointInShapeCallback.ts +2 -0
  83. package/src/utilities/segmentation/floodFill.ts +44 -31
  84. package/src/utilities/segmentation/getSegmentAtLabelmapBorder.ts +6 -5
  85. package/src/utilities/segmentation/getSegmentAtWorldPoint.ts +6 -5
@@ -5,12 +5,15 @@ function getStrategyData({ operationData, viewport }) {
5
5
  let segmentationImageData, segmentationScalarData, imageScalarData;
6
6
  let imageDimensions;
7
7
  let segmentationDimensions;
8
+ let imageVoxelManager;
9
+ let segmentationVoxelManager;
8
10
  if (isVolumeSegmentation(operationData, viewport)) {
9
11
  const { volumeId, referencedVolumeId } = operationData;
10
12
  const segmentationVolume = cache.getVolume(volumeId);
11
13
  if (!segmentationVolume) {
12
14
  return;
13
15
  }
16
+ segmentationVoxelManager = segmentationVolume.voxelManager;
14
17
  if (referencedVolumeId) {
15
18
  const imageVolume = cache.getVolume(referencedVolumeId);
16
19
  imageScalarData = imageVolume.getScalarData();
@@ -30,22 +33,34 @@ function getStrategyData({ operationData, viewport }) {
30
33
  return;
31
34
  }
32
35
  const actor = viewport.getActor(segmentationRepresentationUID);
36
+ if (!actor) {
37
+ return;
38
+ }
33
39
  segmentationImageData = actor.actor.getMapper().getInputData();
40
+ segmentationVoxelManager = segmentationImageData.voxelManager;
34
41
  const currentSegmentationImageId = imageIdReferenceMap.get(currentImageId);
35
42
  const segmentationImage = cache.getImage(currentSegmentationImageId);
36
- segmentationScalarData = segmentationImage.getPixelData();
43
+ if (!segmentationImage) {
44
+ return;
45
+ }
46
+ segmentationScalarData = segmentationImage.getPixelData?.();
37
47
  const image = cache.getImage(currentImageId);
38
- imageScalarData = image.getPixelData();
39
- imageDimensions = [image.columns, image.rows, 1];
48
+ const imageData = image ? null : viewport.getImageData();
49
+ imageScalarData = image?.getPixelData() || imageData.getScalarData();
50
+ imageDimensions = image
51
+ ? [image.columns, image.rows, 1]
52
+ : imageData.dimensions;
40
53
  segmentationDimensions = [
41
54
  segmentationImage.columns,
42
55
  segmentationImage.rows,
43
56
  1,
44
57
  ];
58
+ imageVoxelManager = image?.voxelManager;
45
59
  }
46
- const segmentationVoxelManager = VoxelManager.createVolumeVoxelManager(segmentationDimensions, segmentationScalarData);
47
- const imageVoxelManager = imageDimensions &&
48
- VoxelManager.createVolumeVoxelManager(imageDimensions, imageScalarData);
60
+ segmentationVoxelManager ||= VoxelManager.createVolumeVoxelManager(segmentationDimensions, segmentationScalarData);
61
+ imageVoxelManager ||=
62
+ imageDimensions &&
63
+ VoxelManager.createVolumeVoxelManager(imageDimensions, imageScalarData);
49
64
  return {
50
65
  segmentationImageData,
51
66
  segmentationScalarData,
@@ -1 +1 @@
1
- {"version":3,"file":"getStrategyData.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/getStrategyData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;AAEnC,SAAS,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClD,IAAI,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,CAAC;IACnE,IAAI,eAA6B,CAAC;IAClC,IAAI,sBAAoC,CAAC;IACzC,IAAI,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;QACjD,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;QAEvD,MAAM,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO;SACR;QAID,IAAI,kBAAkB,EAAE;YACtB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACxD,eAAe,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;YAC9C,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC;SAC1C;QAED,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CAAC,CAAC;QAC5D,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC5D,sBAAsB,GAAG,kBAAkB,CAAC,UAAU,CAAC;KACxD;SAAM;QACL,MAAM,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,GAC1D,aAA+C,CAAC;QAElD,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO;SACR;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO;SACR;QAKD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC/D,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;QAC/D,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACrE,sBAAsB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAE1D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAK7C,eAAe,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,eAAe,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,sBAAsB,GAAG;YACvB,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,IAAI;YACtB,CAAC;SACF,CAAC;KACH;IAED,MAAM,wBAAwB,GAAG,YAAY,CAAC,wBAAwB,CACpE,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;IAEF,MAAM,iBAAiB,GACrB,eAAe;QACf,YAAY,CAAC,wBAAwB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE1E,OAAO;QACL,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,eAAe;QACf,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"getStrategyData.js","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/getStrategyData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;AAEnC,SAAS,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClD,IAAI,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,CAAC;IACnE,IAAI,eAA6B,CAAC;IAClC,IAAI,sBAAoC,CAAC;IACzC,IAAI,iBAAiB,CAAC;IACtB,IAAI,wBAAwB,CAAC;IAE7B,IAAI,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;QACjD,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;QAEvD,MAAM,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO;SACR;QACD,wBAAwB,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAI3D,IAAI,kBAAkB,EAAE;YACtB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACxD,eAAe,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;YAC9C,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC;SAC1C;QAED,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CAAC,CAAC;QAC5D,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC5D,sBAAsB,GAAG,kBAAkB,CAAC,UAAU,CAAC;KACxD;SAAM;QACL,MAAM,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,GAC1D,aAA+C,CAAC;QAElD,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO;SACR;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO;SACR;QAKD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;QAC/D,wBAAwB,GAAG,qBAAqB,CAAC,YAAY,CAAC;QAC9D,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACrE,IAAI,CAAC,iBAAiB,EAAE;YACtB,OAAO;SACR;QACD,sBAAsB,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC;QAE5D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAKzD,eAAe,GAAG,KAAK,EAAE,YAAY,EAAE,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;QACrE,eAAe,GAAG,KAAK;YACrB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;QACzB,sBAAsB,GAAG;YACvB,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,IAAI;YACtB,CAAC;SACF,CAAC;QACF,iBAAiB,GAAG,KAAK,EAAE,YAAY,CAAC;KACzC;IAED,wBAAwB,KAAK,YAAY,CAAC,wBAAwB,CAChE,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;IAEF,iBAAiB;QACf,eAAe;YACf,YAAY,CAAC,wBAAwB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE1E,OAAO;QACL,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,eAAe;QACf,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -2,6 +2,7 @@ import { vec3 } from 'gl-matrix';
2
2
  export default function pointInShapeCallback(imageData, pointInShapeFn, callback, boundsIJK) {
3
3
  let iMin, iMax, jMin, jMax, kMin, kMax;
4
4
  let scalarData;
5
+ const { numComps } = imageData;
5
6
  if (imageData.getScalarData) {
6
7
  scalarData = imageData.getScalarData();
7
8
  }
@@ -34,7 +35,8 @@ export default function pointInShapeCallback(imageData, pointInShapeFn, callback
34
35
  const rowStep = vec3.fromValues(rowCosines[0] * rowSpacing, rowCosines[1] * rowSpacing, rowCosines[2] * rowSpacing);
35
36
  const columnStep = vec3.fromValues(columnCosines[0] * columnSpacing, columnCosines[1] * columnSpacing, columnCosines[2] * columnSpacing);
36
37
  const scanAxisStep = vec3.fromValues(scanAxisNormal[0] * scanAxisSpacing, scanAxisNormal[1] * scanAxisSpacing, scanAxisNormal[2] * scanAxisSpacing);
37
- const xMultiple = scalarData.length / dimensions[2] / dimensions[1] / dimensions[0];
38
+ const xMultiple = numComps ||
39
+ scalarData.length / dimensions[2] / dimensions[1] / dimensions[0];
38
40
  const yMultiple = dimensions[0] * xMultiple;
39
41
  const zMultiple = dimensions[1] * yMultiple;
40
42
  const pointsInShape = [];
@@ -1 +1 @@
1
- {"version":3,"file":"pointInShapeCallback.js","sourceRoot":"","sources":["../../../src/utilities/pointInShapeCallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pointInShapeCallback.js","sourceRoot":"","sources":["../../../src/utilities/pointInShapeCallback.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  function floodFill(getter, seed, options = {}) {
2
2
  const onFlood = options.onFlood;
3
3
  const onBoundary = options.onBoundary;
4
- const equals = options.equals || defaultEquals;
4
+ const equals = options.equals;
5
5
  const diagonals = options.diagonals || false;
6
6
  const startNode = get(seed);
7
7
  const permutations = prunedPermutations();
8
8
  const stack = [];
9
9
  const flooded = [];
10
- const visits = {};
11
- const bounds = {};
10
+ const visits = new Set();
11
+ const bounds = new Map();
12
12
  stack.push({ currentArgs: seed });
13
13
  while (stack.length > 0) {
14
14
  flood(stack.pop());
@@ -33,14 +33,18 @@ function floodFill(getter, seed, options = {}) {
33
33
  }
34
34
  }
35
35
  function visited(key) {
36
- return visits[key] === true;
36
+ const [x, y, z = 0] = key;
37
+ const iKey = x + 32768 + 65536 * (y + 32768 + 65536 * (z + 32768));
38
+ return visits.has(iKey);
37
39
  }
38
40
  function markAsVisited(key) {
39
- visits[key] = true;
41
+ const [x, y, z = 0] = key;
42
+ const iKey = x + 32768 + 65536 * (y + 32768 + 65536 * (z + 32768));
43
+ visits.add(iKey);
40
44
  }
41
45
  function member(getArgs) {
42
- const node = safely(get, [getArgs]);
43
- return safely(equals, [node, startNode]);
46
+ const node = get(getArgs);
47
+ return equals ? equals(node, startNode) : node === startNode;
44
48
  }
45
49
  function markAsFlooded(getArgs) {
46
50
  flooded.push(getArgs);
@@ -49,7 +53,9 @@ function floodFill(getter, seed, options = {}) {
49
53
  }
50
54
  }
51
55
  function markAsBoundary(prevArgs) {
52
- bounds[prevArgs] = prevArgs;
56
+ const [x, y, z = 0] = prevArgs;
57
+ const iKey = x + 32768 + 65536 * (y + 32768 + 65536 * (z + 32768));
58
+ bounds.set(iKey, prevArgs);
53
59
  if (onBoundary) {
54
60
  onBoundary(...prevArgs);
55
61
  }
@@ -70,14 +76,6 @@ function floodFill(getter, seed, options = {}) {
70
76
  function get(getArgs) {
71
77
  return getter(...getArgs);
72
78
  }
73
- function safely(f, args) {
74
- try {
75
- return f(...args);
76
- }
77
- catch (error) {
78
- return;
79
- }
80
- }
81
79
  function prunedPermutations() {
82
80
  const permutations = permute(seed.length);
83
81
  return permutations.filter(function (perm) {
@@ -99,12 +97,8 @@ function floodFill(getter, seed, options = {}) {
99
97
  return perms;
100
98
  }
101
99
  function boundaries() {
102
- const array = [];
103
- for (const key in bounds) {
104
- if (bounds[key] !== undefined) {
105
- array.unshift(bounds[key]);
106
- }
107
- }
100
+ const array = Array.from(bounds.values());
101
+ array.reverse();
108
102
  return array;
109
103
  }
110
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"floodFill.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/floodFill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"floodFill.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/floodFill.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,9 @@ export function getSegmentAtLabelmapBorder(segmentationId, worldPoint, { viewpor
29
29
  const imageData = segmentationActor?.actor.getMapper().getInputData();
30
30
  const indexIJK = utilities.transformWorldToIndex(imageData, worldPoint);
31
31
  const dimensions = imageData.getDimensions();
32
- const voxelManager = utilities.VoxelManager.createVolumeVoxelManager(dimensions, imageData.getPointData().getScalars().getData());
33
- const segmentIndex = voxelManager.getAtIJK(...indexIJK);
32
+ const voxelManager = (imageData.voxelManager ||
33
+ utilities.VoxelManager.createVolumeVoxelManager(dimensions, imageData.getPointData().getScalars().getData()));
34
+ const segmentIndex = voxelManager.getAtIJKPoint(indexIJK);
34
35
  const onEdge = isSegmentOnEdgeIJK(indexIJK, dimensions, voxelManager, segmentIndex);
35
36
  return onEdge ? segmentIndex : undefined;
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getSegmentAtLabelmapBorder.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtLabelmapBorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSegmentAtLabelmapBorder.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtLabelmapBorder.ts"],"names":[],"mappings":"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"}
@@ -44,8 +44,9 @@ export function getSegmentAtWorldForLabelmap(segmentation, worldPoint, { viewpor
44
44
  const imageData = segmentationActor?.actor.getMapper().getInputData();
45
45
  const indexIJK = utilities.transformWorldToIndex(imageData, worldPoint);
46
46
  const dimensions = imageData.getDimensions();
47
- const voxelManager = utilities.VoxelManager.createVolumeVoxelManager(dimensions, imageData.getPointData().getScalars().getData());
48
- const segmentIndex = voxelManager.getAtIJK(...indexIJK);
47
+ const voxelManager = (imageData.voxelManager ||
48
+ utilities.VoxelManager.createVolumeVoxelManager(dimensions, imageData.getPointData().getScalars().getData()));
49
+ const segmentIndex = voxelManager.getAtIJKPoint(indexIJK);
49
50
  return segmentIndex;
50
51
  }
51
52
  export function getSegmentAtWorldForContour(segmentation, worldPoint, { viewport }) {
@@ -1 +1 @@
1
- {"version":3,"file":"getSegmentAtWorldPoint.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtWorldPoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSegmentAtWorldPoint.js","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtWorldPoint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"imageChangeEventListener.d.ts","sourceRoot":"","sources":["../../../../src/eventListeners/segmentation/imageChangeEventListener.ts"],"names":[],"mappings":";;;;AA2PA,wBAGE"}
1
+ {"version":3,"file":"imageChangeEventListener.d.ts","sourceRoot":"","sources":["../../../../src/eventListeners/segmentation/imageChangeEventListener.ts"],"names":[],"mappings":";;;;AA0QA,wBAGE"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertSurfaceToLabelmap.d.ts","sourceRoot":"","sources":["../../../../../../src/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAKN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAYzE,wBAAsB,8BAA8B,CAClD,yBAAyB,EAAE,uBAAuB,EAClD,kBAAkB,EAAE,KAAK,CAAC,YAAY;;GAgEvC;AAED,wBAAsB,6BAA6B,kBAAK"}
1
+ {"version":3,"file":"convertSurfaceToLabelmap.d.ts","sourceRoot":"","sources":["../../../../../../src/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAKN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAYzE,wBAAsB,8BAA8B,CAClD,yBAAyB,EAAE,uBAAuB,EAClD,kBAAkB,EAAE,KAAK,CAAC,YAAY;;GAgEvC;AAED,wBAAsB,6BAA6B,kBAElD"}
@@ -4,11 +4,12 @@ import { StrategyCallbacks } from '../../../enums';
4
4
  import type { LabelmapToolOperationDataAny } from '../../../types/LabelmapToolOperationData';
5
5
  import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
6
6
  export declare type InitializedOperationData = LabelmapToolOperationDataAny & {
7
+ operationName?: string;
7
8
  enabledElement: Types.IEnabledElement;
8
9
  centerIJK?: Types.Point3;
9
10
  centerWorld: Types.Point3;
10
11
  viewport: Types.IViewport;
11
- imageVoxelManager: csUtils.VoxelManager<number>;
12
+ imageVoxelManager: csUtils.VoxelManager<number> | csUtils.VoxelManager<Types.RGB>;
12
13
  segmentationVoxelManager: csUtils.VoxelManager<number>;
13
14
  segmentationImageData: vtkImageData;
14
15
  previewVoxelManager: csUtils.VoxelManager<number>;
@@ -77,7 +78,7 @@ export default class BrushStrategy {
77
78
  protected _onInteractionStart: any[];
78
79
  constructor(name: any, ...initializers: Composition[]);
79
80
  fill: (enabledElement: Types.IEnabledElement, operationData: LabelmapToolOperationDataAny) => any;
80
- protected initialize(enabledElement: Types.IEnabledElement, operationData: LabelmapToolOperationDataAny): InitializedOperationData;
81
+ protected initialize(enabledElement: Types.IEnabledElement, operationData: LabelmapToolOperationDataAny, operationName?: string): InitializedOperationData;
81
82
  onInteractionStart: (enabledElement: Types.IEnabledElement, operationData: LabelmapToolOperationDataAny) => void;
82
83
  onInteractionEnd: (enabledElement: Types.IEnabledElement, operationData: LabelmapToolOperationDataAny) => void;
83
84
  rejectPreview: (enabledElement: Types.IEnabledElement, operationData: LabelmapToolOperationDataAny) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"BrushStrategy.d.ts","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/BrushStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrushStrategy.d.ts","sourceRoot":"","sources":["../../../../../src/tools/segmentation/strategies/BrushStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAS,SAAS,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAMlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,YAAY,MAAM,4CAA4C,CAAC;AAItE,oBAAY,wBAAwB,GAAG,4BAA4B,GAAG;IAEpE,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC;IACtC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iBAAiB,EACb,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,wBAAwB,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvD,qBAAqB,EAAE,YAAY,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAGlD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,oBAAY,gBAAgB,GAAG,CAC7B,aAAa,EAAE,wBAAwB,EACvC,GAAG,IAAI,OAAA,KACJ,OAAO,CAAC;AAEb,oBAAY,mBAAmB,GAAG;KAC/B,QAAQ,IAAI,iBAAiB,CAAC,CAAC,EAAE,gBAAgB;CACnD,CAAC;AAEF,oBAAY,mBAAmB,GAAG,MAAM,mBAAmB,CAAC;AAE5D,oBAAY,WAAW,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AA2BpE,MAAM,CAAC,OAAO,OAAO,aAAa;IAKhC,OAAc,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgB;IAE1C,SAAS,CAAC,MAAM,CAAC,cAAc;;;;;;;;;;;MAgC7B;IAEK,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,gBAAgB,EAAE,CAAC,cAAc,KAAA,EAAE,aAAa,KAAA,KAAK,OAAO,CAAC;IAEpE,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,WAAW,QAAM;IAC3B,SAAS,CAAC,KAAK,QAAM;IACrB,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;IAC7B,SAAS,CAAC,mBAAmB,QAAM;gBAEvB,IAAI,KAAA,EAAE,GAAG,YAAY,EAAE,WAAW,EAAE;IA6BzC,IAAI,mBACO,MAAM,eAAe,iBACtB,4BAA4B,SAyC3C;IAEF,SAAS,CAAC,UAAU,CAClB,cAAc,EAAE,KAAK,CAAC,eAAe,EACrC,aAAa,EAAE,4BAA4B,EAC3C,aAAa,CAAC,EAAE,MAAM,GACrB,wBAAwB;IAiEpB,kBAAkB,mBACP,MAAM,eAAe,iBACtB,4BAA4B,UAiB3C;IAQK,gBAAgB,EAAE,CACvB,cAAc,EAAE,KAAK,CAAC,eAAe,EACrC,aAAa,EAAE,4BAA4B,KACxC,IAAI,CAAC;IAMH,aAAa,EAAE,CACpB,cAAc,EAAE,KAAK,CAAC,eAAe,EACrC,aAAa,EAAE,4BAA4B,KACxC,IAAI,CAAC;IAOH,aAAa,EAAE,CACpB,cAAc,EAAE,KAAK,CAAC,eAAe,EACrC,aAAa,EAAE,4BAA4B,KACxC,IAAI,CAAC;IAUH,OAAO,EAAE,CACd,cAAc,EAAE,KAAK,CAAC,eAAe,EACrC,aAAa,EAAE,4BAA4B,KACxC,OAAO,CAAC;IAKN,QAAQ,EAAE,CAAC,aAAa,EAAE,wBAAwB,EAAE,IAAI,KAAA,KAAK,IAAI,CAAC;IAKlE,mBAAmB,EAAE,CAAC,aAAa,EAAE,wBAAwB,KAAK,GAAG,CAAC;CAC9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"dynamicThreshold.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/compositions/dynamicThreshold.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;;gCAaf,wBAAwB;wCAoCvD,wBAAwB;;AArC3C,wBA6CE"}
1
+ {"version":3,"file":"dynamicThreshold.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/compositions/dynamicThreshold.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;;gCAaf,wBAAwB;wCA6CvD,wBAAwB;;AA9C3C,wBAsDE"}
@@ -1 +1 @@
1
- {"version":3,"file":"islandRemoval.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/compositions/islandRemoval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;;sCAc9C,wBAAwB;;AAF3C,wBAsKE"}
1
+ {"version":3,"file":"islandRemoval.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/compositions/islandRemoval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;;sCAc9C,wBAAwB;;AAF3C,wBAqKE"}
@@ -1 +1 @@
1
- {"version":3,"file":"threshold.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/compositions/threshold.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;;yCAU9C,wBAAwB;;AAF3C,wBA0BE"}
1
+ {"version":3,"file":"threshold.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/compositions/threshold.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;;yCAU9C,wBAAwB;;AAF3C,wBA0BE"}
@@ -1,13 +1,12 @@
1
- import { utilities } from '@cornerstonejs/core';
2
1
  declare function getStrategyData({ operationData, viewport }: {
3
2
  operationData: any;
4
3
  viewport: any;
5
4
  }): {
6
5
  segmentationImageData: any;
7
6
  segmentationScalarData: any;
8
- segmentationVoxelManager: utilities.VoxelManager<number>;
7
+ segmentationVoxelManager: any;
9
8
  imageScalarData: any;
10
- imageVoxelManager: utilities.VoxelManager<number>;
9
+ imageVoxelManager: any;
11
10
  };
12
11
  export { getStrategyData };
13
12
  //# sourceMappingURL=getStrategyData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getStrategyData.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/getStrategyData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOvD,iBAAS,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;;;CAAA;;;;;;EA6EnD;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"getStrategyData.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/segmentation/strategies/utils/getStrategyData.ts"],"names":[],"mappings":"AAOA,iBAAS,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;;;CAAA;;;;;;EA4FnD;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pointInShapeCallback.d.ts","sourceRoot":"","sources":["../../../src/utilities/pointInShapeCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,oBAAY,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,oBAAY,oBAAoB,GAAG,CAAC,EAClC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;CAChB,KAAK,IAAI,CAAC;AAEX,oBAAY,eAAe,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC;AAgB1E,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,SAAS,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,EAC5C,cAAc,EAAE,eAAe,EAC/B,QAAQ,CAAC,EAAE,oBAAoB,EAC/B,SAAS,CAAC,EAAE,SAAS,GACpB,KAAK,CAAC,YAAY,CAAC,CAgHrB"}
1
+ {"version":3,"file":"pointInShapeCallback.d.ts","sourceRoot":"","sources":["../../../src/utilities/pointInShapeCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,oBAAY,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,oBAAY,oBAAoB,GAAG,CAAC,EAClC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;CAChB,KAAK,IAAI,CAAC;AAEX,oBAAY,eAAe,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC;AAgB1E,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,SAAS,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,EAC5C,cAAc,EAAE,eAAe,EAC/B,QAAQ,CAAC,EAAE,oBAAoB,EAC/B,SAAS,CAAC,EAAE,SAAS,GACpB,KAAK,CAAC,YAAY,CAAC,CAkHrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"floodFill.d.ts","sourceRoot":"","sources":["../../../../src/utilities/segmentation/floodFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAqB5C,iBAAS,SAAS,CAChB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EACjC,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CA0IjB;AAyBD,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"floodFill.d.ts","sourceRoot":"","sources":["../../../../src/utilities/segmentation/floodFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAwB5C,iBAAS,SAAS,CAChB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EACjC,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAoJjB;AAyBD,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSegmentAtLabelmapBorder.d.ts","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtLabelmapBorder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAWjD,aAAK,OAAO,GAAG;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAYF,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,GAClC,MAAM,CAsER"}
1
+ {"version":3,"file":"getSegmentAtLabelmapBorder.d.ts","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtLabelmapBorder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAWjD,aAAK,OAAO,GAAG;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAYF,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,GAClC,MAAM,CAuER"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSegmentAtWorldPoint.d.ts","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtWorldPoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAU1D,OAAO,EAAiC,YAAY,EAAE,MAAM,aAAa,CAAC;AAI1E,aAAK,OAAO,GAAG;IACb,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AASF,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,OAAO,UAAgB,GACtB,MAAM,CAuBR;AAUD,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,EAAE,QAAQ,EAAE,EAAE,OAAO,GACpB,MAAM,GAAG,SAAS,CAmDpB;AAUD,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,EAAE,QAAQ,EAAE,EAAE,OAAO,GACpB,MAAM,CAsCR"}
1
+ {"version":3,"file":"getSegmentAtWorldPoint.d.ts","sourceRoot":"","sources":["../../../../src/utilities/segmentation/getSegmentAtWorldPoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAU1D,OAAO,EAAiC,YAAY,EAAE,MAAM,aAAa,CAAC;AAI1E,aAAK,OAAO,GAAG;IACb,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AASF,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,OAAO,UAAgB,GACtB,MAAM,CAuBR;AAUD,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,EAAE,QAAQ,EAAE,EAAE,OAAO,GACpB,MAAM,GAAG,SAAS,CAoDpB;AAUD,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,EAAE,QAAQ,EAAE,EAAE,OAAO,GACpB,MAAM,CAsCR"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@cornerstonejs/core"),require("gl-matrix")):"function"==typeof define&&define.amd?define(["@kitware/vtk.js/Common/DataModel/ImageData","@kitware/vtk.js/Common/Core/DataArray","@cornerstonejs/core","gl-matrix"],t):"object"==typeof exports?exports.cornerstoneTools3D=t(require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@cornerstonejs/core"),require("gl-matrix")):e.cornerstoneTools3D=t(e["@kitware/vtk.js/Common/DataModel/ImageData"],e["@kitware/vtk.js/Common/Core/DataArray"],e.cornerstone3D,e.window)}(self,((e,t,n,o)=>(()=>{"use strict";var a,i,r={248:(e,t,n)=>{var o=n(758),a=n(283),i=n.n(a),r=n(785),s=n.n(r),l=n(699),c=n(953);const{EPSILON:g}=c.CONSTANTS;function m(e,t){return function(e,t){var n;let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=1/0,i=o?-1/0:0,r=1/0,s=o?-1/0:0,l=1/0,c=o?-1/0:0;const m=3===(null===(n=e[0])||void 0===n?void 0:n.length);for(let t=0;t<e.length;t++){const n=e[t];var u,p;a=Math.min(n[0],a),i=Math.max(n[0],i),r=Math.min(n[1],r),s=Math.max(n[1],s),m&&(l=Math.min(null!==(u=n[2])&&void 0!==u?u:l,l),c=Math.max(null!==(p=n[2])&&void 0!==p?p:c,c))}return t?(a=Math.max(o?t[0]+g:0,a),i=Math.min(o?t[0]-g:t[0]-1,i),r=Math.max(o?t[1]+g:0,r),s=Math.min(o?t[1]-g:t[1]-1,s),m&&3===t.length&&(l=Math.max(o?t[2]+g:0,l),c=Math.min(o?t[2]-g:t[2]-1,c))):o||(a=Math.max(0,a),i=Math.min(1/0,i),r=Math.max(0,r),s=Math.min(1/0,s),m&&(l=Math.max(0,l),c=Math.min(1/0,c))),m?[[a,i],[r,s],[l,c]]:[[a,i],[r,s],null]}(e,t,!0)}var u=n(976);function p(e,t,n,o){let a,i,r,s,l,c,g;g=e.getScalarData?e.getScalarData():e.getPointData().getScalars().getData();const m=e.getDimensions();o?[[a,i],[r,s],[l,c]]=o:(a=0,i=m[0],r=0,s=m[1],l=0,c=m[2]);const p=u.vec3.fromValues(a,r,l),f=e.getDirection(),d=f.slice(0,3),h=f.slice(3,6),v=f.slice(6,9),y=e.getSpacing(),[x,w,S]=y,I=e.indexToWorld(p),D=u.vec3.fromValues(d[0]*x,d[1]*x,d[2]*x),M=u.vec3.fromValues(h[0]*w,h[1]*w,h[2]*w),P=u.vec3.fromValues(v[0]*S,v[1]*S,v[2]*S),b=g.length/m[2]/m[1]/m[0],k=m[0]*b,T=m[1]*k,C=[],j=u.vec3.clone(I);for(let e=l;e<=c;e++){const o=u.vec3.clone(j);for(let o=r;o<=s;o++){const r=u.vec3.clone(j);for(let r=a;r<=i;r++){const a=[r,o,e];if(t(j,a)){const t=e*T+o*k+r*b;let i;i=b>2?[g[t],g[t+1],g[t+2]]:g[t],C.push({value:i,index:t,pointIJK:a,pointLPS:j}),n&&n({value:i,index:t,pointIJK:a,pointLPS:j})}u.vec3.add(j,j,D)}u.vec3.copy(j,r),u.vec3.add(j,j,M)}u.vec3.copy(j,o),u.vec3.add(j,j,P)}return C}function f(e,t){let n;const o=t.slice(0,3);for(let e=0;e<3;e++)if(o.every(((t,n,o)=>t[e]===o[0][e]))){n=e;break}if(void 0===n)throw new Error("Cannot find a shared dimension index for polyline, probably oblique plane");const a=[];for(let e=0;e<t.length;e++)a.push([t[e][(n+1)%3],t[e][(n+2)%3]]);return function(e,t,n){if(e.length<3)return!1;const o=e.length;let a=0;const i=!function(e){if(e.length<3)return!1;const t=e.length,n=function(e,t){if(e.length!==t.length)throw Error("Both points should have the same dimensionality");const[n,o,a=0]=e,[i,r,s=0]=t,l=i-n,c=r-o,g=s-a;return l*l+c*c+g*g}(e[0],e[t-1]);return u.glMatrix.equals(0,n)}(e),r=e.length-(i?1:2);for(let n=0;n<=r;n++){const i=e[n],r=e[n===o-1?0:n+1],s=i[0]>=r[0]?i[0]:r[0],l=i[1]>=r[1]?i[1]:r[1],c=i[1]<=r[1]?i[1]:r[1];if(t[0]<=s&&t[1]>=c&&t[1]<l){let e=i[0]===r[0];if(!e){const n=(t[1]-i[1])*(r[0]-i[0])/(r[1]-i[1])+i[0];e=t[0]<=n}a+=e?1:0}}return!!(a%2)}(a,[e[(n+1)%3],e[(n+2)%3]])}const d={polySeg:null,polySegInitializing:!1,polySegInitializingPromise:null,async initializePolySeg(e){var t;this.polySegInitializing?await this.polySegInitializingPromise:null!==(t=this.polySeg)&&void 0!==t&&t.instance||(this.polySegInitializing=!0,this.polySegInitializingPromise=new Promise((t=>{this.polySeg=new l.Z,this.polySeg.initialize({updateProgress:e}).then((()=>{this.polySegInitializing=!1,t()}))})),await this.polySegInitializingPromise)},async convertContourToSurface(e){const{polylines:t,numPointsArray:n}=e;for(var o=arguments.length,a=new Array(o>1?o-1:0),i=1;i<o;i++)a[i-1]=arguments[i];const[r]=a;return await this.initializePolySeg(r),await this.polySeg.instance.convertContourRoiToSurface(t,n)},async convertLabelmapToSurface(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n;return await this.initializePolySeg(a),this.polySeg.instance.convertLabelmapToSurface(e.scalarData,e.dimensions,e.spacing,e.direction,e.origin,[e.segmentIndex])},async convertContourToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n,r=await new l.Z;await r.initialize({updateProgress:a});const{segmentIndices:g,scalarData:u,annotationUIDsInSegmentMap:d,dimensions:h,origin:v,direction:y,spacing:x}=e,w=c.utilities.VoxelManager.createVolumeVoxelManager(h,u),S=i().newInstance();S.setDimensions(h),S.setOrigin(v),S.setDirection(y),S.setSpacing(x);const I=s().newInstance({name:"Pixels",numberOfComponents:1,values:u});S.getPointData().setScalars(I),S.modified();for(const e of g){const t=d.get(e);for(const n of t){const t=m(n.data.contour.polyline),[o,a,i]=c.utilities.transformWorldToIndex(S,[t[0][0],t[1][0],t[2][0]]),[r,s,l]=c.utilities.transformWorldToIndex(S,[t[0][1],t[1][1],t[2][1]]);p(S,(e=>f(e,n.data.contour.polyline)),(t=>{let{pointIJK:n}=t;w.setAtIJKPoint(n,e)}),[[o,r],[a,s],[i,l]])}}return w.scalarData},async convertContourToStackLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n,r=await new l.Z;await r.initialize({updateProgress:a});const{segmentationsInfo:g,annotationUIDsInSegmentMap:u,segmentIndices:d}=e,h=new Map;g.forEach(((e,t)=>{const{dimensions:n,scalarData:o,direction:a,spacing:r,origin:l}=e,g=c.utilities.VoxelManager.createVolumeVoxelManager(n,o),m=i().newInstance();m.setDimensions(n),m.setOrigin(l),m.setDirection(a),m.setSpacing(r);const u=s().newInstance({name:"Pixels",numberOfComponents:1,values:o});m.getPointData().setScalars(u),m.modified(),h.set(t,{manager:g,imageData:m})}));for(const e of d){const t=u.get(e);for(const n of t){if(null==n||!n.data)continue;const t=m(n.data.contour.polyline),{referencedImageId:o}=n.metadata,{manager:a,imageData:i}=h.get(o),[r,s,l]=c.utilities.transformWorldToIndex(i,[t[0][0],t[1][0],t[2][0]]),[g,u,d]=c.utilities.transformWorldToIndex(i,[t[0][1],t[1][1],t[2][1]]);p(i,(e=>f(e,n.data.contour.polyline)),(t=>{let{pointIJK:n}=t;a.setAtIJKPoint(n,e)}),[[r,g],[s,u],[l,d]])}}return g.forEach(((e,t)=>{const{manager:n}=h.get(t);e.scalarData=n.scalarData})),g},async convertSurfaceToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n;return await this.initializePolySeg(a),this.polySeg.instance.convertSurfaceToLabelmap(e.points,e.polys,e.dimensions,e.spacing,e.direction,e.origin)},async convertSurfacesToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n;await this.initializePolySeg(a);const{segmentsInfo:r}=e,l=Array.from(r.keys()).map((t=>{const{points:n,polys:o}=r.get(t);return{...this.polySeg.instance.convertSurfaceToLabelmap(n,o,e.dimensions,e.spacing,e.direction,e.origin),segmentIndex:t}})),g=await Promise.all(l),m=i().newInstance();m.setDimensions(e.dimensions),m.setOrigin(e.origin),m.setSpacing(e.spacing),m.setDirection(e.direction);const u=e.dimensions[0]*e.dimensions[1]*e.dimensions[2],f=s().newInstance({name:"Pixels",numberOfComponents:1,values:new Uint8Array(u)});m.getPointData().setScalars(f),m.modified();const d=c.utilities.VoxelManager.createVolumeVoxelManager(e.dimensions,m.getPointData().getScalars().getData()),h=g.map((e=>{const{data:t,dimensions:n,direction:o,origin:a,spacing:r}=e,l=i().newInstance();l.setDimensions(n),l.setOrigin(a),l.setSpacing(r),l.setDirection(o);const g=s().newInstance({name:"Pixels",numberOfComponents:1,values:t});l.getPointData().setScalars(g),l.modified();const m=c.utilities.VoxelManager.createVolumeVoxelManager(n,t),u=l.getExtent();return{volume:l,voxelManager:m,extent:u,scalarData:t,segmentIndex:e.segmentIndex}}));return p(m,(()=>!0),(e=>{let{pointIJK:t,pointLPS:n}=e;try{for(const e of h){const{volume:o,extent:a,voxelManager:i,segmentIndex:r}=e,s=o.worldToIndex(n);if(s[0]<a[0]||s[0]>a[1]||s[1]<a[2]||s[1]>a[3]||s[2]<a[4]||s[2]>a[5])continue;const l=s.map(Math.round);if(i.getAtIJK(...l)>0){d.setAtIJKPoint(t,r);break}}}catch(e){}})),d.scalarData}};(0,o.Jj)(d)},785:e=>{e.exports=t},283:t=>{t.exports=e},953:e=>{e.exports=n},976:e=>{e.exports=o}},s={};function l(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}};return r[e](n,n.exports,l),n.exports}return l.m=r,l.x=()=>{var e=l.O(void 0,[78],(()=>l(248)));return l.O(e)},a=[],l.O=(e,t,n,o)=>{if(!t){var i=1/0;for(g=0;g<a.length;g++){t=a[g][0],n=a[g][1],o=a[g][2];for(var r=!0,s=0;s<t.length;s++)(!1&o||i>=o)&&Object.keys(l.O).every((e=>l.O[e](t[s])))?t.splice(s--,1):(r=!1,o<i&&(i=o));if(r){a.splice(g--,1);var c=n();void 0!==c&&(e=c)}}return e}o=o||0;for(var g=a.length;g>0&&a[g-1][2]>o;g--)a[g]=a[g-1];a[g]=[t,n,o]},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce(((t,n)=>(l.f[n](e,t),t)),[])),l.u=e=>e+".index.js",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;l.g.importScripts&&(e=l.g.location+"");var t=l.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var o=n.length-1;o>-1&&!e;)e=n[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),l.p=e})(),(()=>{var e={985:1};l.f.i=(t,n)=>{e[t]||importScripts(l.p+l.u(t))};var t=self.webpackChunkcornerstoneTools3D=self.webpackChunkcornerstoneTools3D||[],n=t.push.bind(t);t.push=t=>{var o=t[0],a=t[1],i=t[2];for(var r in a)l.o(a,r)&&(l.m[r]=a[r]);for(i&&i(l);o.length;)e[o.pop()]=1;n(t)}})(),i=l.x,l.x=()=>l.e(78).then(i),l.x()})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@cornerstonejs/core"),require("gl-matrix")):"function"==typeof define&&define.amd?define(["@kitware/vtk.js/Common/DataModel/ImageData","@kitware/vtk.js/Common/Core/DataArray","@cornerstonejs/core","gl-matrix"],t):"object"==typeof exports?exports.cornerstoneTools3D=t(require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@cornerstonejs/core"),require("gl-matrix")):e.cornerstoneTools3D=t(e["@kitware/vtk.js/Common/DataModel/ImageData"],e["@kitware/vtk.js/Common/Core/DataArray"],e.cornerstone3D,e.window)}(self,((e,t,n,o)=>(()=>{"use strict";var a,i,r={248:(e,t,n)=>{var o=n(758),a=n(283),i=n.n(a),r=n(785),s=n.n(r),l=n(699),c=n(953);const{EPSILON:g}=c.CONSTANTS;function m(e,t){return function(e,t){var n;let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=1/0,i=o?-1/0:0,r=1/0,s=o?-1/0:0,l=1/0,c=o?-1/0:0;const m=3===(null===(n=e[0])||void 0===n?void 0:n.length);for(let t=0;t<e.length;t++){const n=e[t];var u,p;a=Math.min(n[0],a),i=Math.max(n[0],i),r=Math.min(n[1],r),s=Math.max(n[1],s),m&&(l=Math.min(null!==(u=n[2])&&void 0!==u?u:l,l),c=Math.max(null!==(p=n[2])&&void 0!==p?p:c,c))}return t?(a=Math.max(o?t[0]+g:0,a),i=Math.min(o?t[0]-g:t[0]-1,i),r=Math.max(o?t[1]+g:0,r),s=Math.min(o?t[1]-g:t[1]-1,s),m&&3===t.length&&(l=Math.max(o?t[2]+g:0,l),c=Math.min(o?t[2]-g:t[2]-1,c))):o||(a=Math.max(0,a),i=Math.min(1/0,i),r=Math.max(0,r),s=Math.min(1/0,s),m&&(l=Math.max(0,l),c=Math.min(1/0,c))),m?[[a,i],[r,s],[l,c]]:[[a,i],[r,s],null]}(e,t,!0)}var u=n(976);function p(e,t,n,o){let a,i,r,s,l,c,g;const{numComps:m}=e;g=e.getScalarData?e.getScalarData():e.getPointData().getScalars().getData();const p=e.getDimensions();o?[[a,i],[r,s],[l,c]]=o:(a=0,i=p[0],r=0,s=p[1],l=0,c=p[2]);const f=u.vec3.fromValues(a,r,l),d=e.getDirection(),h=d.slice(0,3),v=d.slice(3,6),y=d.slice(6,9),x=e.getSpacing(),[w,S,I]=x,D=e.indexToWorld(f),M=u.vec3.fromValues(h[0]*w,h[1]*w,h[2]*w),P=u.vec3.fromValues(v[0]*S,v[1]*S,v[2]*S),b=u.vec3.fromValues(y[0]*I,y[1]*I,y[2]*I),k=m||g.length/p[2]/p[1]/p[0],C=p[0]*k,T=p[1]*C,j=[],O=u.vec3.clone(D);for(let e=l;e<=c;e++){const o=u.vec3.clone(O);for(let o=r;o<=s;o++){const r=u.vec3.clone(O);for(let r=a;r<=i;r++){const a=[r,o,e];if(t(O,a)){const t=e*T+o*C+r*k;let i;i=k>2?[g[t],g[t+1],g[t+2]]:g[t],j.push({value:i,index:t,pointIJK:a,pointLPS:O}),n&&n({value:i,index:t,pointIJK:a,pointLPS:O})}u.vec3.add(O,O,M)}u.vec3.copy(O,r),u.vec3.add(O,O,P)}u.vec3.copy(O,o),u.vec3.add(O,O,b)}return j}function f(e,t){let n;const o=t.slice(0,3);for(let e=0;e<3;e++)if(o.every(((t,n,o)=>t[e]===o[0][e]))){n=e;break}if(void 0===n)throw new Error("Cannot find a shared dimension index for polyline, probably oblique plane");const a=[];for(let e=0;e<t.length;e++)a.push([t[e][(n+1)%3],t[e][(n+2)%3]]);return function(e,t,n){if(e.length<3)return!1;const o=e.length;let a=0;const i=!function(e){if(e.length<3)return!1;const t=e.length,n=function(e,t){if(e.length!==t.length)throw Error("Both points should have the same dimensionality");const[n,o,a=0]=e,[i,r,s=0]=t,l=i-n,c=r-o,g=s-a;return l*l+c*c+g*g}(e[0],e[t-1]);return u.glMatrix.equals(0,n)}(e),r=e.length-(i?1:2);for(let n=0;n<=r;n++){const i=e[n],r=e[n===o-1?0:n+1],s=i[0]>=r[0]?i[0]:r[0],l=i[1]>=r[1]?i[1]:r[1],c=i[1]<=r[1]?i[1]:r[1];if(t[0]<=s&&t[1]>=c&&t[1]<l){let e=i[0]===r[0];if(!e){const n=(t[1]-i[1])*(r[0]-i[0])/(r[1]-i[1])+i[0];e=t[0]<=n}a+=e?1:0}}return!!(a%2)}(a,[e[(n+1)%3],e[(n+2)%3]])}const d={polySeg:null,polySegInitializing:!1,polySegInitializingPromise:null,async initializePolySeg(e){var t;this.polySegInitializing?await this.polySegInitializingPromise:null!==(t=this.polySeg)&&void 0!==t&&t.instance||(this.polySegInitializing=!0,this.polySegInitializingPromise=new Promise((t=>{this.polySeg=new l.Z,this.polySeg.initialize({updateProgress:e}).then((()=>{this.polySegInitializing=!1,t()}))})),await this.polySegInitializingPromise)},async convertContourToSurface(e){const{polylines:t,numPointsArray:n}=e;for(var o=arguments.length,a=new Array(o>1?o-1:0),i=1;i<o;i++)a[i-1]=arguments[i];const[r]=a;return await this.initializePolySeg(r),await this.polySeg.instance.convertContourRoiToSurface(t,n)},async convertLabelmapToSurface(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n;return await this.initializePolySeg(a),this.polySeg.instance.convertLabelmapToSurface(e.scalarData,e.dimensions,e.spacing,e.direction,e.origin,[e.segmentIndex])},async convertContourToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n,r=await new l.Z;await r.initialize({updateProgress:a});const{segmentIndices:g,scalarData:u,annotationUIDsInSegmentMap:d,dimensions:h,origin:v,direction:y,spacing:x}=e,w=c.utilities.VoxelManager.createVolumeVoxelManager(h,u),S=i().newInstance();S.setDimensions(h),S.setOrigin(v),S.setDirection(y),S.setSpacing(x);const I=s().newInstance({name:"Pixels",numberOfComponents:1,values:u});S.getPointData().setScalars(I),S.modified();for(const e of g){const t=d.get(e);for(const n of t){const t=m(n.data.contour.polyline),[o,a,i]=c.utilities.transformWorldToIndex(S,[t[0][0],t[1][0],t[2][0]]),[r,s,l]=c.utilities.transformWorldToIndex(S,[t[0][1],t[1][1],t[2][1]]);p(S,(e=>f(e,n.data.contour.polyline)),(t=>{let{pointIJK:n}=t;w.setAtIJKPoint(n,e)}),[[o,r],[a,s],[i,l]])}}return w.scalarData},async convertContourToStackLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n,r=await new l.Z;await r.initialize({updateProgress:a});const{segmentationsInfo:g,annotationUIDsInSegmentMap:u,segmentIndices:d}=e,h=new Map;g.forEach(((e,t)=>{const{dimensions:n,scalarData:o,direction:a,spacing:r,origin:l}=e,g=c.utilities.VoxelManager.createVolumeVoxelManager(n,o),m=i().newInstance();m.setDimensions(n),m.setOrigin(l),m.setDirection(a),m.setSpacing(r);const u=s().newInstance({name:"Pixels",numberOfComponents:1,values:o});m.getPointData().setScalars(u),m.modified(),h.set(t,{manager:g,imageData:m})}));for(const e of d){const t=u.get(e);for(const n of t){if(null==n||!n.data)continue;const t=m(n.data.contour.polyline),{referencedImageId:o}=n.metadata,{manager:a,imageData:i}=h.get(o),[r,s,l]=c.utilities.transformWorldToIndex(i,[t[0][0],t[1][0],t[2][0]]),[g,u,d]=c.utilities.transformWorldToIndex(i,[t[0][1],t[1][1],t[2][1]]);p(i,(e=>f(e,n.data.contour.polyline)),(t=>{let{pointIJK:n}=t;a.setAtIJKPoint(n,e)}),[[r,g],[s,u],[l,d]])}}return g.forEach(((e,t)=>{const{manager:n}=h.get(t);e.scalarData=n.scalarData})),g},async convertSurfaceToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n;return await this.initializePolySeg(a),this.polySeg.instance.convertSurfaceToLabelmap(e.points,e.polys,e.dimensions,e.spacing,e.direction,e.origin)},async convertSurfacesToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];const[a]=n;await this.initializePolySeg(a);const{segmentsInfo:r}=e,l=Array.from(r.keys()).map((t=>{const{points:n,polys:o}=r.get(t);return{...this.polySeg.instance.convertSurfaceToLabelmap(n,o,e.dimensions,e.spacing,e.direction,e.origin),segmentIndex:t}})),g=await Promise.all(l),m=i().newInstance();m.setDimensions(e.dimensions),m.setOrigin(e.origin),m.setSpacing(e.spacing),m.setDirection(e.direction);const u=e.dimensions[0]*e.dimensions[1]*e.dimensions[2],f=s().newInstance({name:"Pixels",numberOfComponents:1,values:new Uint8Array(u)});m.getPointData().setScalars(f),m.modified();const d=c.utilities.VoxelManager.createVolumeVoxelManager(e.dimensions,m.getPointData().getScalars().getData()),h=g.map((e=>{const{data:t,dimensions:n,direction:o,origin:a,spacing:r}=e,l=i().newInstance();l.setDimensions(n),l.setOrigin(a),l.setSpacing(r),l.setDirection(o);const g=s().newInstance({name:"Pixels",numberOfComponents:1,values:t});l.getPointData().setScalars(g),l.modified();const m=c.utilities.VoxelManager.createVolumeVoxelManager(n,t),u=l.getExtent();return{volume:l,voxelManager:m,extent:u,scalarData:t,segmentIndex:e.segmentIndex}}));return p(m,(()=>!0),(e=>{let{pointIJK:t,pointLPS:n}=e;try{for(const e of h){const{volume:o,extent:a,voxelManager:i,segmentIndex:r}=e,s=o.worldToIndex(n);if(s[0]<a[0]||s[0]>a[1]||s[1]<a[2]||s[1]>a[3]||s[2]<a[4]||s[2]>a[5])continue;const l=s.map(Math.round);if(i.getAtIJK(...l)>0){d.setAtIJKPoint(t,r);break}}}catch(e){}})),d.scalarData}};(0,o.Jj)(d)},785:e=>{e.exports=t},283:t=>{t.exports=e},953:e=>{e.exports=n},976:e=>{e.exports=o}},s={};function l(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}};return r[e](n,n.exports,l),n.exports}return l.m=r,l.x=()=>{var e=l.O(void 0,[78],(()=>l(248)));return l.O(e)},a=[],l.O=(e,t,n,o)=>{if(!t){var i=1/0;for(g=0;g<a.length;g++){t=a[g][0],n=a[g][1],o=a[g][2];for(var r=!0,s=0;s<t.length;s++)(!1&o||i>=o)&&Object.keys(l.O).every((e=>l.O[e](t[s])))?t.splice(s--,1):(r=!1,o<i&&(i=o));if(r){a.splice(g--,1);var c=n();void 0!==c&&(e=c)}}return e}o=o||0;for(var g=a.length;g>0&&a[g-1][2]>o;g--)a[g]=a[g-1];a[g]=[t,n,o]},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce(((t,n)=>(l.f[n](e,t),t)),[])),l.u=e=>e+".index.js",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;l.g.importScripts&&(e=l.g.location+"");var t=l.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var o=n.length-1;o>-1&&!e;)e=n[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),l.p=e})(),(()=>{var e={985:1};l.f.i=(t,n)=>{e[t]||importScripts(l.p+l.u(t))};var t=self.webpackChunkcornerstoneTools3D=self.webpackChunkcornerstoneTools3D||[],n=t.push.bind(t);t.push=t=>{var o=t[0],a=t[1],i=t[2];for(var r in a)l.o(a,r)&&(l.m[r]=a[r]);for(i&&i(l);o.length;)e[o.pop()]=1;n(t)}})(),i=l.x,l.x=()=>l.e(78).then(i),l.x()})()));
2
2
  //# sourceMappingURL=985.index.js.map