Add fallback to 2D loader in DICOM 3D setup on viewport enable failure

This commit is contained in:
Ross
2025-11-10 11:18:20 +00:00
parent 4d97e9e881
commit 72c20c13e0
+15
View File
@@ -554,7 +554,22 @@ async function setUpDicom3d(element) {
//viewportType: Enums.ViewportType.STACK, // Stack viewport for slice stacks
};
try {
renderingEngine.enableElement(viewportInput);
} catch (err) {
// Some bundlings / integrations (dv3d wrapper) may reject the provided
// viewport type (e.g. "Viewport is not a valid type"). In that case
// fall back to the 2D cornerstone loader which is more permissive.
console.warn('renderingEngine.enableElement failed, falling back to 2D loader:', err);
try {
dicomViewer.loadCornerstone($(element), null, images, undefined, images.length > 5);
element._cornerstone3d = { fallback: 'cornerstone2d', imageCount: images.length };
return element._cornerstone3d;
} catch (err2) {
console.error('2D fallback after enableElement failure also failed:', err2);
throw err;
}
}
const viewport = renderingEngine.getViewport(viewportId);