diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/PetCt.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/PetCt.vue index 2dccbda6..9d037c0d 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/PetCt.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/PetCt.vue @@ -1664,7 +1664,11 @@ export default { }) }, upperRangeChange(v) { - if (v === 0 || v < this.upper) { + if (this.lastUpper === v) return; + this.lastUpper = v; + this.upper = v; + + if (v === 0) { return } var sliderBox = document.getElementById('sliderBox') @@ -1682,6 +1686,8 @@ export default { slider.style.left = left + 'px' var positionValue = document.getElementById('slider-position') positionValue.textContent = this.upper + + this.voiChange(v) }, renderColorMaps() { this.createColorBar(this.rgbPresetName, 'colorBarCanvas', 256, 15) @@ -1713,6 +1719,7 @@ export default { : { lower: voiRange[0], upper: voiRange[1] } }, voiChange(v) { + this.lastUpper = v; let viewportIds = ['FUSION_AXIAL', 'PT_AXIAL', 'PET_MIP_CORONAL'] viewportIds.map(viewportId => { // const volumeId = viewportId === 'viewportId' ? ptVolumeId : ctVolumeId diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Viewport.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Viewport.vue index c94b19f5..4ebcdbbf 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Viewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Viewport.vue @@ -582,7 +582,9 @@ export default { upper ) this.imageInfo.wwwc = `${Math.round(windowWidth)}/${Math.round(windowCenter)}` - this.$emit('upperRangeChange', Math.round(windowWidth)) + if (this.index !== 1) { + this.$emit('upperRangeChange', Math.round(upper)) + } } }, async getScreenshots() { diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/PetCtViewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/PetCtViewport.vue index 95059328..29130d63 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/PetCtViewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/PetCtViewport.vue @@ -291,7 +291,9 @@ Colorbar: null, upper ) this.imageInfo.wwwc = `${Math.round(windowWidth)}/${Math.round(windowCenter)}` - this.$emit('upperRangeChange', Math.round(windowWidth)) + if (this.series.Modality === 'PT' || this.series.Modality === 'NM' || this.isFusion) { + this.$emit('upperRangeChange', Math.round(upper)) + } } }, getOrientationMarker() { @@ -534,7 +536,7 @@ Colorbar: null, } }, { - volumeId: data.SeriesInstanceUid, callback: (r) => { + volumeId: this.ptVolumeId, callback: (r) => { setPetColorMapTransferFunctionForVolumeActor(r) if (this.series.Modality === 'NM') { this.nmFusionVolumeActor = r.volumeActor diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue index 0b0ff8b4..fb9f39b6 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -756,7 +756,8 @@ export default { segmentationId: null }, }, - } + }, + fusionOverlayModality: null } }, computed: { @@ -3729,8 +3730,13 @@ export default { return pairs.map((p) => p.imageId); }, upperRangeChange(upper) { - this.$refs.colorMap.upper = upper - this.$refs.colorMap.upperRangeChange(upper) + if (this.lastUpper === upper) return; + this.lastUpper = upper; + if (this.$refs.colorMap) { + this.$refs.colorMap.upper = upper + this.$refs.colorMap.upperRangeChange(upper) + } + this.voiChange(upper) }, openFusion() { this.fusionVisible = true