@cornerstonejs/tools 4.0.0-beta.3 → 4.0.0-beta.4

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 (54) hide show
  1. package/dist/esm/enums/Events.d.ts +2 -0
  2. package/dist/esm/enums/Events.js +2 -0
  3. package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +5 -1
  4. package/dist/esm/index.d.ts +2 -2
  5. package/dist/esm/index.js +2 -2
  6. package/dist/esm/stateManagement/annotation/annotationVisibility.js +2 -0
  7. package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.d.ts +1 -0
  8. package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.js +11 -0
  9. package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +3 -0
  10. package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +13 -0
  11. package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.js +11 -0
  12. package/dist/esm/store/ToolGroupManager/ToolGroup.js +10 -11
  13. package/dist/esm/tools/CrosshairsTool.d.ts +13 -12
  14. package/dist/esm/tools/CrosshairsTool.js +10 -3
  15. package/dist/esm/tools/OrientationMarkerTool.js +4 -2
  16. package/dist/esm/tools/OverlayGridTool.d.ts +2 -2
  17. package/dist/esm/tools/SegmentationIntersectionTool.d.ts +8 -5
  18. package/dist/esm/tools/SegmentationIntersectionTool.js +1 -1
  19. package/dist/esm/tools/VolumeCroppingControlTool.d.ts +91 -0
  20. package/dist/esm/tools/VolumeCroppingControlTool.js +1208 -0
  21. package/dist/esm/tools/VolumeCroppingTool.d.ts +96 -0
  22. package/dist/esm/tools/VolumeCroppingTool.js +1065 -0
  23. package/dist/esm/tools/WindowLevelTool.js +1 -1
  24. package/dist/esm/tools/annotation/ProbeTool.js +1 -0
  25. package/dist/esm/tools/annotation/UltrasoundPleuraBLineTool/utils/generateConvexHullFromContour.js +3 -3
  26. package/dist/esm/tools/annotation/VideoRedactionTool.d.ts +1 -1
  27. package/dist/esm/tools/annotation/VideoRedactionTool.js +1 -1
  28. package/dist/esm/tools/base/AnnotationTool.d.ts +1 -11
  29. package/dist/esm/tools/base/BaseTool.d.ts +2 -0
  30. package/dist/esm/tools/base/BaseTool.js +6 -0
  31. package/dist/esm/tools/index.d.ts +3 -1
  32. package/dist/esm/tools/index.js +3 -1
  33. package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +30 -16
  34. package/dist/esm/tools/segmentation/LabelmapBaseTool.d.ts +2 -0
  35. package/dist/esm/tools/segmentation/LabelmapBaseTool.js +11 -0
  36. package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +9 -3
  37. package/dist/esm/tools/segmentation/SegmentLabelTool.js +17 -5
  38. package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +1 -0
  39. package/dist/esm/tools/segmentation/strategies/compositions/preview.js +2 -0
  40. package/dist/esm/tools/segmentation/strategies/fillCircle.d.ts +3 -6
  41. package/dist/esm/tools/segmentation/strategies/fillCircle.js +53 -30
  42. package/dist/esm/tools/segmentation/strategies/fillRectangle.js +26 -24
  43. package/dist/esm/tools/segmentation/strategies/fillSphere.js +14 -12
  44. package/dist/esm/types/AnnotationTypes.d.ts +22 -19
  45. package/dist/esm/types/ContourAnnotation.d.ts +1 -0
  46. package/dist/esm/types/index.d.ts +2 -2
  47. package/dist/esm/utilities/planar/filterAnnotationsWithinSlice.js +17 -5
  48. package/dist/esm/utilities/segmentation/getBrushToolInstances.js +2 -2
  49. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.d.ts +1 -1
  50. package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +20 -10
  51. package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +12 -2
  52. package/dist/esm/version.d.ts +1 -1
  53. package/dist/esm/version.js +1 -1
  54. package/package.json +4 -4
@@ -0,0 +1,96 @@
1
+ import vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';
2
+ import vtkActor from '@kitware/vtk.js/Rendering/Core/Actor';
3
+ import { BaseTool } from './base';
4
+ import type { Types } from '@cornerstonejs/core';
5
+ import type { EventTypes, PublicToolProps, ToolProps } from '../types';
6
+ declare class VolumeCroppingTool extends BaseTool {
7
+ static toolName: any;
8
+ seriesInstanceUID?: string;
9
+ touchDragCallback: (evt: EventTypes.InteractionEventType) => void;
10
+ mouseDragCallback: (evt: EventTypes.InteractionEventType) => void;
11
+ cleanUp: () => void;
12
+ _resizeObservers: Map<any, any>;
13
+ _viewportAddedListener: (evt: any) => void;
14
+ _hasResolutionChanged: boolean;
15
+ originalClippingPlanes: {
16
+ origin: number[];
17
+ normal: number[];
18
+ }[];
19
+ draggingSphereIndex: number | null;
20
+ toolCenter: Types.Point3;
21
+ cornerDragOffset: [number, number, number] | null;
22
+ faceDragOffset: number | null;
23
+ sphereStates: {
24
+ point: Types.Point3;
25
+ axis: string;
26
+ uid: string;
27
+ sphereSource: any;
28
+ sphereActor: any;
29
+ isCorner: boolean;
30
+ color: number[];
31
+ }[];
32
+ edgeLines: {
33
+ [uid: string]: {
34
+ actor: vtkActor;
35
+ source: vtkPolyData;
36
+ key1: string;
37
+ key2: string;
38
+ };
39
+ };
40
+ constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps);
41
+ onSetToolActive(): void;
42
+ onSetToolConfiguration: () => void;
43
+ onSetToolEnabled: () => void;
44
+ onSetToolDisabled(): void;
45
+ onCameraModified: (evt: any) => void;
46
+ preMouseDownCallback: (evt: EventTypes.InteractionEventType) => boolean;
47
+ setHandlesVisible(visible: boolean): void;
48
+ getHandlesVisible(): any;
49
+ getClippingPlanesVisible(): any;
50
+ setClippingPlanesVisible(visible: boolean): void;
51
+ _dragCallback(evt: EventTypes.InteractionEventType): void;
52
+ _onMouseMoveSphere: (evt: any) => boolean;
53
+ _onControlToolChange: (evt: any) => void;
54
+ _updateClippingPlanes(viewport: any): void;
55
+ _updateHandlesVisibility(): void;
56
+ _addLine3DBetweenPoints(viewport: any, point1: any, point2: any, color?: [number, number, number], uid?: string): {
57
+ actor: vtkActor;
58
+ source: vtkPolyData;
59
+ };
60
+ _getViewportsInfo: () => any[];
61
+ _addSphere(viewport: any, point: any, axis: any, position: any, cornerKey: any, adaptiveRadius: any): void;
62
+ _calculateAdaptiveSphereRadius(diagonal: any): number;
63
+ _initialize3DViewports: (viewportsInfo: any) => void;
64
+ _getViewportAndWorldCoords: (evt: any) => {
65
+ viewport: import("@cornerstonejs/core").Viewport;
66
+ world: Types.Point3;
67
+ };
68
+ _getViewport: () => import("@cornerstonejs/core").Viewport;
69
+ _handleCornerSphereMovement: (sphereState: any, world: any, viewport: any) => void;
70
+ _handleFaceSphereMovement: (sphereState: any, world: any, viewport: any) => void;
71
+ _calculateNewCornerPosition: (world: any) => any[];
72
+ _parseCornerKey: (uid: any) => {
73
+ isXMin: any;
74
+ isXMax: any;
75
+ isYMin: any;
76
+ isYMax: any;
77
+ isZMin: any;
78
+ isZMax: any;
79
+ };
80
+ _updateSpherePosition: (sphereState: any, newPosition: any) => void;
81
+ _updateRelatedCorners: (draggedSphere: any, newCorner: any, axisFlags: any) => void;
82
+ _shouldUpdateCorner: (cornerKey: any, axisFlags: any) => any;
83
+ _updateCornerCoordinates: (state: any, newCorner: any, cornerKey: any, axisFlags: any) => void;
84
+ _updateAfterCornerMovement: (viewport: any) => void;
85
+ _updateAfterFaceMovement: (viewport: any) => void;
86
+ _triggerToolChangedEvent: (sphereState: any) => void;
87
+ _updateClippingPlanesFromFaceSpheres(viewport: any): void;
88
+ _updateCornerSpheresFromFaces(): void;
89
+ _updateFaceSpheresFromCorners(): void;
90
+ _updateCornerSpheres(): void;
91
+ _onNewVolume: () => void;
92
+ _unsubscribeToViewportNewVolumeSet(viewportsInfo: any): void;
93
+ _subscribeToViewportNewVolumeSet(viewports: any): void;
94
+ _rotateCamera: (viewport: any, centerWorld: any, axis: any, angle: any) => void;
95
+ }
96
+ export default VolumeCroppingTool;