diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue index 2dd19acb..634c0b10 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue @@ -158,7 +158,8 @@ - + {{ $t("trials:reading:Segmentations:button:save") }} @@ -243,7 +244,7 @@
- + {{ $t("trials:reading:Segmentations:button:saveAll") }}
@@ -367,7 +368,8 @@ export default { // isDel: false, digitPlaces: 2, isloaded: false, - popoverId: null + popoverId: null, + saveLoading: false } }, mounted() { @@ -1249,36 +1251,42 @@ export default { this.drawing = true }, async calculateStatistics(indices, segmentationId, mode) { - if (!segmentation.state.getSegmentation(segmentationId)) return false - const stats = await segmentationUtils.getStatistics({ - segmentationId, - segmentIndices: indices, - mode, - }); - console.log(stats) - if (mode === 'individual') { - const segmentStats = stats; + try { + if (!segmentation.state.getSegmentation(segmentationId)) return false + this.saveLoading = true + const stats = await segmentationUtils.getStatistics({ + segmentationId, + segmentIndices: indices, + mode, + }); + console.log(stats) + if (mode === 'individual') { + const segmentStats = stats; + + for (const segmentIndex of indices) { + if (segmentStats[segmentIndex]) { + const segmentStat = segmentStats[segmentIndex]; + // console.log(segmentStat, 'segmentStat') + segmentStat.count.label = 'Voxels'; + let segmentGroup = this.segmentList.find(item => item.segmentationId === segmentationId) + if (segmentGroup) { + let segment = segmentGroup.segments.find(item => item.segmentIndex === segmentIndex) + segment.stats = segmentStat; + } - for (const segmentIndex of indices) { - if (segmentStats[segmentIndex]) { - const segmentStat = segmentStats[segmentIndex]; - // console.log(segmentStat, 'segmentStat') - segmentStat.count.label = 'Voxels'; - let segmentGroup = this.segmentList.find(item => item.segmentationId === segmentationId) - if (segmentGroup) { - let segment = segmentGroup.segments.find(item => item.segmentIndex === segmentIndex) - segment.stats = segmentStat; } - } + } else { + const items = [`Statistics on ${indices.join(', ')}`]; + const namedStats = stats; + namedStats.count.label = 'Voxels'; + } - } else { - const items = [`Statistics on ${indices.join(', ')}`]; - const namedStats = stats; - namedStats.count.label = 'Voxels'; - + this.saveLoading = false + } catch (err) { + console.log(err) + this.saveLoading = false } - }, createSegmentationRepresentation(segmentationId) { this.viewprotIds.forEach(id => {