@aics/vole-app 2.12.0 → 2.13.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.
- package/es/aics-image-viewer/components/App/ChannelUpdater.js +11 -12
- package/es/aics-image-viewer/components/App/index.js +216 -466
- package/es/aics-image-viewer/components/AxisClipSliders/index.js +12 -12
- package/es/aics-image-viewer/components/BottomPanel/index.js +12 -28
- package/es/aics-image-viewer/components/CellViewerCanvasWrapper/index.js +3 -12
- package/es/aics-image-viewer/components/ChannelsWidgetRow/index.js +2 -2
- package/es/aics-image-viewer/components/ChannelsWidgetRow/styles.css +5 -1
- package/es/aics-image-viewer/components/ErrorAlert/index.js +1 -1
- package/es/aics-image-viewer/components/TfEditor/index.js +75 -35
- package/es/aics-image-viewer/components/TfEditor/styles.css +2 -3
- package/es/aics-image-viewer/components/Toolbar/ViewModeRadioButtons.js +1 -1
- package/es/aics-image-viewer/components/Toolbar/index.js +34 -30
- package/es/aics-image-viewer/components/ViewerStateProvider/index.js +11 -13
- package/es/aics-image-viewer/components/useVolume.js +327 -0
- package/es/aics-image-viewer/shared/constants.js +10 -1
- package/es/aics-image-viewer/shared/utils/hooks.js +3 -26
- package/es/aics-image-viewer/shared/utils/sliderValuesToImageValues.js +15 -9
- package/es/aics-image-viewer/shared/utils/viewerState.js +1 -1
- package/package.json +3 -2
- package/type-declarations/aics-image-viewer/components/BottomPanel/index.d.ts +2 -2
- package/type-declarations/aics-image-viewer/components/CellViewerCanvasWrapper/index.d.ts +2 -2
- package/type-declarations/aics-image-viewer/components/TfEditor/index.d.ts +1 -1
- package/type-declarations/aics-image-viewer/components/Toolbar/index.d.ts +1 -1
- package/type-declarations/aics-image-viewer/components/ViewerStateProvider/types.d.ts +1 -1
- package/type-declarations/aics-image-viewer/components/useVolume.d.ts +49 -0
- package/type-declarations/aics-image-viewer/shared/constants.d.ts +4 -1
- package/type-declarations/aics-image-viewer/shared/utils/hooks.d.ts +0 -2
- package/type-declarations/aics-image-viewer/shared/utils/sliderValuesToImageValues.d.ts +6 -3
|
@@ -31,6 +31,8 @@ var ChannelUpdater = function ChannelUpdater(_ref) {
|
|
|
31
31
|
if (image && version > 0) {
|
|
32
32
|
return effect(image);
|
|
33
33
|
}
|
|
34
|
+
// react-hooks will check that `deps` match `effect`'s dependencies, so we can safely exclude `effect` here
|
|
35
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
36
|
}, [].concat(_toConsumableArray(deps), [image, version]));
|
|
35
37
|
};
|
|
36
38
|
|
|
@@ -40,30 +42,30 @@ var ChannelUpdater = function ChannelUpdater(_ref) {
|
|
|
40
42
|
view3d.setVolumeChannelEnabled(image, index, volumeEnabled);
|
|
41
43
|
view3d.updateLuts(image);
|
|
42
44
|
}
|
|
43
|
-
}, [image, volumeEnabled]);
|
|
45
|
+
}, [image, volumeEnabled, index, view3d]);
|
|
44
46
|
useEffect(function () {
|
|
45
47
|
if (image) {
|
|
46
48
|
view3d.setVolumeChannelOptions(image, index, {
|
|
47
49
|
isosurfaceEnabled: isosurfaceEnabled
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
|
-
}, [image, isosurfaceEnabled]);
|
|
52
|
+
}, [image, isosurfaceEnabled, index, view3d]);
|
|
51
53
|
useImageEffect(function (currentImage) {
|
|
52
54
|
return view3d.setVolumeChannelOptions(currentImage, index, {
|
|
53
55
|
isovalue: isovalue
|
|
54
56
|
});
|
|
55
|
-
}, [isovalue]);
|
|
57
|
+
}, [isovalue, index, view3d]);
|
|
56
58
|
useImageEffect(function (currentImage) {
|
|
57
59
|
return view3d.setVolumeChannelOptions(currentImage, index, {
|
|
58
60
|
isosurfaceOpacity: opacity
|
|
59
61
|
});
|
|
60
|
-
}, [opacity]);
|
|
62
|
+
}, [opacity, index, view3d]);
|
|
61
63
|
useImageEffect(function (currentImage) {
|
|
62
64
|
view3d.setVolumeChannelOptions(currentImage, index, {
|
|
63
65
|
color: color
|
|
64
66
|
});
|
|
65
67
|
view3d.updateLuts(currentImage);
|
|
66
|
-
}, [color]);
|
|
68
|
+
}, [color, index, view3d]);
|
|
67
69
|
var controlPoints = channelState.controlPoints,
|
|
68
70
|
ramp = channelState.ramp,
|
|
69
71
|
useControlPoints = channelState.useControlPoints;
|
|
@@ -75,22 +77,19 @@ var ChannelUpdater = function ChannelUpdater(_ref) {
|
|
|
75
77
|
var gradient = controlPointsToLut(controlPointsToUse);
|
|
76
78
|
currentImage.setLut(index, gradient);
|
|
77
79
|
view3d.updateLuts(currentImage);
|
|
78
|
-
}, [controlPoints, ramp, useControlPoints]);
|
|
80
|
+
}, [controlPoints, ramp, useControlPoints, index, view3d]);
|
|
79
81
|
useImageEffect(function (currentImage) {
|
|
80
82
|
if (colorizeEnabled) {
|
|
81
83
|
// TODO get the labelColors from the tf editor component
|
|
82
84
|
var lut = new Lut().createLabelColors(currentImage.getHistogram(index));
|
|
83
85
|
currentImage.setColorPalette(index, lut.lut);
|
|
84
|
-
|
|
85
|
-
} else {
|
|
86
|
-
currentImage.setColorPaletteAlpha(index, 0);
|
|
86
|
+
// following effect will also run and call `updateLuts`
|
|
87
87
|
}
|
|
88
|
-
|
|
89
|
-
}, [colorizeEnabled]);
|
|
88
|
+
}, [colorizeEnabled, index, view3d]);
|
|
90
89
|
useImageEffect(function (currentImage) {
|
|
91
90
|
currentImage.setColorPaletteAlpha(index, colorizeEnabled ? colorizeAlpha : 0);
|
|
92
91
|
view3d.updateLuts(currentImage);
|
|
93
|
-
}, [colorizeAlpha]);
|
|
92
|
+
}, [colorizeEnabled, colorizeAlpha, index, view3d]);
|
|
94
93
|
return null;
|
|
95
94
|
};
|
|
96
95
|
export default ChannelUpdater;
|