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