copper3d 3.2.0 → 3.3.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 (39) hide show
  1. package/dist/Renderer/baseRenderer.js +5 -3
  2. package/dist/Renderer/baseRenderer.js.map +1 -1
  3. package/dist/Scene/baseScene.js +18 -4
  4. package/dist/Scene/baseScene.js.map +1 -1
  5. package/dist/Scene/copperScene.d.ts +1 -0
  6. package/dist/Scene/copperScene.js +17 -4
  7. package/dist/Scene/copperScene.js.map +1 -1
  8. package/dist/Utils/segmentation/DragOperator.d.ts +2 -1
  9. package/dist/Utils/segmentation/DragOperator.js +3 -1
  10. package/dist/Utils/segmentation/DragOperator.js.map +1 -1
  11. package/dist/Utils/segmentation/NrrdTools.d.ts +3 -1
  12. package/dist/Utils/segmentation/NrrdTools.js +46 -2
  13. package/dist/Utils/segmentation/NrrdTools.js.map +1 -1
  14. package/dist/Utils/segmentation/core/GaussianSmoother.d.ts +55 -0
  15. package/dist/Utils/segmentation/core/GaussianSmoother.js +210 -0
  16. package/dist/Utils/segmentation/core/GaussianSmoother.js.map +1 -0
  17. package/dist/Utils/segmentation/core/MaskVolume.d.ts +9 -0
  18. package/dist/Utils/segmentation/core/MaskVolume.js +11 -0
  19. package/dist/Utils/segmentation/core/MaskVolume.js.map +1 -1
  20. package/dist/Utils/segmentation/tools/DragSliceTool.d.ts +0 -4
  21. package/dist/Utils/segmentation/tools/DragSliceTool.js +2 -19
  22. package/dist/Utils/segmentation/tools/DragSliceTool.js.map +1 -1
  23. package/dist/Utils/segmentation/tools/SliceRenderPipeline.js +8 -1
  24. package/dist/Utils/segmentation/tools/SliceRenderPipeline.js.map +1 -1
  25. package/dist/Utils/segmentation/tools/ToolHost.d.ts +1 -1
  26. package/dist/bundle.esm.js +321 -36
  27. package/dist/bundle.umd.js +321 -35
  28. package/dist/index.d.ts +3 -2
  29. package/dist/index.js +3 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/types/Scene/copperScene.d.ts +1 -0
  32. package/dist/types/Utils/segmentation/DragOperator.d.ts +2 -1
  33. package/dist/types/Utils/segmentation/NrrdTools.d.ts +3 -1
  34. package/dist/types/Utils/segmentation/core/GaussianSmoother.d.ts +55 -0
  35. package/dist/types/Utils/segmentation/core/MaskVolume.d.ts +9 -0
  36. package/dist/types/Utils/segmentation/tools/DragSliceTool.d.ts +0 -4
  37. package/dist/types/Utils/segmentation/tools/ToolHost.d.ts +1 -1
  38. package/dist/types/index.d.ts +3 -2
  39. package/package.json +1 -1
@@ -0,0 +1,55 @@
1
+ /**
2
+ * GaussianSmoother — 3D Gaussian smoothing for segmentation masks.
3
+ *
4
+ * Applies a separable 3D Gaussian blur to a single label channel within a
5
+ * MaskVolume, then thresholds the result back to a binary mask. This smooths
6
+ * jagged edges and fills small holes in segmentation annotations.
7
+ *
8
+ * Pure, stateless utility — no DOM/Canvas/GUI dependencies.
9
+ *
10
+ * Performance: uses direct typed-array access (bypassing getVoxel/setVoxel
11
+ * boundary checks) and branch-free convolution for the interior region.
12
+ */
13
+ import type { MaskVolume } from './MaskVolume';
14
+ export declare class GaussianSmoother {
15
+ /**
16
+ * Smooth a single label channel in-place using separable 3D Gaussian blur.
17
+ *
18
+ * Steps:
19
+ * 1. Extract — create a Float32Array with 1.0 where voxel === channel, 0.0 elsewhere.
20
+ * 2. Blur — apply separable Gaussian (X → Y → Z) on the float buffer.
21
+ * 3. Threshold — binarize at 0.5.
22
+ * 4. Write back — overwrite/erase voxels according to the thresholded result.
23
+ *
24
+ * @param volume The MaskVolume to operate on (modified in-place).
25
+ * @param channel The label value to smooth (must be > 0).
26
+ * @param sigma Base Gaussian sigma in voxel units (default 1.0).
27
+ * @param spacing Optional voxel spacing [sx, sy, sz]. When provided, per-axis
28
+ * sigma is computed as `sigma / spacing[axis]` so that the
29
+ * physical smoothing radius is isotropic.
30
+ */
31
+ static gaussianSmooth3D(volume: MaskVolume, channel: number, sigma?: number, spacing?: [number, number, number]): void;
32
+ /**
33
+ * Generate a normalized 1D Gaussian kernel truncated at ±3σ.
34
+ *
35
+ * @param sigma Standard deviation (in voxels). Must be > 0.
36
+ * @returns Normalized Float32Array of odd length.
37
+ */
38
+ static generateKernel1D(sigma: number): Float32Array;
39
+ /**
40
+ * In-place single-axis convolution with zero-padding at boundaries.
41
+ *
42
+ * Uses a 3-segment approach: left boundary (with bounds check),
43
+ * middle interior (branch-free, ~95% of work), right boundary
44
+ * (with bounds check). This eliminates per-element branching
45
+ * in the hot inner loop.
46
+ *
47
+ * @param data Flat float buffer (width × height × depth).
48
+ * @param width X dimension.
49
+ * @param height Y dimension.
50
+ * @param depth Z dimension.
51
+ * @param axis 0 = X, 1 = Y, 2 = Z.
52
+ * @param kernel 1D convolution kernel (odd length).
53
+ */
54
+ private static convolve1D;
55
+ }
@@ -0,0 +1,210 @@
1
+ /**
2
+ * GaussianSmoother — 3D Gaussian smoothing for segmentation masks.
3
+ *
4
+ * Applies a separable 3D Gaussian blur to a single label channel within a
5
+ * MaskVolume, then thresholds the result back to a binary mask. This smooths
6
+ * jagged edges and fills small holes in segmentation annotations.
7
+ *
8
+ * Pure, stateless utility — no DOM/Canvas/GUI dependencies.
9
+ *
10
+ * Performance: uses direct typed-array access (bypassing getVoxel/setVoxel
11
+ * boundary checks) and branch-free convolution for the interior region.
12
+ */
13
+ export class GaussianSmoother {
14
+ /**
15
+ * Smooth a single label channel in-place using separable 3D Gaussian blur.
16
+ *
17
+ * Steps:
18
+ * 1. Extract — create a Float32Array with 1.0 where voxel === channel, 0.0 elsewhere.
19
+ * 2. Blur — apply separable Gaussian (X → Y → Z) on the float buffer.
20
+ * 3. Threshold — binarize at 0.5.
21
+ * 4. Write back — overwrite/erase voxels according to the thresholded result.
22
+ *
23
+ * @param volume The MaskVolume to operate on (modified in-place).
24
+ * @param channel The label value to smooth (must be > 0).
25
+ * @param sigma Base Gaussian sigma in voxel units (default 1.0).
26
+ * @param spacing Optional voxel spacing [sx, sy, sz]. When provided, per-axis
27
+ * sigma is computed as `sigma / spacing[axis]` so that the
28
+ * physical smoothing radius is isotropic.
29
+ */
30
+ static gaussianSmooth3D(volume, channel, sigma = 1.0, spacing) {
31
+ const dims = volume.getDimensions();
32
+ const { width, height, depth } = dims;
33
+ const totalVoxels = width * height * depth;
34
+ // Direct access to underlying buffer — bypasses getVoxel/setVoxel
35
+ // boundary checks for ~10x speedup in hot loops.
36
+ const rawData = volume.getRawData();
37
+ const channels = volume.getChannels();
38
+ const bytesPerSlice = volume.getBytesPerSlice();
39
+ const rowStride = width * channels;
40
+ // Compute per-axis sigma (normalized to voxel units)
41
+ const sigmaX = spacing ? sigma / spacing[0] : sigma;
42
+ const sigmaY = spacing ? sigma / spacing[1] : sigma;
43
+ const sigmaZ = spacing ? sigma / spacing[2] : sigma;
44
+ // 1. Extract binary float buffer — direct array access
45
+ const buffer = new Float32Array(totalVoxels);
46
+ for (let z = 0; z < depth; z++) {
47
+ const zOffset = z * bytesPerSlice;
48
+ for (let y = 0; y < height; y++) {
49
+ const zyOffset = zOffset + y * rowStride;
50
+ for (let x = 0; x < width; x++) {
51
+ const bufIdx = z * height * width + y * width + x;
52
+ buffer[bufIdx] = rawData[zyOffset + x * channels] === channel ? 1.0 : 0.0;
53
+ }
54
+ }
55
+ }
56
+ // 2. Separable Gaussian blur: X → Y → Z
57
+ const kernelX = GaussianSmoother.generateKernel1D(sigmaX);
58
+ const kernelY = GaussianSmoother.generateKernel1D(sigmaY);
59
+ const kernelZ = GaussianSmoother.generateKernel1D(sigmaZ);
60
+ GaussianSmoother.convolve1D(buffer, width, height, depth, 0, kernelX); // X axis
61
+ GaussianSmoother.convolve1D(buffer, width, height, depth, 1, kernelY); // Y axis
62
+ GaussianSmoother.convolve1D(buffer, width, height, depth, 2, kernelZ); // Z axis
63
+ // 3 & 4. Threshold and write back — direct array access
64
+ for (let z = 0; z < depth; z++) {
65
+ const zOffset = z * bytesPerSlice;
66
+ for (let y = 0; y < height; y++) {
67
+ const zyOffset = zOffset + y * rowStride;
68
+ for (let x = 0; x < width; x++) {
69
+ const bufIdx = z * height * width + y * width + x;
70
+ const smoothed = buffer[bufIdx] >= 0.5 ? 1 : 0;
71
+ const rawIdx = zyOffset + x * channels;
72
+ const original = rawData[rawIdx];
73
+ if (smoothed === 1 && original !== channel) {
74
+ // Smoothed region expands into this voxel — overwrite
75
+ rawData[rawIdx] = channel;
76
+ }
77
+ else if (smoothed === 0 && original === channel) {
78
+ // Smoothed region retreats — erase
79
+ rawData[rawIdx] = 0;
80
+ }
81
+ // Otherwise leave unchanged
82
+ }
83
+ }
84
+ }
85
+ }
86
+ /**
87
+ * Generate a normalized 1D Gaussian kernel truncated at ±3σ.
88
+ *
89
+ * @param sigma Standard deviation (in voxels). Must be > 0.
90
+ * @returns Normalized Float32Array of odd length.
91
+ */
92
+ static generateKernel1D(sigma) {
93
+ if (sigma <= 0) {
94
+ return new Float32Array([1.0]);
95
+ }
96
+ const radius = Math.ceil(sigma * 3);
97
+ const size = 2 * radius + 1;
98
+ const kernel = new Float32Array(size);
99
+ const twoSigmaSq = 2 * sigma * sigma;
100
+ let sum = 0;
101
+ for (let i = 0; i < size; i++) {
102
+ const x = i - radius;
103
+ kernel[i] = Math.exp(-(x * x) / twoSigmaSq);
104
+ sum += kernel[i];
105
+ }
106
+ // Normalize
107
+ for (let i = 0; i < size; i++) {
108
+ kernel[i] /= sum;
109
+ }
110
+ return kernel;
111
+ }
112
+ /**
113
+ * In-place single-axis convolution with zero-padding at boundaries.
114
+ *
115
+ * Uses a 3-segment approach: left boundary (with bounds check),
116
+ * middle interior (branch-free, ~95% of work), right boundary
117
+ * (with bounds check). This eliminates per-element branching
118
+ * in the hot inner loop.
119
+ *
120
+ * @param data Flat float buffer (width × height × depth).
121
+ * @param width X dimension.
122
+ * @param height Y dimension.
123
+ * @param depth Z dimension.
124
+ * @param axis 0 = X, 1 = Y, 2 = Z.
125
+ * @param kernel 1D convolution kernel (odd length).
126
+ */
127
+ static convolve1D(data, width, height, depth, axis, kernel) {
128
+ const kLen = kernel.length;
129
+ const radius = (kLen - 1) / 2;
130
+ // Determine the dimension length along the convolution axis
131
+ // and the stride between consecutive elements along that axis
132
+ let axisLen;
133
+ let stride;
134
+ let outerCount;
135
+ if (axis === 0) {
136
+ // X axis: stride = 1, iterate over all (y, z) lines
137
+ axisLen = width;
138
+ stride = 1;
139
+ outerCount = height * depth;
140
+ }
141
+ else if (axis === 1) {
142
+ // Y axis: stride = width, iterate over all (x, z) lines
143
+ axisLen = height;
144
+ stride = width;
145
+ outerCount = width * depth;
146
+ }
147
+ else {
148
+ // Z axis: stride = width * height, iterate over all (x, y) lines
149
+ axisLen = depth;
150
+ stride = width * height;
151
+ outerCount = width * height;
152
+ }
153
+ // Precompute middle segment bounds
154
+ const midStart = radius;
155
+ const midEnd = axisLen - radius;
156
+ // Temporary line buffer to avoid read-after-write issues
157
+ const line = new Float32Array(axisLen);
158
+ for (let outer = 0; outer < outerCount; outer++) {
159
+ // Compute the starting index for this line
160
+ let lineStart;
161
+ if (axis === 0) {
162
+ lineStart = outer * width;
163
+ }
164
+ else if (axis === 1) {
165
+ const z = Math.floor(outer / width);
166
+ const x = outer % width;
167
+ lineStart = z * width * height + x;
168
+ }
169
+ else {
170
+ lineStart = outer;
171
+ }
172
+ // Read the line
173
+ for (let i = 0; i < axisLen; i++) {
174
+ line[i] = data[lineStart + i * stride];
175
+ }
176
+ // Left boundary segment (i = 0 .. radius-1): lower bound check
177
+ for (let i = 0; i < midStart; i++) {
178
+ let sum = 0;
179
+ for (let k = 0; k < kLen; k++) {
180
+ const j = i + k - radius;
181
+ if (j >= 0) {
182
+ sum += line[j] * kernel[k];
183
+ }
184
+ }
185
+ data[lineStart + i * stride] = sum;
186
+ }
187
+ // Middle segment (i = radius .. axisLen-radius-1): NO bounds check
188
+ for (let i = midStart; i < midEnd; i++) {
189
+ let sum = 0;
190
+ const lineOffset = i - radius;
191
+ for (let k = 0; k < kLen; k++) {
192
+ sum += line[lineOffset + k] * kernel[k];
193
+ }
194
+ data[lineStart + i * stride] = sum;
195
+ }
196
+ // Right boundary segment (i = axisLen-radius .. axisLen-1): upper bound check
197
+ for (let i = midEnd; i < axisLen; i++) {
198
+ let sum = 0;
199
+ for (let k = 0; k < kLen; k++) {
200
+ const j = i + k - radius;
201
+ if (j < axisLen) {
202
+ sum += line[j] * kernel[k];
203
+ }
204
+ }
205
+ data[lineStart + i * stride] = sum;
206
+ }
207
+ }
208
+ }
209
+ }
210
+ //# sourceMappingURL=GaussianSmoother.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GaussianSmoother.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/core/GaussianSmoother.ts"],"names":[],"mappings":"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"}
@@ -250,6 +250,15 @@ export declare class MaskVolume {
250
250
  * @returns Channel count (≥ 1).
251
251
  */
252
252
  getChannels(): number;
253
+ /**
254
+ * Return the number of bytes in one complete z-slice.
255
+ *
256
+ * Equal to `width × height × channels`. Useful for direct buffer
257
+ * index arithmetic in performance-critical code paths.
258
+ *
259
+ * @returns Bytes per z-slice.
260
+ */
261
+ getBytesPerSlice(): number;
253
262
  /**
254
263
  * Return total memory used by the backing buffer, in bytes.
255
264
  *
@@ -592,6 +592,17 @@ export class MaskVolume {
592
592
  getChannels() {
593
593
  return this.numChannels;
594
594
  }
595
+ /**
596
+ * Return the number of bytes in one complete z-slice.
597
+ *
598
+ * Equal to `width × height × channels`. Useful for direct buffer
599
+ * index arithmetic in performance-critical code paths.
600
+ *
601
+ * @returns Bytes per z-slice.
602
+ */
603
+ getBytesPerSlice() {
604
+ return this.bytesPerSlice;
605
+ }
595
606
  /**
596
607
  * Return total memory used by the backing buffer, in bytes.
597
608
  *
@@ -1 +1 @@
1
- {"version":3,"file":"MaskVolume.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/core/MaskVolume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaskVolume.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/core/MaskVolume.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,6 @@ export declare class DragSliceTool extends BaseTool {
26
26
  setShowDragNumberDiv(div: HTMLDivElement): void;
27
27
  updateIndex(move: number): void;
28
28
  private drawDragSlice;
29
- /**
30
- * Composite all visible layer canvases to the master display canvas.
31
- */
32
- private compositeAllLayers;
33
29
  private cleanCanvases;
34
30
  updateShowNumDiv(contrastNum: number): void;
35
31
  updateCurrentContrastSlice(): any;
@@ -111,8 +111,8 @@ export class DragSliceTool extends BaseTool {
111
111
  }
112
112
  }
113
113
  }
114
- // Composite all layers to master canvas
115
- this.compositeAllLayers();
114
+ // Composite all layers to master canvas (uses per-layer alpha)
115
+ this.callbacks.compositeAllLayers();
116
116
  }
117
117
  // Refresh sphere overlay from volume for the new slice
118
118
  if (this.ctx.gui_states.mode.sphere) {
@@ -121,23 +121,6 @@ export class DragSliceTool extends BaseTool {
121
121
  view.switchSliceFlag = false;
122
122
  }
123
123
  }
124
- /**
125
- * Composite all visible layer canvases to the master display canvas.
126
- */
127
- compositeAllLayers() {
128
- const masterCtx = this.ctx.protectedData.ctxes.drawingLayerMasterCtx;
129
- const width = this.ctx.nrrd_states.view.changedWidth;
130
- const height = this.ctx.nrrd_states.view.changedHeight;
131
- masterCtx.clearRect(0, 0, width, height);
132
- // Master stores full-alpha composite; globalAlpha applied in start() render loop.
133
- for (const layerId of this.ctx.nrrd_states.image.layers) {
134
- if (!this.ctx.gui_states.layerChannel.layerVisibility[layerId])
135
- continue;
136
- const target = this.ctx.protectedData.layerTargets.get(layerId);
137
- if (target)
138
- masterCtx.drawImage(target.canvas, 0, 0, width, height);
139
- }
140
- }
141
124
  // ===== Canvas Cleanup =====
142
125
  cleanCanvases(flag) {
143
126
  if (flag) {
@@ -1 +1 @@
1
- {"version":3,"file":"DragSliceTool.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/DragSliceTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DragSliceTool.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/DragSliceTool.ts"],"names":[],"mappings":"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"}
@@ -330,6 +330,8 @@ export class SliceRenderPipeline extends BaseTool {
330
330
  * Then update the changedWidth and changedHeight based on the sizeFactor.
331
331
  */
332
332
  updateOriginAndChangedWH() {
333
+ const prevW = this.ctx.nrrd_states.image.originWidth;
334
+ const prevH = this.ctx.nrrd_states.image.originHeight;
333
335
  this.ctx.nrrd_states.image.originWidth =
334
336
  this.ctx.protectedData.canvases.originCanvas.width;
335
337
  this.ctx.nrrd_states.image.originHeight =
@@ -338,7 +340,12 @@ export class SliceRenderPipeline extends BaseTool {
338
340
  // Setting them here would defeat the sizeChanged detection in resizePaintArea,
339
341
  // causing canvas elements to keep stale dimensions after axis switches.
340
342
  this.resizePaintArea(this.ctx.nrrd_states.view.sizeFactor);
341
- this.resetPaintAreaUIPosition();
343
+ // Only re-center when origin dimensions changed (e.g. axis switch).
344
+ // Contrast toggle doesn't change origin size, so skip to preserve user's pan/zoom.
345
+ if (prevW !== this.ctx.nrrd_states.image.originWidth ||
346
+ prevH !== this.ctx.nrrd_states.image.originHeight) {
347
+ this.resetPaintAreaUIPosition();
348
+ }
342
349
  }
343
350
  /**
344
351
  * Keep all contrast slice index to same.
@@ -1 +1 @@
1
- {"version":3,"file":"SliceRenderPipeline.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/SliceRenderPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SliceRenderPipeline.js","sourceRoot":"","sources":["../../../../src/Utils/segmentation/tools/SliceRenderPipeline.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ export type SphereHostDeps = Pick<ToolHost, 'setEmptyCanvasSize' | 'drawImageOnE
66
66
  /** DrawingTool host dependencies */
67
67
  export type DrawingHostDeps = Pick<ToolHost, 'setCurrentLayer' | 'compositeAllLayers' | 'syncLayerSliceData' | 'filterDrawedImage' | 'getVolumeForLayer' | 'pushUndoDelta' | 'getEraserUrls'>;
68
68
  /** DragSliceTool host dependencies */
69
- export type DragSliceHostDeps = Pick<ToolHost, 'setSyncsliceNum' | 'setIsDrawFalse' | 'flipDisplayImageByAxis' | 'setEmptyCanvasSize' | 'getOrCreateSliceBuffer' | 'renderSliceToCanvas' | 'refreshSphereOverlay'>;
69
+ export type DragSliceHostDeps = Pick<ToolHost, 'setSyncsliceNum' | 'setIsDrawFalse' | 'flipDisplayImageByAxis' | 'setEmptyCanvasSize' | 'getOrCreateSliceBuffer' | 'renderSliceToCanvas' | 'refreshSphereOverlay' | 'compositeAllLayers'>;
70
70
  /** LayerChannelManager host dependencies */
71
71
  export type LayerChannelHostDeps = Pick<ToolHost, 'reloadMasksFromVolume' | 'getVolumeForLayer' | 'onChannelColorChanged'>;
72
72
  /** SliceRenderPipeline host dependencies */