This commit is contained in:
Ross
2021-01-21 19:03:44 +00:00
parent d592b651d9
commit f6a8b62a08
5 changed files with 87 additions and 77 deletions
+83 -74
View File
@@ -39,82 +39,13 @@ $(document).ready(function () {
});
}
if ($("#dicom-image").length) {
dicom_images = document.getElementsByClassName("dicom-image");
if (dicom_images.length) {
console.log("Dicom element found ", $("#dicom-image"));
for (let element of dicom_images) {
setUpDicom(element)
}
$('#dicom-image').bind('contextmenu', function (e) {
return false;
});
cornerstoneBase64ImageLoader.external.cornerstone = cornerstone;
cornerstoneWebImageLoader.external.cornerstone = cornerstone;
cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
cornerstoneTools.init();
const PanTool = cornerstoneTools.PanTool;
const ZoomTool = cornerstoneTools.ZoomTool;
const ZoomMouseWheelTool = cornerstoneTools.ZoomMouseWheelTool;
const WwwcTool = cornerstoneTools.WwwcTool;
const WwwcRegionTool = cornerstoneTools.WwwcRegionTool;
const RotateTool = cornerstoneTools.RotateTool;
const StackScrollTool = cornerstoneTools.StackScrollTool;
const MagnifyTool = cornerstoneTools.MagnifyTool;
const ArrowAnnotateTool = cornerstoneTools.ArrowAnnotateTool;
const element = document.getElementById('dicom-image');
const imageId = element.dataset.url;
console.log("Dicom - load imageId: ", imageId);
cornerstone.enable(element);
cornerstone.loadAndCacheImage(imageId).then(function (image) {
cornerstone.displayImage(element, image);
cornerstoneTools.addTool(PanTool);
cornerstoneTools.addTool(ZoomTool);
cornerstoneTools.addTool(ZoomMouseWheelTool);
cornerstoneTools.addTool(WwwcTool);
cornerstoneTools.addTool(WwwcRegionTool);
cornerstoneTools.addTool(RotateTool);
cornerstoneTools.addTool(StackScrollTool);
cornerstoneTools.addTool(MagnifyTool);
cornerstoneTools.addTool(ArrowAnnotateTool, {
configuration: {
getTextCallback: () => { },
changeTextCallback: () => { },
allowEmptyLabel: true,
renderDashed: false,
drawHandles: false,
drawHandlesOnHover: true,
},
});
// Enable our tools
// Avoid incorrect aspect ratio
cornerstoneTools.setToolActive("Pan", { mouseButtonMask: 1 });
cornerstoneTools.setToolActive("Wwwc", { mouseButtonMask: 2 });
cornerstoneTools.setToolActive("ZoomMouseWheel", { mouseButtonMask: 3 });
cornerstoneTools.setToolActive("Zoom", { mouseButtonMask: 4 });
if (element.dataset.edit_annotation == "true") {
cornerstoneTools.setToolActive("ArrowAnnotate", { mouseButtonMask: 2 });
} else {
cornerstoneTools.setToolEnabled("ArrowAnnotate");
}
if (element.dataset.annotations) {
loadJsonToolStateOnCurrentImage(element.dataset.annotations)
}
cornerstone.resize(element);
});
}
if ($("#question-mark-list").length) {
@@ -207,4 +138,82 @@ function loadJsonToolStateOnCurrentImage(json) {
return tool_state;
}
setUpDicom(element) {
console.log("Dicom element found ", $(element));
$(element).bind('contextmenu', function (e) {
return false;
});
cornerstoneBase64ImageLoader.external.cornerstone = cornerstone;
cornerstoneWebImageLoader.external.cornerstone = cornerstone;
cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
cornerstoneTools.init();
const PanTool = cornerstoneTools.PanTool;
const ZoomTool = cornerstoneTools.ZoomTool;
const ZoomMouseWheelTool = cornerstoneTools.ZoomMouseWheelTool;
const WwwcTool = cornerstoneTools.WwwcTool;
const WwwcRegionTool = cornerstoneTools.WwwcRegionTool;
const RotateTool = cornerstoneTools.RotateTool;
const StackScrollTool = cornerstoneTools.StackScrollTool;
const MagnifyTool = cornerstoneTools.MagnifyTool;
const ArrowAnnotateTool = cornerstoneTools.ArrowAnnotateTool;
const imageId = element.dataset.url;
console.log("Dicom - load imageId: ", imageId);
cornerstone.enable(element);
cornerstone.loadAndCacheImage(imageId).then(function (image) {
cornerstone.displayImage(element, image);
cornerstoneTools.addTool(PanTool);
cornerstoneTools.addTool(ZoomTool);
cornerstoneTools.addTool(ZoomMouseWheelTool);
cornerstoneTools.addTool(WwwcTool);
cornerstoneTools.addTool(WwwcRegionTool);
cornerstoneTools.addTool(RotateTool);
cornerstoneTools.addTool(StackScrollTool);
cornerstoneTools.addTool(MagnifyTool);
cornerstoneTools.addTool(ArrowAnnotateTool, {
configuration: {
getTextCallback: () => { },
changeTextCallback: () => { },
allowEmptyLabel: true,
renderDashed: false,
drawHandles: false,
drawHandlesOnHover: true,
},
});
// Enable our tools
// Avoid incorrect aspect ratio
cornerstoneTools.setToolActive("Pan", { mouseButtonMask: 1 });
cornerstoneTools.setToolActive("Wwwc", { mouseButtonMask: 2 });
cornerstoneTools.setToolActive("ZoomMouseWheel", { mouseButtonMask: 3 });
cornerstoneTools.setToolActive("Zoom", { mouseButtonMask: 4 });
if (element.dataset.edit_annotation == "true") {
cornerstoneTools.setToolActive("ArrowAnnotate", { mouseButtonMask: 2 });
} else {
cornerstoneTools.setToolEnabled("ArrowAnnotate");
}
if (element.dataset.annotations) {
loadJsonToolStateOnCurrentImage(element.dataset.annotations)
}
cornerstone.resize(element);
});
}