lugano更改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
aca5b0c721
commit
49940ab034
|
@ -214,23 +214,56 @@
|
||||||
<!-- @dblclick.native="reloadViewport('CT_AXIAL')" -->
|
<!-- @dblclick.native="reloadViewport('CT_AXIAL')" -->
|
||||||
<div ref="dicomContainer" class="dicom-container box box_2_2" style="position: relative;"
|
<div ref="dicomContainer" class="dicom-container box box_2_2" style="position: relative;"
|
||||||
@dblclick="reloadViewport">
|
@dblclick="reloadViewport">
|
||||||
<Viewport ref="CT_AXIAL" :index="1" :active-index="activeIndex"
|
<Viewport
|
||||||
:is-reading-show-subject-info="isReadingShowSubjectInfo" :series-info="ctSeries"
|
ref="CT_AXIAL"
|
||||||
:rendering-engine-id="renderingEngineId" viewport-id="CT_AXIAL" :volume="ctVolume"
|
:index="1"
|
||||||
:measure-datas="measureDatas" :style="1 === activeIndex ? viewportStyle : {}" />
|
:active-index="activeIndex"
|
||||||
<Viewport ref="PT_AXIAL" :index="2" :active-index="activeIndex"
|
:is-reading-show-subject-info="isReadingShowSubjectInfo"
|
||||||
:is-reading-show-subject-info="isReadingShowSubjectInfo" :series-info="petSeries"
|
:series-info="ctSeries"
|
||||||
:rendering-engine-id="renderingEngineId" viewport-id="PT_AXIAL" :volume="ptVolume"
|
:rendering-engine-id="renderingEngineId"
|
||||||
:measure-datas="measureDatas" :style="2 === activeIndex ? viewportStyle : {}" />
|
viewport-id="CT_AXIAL" :volume="ctVolume"
|
||||||
<Viewport ref="FUSION_AXIAL" :index="3" :active-index="activeIndex"
|
:measure-datas="measureDatas"
|
||||||
:is-reading-show-subject-info="isReadingShowSubjectInfo" :series-info="petSeries"
|
:style="1 === activeIndex ? viewportStyle : {}"
|
||||||
:rendering-engine-id="renderingEngineId" viewport-id="FUSION_AXIAL" :volume="ptVolume"
|
@upperRangeChange="upperRangeChange"
|
||||||
:measure-datas="measureDatas" :rgb-preset-name="rgbPresetName"
|
/>
|
||||||
:style="3 === activeIndex ? viewportStyle : {}" />
|
<Viewport
|
||||||
<Viewport ref="PET_MIP_CORONAL" :index="4" :active-index="activeIndex"
|
ref="PT_AXIAL"
|
||||||
:is-reading-show-subject-info="isReadingShowSubjectInfo" :series-info="petSeries"
|
:index="2"
|
||||||
:rendering-engine-id="renderingEngineId" viewport-id="PET_MIP_CORONAL" :measure-datas="measureDatas"
|
:active-index="activeIndex"
|
||||||
:style="4 === activeIndex ? viewportStyle : {}" />
|
:is-reading-show-subject-info="isReadingShowSubjectInfo"
|
||||||
|
:series-info="petSeries"
|
||||||
|
:rendering-engine-id="renderingEngineId"
|
||||||
|
viewport-id="PT_AXIAL"
|
||||||
|
:volume="ptVolume"
|
||||||
|
:measure-datas="measureDatas"
|
||||||
|
:style="2 === activeIndex ? viewportStyle : {}"
|
||||||
|
@upperRangeChange="upperRangeChange"
|
||||||
|
/>
|
||||||
|
<Viewport
|
||||||
|
ref="FUSION_AXIAL"
|
||||||
|
:index="3"
|
||||||
|
:active-index="activeIndex"
|
||||||
|
:is-reading-show-subject-info="isReadingShowSubjectInfo"
|
||||||
|
:series-info="petSeries"
|
||||||
|
:rendering-engine-id="renderingEngineId"
|
||||||
|
viewport-id="FUSION_AXIAL"
|
||||||
|
:volume="ptVolume"
|
||||||
|
:measure-datas="measureDatas"
|
||||||
|
:rgb-preset-name="rgbPresetName"
|
||||||
|
:style="3 === activeIndex ? viewportStyle : {}"
|
||||||
|
@upperRangeChange="upperRangeChange"
|
||||||
|
/>
|
||||||
|
<Viewport
|
||||||
|
ref="PET_MIP_CORONAL"
|
||||||
|
:index="4"
|
||||||
|
:active-index="activeIndex"
|
||||||
|
:is-reading-show-subject-info="isReadingShowSubjectInfo"
|
||||||
|
:series-info="petSeries"
|
||||||
|
:rendering-engine-id="renderingEngineId"
|
||||||
|
viewport-id="PET_MIP_CORONAL" :measure-datas="measureDatas"
|
||||||
|
:style="4 === activeIndex ? viewportStyle : {}"
|
||||||
|
@upperRangeChange="upperRangeChange"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- 表单 -->
|
<!-- 表单 -->
|
||||||
<div class="form-container" style="overflow-y: auto;">
|
<div class="form-container" style="overflow-y: auto;">
|
||||||
|
@ -1683,22 +1716,27 @@ export default {
|
||||||
voiChange(v) {
|
voiChange(v) {
|
||||||
let viewportIds = ['FUSION_AXIAL', 'PT_AXIAL', 'PET_MIP_CORONAL']
|
let viewportIds = ['FUSION_AXIAL', 'PT_AXIAL', 'PET_MIP_CORONAL']
|
||||||
viewportIds.map(viewportId=>{
|
viewportIds.map(viewportId=>{
|
||||||
|
// const volumeId = viewportId === 'viewportId' ? ptVolumeId : ctVolumeId
|
||||||
const volumeId = ptVolumeId
|
const volumeId = ptVolumeId
|
||||||
const voiRange = { lower: 0, upper: v }
|
const voiRange = { lower: 0, upper: v }
|
||||||
const viewport = (
|
const viewport = (
|
||||||
renderingEngine.getViewport(viewportId)
|
renderingEngine.getViewport(viewportId)
|
||||||
)
|
)
|
||||||
if (!viewport) return
|
if (!viewport) return
|
||||||
const viewportsContainingVolumeUID = csUtils.getViewportsWithVolumeId(
|
// const volumeId = viewport.getVolumeId()
|
||||||
volumeId,
|
// const viewportsContainingVolumeUID = csUtils.getViewportsWithVolumeId(
|
||||||
viewport.renderingEngineId
|
// volumeId,
|
||||||
)
|
// viewport.renderingEngineId
|
||||||
|
// )
|
||||||
|
|
||||||
viewport.setProperties({ voiRange }, volumeId)
|
viewport.setProperties({ voiRange }, volumeId)
|
||||||
viewportsContainingVolumeUID.forEach((vp) => {
|
viewport.render()
|
||||||
vp.render()
|
this.$refs[viewport.id].setWwWc()
|
||||||
this.$refs[vp.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
|
this.customWwc.visible = true
|
||||||
} else if (v.val === -1) {
|
} else if (v.val === -1) {
|
||||||
// 默认值
|
// 默认值
|
||||||
const wc = this.ctVolume.cornerstoneImageMetaData.windowCenter[0]
|
// const wc = this.ctVolume.cornerstoneImageMetaData.windowCenter[0]
|
||||||
const ww = this.ctVolume.cornerstoneImageMetaData.windowWidth[0]
|
// const ww = this.ctVolume.cornerstoneImageMetaData.windowWidth[0]
|
||||||
this.changeMapperRange(wc, ww)
|
// this.changeMapperRange(wc, ww)
|
||||||
|
const viewport = (
|
||||||
|
renderingEngine.getViewport(viewportIds.CT.AXIAL)
|
||||||
|
)
|
||||||
|
viewport.resetProperties()
|
||||||
|
viewport.render()
|
||||||
} else {
|
} else {
|
||||||
this.changeMapperRange(v.wc, v.ww)
|
this.changeMapperRange(v.wc, v.ww)
|
||||||
}
|
}
|
||||||
|
@ -1938,7 +1981,14 @@ export default {
|
||||||
// document.ondragstart = function() { return false }
|
// document.ondragstart = function() { return false }
|
||||||
},
|
},
|
||||||
setWwwc(v) {
|
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
|
this.customWwc.visible = false
|
||||||
},
|
},
|
||||||
changeMapperRange(wc, ww) {
|
changeMapperRange(wc, ww) {
|
||||||
|
|
|
@ -203,7 +203,6 @@ export default {
|
||||||
console.log(toolsUtilities)
|
console.log(toolsUtilities)
|
||||||
this.subjectCode = this.$route.query.subjectCode
|
this.subjectCode = this.$route.query.subjectCode
|
||||||
var element = document.getElementById(`viewport${this.index}`)
|
var element = document.getElementById(`viewport${this.index}`)
|
||||||
|
|
||||||
element.addEventListener(VOLUME_NEW_IMAGE, this.handleVolumeNewImage)
|
element.addEventListener(VOLUME_NEW_IMAGE, this.handleVolumeNewImage)
|
||||||
element.addEventListener(Enums.Events.CAMERA_MODIFIED, this.handleCameraModified)
|
element.addEventListener(Enums.Events.CAMERA_MODIFIED, this.handleCameraModified)
|
||||||
element.addEventListener(Enums.Events.VOI_MODIFIED, this.handleVOIModified)
|
element.addEventListener(Enums.Events.VOI_MODIFIED, this.handleVOIModified)
|
||||||
|
@ -249,8 +248,10 @@ export default {
|
||||||
this.getOrientationMarker()
|
this.getOrientationMarker()
|
||||||
this.sliderBoxHeight = imageIndex * 100 / (this.seriesInfo.imageMaxLength - 1)
|
this.sliderBoxHeight = imageIndex * 100 / (this.seriesInfo.imageMaxLength - 1)
|
||||||
}
|
}
|
||||||
|
let properties = viewport.getProperties()
|
||||||
var properties = viewport.getProperties()
|
if (this.index === 3) {
|
||||||
|
properties = viewport.getProperties(`cornerstoneStreamingImageVolume:PT_VOLUME_ID`)
|
||||||
|
}
|
||||||
|
|
||||||
if (properties && properties.voiRange) {
|
if (properties && properties.voiRange) {
|
||||||
var { lower, upper } = properties.voiRange
|
var { lower, upper } = properties.voiRange
|
||||||
|
@ -324,7 +325,12 @@ export default {
|
||||||
viewport = renderingEngine.getViewport(this.viewportId)
|
viewport = renderingEngine.getViewport(this.viewportId)
|
||||||
if (!viewport) return
|
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) {
|
if (properties && properties.voiRange) {
|
||||||
var { lower, upper } = properties.voiRange
|
var { lower, upper } = properties.voiRange
|
||||||
const { windowWidth, windowCenter } = utilities.windowLevel.toWindowLevel(
|
const { windowWidth, windowCenter } = utilities.windowLevel.toWindowLevel(
|
||||||
|
@ -562,12 +568,21 @@ export default {
|
||||||
ctx.fillRect(0, 0, rectWidth, rectHeight)
|
ctx.fillRect(0, 0, rectWidth, rectHeight)
|
||||||
},
|
},
|
||||||
setWwWc() {
|
setWwWc() {
|
||||||
var properties = viewport.getProperties()
|
let properties = viewport.getProperties()
|
||||||
|
if (this.index === 3) {
|
||||||
|
properties = viewport.getProperties(`cornerstoneStreamingImageVolume:PT_VOLUME_ID`)
|
||||||
|
}
|
||||||
if (properties && properties.voiRange) {
|
if (properties && properties.voiRange) {
|
||||||
var { lower, upper } = properties.voiRange
|
var { lower, upper } = properties.voiRange
|
||||||
const windowWidth = upper - lower
|
// console.log(lower, upper)
|
||||||
const windowCenter = (upper + lower) / 2
|
// 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.imageInfo.wwwc = `${Math.round(windowWidth)}/${Math.round(windowCenter)}`
|
||||||
|
this.$emit('upperRangeChange', Math.round(windowWidth))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getScreenshots() {
|
async getScreenshots() {
|
||||||
|
|
Loading…
Reference in New Issue