mpr加载
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2026-03-27 16:32:34 +08:00
parent 8600054405
commit b55ffc0821
3 changed files with 19 additions and 26 deletions

View File

@ -75,6 +75,7 @@ import {
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 DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
@ -488,15 +489,15 @@ export default {
if (this.series.Modality === 'PT') {
setPetColorMapTransferFunctionForVolumeActor(r, true)
} else {
let volume = cache.getVolume(this.volumeId)
const voi = metaData.get('voiLutModule', volume._imageIds[Math.ceil((volume._imageIds.length - 1) / 2)])
setCtMappingRange(voi.windowWidth[0], voi.windowCenter[0])
setCtTransferFunctionForVolumeActor(r)
}
console.log("渲染成功")
DicomEvent.$emit("isloaded", {})
}
}]).then(r => {
let volume = cache.getVolume(this.volumeId)
const voi = metaData.get('voiLutModule', volume._imageIds[Math.ceil((volume._imageIds.length - 1) / 2)])
this.$emit('setWwwc', { ww: voi.windowWidth[0], wc: voi.windowCenter[0], id: this.viewportId })
if (data.isLocation) {
setTimeout(() => { csUtils.jumpToSlice(viewport.element, { imageIndex: data.SliceIndex }); })
}

View File

@ -309,8 +309,7 @@
<VolumeViewport :ref="`viewport-${index}`" :data-viewport-uid="`viewport-${index}`"
:rendering-engine-id="renderingEngineId" :viewport-id="`viewport-${index}`" :viewport-index="index"
@activeViewport="activeViewport" @toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD"
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" @setWwwc="setWwwc"
v-if="readingTool === 3" />
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" v-if="readingTool === 3" />
<Viewport :ref="`viewport-${index}`" :data-viewport-uid="`viewport-${index}`"
:rendering-engine-id="renderingEngineId" :viewport-id="`viewport-${index}`" :viewport-index="index"
@activeViewport="activeViewport" @toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD"
@ -328,7 +327,7 @@
:rendering-engine-id="renderingEngineId" :viewport-id="`viewport-MPR-${index}`"
:viewport-index="index" :MPRInfo="MPRInfo" @activeViewport="activeViewport" @setMPRInfo="setMPRInfo"
@toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD"
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" @setWwwc="setWwwc" />
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" />
</div>
</div>
<div v-if="readingTool === 2"
@ -1602,6 +1601,11 @@ export default {
// })
},
renderAnnotations(series) {
if (series.SeriesInstanceUid) {
let volume = cache.getVolume(series.SeriesInstanceUid)
console.log(volume.metadata.FrameOfReferenceUID);
}
const taskId = series.TaskInfo ? series.TaskInfo.VisitTaskId : null
if (!taskId || this.renderedTaskIds.includes(taskId)) return
this.renderedTaskIds.push(taskId)
@ -2513,14 +2517,7 @@ export default {
const viewport = renderingEngine.getViewport(viewportId)
this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].resetOrientationMarkers()
viewport.resetCamera({ resetPan: true, resetZoom: true, resetToCenter: true })
if (this.isMPR || this.readingTool === 3) {
let volume = cache.getVolume(this.$refs[viewportId][0].volumeId)
const voi = metaData.get('voiLutModule', volume._imageIds[Math.ceil((volume._imageIds.length - 1) / 2)])
this.setWwwc({ ww: voi.windowWidth[0], wc: voi.windowCenter[0] })
} else {
viewport.resetProperties()
}
viewport.render()
renderingEngine.render()
},
@ -2615,11 +2612,6 @@ export default {
const viewport = renderingEngine.getViewport(viewportId)
if (v.val === -1) {
//
if (this.isMPR || this.readingTool === 3) {
let volume = cache.getVolume(this.$refs[viewportId][0].volumeId)
const voi = metaData.get('voiLutModule', volume._imageIds[Math.ceil((volume._imageIds.length - 1) / 2)])
return this.setWwwc({ ww: voi.windowWidth[0], wc: voi.windowCenter[0] })
}
viewport.resetProperties()
viewport.render()
} else if (v.val === 0) {
@ -3710,9 +3702,9 @@ export default {
if (cache.getVolume(volumeId)) {
volume = cache.getVolume(volumeId)
} else {
let imageIds = await this.$refs[`${this.viewportKey}-0`][0].createImageIdsAndCacheMetaData(serie)
await this.$refs[`${this.viewportKey}-0`][0].createImageIdsAndCacheMetaData(serie)
// imageIds = this.sortImageIdsByImagePositionPatient(imageIds)
volume = await volumeLoader.createAndCacheVolume(volumeId, { imageIds: imageIds })
volume = await volumeLoader.createAndCacheVolume(volumeId, { imageIds: serie.imageIds })
volume.load()
}
res({ volumeId, volume })

View File

@ -77,6 +77,7 @@ import {
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 DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
@ -519,14 +520,13 @@ export default {
if (this.series.Modality === 'PT' || this.series.Modality === 'NM') {
setPetColorMapTransferFunctionForVolumeActor(r, true)
} else {
const voi = metaData.get('voiLutModule', res.volume._imageIds[Math.ceil((res.volume._imageIds.length - 1) / 2)])
setCtMappingRange(voi.windowWidth[0], voi.windowCenter[0])
setCtTransferFunctionForVolumeActor(r)
}
console.log("渲染成功")
}
}]).then(r => {
const voi = metaData.get('voiLutModule', res.volume._imageIds[Math.ceil((res.volume._imageIds.length - 1) / 2)])
this.$emit('setWwwc', { ww: voi.windowWidth[0], wc: voi.windowCenter[0], id: this.viewportId })
// console.log(viewport.getSlabThickness(), 'getSlabThickness')
if (data.segment) {
return DicomEvent.$emit("isloaded", { segment: data.segment })
}