融合视口调节透明度功能更改

uat_us
caiyiling 2026-03-27 16:24:24 +08:00
parent a0e355d69b
commit 9a88539294
1 changed files with 16 additions and 15 deletions

View File

@ -19,16 +19,16 @@
<div v-if="!isMip && !isFusion">Series: #{{ series.SeriesNumber }}</div> <div v-if="!isMip && !isFusion">Series: #{{ series.SeriesNumber }}</div>
<div v-if="series.Stack && !isMip">Image: #{{ `${series.SliceIndex + 1}/${imageInfo.total || series.Stack.length}` }}</div> <div v-if="series.Stack && !isMip">Image: #{{ `${series.SliceIndex + 1}/${imageInfo.total || series.Stack.length}` }}</div>
<div v-if="!isMip && !isFusion">{{ series.Modality }}</div> <div v-if="!isMip && !isFusion">{{ series.Modality }}</div>
<div v-if="isFusion">{{ ctSeries.Modality }} / {{ series.Modality }}</div> <div v-if="isFusion">{{ series.Modality }} / {{ ctSeries.Modality }}</div>
<div v-if="isMip">MIP</div> <div v-if="isMip">MIP</div>
</div> </div>
<div v-if="series && !isMip && !isFusion" class="right-top-text"> <div v-if="series && !isMip && !isFusion" class="right-top-text">
<div>{{ series.Description }}</div> <div>{{ series.Description }}</div>
</div> </div>
<div v-if="isFusion && !isMip" class="fusion-order-toggle" @mousedown.stop @mouseup.stop <!-- <div v-if="isFusion && !isMip" class="fusion-order-toggle" @mousedown.stop @mouseup.stop
@click.stop="toggleFusionRenderOrder"> @click.stop="toggleFusionRenderOrder">
{{ fusionCtOnTop ? `${ctSeries.Modality}/${series.Modality}` : `${series.Modality}/${ctSeries.Modality}` }} {{ fusionCtOnTop ? `${ctSeries.Modality}/${series.Modality}` : `${series.Modality}/${ctSeries.Modality}` }}
</div> </div> -->
<div v-if="series" class="left-bottom-text"> <div v-if="series" class="left-bottom-text">
<div v-show="mousePosition.index.length > 0 && !isMip"> <div v-show="mousePosition.index.length > 0 && !isMip">
Pos: {{ mousePosition.index[0] }}, {{ mousePosition.index[1] }}, {{ mousePosition.index[2] }} Pos: {{ mousePosition.index[0] }}, {{ mousePosition.index[1] }}, {{ mousePosition.index[2] }}
@ -478,18 +478,19 @@ export default {
if (!viewport) return if (!viewport) return
if (this.isFusion) { if (this.isFusion) {
const ctVolumeId = this.ctSeries?.SeriesInstanceUid // const ctVolumeId = this.ctSeries?.SeriesInstanceUid
const ptVolumeId = this.ptVolumeId const ptVolumeId = this.ptVolumeId
const topVolumeId = this.fusionCtOnTop ? ctVolumeId : ptVolumeId viewport.setProperties({ colormap: { opacity: Number(opacity) } }, ptVolumeId)
const bottomVolumeId = this.fusionCtOnTop ? ptVolumeId : ctVolumeId // const topVolumeId = this.fusionCtOnTop ? ctVolumeId : ptVolumeId
const topOpacity = Number(opacity) // const bottomVolumeId = this.fusionCtOnTop ? ptVolumeId : ctVolumeId
const bottomOpacity = 1 - topOpacity // const topOpacity = Number(opacity)
if (bottomVolumeId) { // const bottomOpacity = 1 - topOpacity
viewport.setProperties({ colormap: { opacity: bottomOpacity } }, bottomVolumeId) // if (bottomVolumeId) {
} // viewport.setProperties({ colormap: { opacity: bottomOpacity } }, bottomVolumeId)
if (topVolumeId) { // }
viewport.setProperties({ colormap: { opacity: topOpacity } }, topVolumeId) // if (topVolumeId) {
} // viewport.setProperties({ colormap: { opacity: topOpacity } }, topVolumeId)
// }
} }
viewport.render() viewport.render()
}, },
@ -560,7 +561,7 @@ export default {
console.log("融合pet渲染成功") console.log("融合pet渲染成功")
} }
} }
const volumes = [] const volumes = []
if (this.series.Modality !== 'NM') { if (this.series.Modality !== 'NM') {
volumes.push({ volumes.push({