Skip to content

Commit 5282db9

Browse files
committed
Convert DS and IS values to numbers
Values with these Value Representations may be represented in DICOM JSON as either a String or a Number. Convert the values to a Number for consistent behaviour across different image management systems.
1 parent 2bbd1ef commit 5282db9

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/metadata.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,21 @@ function formatMetadata(metadata) {
7373
} else if ('Value' in elements[tag]) {
7474
const value = elements[tag]['Value'];
7575
if (vr === 'SQ') {
76-
dataset[keyword] = value.map(item => {
77-
return loadJSONDataset(item);
78-
});
76+
dataset[keyword] = value.map(item => loadJSONDataset(item));
7977
} else {
8078
// Handle value multiplicity.
8179
if (value.length === 1) {
82-
dataset[keyword] = value[0];
80+
if (vr === 'DS' || vr === 'IS') {
81+
dataset[keyword] = Number(value[0]);
82+
} else {
83+
dataset[keyword] = value[0];
84+
}
8385
} else {
84-
dataset[keyword] = value;
86+
if (vr === 'DS' || vr === 'IS') {
87+
dataset[keyword] = value.map(v => Number(v));
88+
} else {
89+
dataset[keyword] = value;
90+
}
8591
}
8692
}
8793
} else {

0 commit comments

Comments
 (0)