From f6a8b62a08292c5177511522f7a61b737ce2376d Mon Sep 17 00:00:00 2001 From: Ross Date: Thu, 21 Jan 2021 19:03:44 +0000 Subject: [PATCH] . --- anatomy/static/js/anatomy.js | 157 +++++++++--------- anatomy/templates/anatomy/exam.html | 2 +- anatomy/templates/anatomy/mark.html | 2 +- .../templates/anatomy/question_detail.html | 2 +- .../templates/rapids/rapid_display_block.html | 1 + 5 files changed, 87 insertions(+), 77 deletions(-) diff --git a/anatomy/static/js/anatomy.js b/anatomy/static/js/anatomy.js index 5787bca7..2cdfbce7 100644 --- a/anatomy/static/js/anatomy.js +++ b/anatomy/static/js/anatomy.js @@ -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); + + + }); + } \ No newline at end of file diff --git a/anatomy/templates/anatomy/exam.html b/anatomy/templates/anatomy/exam.html index 5a72776e..fb8b66ec 100644 --- a/anatomy/templates/anatomy/exam.html +++ b/anatomy/templates/anatomy/exam.html @@ -41,7 +41,7 @@
-
+
{% csrf_token %} diff --git a/anatomy/templates/anatomy/mark.html b/anatomy/templates/anatomy/mark.html index d6fb095c..6aecbf83 100644 --- a/anatomy/templates/anatomy/mark.html +++ b/anatomy/templates/anatomy/mark.html @@ -5,7 +5,7 @@ Edit Admin Edit

{{ question.question_type }}

-
+
{% csrf_token %} diff --git a/anatomy/templates/anatomy/question_detail.html b/anatomy/templates/anatomy/question_detail.html index ec545e1b..3e930cdb 100644 --- a/anatomy/templates/anatomy/question_detail.html +++ b/anatomy/templates/anatomy/question_detail.html @@ -15,7 +15,7 @@
{% endif %} -
+
diff --git a/rapids/templates/rapids/rapid_display_block.html b/rapids/templates/rapids/rapid_display_block.html index 6dcaf85f..2caf7259 100755 --- a/rapids/templates/rapids/rapid_display_block.html +++ b/rapids/templates/rapids/rapid_display_block.html @@ -12,6 +12,7 @@ {% for image in rapid.images.all %} Image {{ forloop.counter }}{% if image.feedback_image %} [feedback image]{% endif %}:
+
{% endfor %}

Feedback: {{ rapid.feedback }}

Author(s): {% for author in rapid.author.all %}