fix: MetadataProvider number from string (#2530)
This commit is contained in:
parent
3c9f3cb273
commit
1ec40d943d
@ -189,7 +189,7 @@ class MetadataProvider {
|
||||
metadata = {
|
||||
modality: instance.Modality,
|
||||
seriesInstanceUID: instance.SeriesInstanceUID,
|
||||
seriesNumber: getNumberValues(instance.SeriesNumber),
|
||||
seriesNumber: validNumber(instance.SeriesNumber),
|
||||
studyInstanceUID: instance.StudyInstanceUID,
|
||||
seriesDate,
|
||||
seriesTime,
|
||||
@ -197,9 +197,9 @@ class MetadataProvider {
|
||||
break;
|
||||
case WADO_IMAGE_LOADER_TAGS.PATIENT_STUDY_MODULE:
|
||||
metadata = {
|
||||
patientAge: getNumberValues(instance.PatientAge),
|
||||
patientSize: getNumberValues(instance.PatientSize),
|
||||
patientWeight: getNumberValues(instance.PatientWeight),
|
||||
patientAge: validNumber(instance.PatientAge),
|
||||
patientSize: validNumber(instance.PatientSize),
|
||||
patientWeight: validNumber(instance.PatientWeight),
|
||||
};
|
||||
break;
|
||||
case WADO_IMAGE_LOADER_TAGS.IMAGE_PLANE_MODULE:
|
||||
@ -228,49 +228,50 @@ class MetadataProvider {
|
||||
|
||||
metadata = {
|
||||
frameOfReferenceUID: instance.FrameOfReferenceUID,
|
||||
rows: getNumberValues(instance.Rows),
|
||||
columns: getNumberValues(instance.Columns),
|
||||
imageOrientationPatient: getNumberValues(ImageOrientationPatient),
|
||||
rowCosines: getNumberValues(rowCosines),
|
||||
columnCosines: getNumberValues(columnCosines),
|
||||
imagePositionPatient: getNumberValues(instance.ImagePositionPatient),
|
||||
sliceThickness: getNumberValues(instance.SliceThickness),
|
||||
sliceLocation: getNumberValues(instance.SliceLocation),
|
||||
pixelSpacing: getNumberValues(PixelSpacing),
|
||||
rowPixelSpacing: getNumberValues(rowPixelSpacing),
|
||||
columnPixelSpacing: getNumberValues(columnPixelSpacing),
|
||||
rows: validNumber(instance.Rows),
|
||||
columns: validNumber(instance.Columns),
|
||||
imageOrientationPatient: validNumber(ImageOrientationPatient),
|
||||
rowCosines: validNumber(rowCosines),
|
||||
columnCosines: validNumber(columnCosines),
|
||||
imagePositionPatient: validNumber(instance.ImagePositionPatient),
|
||||
sliceThickness: validNumber(instance.SliceThickness),
|
||||
sliceLocation: validNumber(instance.SliceLocation),
|
||||
pixelSpacing: validNumber(PixelSpacing),
|
||||
rowPixelSpacing: validNumber(rowPixelSpacing),
|
||||
columnPixelSpacing: validNumber(columnPixelSpacing),
|
||||
};
|
||||
break;
|
||||
case WADO_IMAGE_LOADER_TAGS.IMAGE_PIXEL_MODULE:
|
||||
metadata = {
|
||||
samplesPerPixel: getNumberValues(instance.SamplesPerPixel),
|
||||
photometricInterpretation: getNumberValues(instance.PhotometricInterpretation),
|
||||
rows: getNumberValues(instance.Rows),
|
||||
columns: getNumberValues(instance.Columns),
|
||||
bitsAllocated: getNumberValues(instance.BitsAllocated),
|
||||
bitsStored: getNumberValues(instance.BitsStored),
|
||||
highBit: getNumberValues(instance.HighBit),
|
||||
pixelRepresentation: getNumberValues(instance.PixelRepresentation),
|
||||
planarConfiguration: getNumberValues(instance.PlanarConfiguration),
|
||||
pixelAspectRatio: getNumberValues(instance.PixelAspectRatio),
|
||||
smallestPixelValue: getNumberValues(instance.SmallestPixelValue),
|
||||
largestPixelValue: getNumberValues(instance.LargestPixelValue),
|
||||
samplesPerPixel: validNumber(instance.SamplesPerPixel),
|
||||
photometricInterpretation: validNumber(instance.PhotometricInterpretation),
|
||||
rows: validNumber(instance.Rows),
|
||||
columns: validNumber(instance.Columns),
|
||||
bitsAllocated: validNumber(instance.BitsAllocated),
|
||||
bitsStored: validNumber(instance.BitsStored),
|
||||
highBit: validNumber(instance.HighBit),
|
||||
pixelRepresentation: validNumber(instance.PixelRepresentation),
|
||||
planarConfiguration: validNumber(instance.PlanarConfiguration),
|
||||
pixelAspectRatio: validNumber(instance.PixelAspectRatio),
|
||||
smallestPixelValue: validNumber(instance.SmallestPixelValue),
|
||||
largestPixelValue: validNumber(instance.LargestPixelValue),
|
||||
redPaletteColorLookupTableDescriptor:
|
||||
getNumberValues(instance.RedPaletteColorLookupTableDescriptor),
|
||||
validNumber(instance.RedPaletteColorLookupTableDescriptor),
|
||||
greenPaletteColorLookupTableDescriptor:
|
||||
getNumberValues(instance.GreenPaletteColorLookupTableDescriptor),
|
||||
validNumber(instance.GreenPaletteColorLookupTableDescriptor),
|
||||
bluePaletteColorLookupTableDescriptor:
|
||||
getNumberValues(instance.BluePaletteColorLookupTableDescriptor),
|
||||
validNumber(instance.BluePaletteColorLookupTableDescriptor),
|
||||
redPaletteColorLookupTableData:
|
||||
getNumberValues(instance.RedPaletteColorLookupTableData),
|
||||
validNumber(instance.RedPaletteColorLookupTableData),
|
||||
greenPaletteColorLookupTableData:
|
||||
getNumberValues(instance.GreenPaletteColorLookupTableData),
|
||||
validNumber(instance.GreenPaletteColorLookupTableData),
|
||||
bluePaletteColorLookupTableData:
|
||||
getNumberValues(instance.BluePaletteColorLookupTableData),
|
||||
validNumber(instance.BluePaletteColorLookupTableData),
|
||||
};
|
||||
|
||||
break;
|
||||
case WADO_IMAGE_LOADER_TAGS.VOI_LUT_MODULE:
|
||||
debugger
|
||||
const { WindowCenter, WindowWidth } = instance;
|
||||
if (WindowCenter === undefined || WindowWidth === undefined) {
|
||||
return;
|
||||
@ -283,8 +284,8 @@ class MetadataProvider {
|
||||
: [WindowWidth];
|
||||
|
||||
metadata = {
|
||||
windowCenter: getNumberValues(windowCenter),
|
||||
windowWidth: getNumberValues(windowWidth),
|
||||
windowCenter: validNumber(windowCenter),
|
||||
windowWidth: validNumber(windowWidth),
|
||||
};
|
||||
|
||||
break;
|
||||
@ -295,8 +296,8 @@ class MetadataProvider {
|
||||
}
|
||||
|
||||
metadata = {
|
||||
rescaleIntercept: getNumberValues(instance.RescaleIntercept),
|
||||
rescaleSlope: getNumberValues(instance.RescaleSlope),
|
||||
rescaleIntercept: validNumber(instance.RescaleIntercept),
|
||||
rescaleSlope: validNumber(instance.RescaleSlope),
|
||||
rescaleType: instance.RescaleType,
|
||||
};
|
||||
break;
|
||||
@ -408,7 +409,7 @@ class MetadataProvider {
|
||||
case WADO_IMAGE_LOADER_TAGS.GENERAL_IMAGE_MODULE:
|
||||
metadata = {
|
||||
sopInstanceUid: instance.SOPInstanceUID,
|
||||
instanceNumber: getNumberValues(instance.InstanceNumber),
|
||||
instanceNumber: validNumber(instance.InstanceNumber),
|
||||
lossyImageCompression: instance.LossyImageCompression,
|
||||
lossyImageCompressionRatio: instance.LossyImageCompressionRatio,
|
||||
lossyImageCompressionMethod: instance.LossyImageCompressionMethod,
|
||||
@ -471,21 +472,13 @@ const metadataProvider = new MetadataProvider();
|
||||
* @param element - The javascript object for the specified element in the metadata
|
||||
* @returns {*}
|
||||
*/
|
||||
function getNumberValues(element) {
|
||||
if (!element) {
|
||||
return;
|
||||
const validNumber = val => {
|
||||
if (Array.isArray(val)) {
|
||||
return val.map(v => (v !== undefined ? Number(v) : v));
|
||||
} else {
|
||||
return val !== undefined ? Number(val) : val;
|
||||
}
|
||||
|
||||
if (Array.isArray(element)) {
|
||||
const values = [];
|
||||
for (let i = 0; i < element.length; i++) {
|
||||
values.push(parseFloat(element[i]));
|
||||
}
|
||||
return values;
|
||||
}
|
||||
|
||||
return parseFloat(element)
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user