@cornerstonejs/tools 1.12.1 → 1.13.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 (136) hide show
  1. package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +3 -3
  2. package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
  3. package/dist/cjs/tools/annotation/AngleTool.d.ts +0 -1
  4. package/dist/cjs/tools/annotation/AngleTool.js +11 -10
  5. package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
  6. package/dist/cjs/tools/annotation/BidirectionalTool.d.ts +0 -1
  7. package/dist/cjs/tools/annotation/BidirectionalTool.js +14 -13
  8. package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
  9. package/dist/cjs/tools/annotation/CircleROITool.d.ts +0 -1
  10. package/dist/cjs/tools/annotation/CircleROITool.js +39 -51
  11. package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
  12. package/dist/cjs/tools/annotation/CobbAngleTool.d.ts +0 -1
  13. package/dist/cjs/tools/annotation/CobbAngleTool.js +11 -10
  14. package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
  15. package/dist/cjs/tools/annotation/DragProbeTool.js +13 -1
  16. package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
  17. package/dist/cjs/tools/annotation/EllipticalROITool.d.ts +0 -1
  18. package/dist/cjs/tools/annotation/EllipticalROITool.js +33 -45
  19. package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
  20. package/dist/cjs/tools/annotation/LengthTool.d.ts +0 -1
  21. package/dist/cjs/tools/annotation/LengthTool.js +11 -10
  22. package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
  23. package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +0 -1
  24. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +34 -42
  25. package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  26. package/dist/cjs/tools/annotation/ProbeTool.d.ts +0 -1
  27. package/dist/cjs/tools/annotation/ProbeTool.js +13 -12
  28. package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
  29. package/dist/cjs/tools/annotation/RectangleROITool.d.ts +0 -1
  30. package/dist/cjs/tools/annotation/RectangleROITool.js +31 -47
  31. package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
  32. package/dist/cjs/tools/base/AnnotationTool.d.ts +2 -1
  33. package/dist/cjs/tools/base/AnnotationTool.js +10 -2
  34. package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
  35. package/dist/cjs/types/CalculatorTypes.d.ts +6 -0
  36. package/dist/cjs/types/CalculatorTypes.js +3 -0
  37. package/dist/cjs/types/CalculatorTypes.js.map +1 -0
  38. package/dist/cjs/types/IToolGroup.d.ts +3 -2
  39. package/dist/cjs/types/ToolProps.d.ts +5 -1
  40. package/dist/cjs/types/index.d.ts +3 -2
  41. package/dist/cjs/utilities/math/basic/BasicStatsCalculator.d.ts +14 -0
  42. package/dist/cjs/utilities/math/basic/BasicStatsCalculator.js +44 -0
  43. package/dist/cjs/utilities/math/basic/BasicStatsCalculator.js.map +1 -0
  44. package/dist/cjs/utilities/math/basic/Calculator.d.ts +8 -0
  45. package/dist/cjs/utilities/math/basic/Calculator.js +6 -0
  46. package/dist/cjs/utilities/math/basic/Calculator.js.map +1 -0
  47. package/dist/cjs/utilities/math/basic/index.d.ts +3 -0
  48. package/dist/cjs/utilities/math/basic/index.js +11 -0
  49. package/dist/cjs/utilities/math/basic/index.js.map +1 -0
  50. package/dist/cjs/utilities/math/index.d.ts +2 -1
  51. package/dist/cjs/utilities/math/index.js +3 -1
  52. package/dist/cjs/utilities/math/index.js.map +1 -1
  53. package/dist/cjs/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
  54. package/dist/cjs/utilities/pointInShapeCallback.d.ts +7 -1
  55. package/dist/cjs/utilities/pointInShapeCallback.js +6 -1
  56. package/dist/cjs/utilities/pointInShapeCallback.js.map +1 -1
  57. package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +3 -3
  58. package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
  59. package/dist/esm/tools/annotation/AngleTool.d.ts +0 -1
  60. package/dist/esm/tools/annotation/AngleTool.js +11 -10
  61. package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
  62. package/dist/esm/tools/annotation/BidirectionalTool.d.ts +0 -1
  63. package/dist/esm/tools/annotation/BidirectionalTool.js +14 -13
  64. package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
  65. package/dist/esm/tools/annotation/CircleROITool.d.ts +0 -1
  66. package/dist/esm/tools/annotation/CircleROITool.js +38 -51
  67. package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
  68. package/dist/esm/tools/annotation/CobbAngleTool.d.ts +0 -1
  69. package/dist/esm/tools/annotation/CobbAngleTool.js +11 -10
  70. package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
  71. package/dist/esm/tools/annotation/DragProbeTool.js +13 -1
  72. package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
  73. package/dist/esm/tools/annotation/EllipticalROITool.d.ts +0 -1
  74. package/dist/esm/tools/annotation/EllipticalROITool.js +32 -45
  75. package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
  76. package/dist/esm/tools/annotation/LengthTool.d.ts +0 -1
  77. package/dist/esm/tools/annotation/LengthTool.js +11 -10
  78. package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
  79. package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +0 -1
  80. package/dist/esm/tools/annotation/PlanarFreehandROITool.js +33 -42
  81. package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
  82. package/dist/esm/tools/annotation/ProbeTool.d.ts +0 -1
  83. package/dist/esm/tools/annotation/ProbeTool.js +13 -12
  84. package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
  85. package/dist/esm/tools/annotation/RectangleROITool.d.ts +0 -1
  86. package/dist/esm/tools/annotation/RectangleROITool.js +30 -47
  87. package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
  88. package/dist/esm/tools/base/AnnotationTool.d.ts +2 -1
  89. package/dist/esm/tools/base/AnnotationTool.js +9 -2
  90. package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
  91. package/dist/esm/types/CalculatorTypes.d.ts +6 -0
  92. package/dist/esm/types/CalculatorTypes.js +2 -0
  93. package/dist/esm/types/CalculatorTypes.js.map +1 -0
  94. package/dist/esm/types/IToolGroup.d.ts +3 -2
  95. package/dist/esm/types/ToolProps.d.ts +5 -1
  96. package/dist/esm/types/index.d.ts +3 -2
  97. package/dist/esm/utilities/math/basic/BasicStatsCalculator.d.ts +14 -0
  98. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js +36 -0
  99. package/dist/esm/utilities/math/basic/BasicStatsCalculator.js.map +1 -0
  100. package/dist/esm/utilities/math/basic/Calculator.d.ts +8 -0
  101. package/dist/esm/utilities/math/basic/Calculator.js +4 -0
  102. package/dist/esm/utilities/math/basic/Calculator.js.map +1 -0
  103. package/dist/esm/utilities/math/basic/index.d.ts +3 -0
  104. package/dist/esm/utilities/math/basic/index.js +4 -0
  105. package/dist/esm/utilities/math/basic/index.js.map +1 -0
  106. package/dist/esm/utilities/math/index.d.ts +2 -1
  107. package/dist/esm/utilities/math/index.js +2 -1
  108. package/dist/esm/utilities/math/index.js.map +1 -1
  109. package/dist/esm/utilities/math/vec2/liangBarksyClip.d.ts +1 -1
  110. package/dist/esm/utilities/pointInShapeCallback.d.ts +7 -1
  111. package/dist/esm/utilities/pointInShapeCallback.js +6 -1
  112. package/dist/esm/utilities/pointInShapeCallback.js.map +1 -1
  113. package/dist/umd/index.js +1 -1
  114. package/dist/umd/index.js.map +1 -1
  115. package/package.json +3 -3
  116. package/src/store/ToolGroupManager/ToolGroup.ts +4 -3
  117. package/src/tools/annotation/AngleTool.ts +15 -15
  118. package/src/tools/annotation/BidirectionalTool.ts +21 -22
  119. package/src/tools/annotation/CircleROITool.ts +64 -87
  120. package/src/tools/annotation/CobbAngleTool.ts +15 -15
  121. package/src/tools/annotation/DragProbeTool.ts +19 -1
  122. package/src/tools/annotation/EllipticalROITool.ts +47 -70
  123. package/src/tools/annotation/LengthTool.ts +16 -16
  124. package/src/tools/annotation/PlanarFreehandROITool.ts +36 -49
  125. package/src/tools/annotation/ProbeTool.ts +20 -18
  126. package/src/tools/annotation/RectangleROITool.ts +51 -74
  127. package/src/tools/base/AnnotationTool.ts +16 -1
  128. package/src/types/CalculatorTypes.ts +7 -0
  129. package/src/types/IToolGroup.ts +6 -3
  130. package/src/types/ToolProps.ts +7 -1
  131. package/src/types/index.ts +9 -1
  132. package/src/utilities/math/basic/BasicStatsCalculator.ts +60 -0
  133. package/src/utilities/math/basic/Calculator.ts +8 -0
  134. package/src/utilities/math/basic/index.ts +4 -0
  135. package/src/utilities/math/index.ts +10 -1
  136. package/src/utilities/pointInShapeCallback.ts +15 -3
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationTool.js","sourceRoot":"","sources":["../../../../src/tools/base/AnnotationTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnnotationTool.js","sourceRoot":"","sources":["../../../../src/tools/base/AnnotationTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ declare type Statistics = {
2
+ name: string;
3
+ value: number;
4
+ unit: null | string;
5
+ };
6
+ export type { Statistics };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CalculatorTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalculatorTypes.js","sourceRoot":"","sources":["../../../src/types/CalculatorTypes.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import type { Types } from '@cornerstonejs/core';
2
2
  import { SetToolBindingsType, ToolOptionsType } from './ISetToolModeOptions';
3
3
  import { MouseBindings } from '../enums';
4
+ import { ToolConfiguration } from '../types';
4
5
  export default interface IToolGroup {
5
6
  _toolInstances: Record<string, any>;
6
7
  id: string;
@@ -12,7 +13,7 @@ export default interface IToolGroup {
12
13
  (toolName: string): any;
13
14
  };
14
15
  addTool: {
15
- (toolName: string, toolConfiguration?: any): void;
16
+ (toolName: string, toolConfiguration?: ToolConfiguration): void;
16
17
  };
17
18
  addToolInstance: {
18
19
  (ttoolName: string, parentClassName: string, configuration?: any): void;
@@ -45,7 +46,7 @@ export default interface IToolGroup {
45
46
  (toolName: string, strategyName?: string): void;
46
47
  };
47
48
  setToolConfiguration: {
48
- (toolName: string, configuration: Record<any, any>, overwrite?: boolean): void;
49
+ (toolName: string, configuration: ToolConfiguration, overwrite?: boolean): void;
49
50
  };
50
51
  getToolConfiguration: {
51
52
  (toolName: string, configurationPath: string): any;
@@ -1,6 +1,10 @@
1
+ import { Calculator } from '../utilities/math/basic';
1
2
  declare type SharedToolProp = {
2
3
  supportedInteractionTypes?: Array<string>;
3
- configuration?: Record<string, any>;
4
+ configuration?: ToolConfiguration;
5
+ };
6
+ export declare type ToolConfiguration = Record<string, any> & {
7
+ statsCalculator?: Calculator;
4
8
  };
5
9
  export declare type ToolProps = SharedToolProp;
6
10
  export declare type PublicToolProps = SharedToolProp & {
@@ -12,7 +12,7 @@ import type * as AnnotationStyle from './AnnotationStyle';
12
12
  import type ToolHandle from './ToolHandle';
13
13
  import type { AnnotationHandle, TextBoxHandle } from './ToolHandle';
14
14
  import type InteractionTypes from './InteractionTypes';
15
- import type { ToolProps, PublicToolProps } from './ToolProps';
15
+ import type { ToolProps, PublicToolProps, ToolConfiguration } from './ToolProps';
16
16
  import type { SVGCursorDescriptor, SVGPoint } from './CursorTypes';
17
17
  import type JumpToSliceOptions from './JumpToSliceOptions';
18
18
  import type ScrollOptions from './ScrollOptions';
@@ -26,4 +26,5 @@ import IToolClassReference from './IToolClassReference';
26
26
  import { ContourSegmentationData } from './ContourTypes';
27
27
  import IAnnotationManager from './IAnnotationManager';
28
28
  import AnnotationGroupSelector from './AnnotationGroupSelector';
29
- export type { Annotation, Annotations, IAnnotationManager, GroupSpecificAnnotations, AnnotationState, AnnotationStyle, ToolSpecificAnnotationTypes, JumpToSliceOptions, AnnotationGroupSelector, PlanarBoundingBox, ToolProps, PublicToolProps, EventTypes, IPoints, ITouchPoints, IDistance, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, IToolGroup, IToolClassReference, ISynchronizerEventHandler, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificContourRepresentation, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, RepresentationPublicInput, Color, ColorLUT, LabelmapTypes, SVGCursorDescriptor, SVGPoint, ScrollOptions, CINETypes, BoundsIJK, SVGDrawingHelper, FloodFillResult, FloodFillGetter, FloodFillOptions, ContourSegmentationData, };
29
+ import { Statistics } from './CalculatorTypes';
30
+ export type { Annotation, Annotations, IAnnotationManager, GroupSpecificAnnotations, AnnotationState, AnnotationStyle, ToolSpecificAnnotationTypes, JumpToSliceOptions, AnnotationGroupSelector, PlanarBoundingBox, ToolProps, PublicToolProps, ToolConfiguration, EventTypes, IPoints, ITouchPoints, IDistance, IToolBinding, SetToolBindingsType, ToolOptionsType, InteractionTypes, IToolGroup, IToolClassReference, ISynchronizerEventHandler, ToolHandle, AnnotationHandle, TextBoxHandle, Segmentation, SegmentationState, SegmentationRepresentationData, SegmentationRepresentationConfig, RepresentationConfig, ToolGroupSpecificRepresentationState, ToolGroupSpecificContourRepresentation, ToolGroupSpecificLabelmapRepresentation, ToolGroupSpecificRepresentation, RepresentationPublicInput, Color, ColorLUT, LabelmapTypes, SVGCursorDescriptor, SVGPoint, ScrollOptions, CINETypes, BoundsIJK, SVGDrawingHelper, FloodFillResult, FloodFillGetter, FloodFillOptions, ContourSegmentationData, Statistics, };
@@ -0,0 +1,14 @@
1
+ import { Statistics } from '../../../types';
2
+ import Calculator from './Calculator';
3
+ export default class BasicStatsCalculator extends Calculator {
4
+ private static max;
5
+ private static currentMax;
6
+ private static sum;
7
+ private static sumSquares;
8
+ private static squaredDiffSum;
9
+ private static count;
10
+ static statsCallback: ({ value: newValue }: {
11
+ value: any;
12
+ }) => void;
13
+ static getStatistics: () => Statistics[];
14
+ }
@@ -0,0 +1,36 @@
1
+ import Calculator from './Calculator';
2
+ export default class BasicStatsCalculator extends Calculator {
3
+ static { this.max = -Infinity; }
4
+ static { this.currentMax = 0; }
5
+ static { this.sum = 0; }
6
+ static { this.sumSquares = 0; }
7
+ static { this.squaredDiffSum = 0; }
8
+ static { this.count = 0; }
9
+ static { this.statsCallback = ({ value: newValue }) => {
10
+ if (newValue > this.max) {
11
+ this.max = newValue;
12
+ this.currentMax = newValue;
13
+ }
14
+ this.count += 1;
15
+ this.sum += newValue;
16
+ this.sumSquares += newValue ** 2;
17
+ this.squaredDiffSum += Math.pow(newValue - this.sum / this.count, 2);
18
+ }; }
19
+ static { this.getStatistics = () => {
20
+ const mean = this.sum / this.count;
21
+ const stdDev = Math.sqrt(this.squaredDiffSum / this.count);
22
+ const stdDevWithSumSquare = Math.sqrt(this.sumSquares / this.count - mean ** 2);
23
+ this.max = -Infinity;
24
+ this.sum = 0;
25
+ this.sumSquares = 0;
26
+ this.squaredDiffSum = 0;
27
+ this.count = 0;
28
+ return [
29
+ { name: 'max', value: this.currentMax, unit: null },
30
+ { name: 'mean', value: mean, unit: null },
31
+ { name: 'stdDev', value: stdDev, unit: null },
32
+ { name: 'stdDevWithSumSquare', value: stdDevWithSumSquare, unit: null },
33
+ ];
34
+ }; }
35
+ }
36
+ //# sourceMappingURL=BasicStatsCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicStatsCalculator.js","sourceRoot":"","sources":["../../../../../src/utilities/math/basic/BasicStatsCalculator.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU;IAC1D,SAAe,QAAG,GAAG,CAAC,QAAQ,CAAC,EAAA;IAC/B,SAAe,eAAU,GAAG,CAAC,CAAC,EAAA;IAC9B,SAAe,QAAG,GAAG,CAAC,CAAC,EAAA;IACvB,SAAe,eAAU,GAAG,CAAC,CAAC,EAAA;IAC9B,SAAe,mBAAc,GAAG,CAAC,CAAC,EAAA;IAClC,SAAe,UAAK,GAAG,CAAC,CAAC,EAAA;IAOzB,SAAO,kBAAa,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAQ,EAAE;QACnD,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;YACvB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC5B;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAEhB,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC;QACrB,IAAI,CAAC,UAAU,IAAI,QAAQ,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,EAAA;IAYF,SAAO,kBAAa,GAAG,GAAiB,EAAE;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CACzC,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAEf,OAAO;YACL,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACnD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7C,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;SACxE,CAAC;IACJ,CAAC,CAAC,EAAA"}
@@ -0,0 +1,8 @@
1
+ import { Statistics } from '../../../types';
2
+ declare abstract class Calculator {
3
+ static run: ({ value }: {
4
+ value: any;
5
+ }) => void;
6
+ static getStatistics: () => Statistics[];
7
+ }
8
+ export default Calculator;
@@ -0,0 +1,4 @@
1
+ class Calculator {
2
+ }
3
+ export default Calculator;
4
+ //# sourceMappingURL=Calculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calculator.js","sourceRoot":"","sources":["../../../../../src/utilities/math/basic/Calculator.ts"],"names":[],"mappings":"AAEA,MAAe,UAAU;CAGxB;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ import BasicStatsCalculator from './BasicStatsCalculator';
2
+ import Calculator from './Calculator';
3
+ export { BasicStatsCalculator, Calculator };
@@ -0,0 +1,4 @@
1
+ import BasicStatsCalculator from './BasicStatsCalculator';
2
+ import Calculator from './Calculator';
3
+ export { BasicStatsCalculator, Calculator };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/utilities/math/basic/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}
@@ -4,4 +4,5 @@ import * as lineSegment from './line';
4
4
  import * as rectangle from './rectangle';
5
5
  import * as polyline from './polyline';
6
6
  import * as point from './point';
7
- export { vec2, ellipse, lineSegment, rectangle, polyline, point };
7
+ import * as BasicStatsCalculator from './basic';
8
+ export { vec2, ellipse, lineSegment, rectangle, polyline, point, BasicStatsCalculator, };
@@ -4,5 +4,6 @@ import * as lineSegment from './line';
4
4
  import * as rectangle from './rectangle';
5
5
  import * as polyline from './polyline';
6
6
  import * as point from './point';
7
- export { vec2, ellipse, lineSegment, rectangle, polyline, point };
7
+ import * as BasicStatsCalculator from './basic';
8
+ export { vec2, ellipse, lineSegment, rectangle, polyline, point, BasicStatsCalculator, };
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,WAAW,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,WAAW,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,oBAAoB,MAAM,SAAS,CAAC;AAEhD,OAAO,EACL,IAAI,EACJ,OAAO,EACP,WAAW,EACX,SAAS,EACT,QAAQ,EACR,KAAK,EACL,oBAAoB,GACrB,CAAC"}
@@ -1 +1 @@
1
- export default function clip(a: any, b: any, box: any, da?: any, db?: any): 1 | 0;
1
+ export default function clip(a: any, b: any, box: any, da?: any, db?: any): 0 | 1;
@@ -1,6 +1,12 @@
1
1
  import type { Types } from '@cornerstonejs/core';
2
2
  import type { vtkImageData } from '@kitware/vtk.js/Common/DataModel/ImageData';
3
3
  import BoundsIJK from '../types/BoundsIJK';
4
+ export declare type PointInShape = {
5
+ value: number;
6
+ index: number;
7
+ pointIJK: Types.Point3;
8
+ pointLPS: Types.Point3;
9
+ };
4
10
  export declare type PointInShapeCallback = ({ value, index, pointIJK, pointLPS, }: {
5
11
  value: number;
6
12
  index: number;
@@ -8,4 +14,4 @@ export declare type PointInShapeCallback = ({ value, index, pointIJK, pointLPS,
8
14
  pointLPS: Types.Point3;
9
15
  }) => void;
10
16
  export declare type ShapeFnCriteria = (pointIJK: Types.Point3, pointLPS: Types.Point3) => boolean;
11
- export default function pointInShapeCallback(imageData: vtkImageData | Types.CPUImageData, pointInShapeFn: ShapeFnCriteria, callback: PointInShapeCallback, boundsIJK?: BoundsIJK): void;
17
+ export default function pointInShapeCallback(imageData: vtkImageData | Types.CPUImageData, pointInShapeFn: ShapeFnCriteria, callback?: PointInShapeCallback, boundsIJK?: BoundsIJK): Array<PointInShape>;
@@ -36,6 +36,7 @@ export default function pointInShapeCallback(imageData, pointInShapeFn, callback
36
36
  const scanAxisStep = vec3.fromValues(scanAxisNormal[0] * scanAxisSpacing, scanAxisNormal[1] * scanAxisSpacing, scanAxisNormal[2] * scanAxisSpacing);
37
37
  const yMultiple = dimensions[0];
38
38
  const zMultiple = dimensions[0] * dimensions[1];
39
+ const pointsInShape = [];
39
40
  for (let k = kMin; k <= kMax; k++) {
40
41
  for (let j = jMin; j <= jMax; j++) {
41
42
  for (let i = iMin; i <= iMax; i++) {
@@ -61,10 +62,14 @@ export default function pointInShapeCallback(imageData, pointInShapeFn, callback
61
62
  if (pointInShapeFn(pointLPS, pointIJK)) {
62
63
  const index = k * zMultiple + j * yMultiple + i;
63
64
  const value = scalarData[index];
64
- callback({ value, index, pointIJK, pointLPS });
65
+ pointsInShape.push({ value, index, pointIJK, pointLPS });
66
+ if (callback !== null) {
67
+ callback({ value, index, pointIJK, pointLPS });
68
+ }
65
69
  }
66
70
  }
67
71
  }
68
72
  }
73
+ return pointsInShape;
69
74
  }
70
75
  //# sourceMappingURL=pointInShapeCallback.js.map
@@ -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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"}