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
|
// Subscribe LesionMeasurementCreated
|
||||||
$(element).trigger("LesionMeasurementCreated");
|
$(element).trigger("LesionMeasurementCreated");
|
||||||
|
|
||||||
|
console.log(mouseEventData.image.imageId);
|
||||||
// create the measurement data for this tool with the end handle activated
|
// create the measurement data for this tool with the end handle activated
|
||||||
var measurementData = {
|
var measurementData = {
|
||||||
visible : true,
|
visible : true,
|
||||||
@ -64,6 +65,7 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
index: lineIndex,
|
index: lineIndex,
|
||||||
|
imageId: mouseEventData.image.imageId,
|
||||||
measurementText: "",
|
measurementText: "",
|
||||||
linkedTextCoords: {
|
linkedTextCoords: {
|
||||||
start : {
|
start : {
|
||||||
@ -242,12 +244,11 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
|||||||
|
|
||||||
///////// END IMAGE RENDERING ///////
|
///////// END IMAGE RENDERING ///////
|
||||||
|
|
||||||
//This function is called from cornerstone-viewport.html and updates lesion measurement and makes the lesion active
|
function activateLesion(e, eventObject) {
|
||||||
function measurementModified(e, eventObject){
|
|
||||||
var start = new Date();
|
var start = new Date();
|
||||||
|
|
||||||
var enabledElement = eventObject.enabledElement;
|
var enabledElement = eventObject.enabledElement;
|
||||||
var lineIndex = eventObject.lineIndex;
|
var lesionNumber = eventObject.lesionData.lesionNumber;
|
||||||
var type = eventObject.type;
|
var type = eventObject.type;
|
||||||
|
|
||||||
// if we have no toolData for this element, return immediately as there is nothing to do
|
// 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];
|
var data = toolData.data[i];
|
||||||
|
|
||||||
//When click a row of table measurements, measurement will be active and color will be green
|
//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;
|
data.visible = false;
|
||||||
deletedDataIndex = i;
|
deletedDataIndex = i;
|
||||||
}
|
}
|
||||||
@ -276,9 +277,8 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
|||||||
} else {
|
} else {
|
||||||
for (var i = 0; i < toolData.data.length; i++) {
|
for (var i = 0; i < toolData.data.length; i++) {
|
||||||
var data = toolData.data[i];
|
var data = toolData.data[i];
|
||||||
|
|
||||||
//When click a row of table measurements, measurement will be active and color will be green
|
//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;
|
data.active = true;
|
||||||
} else{
|
} else{
|
||||||
data.active = false;
|
data.active = false;
|
||||||
@ -303,7 +303,7 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
|||||||
canvasContext: context,
|
canvasContext: context,
|
||||||
measurementText: "",
|
measurementText: "",
|
||||||
renderTimeInMs : diff,
|
renderTimeInMs : diff,
|
||||||
lineIndex : lineIndex,
|
lesionNumber : lesionNumber,
|
||||||
type : type //Holds image will be deleted or active
|
type : type //Holds image will be deleted or active
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -312,6 +312,24 @@ var cornerstoneTools = (function ($, cornerstone, cornerstoneMath, cornerstoneTo
|
|||||||
onImageRendered(e, eventData);
|
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
|
// module exports
|
||||||
cornerstoneTools.lesion = cornerstoneTools.mouseButtonTool({
|
cornerstoneTools.lesion = cornerstoneTools.mouseButtonTool({
|
||||||
createNewMeasurement : createNewMeasurement,
|
createNewMeasurement : createNewMeasurement,
|
||||||
|
|||||||
@ -69,6 +69,7 @@ var measurementManagerDAL = (function () {
|
|||||||
var lesionDataCollectionObject = {
|
var lesionDataCollectionObject = {
|
||||||
lesionNumber: lesionData.lesionNumber,
|
lesionNumber: lesionData.lesionNumber,
|
||||||
isTarget: true,
|
isTarget: true,
|
||||||
|
imageId: lesionData.imageId,
|
||||||
locationUID: lesionData.locationUID,
|
locationUID: lesionData.locationUID,
|
||||||
location: getLocationName(lesionData.locationUID),
|
location: getLocationName(lesionData.locationUID),
|
||||||
timepoints: timepointsArr
|
timepoints: timepointsArr
|
||||||
|
|||||||
@ -20,7 +20,6 @@
|
|||||||
{{ >lesionTableRow }}
|
{{ >lesionTableRow }}
|
||||||
{{ /each }}
|
{{ /each }}
|
||||||
|
|
||||||
|
|
||||||
<!--Each measurement as row-->
|
<!--Each measurement as row-->
|
||||||
<!--Each time point as a column-->
|
<!--Each time point as a column-->
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@ -21,6 +21,7 @@ Template.lesionTable.helpers({
|
|||||||
});
|
});
|
||||||
|
|
||||||
Template.lesionTable.onRendered(function() {
|
Template.lesionTable.onRendered(function() {
|
||||||
|
|
||||||
var contentId = this.data.contentId;
|
var contentId = this.data.contentId;
|
||||||
var viewportColumns = ViewerData[contentId].viewportColumns;
|
var viewportColumns = ViewerData[contentId].viewportColumns;
|
||||||
var viewportRows = ViewerData[contentId].viewportRows;
|
var viewportRows = ViewerData[contentId].viewportRows;
|
||||||
@ -59,6 +60,28 @@ Template.lesionTable.onRendered(function() {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Template.lesionTable.onCreated(function() {
|
Template.lesionTable.events({
|
||||||
this.timepointNamesDictionary = new ReactiveDict();
|
'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">
|
<template name="lesionTableRow">
|
||||||
<tr class="lesionTableRow">
|
<tr id="{{lesionData.lesionNumber}}" class="lesionTableRow">
|
||||||
<td class='lesionNumber'>{{lesionData.lesionNumber}}</td>
|
<td class='lesionNumber'>{{lesionData.lesionNumber}}</td>
|
||||||
<td class='location'>{{lesionData.location}}</td>
|
<td class='location'>{{lesionData.location}}</td>
|
||||||
<td class='target'>{{#if lesionData.isTarget}} Y {{else}} N {{/if}}</td>
|
<td class='target'>{{#if lesionData.isTarget}} Y {{else}} N {{/if}}</td>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user