copper3d 3.0.2 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +183 -1028
  2. package/dist/Utils/segmentation/CanvasState.d.ts +31 -0
  3. package/dist/Utils/segmentation/CanvasState.js +168 -0
  4. package/dist/Utils/segmentation/CanvasState.js.map +1 -0
  5. package/dist/Utils/segmentation/DragOperator.d.ts +1 -1
  6. package/dist/Utils/segmentation/DragOperator.js +2 -4
  7. package/dist/Utils/segmentation/DragOperator.js.map +1 -1
  8. package/dist/Utils/segmentation/DrawToolCore.d.ts +49 -27
  9. package/dist/Utils/segmentation/DrawToolCore.js +275 -344
  10. package/dist/Utils/segmentation/DrawToolCore.js.map +1 -1
  11. package/dist/Utils/segmentation/NrrdTools.d.ts +92 -467
  12. package/dist/Utils/segmentation/NrrdTools.js +499 -1341
  13. package/dist/Utils/segmentation/NrrdTools.js.map +1 -1
  14. package/dist/Utils/segmentation/RenderingUtils.d.ts +73 -0
  15. package/dist/Utils/segmentation/RenderingUtils.js +186 -0
  16. package/dist/Utils/segmentation/RenderingUtils.js.map +1 -0
  17. package/dist/Utils/segmentation/core/MaskVolume.d.ts +1 -1
  18. package/dist/Utils/segmentation/core/MaskVolume.js +1 -1
  19. package/dist/Utils/segmentation/core/index.d.ts +1 -1
  20. package/dist/Utils/segmentation/core/index.js.map +1 -1
  21. package/dist/Utils/segmentation/core/types.d.ts +386 -0
  22. package/dist/Utils/segmentation/core/types.js +1 -0
  23. package/dist/Utils/segmentation/core/types.js.map +1 -1
  24. package/dist/Utils/segmentation/coreTools/GuiState.d.ts +1 -1
  25. package/dist/Utils/segmentation/coreTools/GuiState.js +1 -0
  26. package/dist/Utils/segmentation/coreTools/GuiState.js.map +1 -1
  27. package/dist/Utils/segmentation/coreTools/NrrdState.d.ts +1 -1
  28. package/dist/Utils/segmentation/coreTools/divControlTools.d.ts +1 -1
  29. package/dist/Utils/segmentation/coreTools/gui.d.ts +1 -1
  30. package/dist/Utils/segmentation/tools/BaseTool.d.ts +1 -1
  31. package/dist/Utils/segmentation/tools/ContrastTool.d.ts +3 -6
  32. package/dist/Utils/segmentation/tools/ContrastTool.js.map +1 -1
  33. package/dist/Utils/segmentation/tools/CrosshairTool.d.ts +11 -1
  34. package/dist/Utils/segmentation/tools/CrosshairTool.js +25 -0
  35. package/dist/Utils/segmentation/tools/CrosshairTool.js.map +1 -1
  36. package/dist/Utils/segmentation/tools/DataLoader.d.ts +33 -0
  37. package/dist/Utils/segmentation/tools/DataLoader.js +159 -0
  38. package/dist/Utils/segmentation/tools/DataLoader.js.map +1 -0
  39. package/dist/Utils/segmentation/tools/DragSliceTool.d.ts +3 -12
  40. package/dist/Utils/segmentation/tools/DragSliceTool.js.map +1 -1
  41. package/dist/Utils/segmentation/tools/DrawingTool.d.ts +18 -26
  42. package/dist/Utils/segmentation/tools/DrawingTool.js +48 -0
  43. package/dist/Utils/segmentation/tools/DrawingTool.js.map +1 -1
  44. package/dist/Utils/segmentation/tools/ImageStoreHelper.d.ts +2 -5
  45. package/dist/Utils/segmentation/tools/ImageStoreHelper.js.map +1 -1
  46. package/dist/Utils/segmentation/tools/LayerChannelManager.d.ts +56 -0
  47. package/dist/Utils/segmentation/tools/LayerChannelManager.js +188 -0
  48. package/dist/Utils/segmentation/tools/LayerChannelManager.js.map +1 -0
  49. package/dist/Utils/segmentation/tools/PanTool.d.ts +2 -8
  50. package/dist/Utils/segmentation/tools/PanTool.js.map +1 -1
  51. package/dist/Utils/segmentation/tools/SliceRenderPipeline.d.ts +80 -0
  52. package/dist/Utils/segmentation/tools/SliceRenderPipeline.js +355 -0
  53. package/dist/Utils/segmentation/tools/SliceRenderPipeline.js.map +1 -0
  54. package/dist/Utils/segmentation/tools/SphereTool.d.ts +25 -19
  55. package/dist/Utils/segmentation/tools/SphereTool.js +61 -7
  56. package/dist/Utils/segmentation/tools/SphereTool.js.map +1 -1
  57. package/dist/Utils/segmentation/tools/ToolHost.d.ts +74 -0
  58. package/dist/Utils/segmentation/tools/ToolHost.js +10 -0
  59. package/dist/Utils/segmentation/tools/ToolHost.js.map +1 -0
  60. package/dist/Utils/segmentation/tools/ZoomTool.d.ts +2 -6
  61. package/dist/Utils/segmentation/tools/ZoomTool.js.map +1 -1
  62. package/dist/Utils/segmentation/tools/index.d.ts +5 -7
  63. package/dist/Utils/segmentation/tools/index.js +6 -0
  64. package/dist/Utils/segmentation/tools/index.js.map +1 -1
  65. package/dist/Utils/workers/reformatSaveDataWorker.d.ts +1 -1
  66. package/dist/bundle.esm.js +2146 -2359
  67. package/dist/bundle.umd.js +2146 -2359
  68. package/dist/index.d.ts +3 -3
  69. package/dist/index.js +1 -1
  70. package/dist/types/Utils/segmentation/CanvasState.d.ts +31 -0
  71. package/dist/types/Utils/segmentation/DragOperator.d.ts +1 -1
  72. package/dist/types/Utils/segmentation/DrawToolCore.d.ts +49 -27
  73. package/dist/types/Utils/segmentation/NrrdTools.d.ts +92 -467
  74. package/dist/types/Utils/segmentation/RenderingUtils.d.ts +73 -0
  75. package/dist/types/Utils/segmentation/core/MaskVolume.d.ts +1 -1
  76. package/dist/types/Utils/segmentation/core/index.d.ts +1 -1
  77. package/dist/types/Utils/segmentation/core/types.d.ts +386 -0
  78. package/dist/types/Utils/segmentation/coreTools/GuiState.d.ts +1 -1
  79. package/dist/types/Utils/segmentation/coreTools/NrrdState.d.ts +1 -1
  80. package/dist/types/Utils/segmentation/coreTools/divControlTools.d.ts +1 -1
  81. package/dist/types/Utils/segmentation/coreTools/gui.d.ts +1 -1
  82. package/dist/types/Utils/segmentation/tools/BaseTool.d.ts +1 -1
  83. package/dist/types/Utils/segmentation/tools/ContrastTool.d.ts +3 -6
  84. package/dist/types/Utils/segmentation/tools/CrosshairTool.d.ts +11 -1
  85. package/dist/types/Utils/segmentation/tools/DataLoader.d.ts +33 -0
  86. package/dist/types/Utils/segmentation/tools/DragSliceTool.d.ts +3 -12
  87. package/dist/types/Utils/segmentation/tools/DrawingTool.d.ts +18 -26
  88. package/dist/types/Utils/segmentation/tools/ImageStoreHelper.d.ts +2 -5
  89. package/dist/types/Utils/segmentation/tools/LayerChannelManager.d.ts +56 -0
  90. package/dist/types/Utils/segmentation/tools/PanTool.d.ts +2 -8
  91. package/dist/types/Utils/segmentation/tools/SliceRenderPipeline.d.ts +80 -0
  92. package/dist/types/Utils/segmentation/tools/SphereTool.d.ts +25 -19
  93. package/dist/types/Utils/segmentation/tools/ToolHost.d.ts +74 -0
  94. package/dist/types/Utils/segmentation/tools/ZoomTool.d.ts +2 -6
  95. package/dist/types/Utils/segmentation/tools/index.d.ts +5 -7
  96. package/dist/types/Utils/workers/reformatSaveDataWorker.d.ts +1 -1
  97. package/dist/types/index.d.ts +3 -3
  98. package/package.json +1 -1
  99. package/dist/Utils/segmentation/CommToolsData.d.ts +0 -192
  100. package/dist/Utils/segmentation/CommToolsData.js +0 -474
  101. package/dist/Utils/segmentation/CommToolsData.js.map +0 -1
  102. package/dist/Utils/segmentation/coreTools/coreType.d.ts +0 -389
  103. package/dist/Utils/segmentation/coreTools/coreType.js +0 -3
  104. package/dist/Utils/segmentation/coreTools/coreType.js.map +0 -1
  105. package/dist/types/Utils/segmentation/CommToolsData.d.ts +0 -192
  106. package/dist/types/Utils/segmentation/coreTools/coreType.d.ts +0 -389
@@ -0,0 +1,74 @@
1
+ /**
2
+ * ToolHost — Unified host interface for all tools.
3
+ *
4
+ * Replaces the 10 individual *Callbacks interfaces with a single definition.
5
+ * Each tool picks only the methods it needs via `Pick<ToolHost, ...>`.
6
+ *
7
+ * @see issue3_unify_callbacks_plan.md
8
+ */
9
+ import type { MaskVolume, MaskDelta } from "../core";
10
+ import type { RGBAColor } from "../core";
11
+ /**
12
+ * Unified host interface — all methods that tools may call back into.
13
+ *
14
+ * Each tool picks only the methods it needs via `Pick<ToolHost, ...>`.
15
+ */
16
+ export interface ToolHost {
17
+ setEmptyCanvasSize(axis?: "x" | "y" | "z"): void;
18
+ drawImageOnEmptyImage(canvas: HTMLCanvasElement): void;
19
+ compositeAllLayers(): void;
20
+ renderSliceToCanvas(layer: string, axis: "x" | "y" | "z", sliceIndex: number, buffer: ImageData, targetCtx: CanvasRenderingContext2D, scaledWidth: number, scaledHeight: number): void;
21
+ getOrCreateSliceBuffer(axis: "x" | "y" | "z"): ImageData | null;
22
+ flipDisplayImageByAxis(): void;
23
+ redrawDisplayCanvas(): void;
24
+ refreshSphereOverlay(): void;
25
+ reloadMasksFromVolume(): void;
26
+ getVolumeForLayer(layer: string): MaskVolume;
27
+ setIsDrawFalse(target: number): void;
28
+ setSyncsliceNum(): void;
29
+ resetPaintAreaUIPosition(l?: number, t?: number): void;
30
+ resizePaintArea(moveDistance: number): void;
31
+ resetZoom(): void;
32
+ invalidateSliceBuffer(): void;
33
+ clearUndoHistory(): void;
34
+ setCurrentLayer(): {
35
+ ctx: CanvasRenderingContext2D;
36
+ canvas: HTMLCanvasElement;
37
+ };
38
+ syncLayerSliceData(index: number, layer: string): void;
39
+ filterDrawedImage(axis: "x" | "y" | "z", index: number): {
40
+ image: ImageData;
41
+ } | undefined;
42
+ pushUndoDelta(delta: MaskDelta): void;
43
+ getEraserUrls(): string[];
44
+ enableCrosshair(): void;
45
+ setUpSphereOrigins(mouseX: number, mouseY: number, sliceIndex: number): void;
46
+ zoomActionAfterDrawSphere(): void;
47
+ setDisplaySlicesBaseOnAxis(): void;
48
+ afterLoadSlice(): void;
49
+ syncGuiParameterSettings(): void;
50
+ repraintCurrentContrastSlice(): void;
51
+ updateShowNumDiv(contrastNum: number): void;
52
+ updateCurrentContrastSlice(): void;
53
+ onChannelColorChanged(layerId: string, channel: number, color: RGBAColor): void;
54
+ }
55
+ /** ImageStoreHelper host dependencies */
56
+ export type ImageStoreHostDeps = Pick<ToolHost, 'setEmptyCanvasSize' | 'drawImageOnEmptyImage'>;
57
+ /** PanTool host dependencies */
58
+ export type PanHostDeps = Pick<ToolHost, 'zoomActionAfterDrawSphere'>;
59
+ /** ContrastTool host dependencies */
60
+ export type ContrastHostDeps = Pick<ToolHost, 'setIsDrawFalse' | 'setSyncsliceNum'>;
61
+ /** ZoomTool host dependencies */
62
+ export type ZoomHostDeps = Pick<ToolHost, 'resetPaintAreaUIPosition' | 'resizePaintArea' | 'setIsDrawFalse'>;
63
+ /** SphereTool host dependencies */
64
+ export type SphereHostDeps = Pick<ToolHost, 'setEmptyCanvasSize' | 'drawImageOnEmptyImage' | 'enableCrosshair' | 'setUpSphereOrigins'>;
65
+ /** DrawingTool host dependencies */
66
+ export type DrawingHostDeps = Pick<ToolHost, 'setCurrentLayer' | 'compositeAllLayers' | 'syncLayerSliceData' | 'filterDrawedImage' | 'getVolumeForLayer' | 'pushUndoDelta' | 'getEraserUrls'>;
67
+ /** DragSliceTool host dependencies */
68
+ export type DragSliceHostDeps = Pick<ToolHost, 'setSyncsliceNum' | 'setIsDrawFalse' | 'flipDisplayImageByAxis' | 'setEmptyCanvasSize' | 'getOrCreateSliceBuffer' | 'renderSliceToCanvas' | 'refreshSphereOverlay'>;
69
+ /** LayerChannelManager host dependencies */
70
+ export type LayerChannelHostDeps = Pick<ToolHost, 'reloadMasksFromVolume' | 'getVolumeForLayer' | 'onChannelColorChanged'>;
71
+ /** SliceRenderPipeline host dependencies */
72
+ export type SliceRenderHostDeps = Pick<ToolHost, 'compositeAllLayers' | 'getOrCreateSliceBuffer' | 'renderSliceToCanvas' | 'getVolumeForLayer' | 'refreshSphereOverlay' | 'syncGuiParameterSettings' | 'repraintCurrentContrastSlice' | 'clearUndoHistory' | 'updateShowNumDiv' | 'updateCurrentContrastSlice'>;
73
+ /** DataLoader host dependencies */
74
+ export type DataLoaderHostDeps = Pick<ToolHost, 'invalidateSliceBuffer' | 'setDisplaySlicesBaseOnAxis' | 'afterLoadSlice' | 'setEmptyCanvasSize' | 'syncLayerSliceData' | 'reloadMasksFromVolume' | 'resetZoom'>;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ToolHost — Unified host interface for all tools.
3
+ *
4
+ * Replaces the 10 individual *Callbacks interfaces with a single definition.
5
+ * Each tool picks only the methods it needs via `Pick<ToolHost, ...>`.
6
+ *
7
+ * @see issue3_unify_callbacks_plan.md
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=ToolHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolHost.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/ToolHost.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -6,15 +6,11 @@
6
6
  */
7
7
  import { BaseTool } from "./BaseTool";
8
8
  import type { ToolContext } from "./BaseTool";
9
- export interface ZoomCallbacks {
10
- resetPaintAreaUIPosition: (l?: number, t?: number) => void;
11
- resizePaintArea: (moveDistance: number) => void;
12
- setIsDrawFalse: (target: number) => void;
13
- }
9
+ import type { ZoomHostDeps } from "./ToolHost";
14
10
  export declare class ZoomTool extends BaseTool {
15
11
  private container;
16
12
  private mainAreaContainer;
17
13
  private callbacks;
18
- constructor(ctx: ToolContext, container: HTMLElement, mainAreaContainer: HTMLDivElement, callbacks: ZoomCallbacks);
14
+ constructor(ctx: ToolContext, container: HTMLElement, mainAreaContainer: HTMLDivElement, callbacks: ZoomHostDeps);
19
15
  configMouseZoomWheel(): (e: WheelEvent) => void;
20
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomTool.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/ZoomTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ZoomTool.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/ZoomTool.ts"],"names":[],"mappings":"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"}
@@ -8,19 +8,17 @@
8
8
  */
9
9
  export { BaseTool } from "./BaseTool";
10
10
  export type { ToolContext } from "./BaseTool";
11
+ export type { ToolHost, ImageStoreHostDeps, PanHostDeps, ContrastHostDeps, ZoomHostDeps, SphereHostDeps, DrawingHostDeps, DragSliceHostDeps, LayerChannelHostDeps, SliceRenderHostDeps, DataLoaderHostDeps, } from "./ToolHost";
11
12
  export { EraserTool } from "./EraserTool";
12
13
  export { DrawingTool } from "./DrawingTool";
13
- export type { DrawingCallbacks } from "./DrawingTool";
14
14
  export { PanTool } from "./PanTool";
15
- export type { PanCallbacks } from "./PanTool";
16
15
  export { ZoomTool } from "./ZoomTool";
17
- export type { ZoomCallbacks } from "./ZoomTool";
18
16
  export { SphereTool, SPHERE_CHANNEL_MAP } from "./SphereTool";
19
- export type { SphereCallbacks, SphereType } from "./SphereTool";
17
+ export type { SphereType } from "./SphereTool";
20
18
  export { CrosshairTool } from "./CrosshairTool";
21
19
  export { ContrastTool } from "./ContrastTool";
22
- export type { ContrastCallbacks } from "./ContrastTool";
23
20
  export { ImageStoreHelper } from "./ImageStoreHelper";
24
- export type { ImageStoreCallbacks } from "./ImageStoreHelper";
25
21
  export { DragSliceTool } from "./DragSliceTool";
26
- export type { DragSliceCallbacks } from "./DragSliceTool";
22
+ export { LayerChannelManager } from "./LayerChannelManager";
23
+ export { SliceRenderPipeline } from "./SliceRenderPipeline";
24
+ export { DataLoader } from "./DataLoader";
@@ -23,4 +23,10 @@ export { ContrastTool } from "./ContrastTool";
23
23
  export { ImageStoreHelper } from "./ImageStoreHelper";
24
24
  // Drag Slice Navigation
25
25
  export { DragSliceTool } from "./DragSliceTool";
26
+ // Layer & Channel Management
27
+ export { LayerChannelManager } from "./LayerChannelManager";
28
+ // Slice Render Pipeline
29
+ export { SliceRenderPipeline } from "./SliceRenderPipeline";
30
+ // Data Loading
31
+ export { DataLoader } from "./DataLoader";
26
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,mBAAmB;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAqB;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,gBAAgB;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,wBAAwB;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkBtC,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,mBAAmB;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAqB;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,gBAAgB;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,wBAAwB;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,6BAA6B;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IPaintImage } from "../segmentation/coreTools/coreType";
1
+ import { IPaintImage } from "../segmentation/core/types";
2
2
  declare function pruningData(originArr: IPaintImage[]): Uint8ClampedArray[];
3
3
  declare function restructData(originArr: IPaintImage[], len: number, width: number, height: number): {
4
4
  sliceIndex: number;