@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.
Files changed (28) hide show
  1. package/es/aics-image-viewer/components/App/ChannelUpdater.js +11 -12
  2. package/es/aics-image-viewer/components/App/index.js +216 -466
  3. package/es/aics-image-viewer/components/AxisClipSliders/index.js +12 -12
  4. package/es/aics-image-viewer/components/BottomPanel/index.js +12 -28
  5. package/es/aics-image-viewer/components/CellViewerCanvasWrapper/index.js +3 -12
  6. package/es/aics-image-viewer/components/ChannelsWidgetRow/index.js +2 -2
  7. package/es/aics-image-viewer/components/ChannelsWidgetRow/styles.css +5 -1
  8. package/es/aics-image-viewer/components/ErrorAlert/index.js +1 -1
  9. package/es/aics-image-viewer/components/TfEditor/index.js +75 -35
  10. package/es/aics-image-viewer/components/TfEditor/styles.css +2 -3
  11. package/es/aics-image-viewer/components/Toolbar/ViewModeRadioButtons.js +1 -1
  12. package/es/aics-image-viewer/components/Toolbar/index.js +34 -30
  13. package/es/aics-image-viewer/components/ViewerStateProvider/index.js +11 -13
  14. package/es/aics-image-viewer/components/useVolume.js +327 -0
  15. package/es/aics-image-viewer/shared/constants.js +10 -1
  16. package/es/aics-image-viewer/shared/utils/hooks.js +3 -26
  17. package/es/aics-image-viewer/shared/utils/sliderValuesToImageValues.js +15 -9
  18. package/es/aics-image-viewer/shared/utils/viewerState.js +1 -1
  19. package/package.json +3 -2
  20. package/type-declarations/aics-image-viewer/components/BottomPanel/index.d.ts +2 -2
  21. package/type-declarations/aics-image-viewer/components/CellViewerCanvasWrapper/index.d.ts +2 -2
  22. package/type-declarations/aics-image-viewer/components/TfEditor/index.d.ts +1 -1
  23. package/type-declarations/aics-image-viewer/components/Toolbar/index.d.ts +1 -1
  24. package/type-declarations/aics-image-viewer/components/ViewerStateProvider/types.d.ts +1 -1
  25. package/type-declarations/aics-image-viewer/components/useVolume.d.ts +49 -0
  26. package/type-declarations/aics-image-viewer/shared/constants.d.ts +4 -1
  27. package/type-declarations/aics-image-viewer/shared/utils/hooks.d.ts +0 -2
  28. 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
- currentImage.setColorPaletteAlpha(index, colorizeAlpha);
85
- } else {
86
- currentImage.setColorPaletteAlpha(index, 0);
86
+ // following effect will also run and call `updateLuts`
87
87
  }
88
- view3d.updateLuts(currentImage);
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;