Enhance DICOM image URL handling to support standard web images without forcing wadouri scheme

This commit is contained in:
Ross
2025-11-10 11:11:00 +00:00
parent b467407e19
commit 0be605b41d
+12 -2
View File
@@ -599,10 +599,20 @@ async function setUpDicom3d(element) {
// Prepare imageIds: ensure remote URLs are usable by dicom-image-loader (wadouri:)
// but avoid forcing wadouri: for standard web images (png/jpg/etc) because
// the dicom parser will fail when given non-DICOM files. For such images
// return the raw URL so the appropriate web-image loader can handle them.
const imageIds = images.map((url) => {
url = url.trim();
// if it's already a scheme we pass through; otherwise treat as wadouri
if (/^(wadouri:|base64:|data:)/i.test(url)) return url;
// if it's already a scheme we pass through
if (/^(wadouri:|base64:|data:|http:|https:)/i.test(url)) return url;
// If the URL looks like a regular web image, don't treat it as DICOM
if (url.match(/\.(png|jpe?g|gif|bmp|webp)$/i)) {
return url;
}
// default: treat as wadouri (likely a DICOM file)
return `wadouri:${url}`;
});