@aics/vole-app 2.11.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.
- package/LICENSE +33 -0
- package/LICENSE.txt +26 -0
- package/README.md +45 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.eot +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.js +2337 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.svg +604 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.ttf +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.woff +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.woff2 +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.eot +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.js +2336 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.svg +604 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.ttf +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.woff +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.woff2 +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.eot +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.js +2337 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.svg +604 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.ttf +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.woff +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.woff2 +0 -0
- package/es/aics-image-viewer/assets/icons/axes.js +20 -0
- package/es/aics-image-viewer/assets/icons/boundingBox.js +18 -0
- package/es/aics-image-viewer/assets/icons/camera.js +15 -0
- package/es/aics-image-viewer/assets/icons/channels.js +15 -0
- package/es/aics-image-viewer/assets/icons/closePanel.js +18 -0
- package/es/aics-image-viewer/assets/icons/download.js +17 -0
- package/es/aics-image-viewer/assets/icons/dropdownArrow.js +15 -0
- package/es/aics-image-viewer/assets/icons/index.js +24 -0
- package/es/aics-image-viewer/assets/icons/metadata.js +15 -0
- package/es/aics-image-viewer/assets/icons/preferences.js +15 -0
- package/es/aics-image-viewer/assets/icons/resetView.js +16 -0
- package/es/aics-image-viewer/assets/icons/svg.d.js +0 -0
- package/es/aics-image-viewer/assets/icons/turnTable.js +18 -0
- package/es/aics-image-viewer/assets/styles/animatedEllipsis.css +21 -0
- package/es/aics-image-viewer/assets/styles/globals.css +35 -0
- package/es/aics-image-viewer/assets/styles/noui-slider-override.css +1 -0
- package/es/aics-image-viewer/assets/styles/variables.css +1 -0
- package/es/aics-image-viewer/components/App/ChannelUpdater.js +96 -0
- package/es/aics-image-viewer/components/App/index.js +849 -0
- package/es/aics-image-viewer/components/App/styles.css +60 -0
- package/es/aics-image-viewer/components/App/types.js +1 -0
- package/es/aics-image-viewer/components/AxisClipSliders/index.js +285 -0
- package/es/aics-image-viewer/components/AxisClipSliders/styles.css +257 -0
- package/es/aics-image-viewer/components/BottomPanel/index.js +70 -0
- package/es/aics-image-viewer/components/BottomPanel/styles.css +85 -0
- package/es/aics-image-viewer/components/CellViewerCanvasWrapper/index.js +113 -0
- package/es/aics-image-viewer/components/CellViewerCanvasWrapper/styles.css +12 -0
- package/es/aics-image-viewer/components/ChannelsWidget.js +100 -0
- package/es/aics-image-viewer/components/ChannelsWidgetRow/index.js +158 -0
- package/es/aics-image-viewer/components/ChannelsWidgetRow/styles.css +38 -0
- package/es/aics-image-viewer/components/ColorPicker.js +120 -0
- package/es/aics-image-viewer/components/ControlPanel/index.js +180 -0
- package/es/aics-image-viewer/components/ControlPanel/styles.css +169 -0
- package/es/aics-image-viewer/components/CustomizeWidget.js +46 -0
- package/es/aics-image-viewer/components/ErrorAlert/index.js +144 -0
- package/es/aics-image-viewer/components/ErrorAlert/styles.css +22 -0
- package/es/aics-image-viewer/components/GlobalVolumeControls.js +38 -0
- package/es/aics-image-viewer/components/MetadataViewer/index.js +99 -0
- package/es/aics-image-viewer/components/MetadataViewer/styles.css +81 -0
- package/es/aics-image-viewer/components/StyleProvider/index.js +210 -0
- package/es/aics-image-viewer/components/TfEditor/index.js +584 -0
- package/es/aics-image-viewer/components/TfEditor/styles.css +88 -0
- package/es/aics-image-viewer/components/Toolbar/DownloadButton.js +55 -0
- package/es/aics-image-viewer/components/Toolbar/ViewModeRadioButtons.js +22 -0
- package/es/aics-image-viewer/components/Toolbar/index.js +274 -0
- package/es/aics-image-viewer/components/Toolbar/styles.css +241 -0
- package/es/aics-image-viewer/components/ViewerStateProvider/ResetStateProvider.js +160 -0
- package/es/aics-image-viewer/components/ViewerStateProvider/index.js +261 -0
- package/es/aics-image-viewer/components/ViewerStateProvider/types.js +1 -0
- package/es/aics-image-viewer/components/shared/NumericInput/index.js +147 -0
- package/es/aics-image-viewer/components/shared/NumericInput/styles.css +64 -0
- package/es/aics-image-viewer/components/shared/SharedCheckBox.js +17 -0
- package/es/aics-image-viewer/components/shared/SliderRow/index.js +31 -0
- package/es/aics-image-viewer/components/shared/SliderRow/styles.css +19 -0
- package/es/aics-image-viewer/components/shared/SmarterSlider.js +40 -0
- package/es/aics-image-viewer/components/shared/ViewerIcon.js +22 -0
- package/es/aics-image-viewer/shared/colorPalette.js +19 -0
- package/es/aics-image-viewer/shared/constants.js +164 -0
- package/es/aics-image-viewer/shared/enums.js +18 -0
- package/es/aics-image-viewer/shared/types.js +6 -0
- package/es/aics-image-viewer/shared/utils/colorRepresentations.js +16 -0
- package/es/aics-image-viewer/shared/utils/controlPointsToLut.js +182 -0
- package/es/aics-image-viewer/shared/utils/hooks.js +51 -0
- package/es/aics-image-viewer/shared/utils/httpClient.js +57 -0
- package/es/aics-image-viewer/shared/utils/playControls.js +97 -0
- package/es/aics-image-viewer/shared/utils/sceneStore.js +140 -0
- package/es/aics-image-viewer/shared/utils/sliderValuesToImageValues.js +36 -0
- package/es/aics-image-viewer/shared/utils/test/viewerChannelSettings.test.js +132 -0
- package/es/aics-image-viewer/shared/utils/utilsService.js +54 -0
- package/es/aics-image-viewer/shared/utils/viewerChannelSettings.js +152 -0
- package/es/aics-image-viewer/shared/utils/viewerState.js +69 -0
- package/es/aics-image-viewer/shared/utils/webgl-debug.js +1103 -0
- package/es/index.js +4 -0
- package/package.json +130 -0
- package/type-declarations/aics-image-viewer/assets/icons/index.d.ts +14 -0
- package/type-declarations/aics-image-viewer/components/App/ChannelUpdater.d.ts +16 -0
- package/type-declarations/aics-image-viewer/components/App/index.d.ts +6 -0
- package/type-declarations/aics-image-viewer/components/App/types.d.ts +45 -0
- package/type-declarations/aics-image-viewer/components/AxisClipSliders/index.d.ts +24 -0
- package/type-declarations/aics-image-viewer/components/BottomPanel/index.d.ts +11 -0
- package/type-declarations/aics-image-viewer/components/CellViewerCanvasWrapper/index.d.ts +33 -0
- package/type-declarations/aics-image-viewer/components/ChannelsWidget.d.ts +19 -0
- package/type-declarations/aics-image-viewer/components/ChannelsWidgetRow/index.d.ts +17 -0
- package/type-declarations/aics-image-viewer/components/ColorPicker.d.ts +13 -0
- package/type-declarations/aics-image-viewer/components/ControlPanel/index.d.ts +20 -0
- package/type-declarations/aics-image-viewer/components/CustomizeWidget.d.ts +15 -0
- package/type-declarations/aics-image-viewer/components/ErrorAlert/index.d.ts +12 -0
- package/type-declarations/aics-image-viewer/components/GlobalVolumeControls.d.ts +21 -0
- package/type-declarations/aics-image-viewer/components/MetadataViewer/index.d.ts +7 -0
- package/type-declarations/aics-image-viewer/components/StyleProvider/index.d.ts +5 -0
- package/type-declarations/aics-image-viewer/components/TfEditor/index.d.ts +19 -0
- package/type-declarations/aics-image-viewer/components/Toolbar/DownloadButton.d.ts +8 -0
- package/type-declarations/aics-image-viewer/components/Toolbar/ViewModeRadioButtons.d.ts +8 -0
- package/type-declarations/aics-image-viewer/components/Toolbar/index.d.ts +31 -0
- package/type-declarations/aics-image-viewer/components/ViewerStateProvider/ResetStateProvider.d.ts +34 -0
- package/type-declarations/aics-image-viewer/components/ViewerStateProvider/index.d.ts +33 -0
- package/type-declarations/aics-image-viewer/components/ViewerStateProvider/types.d.ts +105 -0
- package/type-declarations/aics-image-viewer/components/shared/NumericInput/index.d.ts +19 -0
- package/type-declarations/aics-image-viewer/components/shared/SharedCheckBox.d.ts +9 -0
- package/type-declarations/aics-image-viewer/components/shared/SliderRow/index.d.ts +17 -0
- package/type-declarations/aics-image-viewer/components/shared/SmarterSlider.d.ts +5 -0
- package/type-declarations/aics-image-viewer/components/shared/ViewerIcon.d.ts +9 -0
- package/type-declarations/aics-image-viewer/shared/constants.d.ts +40 -0
- package/type-declarations/aics-image-viewer/shared/enums.d.ts +15 -0
- package/type-declarations/aics-image-viewer/shared/types.d.ts +15 -0
- package/type-declarations/aics-image-viewer/shared/utils/colorRepresentations.d.ts +10 -0
- package/type-declarations/aics-image-viewer/shared/utils/controlPointsToLut.d.ts +53 -0
- package/type-declarations/aics-image-viewer/shared/utils/hooks.d.ts +14 -0
- package/type-declarations/aics-image-viewer/shared/utils/playControls.d.ts +27 -0
- package/type-declarations/aics-image-viewer/shared/utils/sceneStore.d.ts +17 -0
- package/type-declarations/aics-image-viewer/shared/utils/sliderValuesToImageValues.d.ts +10 -0
- package/type-declarations/aics-image-viewer/shared/utils/viewerChannelSettings.d.ts +46 -0
- package/type-declarations/aics-image-viewer/shared/utils/viewerState.d.ts +10 -0
- package/type-declarations/index.d.ts +7 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: 20,
|
|
7
|
+
height: 20,
|
|
8
|
+
viewBox: "0 0 20 20",
|
|
9
|
+
role: "img"
|
|
10
|
+
}, props), /*#__PURE__*/React.createElement("circle", {
|
|
11
|
+
cx: 6.26,
|
|
12
|
+
cy: 12.84,
|
|
13
|
+
r: 1,
|
|
14
|
+
fill: "currentColor"
|
|
15
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
16
|
+
fill: "currentColor",
|
|
17
|
+
d: "m14.27 15.23.7-1.64H8.11c.09-.23.15-.48.15-.75s-.06-.52-.15-.75h6.86l-.7-1.64 5.66 2.39zM6.26.03 3.87 5.69 5.51 5v5.99q.345-.15.75-.15c.405 0 .52.05.75.15V5l1.64.69zM5.59 17.23.07 19.91 2 14.08l.77 1.6 1.61-1.83s.08-.06.11-.09c.23.44.62.78 1.09.95-.02.04-.04.09-.07.12L3.9 16.67z"
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: 20,
|
|
7
|
+
height: 20,
|
|
8
|
+
viewBox: "0 0 20 20",
|
|
9
|
+
role: "img"
|
|
10
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
11
|
+
fill: "currentColor",
|
|
12
|
+
d: "M13.28 10.25a.38.38 0 1 0 .76 0V9a.38.38 0 1 0-.76 0zm-2.5 3.42a.38.38 0 0 0-.38-.38H9.15a.38.38 0 1 0 0 .76h1.25c.21 0 .38-.17.38-.38m3.93.52-.68-.67v-1.26a.38.38 0 1 0-.76 0v1.05h-.88a.38.38 0 1 0 0 .76h1.1l.68.67c.07.07.17.11.26.11s.19-.04.27-.11c.15-.15.15-.38 0-.53Zm2.31 2.29-.89-.88a.377.377 0 0 0-.53 0c-.15.15-.15.38 0 .53l.89.88c.07.07.17.11.26.11s.19-.04.27-.11c.15-.15.15-.38 0-.53M4.29 13.67a.38.38 0 0 0-.38-.38H2.66a.38.38 0 1 0 0 .76h1.25c.21 0 .38-.17.38-.38m8.98-9.92a.38.38 0 1 0 .76 0V2.5a.38.38 0 1 0-.76 0zm.75 2a.38.38 0 1 0-.76 0v.08h.75v-.08Zm-.38 1.62c.21 0 .38-.17.38-.38v-.17h-.75v.17c0 .21.17.38.38.38Zm0-3.25c.21 0 .38-.17.38-.38V2.49a.38.38 0 1 0-.76 0v1.25c0 .21.17.38.38.38M3.9 13.3H2.65a.38.38 0 1 0 0 .76H3.9a.38.38 0 1 0 0-.76m1.62.38c0 .19.14.34.32.36v-.73c-.18.03-.32.18-.32.36Zm10.59 1.93a.377.377 0 0 0-.53 0c-.15.15-.15.38 0 .53l.89.88c.07.07.17.11.26.11s.19-.04.27-.11c.15-.15.15-.38 0-.53zm2.86 2.84-.56-.55a.37.37 0 0 0-.53 0c-.15.15-.15.38 0 .53l.55.54h.54zm-8.58-5.14H9.14a.38.38 0 1 0 0 .76h1.25a.38.38 0 1 0 0-.76m3.62.22v-1.26a.38.38 0 1 0-.76 0v1.05h-.88a.38.38 0 1 0 0 .76h1.1l.68.67c.07.07.17.11.26.11s.19-.04.27-.11c.15-.15.15-.38 0-.53l-.68-.67Zm-.37-2.89c.21 0 .38-.17.38-.38V9.01a.38.38 0 1 0-.76 0v1.25c0 .21.17.38.38.38m-6.12 3.05a.38.38 0 0 0-.38-.38h-.3v.75h.3c.21 0 .38-.17.38-.38Z"
|
|
13
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
14
|
+
fill: "currentColor",
|
|
15
|
+
d: "m19.83 5.98-.7-.69L14.7.88l-.69-.69a.5.5 0 0 0-.35-.15H.52c-.28 0-.5.22-.5.5v13.13c0 .14.06.26.15.35.46.46.7.69.7.69l4.44 4.41s.23.23.7.69c.09.09.21.15.35.15h13.13c.28 0 .5-.22.5-.5V6.33a.5.5 0 0 0-.15-.35ZM5.85 13.31v4.96l-4.29-4.26s-.19-.19-.55-.54V1.74L5.3 6s.19.19.55.54zm.16-8.02L1.73 1.04h11.71l.55.55 4.28 4.25H6.55L6 5.29Zm.84 13.68V6.83h12.13v12.13H6.85Z"
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
"data-name": "Layer 2",
|
|
7
|
+
viewBox: "0 0 32 32",
|
|
8
|
+
role: "img"
|
|
9
|
+
}, props), /*#__PURE__*/React.createElement("g", {
|
|
10
|
+
fill: "currentColor"
|
|
11
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
12
|
+
d: "M29.54 32H2.46C1.1 32 0 30.9 0 29.55V15.34c0-1.35 1.1-2.45 2.46-2.45H9.1c1.21 0 2.34-.54 3.1-1.48l.88-1.09a3.92 3.92 0 0 1 3.08-1.47h6.32c1.21 0 2.33.54 3.08 1.47l.88 1.09a3.97 3.97 0 0 0 3.1 1.48c1.36 0 2.46 1.1 2.46 2.45v14.21C32 30.9 30.9 32 29.54 32M2.46 13.9c-.8 0-1.46.65-1.46 1.45v14.21c0 .8.65 1.45 1.46 1.45h27.08c.8 0 1.46-.65 1.46-1.45V15.34c0-.8-.65-1.45-1.46-1.45-1.52 0-2.93-.68-3.88-1.85l-.88-1.09c-.56-.7-1.4-1.1-2.3-1.1h-6.32c-.9 0-1.74.4-2.3 1.1l-.88 1.09a4.95 4.95 0 0 1-3.88 1.85H2.46Zm4.25 4.85c.58 0 1.04-.46 1.04-1.03s-.47-1.03-1.04-1.03H5.04c-.58 0-1.04.46-1.04 1.03s.47 1.03 1.04 1.03zm12.61-3.24c2.81 0 5.09 2.29 5.09 5.1s-2.28 5.1-5.09 5.1-5.09-2.29-5.09-5.1 2.28-5.1 5.09-5.1m0-2c-3.91 0-7.09 3.18-7.09 7.1s3.17 7.1 7.09 7.1 7.09-3.18 7.09-7.1-3.17-7.1-7.09-7.1M19.39 3.87c-.28 0-.5-.22-.5-.5V.5c0-.28.22-.5.5-.5s.5.22.5.5v2.87c0 .28-.22.5-.5.5m4.76 1.12 2.15-2.34c.19-.2.17-.52-.03-.71a.514.514 0 0 0-.71.03l-2.15 2.34c-.19.2-.17.52.03.71.1.09.22.13.34.13a.5.5 0 0 0 .37-.16m-8.95.03c.2-.19.22-.5.03-.71l-2.15-2.34c-.19-.2-.5-.21-.71-.03-.2.19-.22.5-.03.71l2.15 2.34c.1.11.23.16.37.16.12 0 .24-.04.34-.13"
|
|
13
|
+
})));
|
|
14
|
+
};
|
|
15
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: 20,
|
|
7
|
+
height: 20,
|
|
8
|
+
viewBox: "0 0 20 20",
|
|
9
|
+
role: "img"
|
|
10
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
11
|
+
fill: "currentColor",
|
|
12
|
+
d: "M13.55 10.36h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76M2.65 6.64a.38.38 0 0 1-.38-.38v-.3c0-.26.03-.52.08-.78.04-.2.24-.33.45-.29.2.04.33.24.29.45-.04.2-.07.41-.07.62v.3c0 .21-.17.38-.38.38Zm1.06-2.7c-.1 0-.2-.04-.28-.12a.38.38 0 0 1 .02-.53c.27-.25.59-.46.92-.62.19-.09.41 0 .5.18s0 .41-.18.5c-.27.12-.51.29-.73.49-.07.07-.16.1-.25.1m9.78-.86h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76M13.44 17.69h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-2.95-.32c-.05 0-.11-.01-.16-.04-.33-.16-.64-.38-.91-.63-.15-.14-.16-.38-.02-.53s.38-.16.53-.02c.22.2.46.37.73.5.19.09.26.32.17.5-.06.13-.2.21-.34.21Zm-1.78-2.28c-.17 0-.33-.12-.37-.3-.05-.24-.07-.48-.07-.73v-.34a.38.38 0 1 1 .76 0v.34c0 .19.02.39.06.58.04.2-.09.4-.29.44h-.08ZM5.42 12.69H.01v-5.4h5.41zm-4.4-1h3.4v-3.4H1.01v3.4ZM19.99 5.41h-5.4V0h5.4zm-4.4-1h3.4V1h-3.4v3.4ZM19.99 12.69h-5.4v-5.4h5.4zm-4.4-1h3.4v-3.4h-3.4zM19.99 19.97h-5.4v-5.4h5.4zm-4.4-1h3.4v-3.4h-3.4z"
|
|
13
|
+
}));
|
|
14
|
+
};
|
|
15
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: 20,
|
|
7
|
+
height: 20,
|
|
8
|
+
viewBox: "0 0 20 20",
|
|
9
|
+
role: "img"
|
|
10
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
11
|
+
fill: "currentColor",
|
|
12
|
+
d: "M10.64 17.78c-.21 0-.41-.06-.59-.2-.44-.33-.54-.96-.21-1.4l4.59-6.21-4.6-6.21c-.33-.44-.23-1.07.21-1.4s1.07-.23 1.4.21l5.03 6.8c.26.35.26.84 0 1.19l-5.03 6.81a1 1 0 0 1-.81.41Z"
|
|
13
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
14
|
+
fill: "currentColor",
|
|
15
|
+
d: "M4.33 17.84c-.21 0-.41-.06-.59-.2-.44-.33-.54-.96-.21-1.4l4.59-6.21-4.59-6.21c-.33-.44-.23-1.07.21-1.4s1.07-.23 1.4.21l5.03 6.81c.26.35.26.83 0 1.19l-5.03 6.81a1 1 0 0 1-.81.41Z"
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
"data-name": "Layer 2",
|
|
7
|
+
viewBox: "0 0 32 32",
|
|
8
|
+
role: "img"
|
|
9
|
+
}, props), /*#__PURE__*/React.createElement("g", {
|
|
10
|
+
fill: "currentColor"
|
|
11
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
12
|
+
d: "M17 14.93V0h-2v14.93l-3.44-1.46L16 24l4.44-10.53z"
|
|
13
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
14
|
+
d: "M28.5 32h-25A2.5 2.5 0 0 1 1 29.5V20h1v9.5c0 .83.67 1.5 1.5 1.5h25c.83 0 1.5-.67 1.5-1.5V20h1v9.5a2.5 2.5 0 0 1-2.5 2.5"
|
|
15
|
+
})));
|
|
16
|
+
};
|
|
17
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: 14,
|
|
7
|
+
height: 14,
|
|
8
|
+
viewBox: "0 0 12 12",
|
|
9
|
+
role: "img"
|
|
10
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
11
|
+
fill: "currentColor",
|
|
12
|
+
d: "M1.117 3.12a.47.47 0 0 1 .662.035L6.006 7.85l4.227-4.695a.469.469 0 1 1 .697.627L6.372 8.845A.47.47 0 0 1 6.006 9a.47.47 0 0 1-.366-.155L1.082 3.782a.47.47 0 0 1 .035-.662"
|
|
13
|
+
}));
|
|
14
|
+
};
|
|
15
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import axes from "./axes.js";
|
|
2
|
+
import boundingBox from "./boundingBox.js";
|
|
3
|
+
import camera from "./camera.js";
|
|
4
|
+
import channels from "./channels.js";
|
|
5
|
+
import closePanel from "./closePanel.js";
|
|
6
|
+
import download from "./download.js";
|
|
7
|
+
import dropdownArrow from "./dropdownArrow.js";
|
|
8
|
+
import metadata from "./metadata.js";
|
|
9
|
+
import preferences from "./preferences.js";
|
|
10
|
+
import resetView from "./resetView.js";
|
|
11
|
+
import turnTable from "./turnTable.js";
|
|
12
|
+
export default {
|
|
13
|
+
axes: axes,
|
|
14
|
+
boundingBox: boundingBox,
|
|
15
|
+
camera: camera,
|
|
16
|
+
channels: channels,
|
|
17
|
+
closePanel: closePanel,
|
|
18
|
+
download: download,
|
|
19
|
+
dropdownArrow: dropdownArrow,
|
|
20
|
+
metadata: metadata,
|
|
21
|
+
preferences: preferences,
|
|
22
|
+
resetView: resetView,
|
|
23
|
+
turnTable: turnTable
|
|
24
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
"data-name": "Layer 2",
|
|
7
|
+
viewBox: "0 0 32 32",
|
|
8
|
+
role: "img"
|
|
9
|
+
}, props), /*#__PURE__*/React.createElement("g", {
|
|
10
|
+
fill: "currentColor"
|
|
11
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
12
|
+
d: "M19.46 21.54c0-.28-.22-.5-.5-.5H.5c-.28 0-.5.22-.5.5s.22.5.5.5h18.46c.28 0 .5-.22.5-.5m3.52-14.03c0-.28-.22-.5-.5-.5H.51c-.28 0-.51.23-.51.5s.22.5.5.5h21.98c.28 0 .5-.22.5-.5m-4.74 7.01c0-.28-.22-.5-.5-.5H.5c-.28 0-.5.22-.5.5s.22.5.5.5h17.25c.28 0 .5-.22.5-.5ZM32 .5c0-.28-.22-.5-.5-.5H.54c-.28 0-.5.22-.5.5s.22.5.5.5H31.5c.28 0 .5-.22.5-.5M23.62 14.79l.16-.56h6.29L25.4 27.89c-.13.4-.26.81-.4 1.23-.13.42-.2.81-.2 1.19 0 .32.09.6.28.83.18.23.46.34.83.34.42 0 .84-.15 1.25-.44s.78-.64 1.13-1.03c.34-.39.63-.79.87-1.19s.41-.73.51-.97l.47.2c-.11.21-.27.54-.49.99-.23.44-.53.89-.93 1.33-.39.44-.88.83-1.46 1.15S26 32 25.2 32c-.87 0-1.56-.18-2.08-.54s-.77-.97-.77-1.83c0-.46.08-.96.24-1.51s.32-1.05.48-1.51l4.07-11.81h-3.52Zm4.67-6.57c0 .54.18.99.53 1.35s.8.54 1.32.54.97-.18 1.32-.54.53-.81.53-1.35-.18-.99-.53-1.35-.8-.54-1.32-.54-.97.18-1.32.54-.53.81-.53 1.35"
|
|
13
|
+
})));
|
|
14
|
+
};
|
|
15
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: 20,
|
|
7
|
+
height: 20,
|
|
8
|
+
viewBox: "0 0 20 20",
|
|
9
|
+
role: "img"
|
|
10
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
11
|
+
fill: "currentColor",
|
|
12
|
+
d: "M8.04 3.61H.81a.749.749 0 1 1 0-1.5h7.23zm11.15-1.5h-5.65v1.5h5.65c.41 0 .75-.34.75-.75s-.34-.75-.75-.75M10.79 5.61c-.41 0-.75-.34-.75-.75V.85c0-.41.34-.75.75-.75s.75.34.75.75v4.01c0 .41-.34.75-.75.75M2.81 10.75h-2c-.41 0-.75-.34-.75-.75s.34-.75.75-.75h2zm16.38-1.5H8.31v1.5h10.88c.41 0 .75-.34.75-.75s-.34-.75-.75-.75M5.56 12.76c-.41 0-.75-.34-.75-.75V7.99c0-.41.34-.75.75-.75s.75.34.75.75V12c0 .41-.34.75-.75.75ZM19.94 17.14c0 .41-.34.75-.75.75h-3.08v-1.5h3.08c.41 0 .75.34.75.75m-9.33-.75H.81c-.41 0-.75.34-.75.75s.34.75.75.75h9.8zM13.36 19.9c-.41 0-.75-.34-.75-.75v-4.01c0-.41.34-.75.75-.75s.75.34.75.75v4.01c0 .41-.34.75-.75.75"
|
|
13
|
+
}));
|
|
14
|
+
};
|
|
15
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: 20,
|
|
7
|
+
height: 20,
|
|
8
|
+
"data-name": "icon-resetView",
|
|
9
|
+
viewBox: "0 0 20 20",
|
|
10
|
+
role: "img"
|
|
11
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
12
|
+
fill: "currentColor",
|
|
13
|
+
d: "M.6 5.48c-.28 0-.5-.22-.5-.5V.09h4.89c.28 0 .5.22.5.5s-.22.5-.5.5H1.1v3.89c0 .28-.22.5-.5.5M4.99 19.91H.1v-4.88c0-.28.22-.5.5-.5s.5.22.5.5v3.88h3.89c.28 0 .5.22.5.5s-.22.5-.5.5M19.9 19.91h-4.89c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h3.89v-3.88c0-.28.22-.5.5-.5s.5.22.5.5zM19.4 6.11c-.28 0-.5-.22-.5-.5V1.09h-4.51c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h5.51v5.52c0 .28-.22.5-.5.5M16.46 16.46H3.54V3.54h12.92zm-10.92-2h8.92V5.54H5.54z"
|
|
14
|
+
}));
|
|
15
|
+
};
|
|
16
|
+
export default SvgComponent;
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
var SvgComponent = function SvgComponent(props) {
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
width: 20,
|
|
7
|
+
height: 20,
|
|
8
|
+
viewBox: "0 0 20 20",
|
|
9
|
+
role: "img"
|
|
10
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
11
|
+
fill: "currentColor",
|
|
12
|
+
d: "M19.19 7.69c-.09.16-.19.3-.3.44-.26-.29-.55-.56-.85-.8.34-.28.58-.61.61-.99.05-.55-.4-1.15-.95-1.59-.56-.45-1.23-.79-1.92-1.07-.08-.04-.12-.13-.08-.21.03-.07.11-.11.19-.09.73.21 1.46.48 2.15.89.34.21.67.46.95.79.28.32.51.76.55 1.25.05.49-.1.99-.35 1.38M7.85 5.12l1.54-1.8c-1.27.03-2.52.18-3.73.46-.71.16-1.4.37-2.05.65-.64.28-1.25.63-1.67 1.06-.43.45-.54.87-.33 1.29.22.45.76.88 1.36 1.19 1.13.6 2.46.94 3.81 1.15-.27.42-.51.87-.7 1.35-1.29-.23-2.56-.6-3.79-1.26-.71-.4-1.46-.9-1.93-1.83C.13 6.92.06 6.33.2 5.81c.14-.53.43-.94.75-1.27.65-.65 1.39-1.04 2.13-1.35.75-.32 1.51-.54 2.28-.71 1.39-.31 2.79-.45 4.19-.46L8.28 0l5.86 3.07zM18.17 8.83c-.31-.36-.66-.67-1.05-.95h-.01a6.6 6.6 0 0 0-3.89-1.26c-2.16 0-4.09 1.03-5.3 2.63-.33.42-.61.88-.82 1.38a6.68 6.68 0 0 0 6.12 9.35 6.68 6.68 0 0 0 6.68-6.68c0-1.73-.65-3.29-1.73-4.47m-4.95 10.15c-3.13 0-5.68-2.55-5.68-5.68 0-.92.22-1.79.62-2.56.26-.52.6-1 1.01-1.41a5.63 5.63 0 0 1 4.05-1.71 5.62 5.62 0 0 1 4.11 1.78 5.6 5.6 0 0 1 1.57 3.9c0 3.13-2.55 5.68-5.68 5.68"
|
|
13
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
14
|
+
fill: "currentColor",
|
|
15
|
+
d: "m12.83 10.68-1.18-.94v7.16l4.48-3.58zm-.18 1.14 1.88 1.5-1.88 1.5z"
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
export default SvgComponent;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.animated-ellipsis:after{
|
|
2
|
+
overflow:hidden;
|
|
3
|
+
display:inline-block;
|
|
4
|
+
vertical-align:bottom;
|
|
5
|
+
-webkit-animation:ellipsis steps(4, end) 900ms infinite;
|
|
6
|
+
animation:ellipsis steps(4, end) 900ms infinite;
|
|
7
|
+
content:"\2026";
|
|
8
|
+
width:0;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@keyframes ellipsis{
|
|
12
|
+
to{
|
|
13
|
+
width:1.25em;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@-webkit-keyframes ellipsis{
|
|
18
|
+
to{
|
|
19
|
+
width:1.25em;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#cell-viewer,
|
|
2
|
+
.cell-viewer-app{
|
|
3
|
+
height:100%;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@font-face{
|
|
7
|
+
font-family:"Open Sans Local";
|
|
8
|
+
font-style:normal;
|
|
9
|
+
font-weight:400;
|
|
10
|
+
src:url("../fonts/open-sans/open-sans-regular.eot");
|
|
11
|
+
src:url("../fonts/open-sans/open-sans-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/open-sans-regular.woff2") format("woff2"), url("../fonts/open-sans/open-sans-regular.woff") format("woff"), url("../fonts/open-sans/open-sans-regular.ttf") format("truetype"), url("../fonts/open-sans/open-sans-regular.svg#svgFontName") format("svg");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@font-face{
|
|
15
|
+
font-family:"Open Sans Local";
|
|
16
|
+
font-style:normal;
|
|
17
|
+
font-weight:500;
|
|
18
|
+
src:url("../fonts/open-sans/open-sans-500.eot");
|
|
19
|
+
src:url("../fonts/open-sans/open-sans-500.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/open-sans-500.woff2") format("woff2"), url("../fonts/open-sans/open-sans-500.woff") format("woff"), url("../fonts/open-sans/open-sans-500.ttf") format("truetype"), url("../fonts/open-sans/open-sans-500.svg#svgFontName") format("svg");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@font-face{
|
|
23
|
+
font-family:"Open Sans Local";
|
|
24
|
+
font-style:normal;
|
|
25
|
+
font-weight:700;
|
|
26
|
+
src:url("../fonts/open-sans/open-sans-700.eot");
|
|
27
|
+
src:url("../fonts/open-sans/open-sans-700.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/open-sans-700.woff2") format("woff2"), url("../fonts/open-sans/open-sans-700.woff") format("woff"), url("../fonts/open-sans/open-sans-700.ttf") format("truetype"), url("../fonts/open-sans/open-sans-700.svg#svgFontName") format("svg");
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@font-face{
|
|
31
|
+
font-family:"Material Icons";
|
|
32
|
+
font-style:normal;
|
|
33
|
+
font-weight:400;
|
|
34
|
+
src:url(https://fonts.gstatic.com/s/materialicons/v29/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format("woff2");
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7
|
+
import { Lut } from "@aics/vole-core";
|
|
8
|
+
import { useEffect } from "react";
|
|
9
|
+
import { controlPointsToLut, rampToControlPoints } from "../../shared/utils/controlPointsToLut";
|
|
10
|
+
/**
|
|
11
|
+
* A component that doesn't render anything, but reacts to the provided `ChannelState`
|
|
12
|
+
* and keeps it in sync with the viewer.
|
|
13
|
+
*/
|
|
14
|
+
var ChannelUpdater = function ChannelUpdater(_ref) {
|
|
15
|
+
var index = _ref.index,
|
|
16
|
+
channelState = _ref.channelState,
|
|
17
|
+
view3d = _ref.view3d,
|
|
18
|
+
image = _ref.image,
|
|
19
|
+
version = _ref.version;
|
|
20
|
+
var volumeEnabled = channelState.volumeEnabled,
|
|
21
|
+
isosurfaceEnabled = channelState.isosurfaceEnabled,
|
|
22
|
+
isovalue = channelState.isovalue,
|
|
23
|
+
colorizeEnabled = channelState.colorizeEnabled,
|
|
24
|
+
colorizeAlpha = channelState.colorizeAlpha,
|
|
25
|
+
opacity = channelState.opacity,
|
|
26
|
+
color = channelState.color;
|
|
27
|
+
|
|
28
|
+
// Effects to update channel settings should check if image is present and channel is loaded first
|
|
29
|
+
var useImageEffect = function useImageEffect(effect, deps) {
|
|
30
|
+
useEffect(function () {
|
|
31
|
+
if (image && version > 0) {
|
|
32
|
+
return effect(image);
|
|
33
|
+
}
|
|
34
|
+
}, [].concat(_toConsumableArray(deps), [image, version]));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// enable/disable channel can't be dependent on channel load state because it may trigger the channel to load
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
if (image) {
|
|
40
|
+
view3d.setVolumeChannelEnabled(image, index, volumeEnabled);
|
|
41
|
+
view3d.updateLuts(image);
|
|
42
|
+
}
|
|
43
|
+
}, [image, volumeEnabled]);
|
|
44
|
+
useEffect(function () {
|
|
45
|
+
if (image) {
|
|
46
|
+
view3d.setVolumeChannelOptions(image, index, {
|
|
47
|
+
isosurfaceEnabled: isosurfaceEnabled
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}, [image, isosurfaceEnabled]);
|
|
51
|
+
useImageEffect(function (currentImage) {
|
|
52
|
+
return view3d.setVolumeChannelOptions(currentImage, index, {
|
|
53
|
+
isovalue: isovalue
|
|
54
|
+
});
|
|
55
|
+
}, [isovalue]);
|
|
56
|
+
useImageEffect(function (currentImage) {
|
|
57
|
+
return view3d.setVolumeChannelOptions(currentImage, index, {
|
|
58
|
+
isosurfaceOpacity: opacity
|
|
59
|
+
});
|
|
60
|
+
}, [opacity]);
|
|
61
|
+
useImageEffect(function (currentImage) {
|
|
62
|
+
view3d.setVolumeChannelOptions(currentImage, index, {
|
|
63
|
+
color: color
|
|
64
|
+
});
|
|
65
|
+
view3d.updateLuts(currentImage);
|
|
66
|
+
}, [color]);
|
|
67
|
+
var controlPoints = channelState.controlPoints,
|
|
68
|
+
ramp = channelState.ramp,
|
|
69
|
+
useControlPoints = channelState.useControlPoints;
|
|
70
|
+
useImageEffect(function (currentImage) {
|
|
71
|
+
if (useControlPoints && controlPoints.length < 2) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
var controlPointsToUse = useControlPoints ? controlPoints : rampToControlPoints(ramp);
|
|
75
|
+
var gradient = controlPointsToLut(controlPointsToUse);
|
|
76
|
+
currentImage.setLut(index, gradient);
|
|
77
|
+
view3d.updateLuts(currentImage);
|
|
78
|
+
}, [controlPoints, ramp, useControlPoints]);
|
|
79
|
+
useImageEffect(function (currentImage) {
|
|
80
|
+
if (colorizeEnabled) {
|
|
81
|
+
// TODO get the labelColors from the tf editor component
|
|
82
|
+
var lut = new Lut().createLabelColors(currentImage.getHistogram(index));
|
|
83
|
+
currentImage.setColorPalette(index, lut.lut);
|
|
84
|
+
currentImage.setColorPaletteAlpha(index, colorizeAlpha);
|
|
85
|
+
} else {
|
|
86
|
+
currentImage.setColorPaletteAlpha(index, 0);
|
|
87
|
+
}
|
|
88
|
+
view3d.updateLuts(currentImage);
|
|
89
|
+
}, [colorizeEnabled]);
|
|
90
|
+
useImageEffect(function (currentImage) {
|
|
91
|
+
currentImage.setColorPaletteAlpha(index, colorizeEnabled ? colorizeAlpha : 0);
|
|
92
|
+
view3d.updateLuts(currentImage);
|
|
93
|
+
}, [colorizeAlpha]);
|
|
94
|
+
return null;
|
|
95
|
+
};
|
|
96
|
+
export default ChannelUpdater;
|