diff --git a/static/js/dicomViewer.js b/static/js/dicomViewer.js index da98640c..b176ae2c 100644 --- a/static/js/dicomViewer.js +++ b/static/js/dicomViewer.js @@ -15,7 +15,6 @@ cornerstoneTools.init({ let tool_state = {}; - export function loadCornerstone(main_element, db, images, annotations_to_load, load_as_stack = false) { // canvas-panel holds the enabled elements and all tools / menus const canvas_panel = $("
"); @@ -982,10 +981,11 @@ function loadCornerstoneMainImage(element, image, stack, db, load_as_stack) { loadAltDicomInterface(db); element.addEventListener("cornerstoneimagerendered", onImageRendered); + element.addEventListener("cornerstonenewimage", onNewImage); //element.addEventListener("cornerstonetoolskeydown", keyDownHandler); //setDicomCanvasNonFullscreen(element); - cornerstone.reset(element); + cornerstone.reset(element); //element.scrollIntoView(false); //element.scrollTo(0); @@ -1021,7 +1021,9 @@ function loadCornerstoneMainImage(element, image, stack, db, load_as_stack) { $(element).on("mouseup", function (event) { console.log(event) - if (event.which == 4) { getNextAnnotationImage(element)} + if (event.which == 4) { + getNextAnnotationImage(element) + } $(".magnifyTool").hide(); }); } @@ -1062,6 +1064,44 @@ async function loadAltDicomInterface(db) { }); } +function onNewImage(e) { + let dataSet = e.detail.image.data; + let accession_number = dataSet.string('x00080050').toLowerCase(); + let patient_id = dataSet.string('x00100020').toLowerCase(); + + let not_anon = false; + + let site_codes = ["ref", "rk9", "ra9", "rh8", "rbz", "rba"] + + for (let i = 0; i < site_codes.length; i++) { + if ( + accession_number.startsWith(site_codes[i]) || + patient_id.startsWith(site_codes[i])) { + not_anon = true; + } + } + + if (not_anon) { + toastr.warning(`File does not appear to be annonymised
Accession: ${accession_number}
Patient ID: ${patient_id}
`, 'Anonymisation warning', { + "closeButton": false, + "debug": false, + "newestOnTop": false, + "progressBar": false, + "positionClass": "toast-top-full-width", + "preventDuplicates": false, + "onclick": null, + "showDuration": "0", + "hideDuration": "0", + "timeOut": 0, + "extendedTimeOut": 0, + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut", + }); + } +} + // Called when the dicom image is loaded / rendered function onImageRendered(e) { const eventData = e.detail;