获取tag属性乱码优化
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
709063a26e
commit
8f274aad89
|
@ -36,7 +36,7 @@
|
||||||
sortable
|
sortable
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="length"
|
prop="tagLength"
|
||||||
label="Length"
|
label="Length"
|
||||||
min-width="80"
|
min-width="80"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
|
@ -96,7 +96,8 @@ export default {
|
||||||
elementObject.id = `${this.idx++}${new Date().getTime()}`
|
elementObject.id = `${this.idx++}${new Date().getTime()}`
|
||||||
elementObject.tagCode = element.tag
|
elementObject.tagCode = element.tag
|
||||||
elementObject.tagName = tag.name
|
elementObject.tagName = tag.name
|
||||||
elementObject.length = element.length
|
elementObject.tagLength = element.length
|
||||||
|
elementObject.value = ''
|
||||||
|
|
||||||
if (element.vr) {
|
if (element.vr) {
|
||||||
elementObject.vr = element.vr
|
elementObject.vr = element.vr
|
||||||
|
@ -109,19 +110,113 @@ export default {
|
||||||
this.dumpDataSet(item.dataSet, childOutput)
|
this.dumpDataSet(item.dataSet, childOutput)
|
||||||
elementObject.child.push(...childOutput)
|
elementObject.child.push(...childOutput)
|
||||||
})
|
})
|
||||||
} else if (!element.fragments) {
|
} else if (element.fragments) {
|
||||||
|
// 多帧处理
|
||||||
|
} else {
|
||||||
|
var vr
|
||||||
|
if (element.vr !== undefined) {
|
||||||
|
vr = element.vr
|
||||||
|
}
|
||||||
if (element.length < 128) {
|
if (element.length < 128) {
|
||||||
const str = dataSet.string(propertyName)
|
// const str = dataSet.string(propertyName)
|
||||||
if (this.isASCII(str) && str !== undefined) {
|
// if (elementObject.tagCode === 'x00280010') {
|
||||||
elementObject.value = str
|
// console.log(str)
|
||||||
|
// }
|
||||||
|
// const stringIsAscii = this.isASCII(str)
|
||||||
|
// if (stringIsAscii && str !== undefined) {
|
||||||
|
// elementObject.value = str
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (element.vr === undefined && tag === undefined) {
|
||||||
|
if (element.length === 2) {
|
||||||
|
elementObject.value = dataSet.uint16(propertyName)
|
||||||
|
} else if (element.length === 4) {
|
||||||
|
elementObject.value = dataSet.uint32(propertyName)
|
||||||
|
}
|
||||||
|
const str = dataSet.string(propertyName)
|
||||||
|
const stringIsAscii = this.isASCII(str)
|
||||||
|
|
||||||
|
if (stringIsAscii) {
|
||||||
|
if (str !== undefined) {
|
||||||
|
elementObject.value = str
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (element.length !== 2 && element.length !== 4) {
|
||||||
|
// elementObject.value = 'binary data'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.isStringVr(vr)) {
|
||||||
|
const str = dataSet.string(propertyName)
|
||||||
|
const stringIsAscii = this.isASCII(str)
|
||||||
|
|
||||||
|
if (stringIsAscii) {
|
||||||
|
if (str !== undefined) {
|
||||||
|
elementObject.value = str
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (element.length !== 2 && element.length !== 4) {
|
||||||
|
// elementObject.value = 'binary data'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (vr === 'US') {
|
||||||
|
let text = dataSet.uint16(propertyName)
|
||||||
|
for (let i = 1; i < dataSet.elements[propertyName].length / 2; i++) {
|
||||||
|
text += '\\' + dataSet.uint16(propertyName, i)
|
||||||
|
}
|
||||||
|
elementObject.value = text
|
||||||
|
} else if (vr === 'SS') {
|
||||||
|
let text = dataSet.int16(propertyName)
|
||||||
|
for (let i = 1; i < dataSet.elements[propertyName].length / 2; i++) {
|
||||||
|
text += '\\' + dataSet.int16(propertyName, i)
|
||||||
|
}
|
||||||
|
elementObject.value = text
|
||||||
|
} else if (vr === 'UL') {
|
||||||
|
let text = dataSet.uint32(propertyName)
|
||||||
|
for (let i = 1; i < dataSet.elements[propertyName].length / 4; i++) {
|
||||||
|
text += '\\' + dataSet.uint32(propertyName, i)
|
||||||
|
}
|
||||||
|
elementObject.value = text
|
||||||
|
} else if (vr === 'SL') {
|
||||||
|
let text = dataSet.int32(propertyName)
|
||||||
|
for (let i = 1; i < dataSet.elements[propertyName].length / 4; i++) {
|
||||||
|
text += '\\' + dataSet.int32(propertyName, i)
|
||||||
|
}
|
||||||
|
elementObject.value = text
|
||||||
|
} else if (vr === 'FD') {
|
||||||
|
let text = dataSet.double(propertyName)
|
||||||
|
for (let i = 1; i < dataSet.elements[propertyName].length / 8; i++) {
|
||||||
|
text += '\\' + dataSet.double(propertyName, i)
|
||||||
|
}
|
||||||
|
elementObject.value = text
|
||||||
|
} else if (vr === 'FL') {
|
||||||
|
let text = dataSet.float(propertyName)
|
||||||
|
for (let i = 1; i < dataSet.elements[propertyName].length / 4; i++) {
|
||||||
|
text += '\\' + dataSet.float(propertyName, i)
|
||||||
|
}
|
||||||
|
elementObject.value = text
|
||||||
|
} else if (vr === 'OB' || vr === 'OW' || vr === 'UN' || vr === 'OF' || vr === 'UT') {
|
||||||
|
if (element.length === 2) {
|
||||||
|
elementObject.value = dataSet.uint16(propertyName)
|
||||||
|
} else if (element.length === 4) {
|
||||||
|
elementObject.value = dataSet.uint32(propertyName)
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
} else if (vr === 'AT') {
|
||||||
|
// var group = dataSet.uint16(propertyName, 0);
|
||||||
|
// var groupHexStr = ("0000" + group.toString(16)).substr(-4);
|
||||||
|
// var element = dataSet.uint16(propertyName, 1);
|
||||||
|
// var elementHexStr = ("0000" + element.toString(16)).substr(-4);
|
||||||
|
// text += "x" + groupHexStr + elementHexStr;
|
||||||
|
} else if (vr === 'SQ') {
|
||||||
|
} else {
|
||||||
|
// no display code for VR yet, sorry!
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (elementObject.child.length === 0) {
|
|
||||||
elementObject.child = null
|
|
||||||
}
|
|
||||||
|
|
||||||
output.push(elementObject)
|
output.push(elementObject)
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
@ -139,12 +234,6 @@ export default {
|
||||||
var attr = TAG_DICT[tagIndex]
|
var attr = TAG_DICT[tagIndex]
|
||||||
return attr
|
return attr
|
||||||
},
|
},
|
||||||
imageFrameLink(frameIndex) {
|
|
||||||
var linkText = "<a class='imageFrameDownload' "
|
|
||||||
linkText += "data-frameIndex='" + frameIndex + "'"
|
|
||||||
linkText += " href='#'> Frame #" + frameIndex + '</a>'
|
|
||||||
return linkText
|
|
||||||
},
|
|
||||||
isASCII(str) {
|
isASCII(str) {
|
||||||
return /^[\x00-\x7F]*$/.test(str)
|
return /^[\x00-\x7F]*$/.test(str)
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue