From 921c3f4dd93ac65c10e189dfb78c6b22f733e682 Mon Sep 17 00:00:00 2001 From: Anne Haley Date: Thu, 29 Jun 2023 23:26:05 -0400 Subject: [PATCH 1/3] Add more conditions to populating mode selector --- .../vue/components/FrameSelector.vue | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/girder/girder_large_image/web_client/vue/components/FrameSelector.vue b/girder/girder_large_image/web_client/vue/components/FrameSelector.vue index 5b1ddd4d4..c2e9ac2a1 100644 --- a/girder/girder_large_image/web_client/vue/components/FrameSelector.vue +++ b/girder/girder_large_image/web_client/vue/components/FrameSelector.vue @@ -11,7 +11,7 @@ export default Vue.extend({ currentFrame: 0, maxFrame: 0, sliderModes: [], - currentModeId: 1, + currentModeId: 0, indices: [], indexInfo: {}, style: {}, @@ -127,9 +127,15 @@ export default Vue.extend({ this.sliderModes.push( { id: 0, name: 'Frame' } ) - this.sliderModes.push( - { id: 1, name: 'Axis' } - ) + if( + Object.keys(this.imageMetadata.IndexRange).length > 0 + && Object.keys(this.imageMetadata.IndexStride).length > 0 + ) { + this.sliderModes.push( + { id: 1, name: 'Axis' } + ) + this.currentModeId = 1 + } } else { this.sliderModes.push( { id: -1, name: 'Default' } @@ -141,9 +147,11 @@ export default Vue.extend({ { id: 2, name: 'Channel Compositing' } ) } - this.sliderModes.push( - { id: 3, name: 'Band Compositing' } - ) + if (this.imageMetadata.bandCount > 1) { + this.sliderModes.push( + { id: 3, name: 'Band Compositing' } + ) + } } }, mounted() { From e96fc8d312a0e952fb7f26209475a0b6db4b849f Mon Sep 17 00:00:00 2001 From: Anne Haley Date: Fri, 30 Jun 2023 02:04:28 -0400 Subject: [PATCH 2/3] Band compositing defaults to only a few bands --- .../vue/components/CompositeLayers.vue | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/girder/girder_large_image/web_client/vue/components/CompositeLayers.vue b/girder/girder_large_image/web_client/vue/components/CompositeLayers.vue index 3fe2ba266..294a8a7b4 100644 --- a/girder/girder_large_image/web_client/vue/components/CompositeLayers.vue +++ b/girder/girder_large_image/web_client/vue/components/CompositeLayers.vue @@ -13,7 +13,7 @@ export default { }, data() { return { - enabledLayers: this.layers, + enabledLayers: [], colorPickerShown: undefined, currentFrameHistogram: undefined, compositeLayerInfo: {}, @@ -194,6 +194,21 @@ export default { }, mounted() { this.initializeLayerInfo() + if (this.layerMap) { + // channels all enabled by default + this.enabledLayers = this.layers + } else { + // only some bands enabled by default + ['red', 'green', 'blue', 'gray', 'grey'].forEach((bandColor) => { + if (this.layers.includes(bandColor)) { + this.enabledLayers.push(bandColor) + } + }) + // if no known band colors exist, enable the first three + if (this.enabledLayers.length === 0) { + this.enabledLayers = this.layers.slice(0, 3) + } + } this.updateStyle() } } From f101b298f929e8100cded1d2f5f1aaceac13bde9 Mon Sep 17 00:00:00 2001 From: Anne Haley Date: Fri, 30 Jun 2023 11:55:49 -0400 Subject: [PATCH 3/3] Fix showing only a few bands first --- .../web_client/vue/components/CompositeLayers.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/girder/girder_large_image/web_client/vue/components/CompositeLayers.vue b/girder/girder_large_image/web_client/vue/components/CompositeLayers.vue index 294a8a7b4..6b6e97cd9 100644 --- a/girder/girder_large_image/web_client/vue/components/CompositeLayers.vue +++ b/girder/girder_large_image/web_client/vue/components/CompositeLayers.vue @@ -209,6 +209,7 @@ export default { this.enabledLayers = this.layers.slice(0, 3) } } + this.updateActiveLayers() this.updateStyle() } }