From 8b3e5dffb1fc9a6d5c003124524e480cdc9ac89b Mon Sep 17 00:00:00 2001 From: Erik Ziegler Date: Thu, 11 Jul 2019 14:34:29 +0200 Subject: [PATCH] fix(filesToStudies): Improve error handling for local file viewing (#652) --- src/lib/filesToStudies.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/lib/filesToStudies.js b/src/lib/filesToStudies.js index 03d227843..8e24db30d 100644 --- a/src/lib/filesToStudies.js +++ b/src/lib/filesToStudies.js @@ -130,11 +130,19 @@ function datasetsToStudies(datasets) { export default async function filesToStudies(files) { const imagePromises = files.map(file => { const imageId = cornerstoneWADOImageLoader.wadouri.fileManager.add(file); - return cornerstone.loadAndCacheImage(imageId); + return cornerstone + .loadAndCacheImage(imageId) + .catch(error => console.warn(error)); }); const images = await Promise.all(imagePromises); - const datasets = images.map(image => { + const datasets = []; + + images.forEach(image => { + if (!image || !image.data) { + return; + } + const arrayBuffer = image.data.byteArray.buffer; const dicomData = dcmjs.data.DicomMessage.readFile(arrayBuffer); const dataset = dcmjs.data.DicomMetaDictionary.naturalizeDataset( @@ -145,7 +153,7 @@ export default async function filesToStudies(files) { ); dataset.imageId = image.imageId; - return dataset; + datasets.push(dataset); }); return datasetsToStudies(datasets);