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 6ffcbff9..32cc9003 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 @@ -214,23 +214,56 @@
- - - - + + + +
@@ -1683,22 +1716,27 @@ export default { voiChange(v) { let viewportIds = ['FUSION_AXIAL', 'PT_AXIAL', 'PET_MIP_CORONAL'] viewportIds.map(viewportId=>{ + // const volumeId = viewportId === 'viewportId' ? ptVolumeId : ctVolumeId const volumeId = ptVolumeId const voiRange = { lower: 0, upper: v } const viewport = ( renderingEngine.getViewport(viewportId) ) if (!viewport) return - const viewportsContainingVolumeUID = csUtils.getViewportsWithVolumeId( - volumeId, - viewport.renderingEngineId - ) + // const volumeId = viewport.getVolumeId() + // const viewportsContainingVolumeUID = csUtils.getViewportsWithVolumeId( + // volumeId, + // viewport.renderingEngineId + // ) viewport.setProperties({ voiRange }, volumeId) - viewportsContainingVolumeUID.forEach((vp) => { - vp.render() - this.$refs[vp.id].setWwWc() - }) + viewport.render() + this.$refs[viewport.id].setWwWc() + // viewportsContainingVolumeUID.forEach((vp) => { + // vp.render() + // this.$refs[vp.id].setWwWc() + // console.log(vp.id) + // }) }) }, @@ -1927,9 +1965,14 @@ export default { this.customWwc.visible = true } else if (v.val === -1) { // 默认值 - const wc = this.ctVolume.cornerstoneImageMetaData.windowCenter[0] - const ww = this.ctVolume.cornerstoneImageMetaData.windowWidth[0] - this.changeMapperRange(wc, ww) + // const wc = this.ctVolume.cornerstoneImageMetaData.windowCenter[0] + // const ww = this.ctVolume.cornerstoneImageMetaData.windowWidth[0] + // this.changeMapperRange(wc, ww) + const viewport = ( + renderingEngine.getViewport(viewportIds.CT.AXIAL) + ) + viewport.resetProperties() + viewport.render() } else { this.changeMapperRange(v.wc, v.ww) } @@ -1938,7 +1981,14 @@ export default { // document.ondragstart = function() { return false } }, setWwwc(v) { - this.changeMapperRange(v.wc, v.ww) + // this.changeMapperRange(v.wc, v.ww) + const renderingEngine = getRenderingEngine(renderingEngineId) + let viewportId = this.activeIndex === 1 ? 'CT_AXIAL' : this.activeIndex === 2 ? 'PT_AXIAL' : this.activeIndex === 3 ? 'FUSION_AXIAL' : 'PET_MIP_CORONAL' + const viewport = renderingEngine.getViewport(viewportId) + const lower = v.wc - v.ww / 2 + const upper = v.wc + v.ww / 2 - 1 + viewport.setProperties({ voiRange: { upper: upper, lower: lower }}) + viewport.render() this.customWwc.visible = false }, changeMapperRange(wc, ww) { 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 0166f62a..c94b19f5 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 @@ -203,7 +203,6 @@ export default { console.log(toolsUtilities) this.subjectCode = this.$route.query.subjectCode var element = document.getElementById(`viewport${this.index}`) - element.addEventListener(VOLUME_NEW_IMAGE, this.handleVolumeNewImage) element.addEventListener(Enums.Events.CAMERA_MODIFIED, this.handleCameraModified) element.addEventListener(Enums.Events.VOI_MODIFIED, this.handleVOIModified) @@ -249,8 +248,10 @@ export default { this.getOrientationMarker() this.sliderBoxHeight = imageIndex * 100 / (this.seriesInfo.imageMaxLength - 1) } - - var properties = viewport.getProperties() + let properties = viewport.getProperties() + if (this.index === 3) { + properties = viewport.getProperties(`cornerstoneStreamingImageVolume:PT_VOLUME_ID`) + } if (properties && properties.voiRange) { var { lower, upper } = properties.voiRange @@ -324,7 +325,12 @@ export default { viewport = renderingEngine.getViewport(this.viewportId) if (!viewport) return - var properties = viewport.getProperties() + let properties = viewport.getProperties() + if (this.index === 3) { + // const volumeId = viewport.getVolumeId() + const volumeId = `cornerstoneStreamingImageVolume:PT_VOLUME_ID` + properties = viewport.getProperties(volumeId) + } if (properties && properties.voiRange) { var { lower, upper } = properties.voiRange const { windowWidth, windowCenter } = utilities.windowLevel.toWindowLevel( @@ -562,12 +568,21 @@ export default { ctx.fillRect(0, 0, rectWidth, rectHeight) }, setWwWc() { - var properties = viewport.getProperties() + let properties = viewport.getProperties() + if (this.index === 3) { + properties = viewport.getProperties(`cornerstoneStreamingImageVolume:PT_VOLUME_ID`) + } if (properties && properties.voiRange) { var { lower, upper } = properties.voiRange - const windowWidth = upper - lower - const windowCenter = (upper + lower) / 2 + // console.log(lower, upper) + // const windowWidth = upper - lower + // const windowCenter = (upper + lower) / 2 + const { windowWidth, windowCenter } = utilities.windowLevel.toWindowLevel( + lower, + upper + ) this.imageInfo.wwwc = `${Math.round(windowWidth)}/${Math.round(windowCenter)}` + this.$emit('upperRangeChange', Math.round(windowWidth)) } }, async getScreenshots() {