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 1c47b07e..c14419a2 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -315,8 +315,8 @@ :rendering-engine-id="renderingEngineId" :viewport-id="`viewport-${index}`" :viewport-index="index" :histogramVisible="histogramVisible" @activeViewport="activeViewport" @toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD" - @renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" v-if="readingTool === 3" - v-resize="(e) => handleSizeChange(e, `viewport-${index}`)" /> + @renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" @resetViewport="resetViewport" + v-if="readingTool === 3" v-resize="(e) => handleSizeChange(e, `viewport-${index}`)" /> - + - + - + @@ -106,10 +109,14 @@ export default { }) this.studyList = studyList if (this.visitInfo.operateStateEnum === 21) { - this.form.studyId = this.series.StudyId - this.handleChange(null, 'study') - this.form.seriesId = this.series.Id - this.handleChange(null, 'series') + let find = studyList.some(item => item.StudyId === this.series.StudyId) + if (find) { + this.form.studyId = this.series.StudyId + this.handleChange(null, 'study') + this.form.seriesId = this.series.Id + this.handleChange(null, 'series') + } + } if (this.visitInfo.operateStateEnum === 22) { let o = {} @@ -132,6 +139,7 @@ export default { }, async handleChange(e, key) { if (key === 'study') { + console.log(this.studyList, 'this.studyList') this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesArr } if (key === 'series') { @@ -142,6 +150,20 @@ export default { this.segmentList = list.filter(item => item.SegmentJson) } }, + handleClear(e, key) { + if (key === 'study') { + this.form.seriesId = null + this.form.segmentGroupId = null + this.form.segmentId = null + } + if (key === 'series') { + this.form.segmentGroupId = null + this.form.segmentId = null + } + if (key === 'segmentGroup') { + this.form.segmentId = null + } + }, handleCancel() { this.$emit("update:visible", false) }, diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/VolumeViewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/VolumeViewport.vue index 0cf01f3e..935e6697 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/VolumeViewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/VolumeViewport.vue @@ -78,8 +78,10 @@ import * as cornerstoneTools from '@cornerstonejs/tools' import { createImageIdsAndCacheMetaData } from '@/views/trials/trials-panel/reading/dicoms/components/Fusion/js/createImageIdsAndCacheMetaData' import setCtTransferFunctionForVolumeActor from '@/views/trials/trials-panel/reading/dicoms/components/Fusion/js/setCtTransferFunctionForVolumeActor' import { setCtMappingRange } from '@/views/trials/trials-panel/reading/dicoms/components/Fusion/js/setCtTransferFunctionForVolumeActor' -import { setPetColorMapTransferFunctionForVolumeActor } from '@/views/trials/trials-panel/reading/dicoms/components/Fusion/js/setPetColorMapTransferFunctionForVolumeActor' import { vec3, mat4 } from 'gl-matrix' +import { + setPetTransferFunctionForVolumeActor +} from './helpers/index.js' import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent' export default { name: 'MPRViewport', @@ -537,7 +539,8 @@ export default { .setVolumes([{ volumeId: this.volumeId, callback: (r) => { if (this.series.Modality === 'PT' || this.series.Modality === 'NM') { - setPetColorMapTransferFunctionForVolumeActor(r, true) + setPetTransferFunctionForVolumeActor(r) + // viewport.setProperties({ voiRange: { upper: 5, lower: 0 } }) } else { const voi = metaData.get('voiLutModule', res.volume._imageIds[Math.ceil((res.volume._imageIds.length - 1) / 2)]) setCtMappingRange(voi.windowWidth[0], voi.windowCenter[0]) @@ -555,6 +558,16 @@ export default { DicomEvent.$emit("isloaded", { isChange: data.isChange }) }) viewport.render() + if (this.series.Modality === 'PT' || this.series.Modality === 'NM') { + setTimeout(() => { + viewport.resetCamera({ resetPan: true, resetZoom: true, resetToCenter: true }) + viewport.resetProperties() + viewport.setProperties({ voiRange: { upper: 5, lower: 0 } }) + viewport.render() + renderingEngine.render() + }, 100) + } + } catch (e) { console.log(e) }