select lesion from lesion table and show its image(has some bugs)
This commit is contained in:
parent
4968fc1811
commit
eac9669aa4
@ -45,6 +45,7 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
||||
// Subscribe LesionMeasurementCreated
|
||||
$(element).trigger("LesionMeasurementCreated");
|
||||
|
||||
console.log(mouseEventData.image.imageId);
|
||||
// create the measurement data for this tool with the end handle activated
|
||||
var measurementData = {
|
||||
visible : true,
|
||||
@ -64,6 +65,7 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
||||
}
|
||||
},
|
||||
index: lineIndex,
|
||||
imageId: mouseEventData.image.imageId,
|
||||
measurementText: "",
|
||||
linkedTextCoords: {
|
||||
start : {
|
||||
@ -242,12 +244,11 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
||||
|
||||
///////// END IMAGE RENDERING ///////
|
||||
|
||||
//This function is called from cornerstone-viewport.html and updates lesion measurement and makes the lesion active
|
||||
function measurementModified(e, eventObject){
|
||||
function activateLesion(e, eventObject) {
|
||||
var start = new Date();
|
||||
|
||||
var enabledElement = eventObject.enabledElement;
|
||||
var lineIndex = eventObject.lineIndex;
|
||||
var lesionNumber = eventObject.lesionData.lesionNumber;
|
||||
var type = eventObject.type;
|
||||
|
||||
// if we have no toolData for this element, return immediately as there is nothing to do
|
||||
@ -264,7 +265,7 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
||||
var data = toolData.data[i];
|
||||
|
||||
//When click a row of table measurements, measurement will be active and color will be green
|
||||
if (data.index === eventObject.lineIndex && eventObject.type !== "active") {
|
||||
if (data.lesionNumber === eventObject.lesionNumber && eventObject.type !== "active") {
|
||||
data.visible = false;
|
||||
deletedDataIndex = i;
|
||||
}
|
||||
@ -276,9 +277,8 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
||||
} else {
|
||||
for (var i = 0; i < toolData.data.length; i++) {
|
||||
var data = toolData.data[i];
|
||||
|
||||
//When click a row of table measurements, measurement will be active and color will be green
|
||||
if (data.index === eventObject.lineIndex && eventObject.type === "active") {
|
||||
if (data.lesionNumber === eventObject.lesionData.lesionNumber && eventObject.type === "active") {
|
||||
data.active = true;
|
||||
} else{
|
||||
data.active = false;
|
||||
@ -303,7 +303,7 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
||||
canvasContext: context,
|
||||
measurementText: "",
|
||||
renderTimeInMs : diff,
|
||||
lineIndex : lineIndex,
|
||||
lesionNumber : lesionNumber,
|
||||
type : type //Holds image will be deleted or active
|
||||
};
|
||||
|
||||
@ -312,6 +312,24 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
||||
onImageRendered(e, eventData);
|
||||
}
|
||||
|
||||
|
||||
function loadImage(e, eventObject) {
|
||||
var stackToolDataSource = cornerstoneTools.getToolState(e.currentTarget, 'stack');
|
||||
var stackData = stackToolDataSource.data[0];
|
||||
var imageIdsArr = stackData.imageIds;
|
||||
var indexOfImage = imageIdsArr.indexOf(eventObject.lesionData.imageId);
|
||||
cornerstone.loadAndCacheImage(stackData.imageIds[indexOfImage]).then(function(image) {
|
||||
cornerstone.displayImage(eventObject.enabledElement.element,image);
|
||||
activateLesion(e, eventObject);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//This function is called from cornerstone-viewport.html and updates lesion measurement and makes the lesion active
|
||||
function measurementModified(e, eventObject){
|
||||
loadImage(e,eventObject);
|
||||
}
|
||||
|
||||
// module exports
|
||||
cornerstoneTools.lesion = cornerstoneTools.mouseButtonTool({
|
||||
createNewMeasurement : createNewMeasurement,
|
||||
|
||||
@ -69,6 +69,7 @@ var measurementManagerDAL = (function () {
|
||||
var lesionDataCollectionObject = {
|
||||
lesionNumber: lesionData.lesionNumber,
|
||||
isTarget: true,
|
||||
imageId: lesionData.imageId,
|
||||
locationUID: lesionData.locationUID,
|
||||
location: getLocationName(lesionData.locationUID),
|
||||
timepoints: timepointsArr
|
||||
|
||||
@ -20,7 +20,6 @@
|
||||
{{ >lesionTableRow }}
|
||||
{{ /each }}
|
||||
|
||||
|
||||
<!--Each measurement as row-->
|
||||
<!--Each time point as a column-->
|
||||
</tbody>
|
||||
|
||||
@ -21,6 +21,7 @@ Template.lesionTable.helpers({
|
||||
});
|
||||
|
||||
Template.lesionTable.onRendered(function() {
|
||||
|
||||
var contentId = this.data.contentId;
|
||||
var viewportColumns = ViewerData[contentId].viewportColumns;
|
||||
var viewportRows = ViewerData[contentId].viewportRows;
|
||||
@ -59,6 +60,28 @@ Template.lesionTable.onRendered(function() {
|
||||
|
||||
});
|
||||
|
||||
Template.lesionTable.onCreated(function() {
|
||||
this.timepointNamesDictionary = new ReactiveDict();
|
||||
Template.lesionTable.events({
|
||||
'click table#tblLesion tbody tr': function(e, template) {
|
||||
|
||||
// lesionNumber of measurement = id of row
|
||||
var lesionNumber = parseInt($(e.currentTarget).attr("id"));
|
||||
// TODO: Get all imageViewport elements in content
|
||||
var contentId = Session.get("activeContentId");
|
||||
var measurementData = Measurements.find({contentId:contentId,"lesionData.lesionNumber":lesionNumber}).fetch();
|
||||
var lesionData = measurementData[0].lesionData;
|
||||
console.log(lesionData);
|
||||
var imageViewportElements = $("#"+contentId).find(".imageViewerViewport");
|
||||
for( var i=0; i< imageViewportElements.length; i++) {
|
||||
var imageViewportElement = imageViewportElements[i];
|
||||
var eventObject = {
|
||||
enabledElement: cornerstone.getEnabledElement(imageViewportElement),
|
||||
lesionData: {lesionNumber: lesionNumber, imageId: lesionData.imageId},
|
||||
type: "active"
|
||||
};
|
||||
$(imageViewportElement).trigger("LesionToolModified", eventObject);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template name="lesionTableRow">
|
||||
<tr class="lesionTableRow">
|
||||
<tr id="{{lesionData.lesionNumber}}" class="lesionTableRow">
|
||||
<td class='lesionNumber'>{{lesionData.lesionNumber}}</td>
|
||||
<td class='location'>{{lesionData.location}}</td>
|
||||
<td class='target'>{{#if lesionData.isTarget}} Y {{else}} N {{/if}}</td>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user