分割部分问题解决
continuous-integration/drone/push Build is running
Details
continuous-integration/drone/push Build is running
Details
parent
641c2e6ade
commit
a68c27fd43
|
|
@ -315,8 +315,8 @@
|
||||||
:rendering-engine-id="renderingEngineId" :viewport-id="`viewport-${index}`" :viewport-index="index"
|
:rendering-engine-id="renderingEngineId" :viewport-id="`viewport-${index}`" :viewport-index="index"
|
||||||
:histogramVisible="histogramVisible" @activeViewport="activeViewport"
|
:histogramVisible="histogramVisible" @activeViewport="activeViewport"
|
||||||
@toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD"
|
@toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD"
|
||||||
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" v-if="readingTool === 3"
|
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" @resetViewport="resetViewport"
|
||||||
v-resize="(e) => handleSizeChange(e, `viewport-${index}`)" />
|
v-if="readingTool === 3" v-resize="(e) => handleSizeChange(e, `viewport-${index}`)" />
|
||||||
<Viewport :ref="`viewport-${index}`" :data-viewport-uid="`viewport-${index}`"
|
<Viewport :ref="`viewport-${index}`" :data-viewport-uid="`viewport-${index}`"
|
||||||
:rendering-engine-id="renderingEngineId" :viewport-id="`viewport-${index}`" :viewport-index="index"
|
:rendering-engine-id="renderingEngineId" :viewport-id="`viewport-${index}`" :viewport-index="index"
|
||||||
@activeViewport="activeViewport" @toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD"
|
@activeViewport="activeViewport" @toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD"
|
||||||
|
|
@ -2619,6 +2619,9 @@ export default {
|
||||||
console.log(lower, upper)
|
console.log(lower, upper)
|
||||||
viewport.setProperties({ voiRange: { upper: upper, lower: lower } })
|
viewport.setProperties({ voiRange: { upper: upper, lower: lower } })
|
||||||
}
|
}
|
||||||
|
if (this.readingTool === 3 && this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].series.Modality === 'PT') {
|
||||||
|
viewport.setProperties({ voiRange: { upper: 5, lower: 0 } })
|
||||||
|
}
|
||||||
viewport.render()
|
viewport.render()
|
||||||
renderingEngine.render()
|
renderingEngine.render()
|
||||||
if (this.readingTool === 3) {
|
if (this.readingTool === 3) {
|
||||||
|
|
@ -2754,10 +2757,11 @@ export default {
|
||||||
const renderingEngine = getRenderingEngine(renderingEngineId)
|
const renderingEngine = getRenderingEngine(renderingEngineId)
|
||||||
const viewport = renderingEngine.getViewport(`${this.viewportKey}-${this.activeViewportIndex}`)
|
const viewport = renderingEngine.getViewport(`${this.viewportKey}-${this.activeViewportIndex}`)
|
||||||
const { invert } = viewport.getProperties()
|
const { invert } = viewport.getProperties()
|
||||||
if (this.isFusion) {
|
if (this.isFusion || this.readingTool === 3) {
|
||||||
viewport.setProperties({ invert: !invert }, this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].volumeId)
|
viewport.setProperties({ invert: !invert }, this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].volumeId)
|
||||||
}
|
} else {
|
||||||
viewport.setProperties({ invert: !invert })
|
viewport.setProperties({ invert: !invert })
|
||||||
|
}
|
||||||
viewport.render()
|
viewport.render()
|
||||||
},
|
},
|
||||||
// 翻页
|
// 翻页
|
||||||
|
|
|
||||||
|
|
@ -2,21 +2,24 @@
|
||||||
<el-form ref="segmentForm" :model="form" label-width="120px" label-position="left" :rules="rules">
|
<el-form ref="segmentForm" :model="form" label-width="120px" label-position="left" :rules="rules">
|
||||||
<!-- 检查名称 -->
|
<!-- 检查名称 -->
|
||||||
<el-form-item :label="$t('segment:form:label:studyName')" prop="taskBlindName">
|
<el-form-item :label="$t('segment:form:label:studyName')" prop="taskBlindName">
|
||||||
<el-select v-model="form.studyId" clearable @change="(e) => handleChange(e, 'study')">
|
<el-select v-model="form.studyId" clearable @change="(e) => handleChange(e, 'study')"
|
||||||
|
@clear="(e) => handleClear(e, 'study')">
|
||||||
<el-option v-for="item in studyList" :key="item.StudyId" :label="item.StudyCode"
|
<el-option v-for="item in studyList" :key="item.StudyId" :label="item.StudyCode"
|
||||||
:value="item.StudyId" />
|
:value="item.StudyId" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 序列名称 -->
|
<!-- 序列名称 -->
|
||||||
<el-form-item :label="$t('segment:form:label:seriesName')" prop="taskBlindName">
|
<el-form-item :label="$t('segment:form:label:seriesName')" prop="taskBlindName">
|
||||||
<el-select v-model="form.seriesId" clearable @change="(e) => handleChange(e, 'series')">
|
<el-select v-model="form.seriesId" clearable @change="(e) => handleChange(e, 'series')"
|
||||||
|
@clear="(e) => handleClear(e, 'series')">
|
||||||
<el-option v-for="item in seriesList" :key="item.Id"
|
<el-option v-for="item in seriesList" :key="item.Id"
|
||||||
:label="`#${item.SeriesNumber}/${item.Modality}/${item.Description}`" :value="item.Id" />
|
:label="`#${item.SeriesNumber}/${item.Modality}/${item.Description}`" :value="item.Id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 分割组名称 -->
|
<!-- 分割组名称 -->
|
||||||
<el-form-item :label="$t('segment:form:label:segmentGroupName')" prop="segmentGroupId">
|
<el-form-item :label="$t('segment:form:label:segmentGroupName')" prop="segmentGroupId">
|
||||||
<el-select v-model="form.segmentGroupId" clearable @change="(e) => handleChange(e, 'segmentGroup')">
|
<el-select v-model="form.segmentGroupId" clearable @change="(e) => handleChange(e, 'segmentGroup')"
|
||||||
|
@clear="(e) => handleClear(e, 'segmentGroup')">
|
||||||
<el-option v-for="item in segmentGroupList" :key="item.Id" :label="item.SegmentationName"
|
<el-option v-for="item in segmentGroupList" :key="item.Id" :label="item.SegmentationName"
|
||||||
:value="item.Id" />
|
:value="item.Id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|
@ -106,11 +109,15 @@ export default {
|
||||||
})
|
})
|
||||||
this.studyList = studyList
|
this.studyList = studyList
|
||||||
if (this.visitInfo.operateStateEnum === 21) {
|
if (this.visitInfo.operateStateEnum === 21) {
|
||||||
|
let find = studyList.some(item => item.StudyId === this.series.StudyId)
|
||||||
|
if (find) {
|
||||||
this.form.studyId = this.series.StudyId
|
this.form.studyId = this.series.StudyId
|
||||||
this.handleChange(null, 'study')
|
this.handleChange(null, 'study')
|
||||||
this.form.seriesId = this.series.Id
|
this.form.seriesId = this.series.Id
|
||||||
this.handleChange(null, 'series')
|
this.handleChange(null, 'series')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
if (this.visitInfo.operateStateEnum === 22) {
|
if (this.visitInfo.operateStateEnum === 22) {
|
||||||
let o = {}
|
let o = {}
|
||||||
if (this.isTableQuestion) {
|
if (this.isTableQuestion) {
|
||||||
|
|
@ -132,6 +139,7 @@ export default {
|
||||||
},
|
},
|
||||||
async handleChange(e, key) {
|
async handleChange(e, key) {
|
||||||
if (key === 'study') {
|
if (key === 'study') {
|
||||||
|
console.log(this.studyList, 'this.studyList')
|
||||||
this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesArr
|
this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesArr
|
||||||
}
|
}
|
||||||
if (key === 'series') {
|
if (key === 'series') {
|
||||||
|
|
@ -142,6 +150,20 @@ export default {
|
||||||
this.segmentList = list.filter(item => item.SegmentJson)
|
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() {
|
handleCancel() {
|
||||||
this.$emit("update:visible", false)
|
this.$emit("update:visible", false)
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -78,8 +78,10 @@ import * as cornerstoneTools from '@cornerstonejs/tools'
|
||||||
import { createImageIdsAndCacheMetaData } from '@/views/trials/trials-panel/reading/dicoms/components/Fusion/js/createImageIdsAndCacheMetaData'
|
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 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 { 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 { vec3, mat4 } from 'gl-matrix'
|
||||||
|
import {
|
||||||
|
setPetTransferFunctionForVolumeActor
|
||||||
|
} from './helpers/index.js'
|
||||||
import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
|
import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
|
||||||
export default {
|
export default {
|
||||||
name: 'MPRViewport',
|
name: 'MPRViewport',
|
||||||
|
|
@ -537,7 +539,8 @@ export default {
|
||||||
.setVolumes([{
|
.setVolumes([{
|
||||||
volumeId: this.volumeId, callback: (r) => {
|
volumeId: this.volumeId, callback: (r) => {
|
||||||
if (this.series.Modality === 'PT' || this.series.Modality === 'NM') {
|
if (this.series.Modality === 'PT' || this.series.Modality === 'NM') {
|
||||||
setPetColorMapTransferFunctionForVolumeActor(r, true)
|
setPetTransferFunctionForVolumeActor(r)
|
||||||
|
// viewport.setProperties({ voiRange: { upper: 5, lower: 0 } })
|
||||||
} else {
|
} else {
|
||||||
const voi = metaData.get('voiLutModule', res.volume._imageIds[Math.ceil((res.volume._imageIds.length - 1) / 2)])
|
const voi = metaData.get('voiLutModule', res.volume._imageIds[Math.ceil((res.volume._imageIds.length - 1) / 2)])
|
||||||
setCtMappingRange(voi.windowWidth[0], voi.windowCenter[0])
|
setCtMappingRange(voi.windowWidth[0], voi.windowCenter[0])
|
||||||
|
|
@ -555,6 +558,16 @@ export default {
|
||||||
DicomEvent.$emit("isloaded", { isChange: data.isChange })
|
DicomEvent.$emit("isloaded", { isChange: data.isChange })
|
||||||
})
|
})
|
||||||
viewport.render()
|
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) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue