more improvements ot image annotatiotns
This commit is contained in:
@@ -125,7 +125,7 @@ button a {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#dicom-element {
|
||||
#dicom-image {
|
||||
width: 60%;
|
||||
float: left;
|
||||
height: 600px;
|
||||
|
||||
@@ -36,6 +36,8 @@ $(document).ready(function () {
|
||||
|
||||
if($("#dicom-image").length) {
|
||||
|
||||
console.log("Dicom element found ", $("#dicom-image"));
|
||||
|
||||
$('#dicom-image').bind('contextmenu', function(e) {
|
||||
return false;
|
||||
});
|
||||
@@ -53,7 +55,7 @@ cornerstoneTools.init();
|
||||
const RotateTool = cornerstoneTools.RotateTool;
|
||||
const StackScrollTool = cornerstoneTools.StackScrollTool;
|
||||
const MagnifyTool = cornerstoneTools.MagnifyTool;
|
||||
|
||||
const ArrowAnnotateTool = cornerstoneTools.ArrowAnnotateTool;
|
||||
|
||||
|
||||
const element = document.getElementById('dicom-image');
|
||||
@@ -71,14 +73,40 @@ cornerstone.loadAndCacheImage(imageId).then(function(image) {
|
||||
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
|
||||
cornerstone.resize(element);
|
||||
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);
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -132,3 +160,44 @@ function prepAnswerData() {
|
||||
})
|
||||
$("#id_marked_answers").val(JSON.stringify(window.marked_answers));
|
||||
}
|
||||
|
||||
function getJsonToolStateNoId() {
|
||||
const el = document.getElementById("dicom-image");
|
||||
|
||||
const c = cornerstone.getEnabledElement(el);
|
||||
|
||||
const toolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager;
|
||||
|
||||
const image_id = c.image.imageId;
|
||||
|
||||
const state_with_id = toolStateManager.saveToolState()
|
||||
|
||||
const json_tool_state = JSON.stringify(state_with_id[image_id]);
|
||||
|
||||
return json_tool_state;
|
||||
|
||||
}
|
||||
|
||||
|
||||
function loadJsonToolStateOnCurrentImage(json) {
|
||||
let el = document.getElementById("dicom-image");
|
||||
|
||||
const toolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager;
|
||||
|
||||
const c = cornerstone.getEnabledElement(el);
|
||||
|
||||
let image_id = c.image.imageId;
|
||||
|
||||
let tool_state_no_id = JSON.parse(json);
|
||||
|
||||
let tool_state = {};
|
||||
tool_state[image_id] = tool_state_no_id;
|
||||
|
||||
toolStateManager.restoreToolState(tool_state);
|
||||
|
||||
cornerstone.reset(el);
|
||||
|
||||
return tool_state;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user