普通标记在多个三维序列渲染问题
parent
b77dc34523
commit
a35309d9b5
|
|
@ -894,6 +894,9 @@ export default {
|
|||
DicomEvent.$on('addNoneDicomMeasureData', data => {
|
||||
this.open.postMessage({ type: 'addNoneDicomMeasureData', data: data }, window.location)
|
||||
})
|
||||
DicomEvent.$on('activeSeries', (series) => {
|
||||
this.renderedTaskIds = []
|
||||
})
|
||||
document.addEventListener("click", this.foo);
|
||||
this.getSystemInfoReading();
|
||||
},
|
||||
|
|
@ -1601,25 +1604,21 @@ 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)
|
||||
const taskIdx = this.visitTaskList.findIndex(i => i.VisitTaskId === taskId)
|
||||
if (taskIdx === -1) return
|
||||
const annotations = this.visitTaskList[taskIdx].Annotations
|
||||
console.log(annotations, 'annotations')
|
||||
annotations.map(i => {
|
||||
if (i.MeasureData && !Object.hasOwn(i.MeasureData, 'isDicomReading')) {
|
||||
const annotation = i.MeasureData
|
||||
annotation.highlighted = false
|
||||
cornerstoneTools.annotation.state.addAnnotation(annotation)
|
||||
if (this.visitTaskList[taskIdx].ReadingTaskState === 2) {
|
||||
cornerstoneTools.annotation.locking.setAnnotationLocked(annotation.annotationUID)
|
||||
if ((this.readingTool === 3 && annotation.seriesId === series.Id) || this.readingTool < 3) {
|
||||
annotation.highlighted = false
|
||||
cornerstoneTools.annotation.state.addAnnotation(annotation)
|
||||
if (this.visitTaskList[taskIdx].ReadingTaskState === 2) {
|
||||
cornerstoneTools.annotation.locking.setAnnotationLocked(annotation.annotationUID)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -3706,7 +3705,7 @@ export default {
|
|||
// imageIds = this.sortImageIdsByImagePositionPatient(imageIds)
|
||||
volume = await volumeLoader.createAndCacheVolume(volumeId, { imageIds: imageIds })
|
||||
volume.load()
|
||||
}
|
||||
}
|
||||
res({ volumeId, volume })
|
||||
})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -827,7 +827,6 @@ export default {
|
|||
},
|
||||
async customPrompt() {
|
||||
try {
|
||||
console.log(annotation.state.getAllAnnotations(), 'annotation.state.getAllAnnotations()')
|
||||
const that = this
|
||||
// 请输入标记名称
|
||||
let message = this.$t('trials:reading:Segmentations:message:rename')
|
||||
|
|
@ -1139,7 +1138,6 @@ export default {
|
|||
if (toolName === 'ThresholdSphere') {
|
||||
this.setDynamicRadius()
|
||||
}
|
||||
console.log(this.brushThreshold.dynamicRadius, 'this.brushThreshold.dynamicRadius')
|
||||
},
|
||||
setDynamicRadius() {
|
||||
let volume = cache.getVolume(this.series.SeriesInstanceUid);
|
||||
|
|
|
|||
|
|
@ -282,6 +282,12 @@ export default {
|
|||
this.imageInfo.location = imagePlaneModule.sliceLocation
|
||||
this.imageInfo.total = detail.numberOfSlices
|
||||
this.getOrientationMarker()
|
||||
if (this.series && this.series.Id) {
|
||||
let annotations = cornerstoneTools.annotation.state.getAllAnnotations().filter(item => item.metadata.toolName !== 'ScaleOverlay' && item.metadata.volumeId !== this.volumeId && !item.metadata.segmentationId && item.seriesId !== this.series.Id)
|
||||
annotations.forEach(item => {
|
||||
cornerstoneTools.annotation.state.removeAnnotation(item.annotationUID)
|
||||
})
|
||||
}
|
||||
this.$emit('renderAnnotations', this.series)
|
||||
let properties = viewport.getProperties()
|
||||
if (this.isFusion) {
|
||||
|
|
@ -481,14 +487,14 @@ export default {
|
|||
async createImageIdsAndCacheMetaData(obj) {
|
||||
this.loading = true
|
||||
try {
|
||||
return await createImageIdsAndCacheMetaData({
|
||||
modality: obj.Modality,
|
||||
imageIds: obj.ImageIds
|
||||
})
|
||||
return await createImageIdsAndCacheMetaData({
|
||||
modality: obj.Modality,
|
||||
imageIds: obj.ImageIds
|
||||
})
|
||||
} finally {
|
||||
this.loading = false
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
},
|
||||
async getVolume(serie, isFusion = false) {
|
||||
return new Promise(async res => {
|
||||
let volumeId = `${isFusion ? 'fusion_' : ''}` + serie.SeriesInstanceUid;
|
||||
|
|
@ -496,8 +502,8 @@ export default {
|
|||
if (cache.getVolume(volumeId)) {
|
||||
volume = cache.getVolume(volumeId)
|
||||
} else {
|
||||
await this.createImageIdsAndCacheMetaData(serie)
|
||||
volume = await volumeLoader.createAndCacheVolume(volumeId, { imageIds: serie.ImageIds })
|
||||
let imageIds = await this.createImageIdsAndCacheMetaData(serie)
|
||||
volume = await volumeLoader.createAndCacheVolume(volumeId, { imageIds: imageIds })
|
||||
volume.load()
|
||||
}
|
||||
res({ volumeId, volume })
|
||||
|
|
@ -509,7 +515,7 @@ export default {
|
|||
if (this.series && data.Id === this.series.Id && data.Description === this.series.Description && !isLocate && !data.isLocation) {
|
||||
data.SliceIndex = this.series.SliceIndex
|
||||
}
|
||||
// console.log(data.SliceIndex)
|
||||
// console.log(data)
|
||||
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
||||
const viewport = renderingEngine.getViewport(this.viewportId)
|
||||
if (isLocate) return csUtils.jumpToSlice(viewport.element, { imageIndex: data.SliceIndex });
|
||||
|
|
|
|||
Loading…
Reference in New Issue