Bringing series into viewport ( work-in-progress)

This commit is contained in:
Evren Ozkan committed 2015-11-19 23:44:07 -05:00
1 parent 652144932f
commit b28e84076f
3 files changed
+61 -9

No files matched your search

@@ -4,6 +4,8 @@ function updateLesions(e) {
var lesionNumber = parseInt($(e.currentTarget).attr("id"), 10);
// TODO= Clarify this
// Get Target column value
// Search and update data according to target type
var isTarget = $(e.currentTarget).find('td').eq(2).html().trim() === 'N'?false:true;
// Find data for specific lesion
@@ -23,7 +25,12 @@ function updateLesions(e) {
// from the DOM itself. This will be changed later when a
// real association between viewports and timepoints is created.
var enabledElement = cornerstone.getEnabledElement(element);
if (!enabledElement) {
return;
}
var study = cornerstoneTools.metaData.get('study', enabledElement.image.imageId);
var series = cornerstoneTools.metaData.get('series', enabledElement.image.imageId);
var timepoint = Timepoints.findOne({timepointName: study.date});
if (!timepoint) {
return;
@@ -32,21 +39,40 @@ function updateLesions(e) {
var timepointObject = timepoints[timepointID];
// TODO: Bring series in correct imageViewport
if (timepointObject.seriesInstanceUid !== series.instanceUid) {
console.log("not in same series");
var newSeriesData = {
seriesInstanceUid: timepointObject.seriesInstanceUid,
studyInstanceUid: timepointObject.studyInstanceUid
};
// Rerender the viewport using the drag and drop data
rerenderViewportWithNewSeries(element, newSeriesData);
}
// Defines event data
var eventData = {
enabledElement: cornerstone.getEnabledElement(element),
lesionData: {
isTarget: isTarget,
lesionNumber: lesionNumber,
imageId: timepointObject.imageId
imageId: timepointObject.imageId,
seriesInstanceUid: timepointObject.seriesInstanceUid,
studyInstanceUid: timepointObject.studyInstanceUid
},
type: "active"
};
// When measurement column is null, deactivate other measurements in the enabledElement
if (timepointObject.longestDiameter === "") {
eventData.type = "inactive";
}
// If isTarget = false, this measurement is nonTarget measurement
// Activate related nonTarget measurement
// Deactivate all target measurements to activate only nonTarget measurement
if (!isTarget) {
$(element).trigger("NonTargetToolSelected", eventData);
@@ -55,10 +81,15 @@ function updateLesions(e) {
$(element).trigger("LesionToolSelected", eventData);
return;
}
// Trigger event for target measurements
$(element).trigger("LesionToolSelected", eventData);
// Deactivate nonTarget tool measurements
eventData.type = "inactive";
// Triggger event for nonTarget measurements
// Inactivate all nonTarget measurements if any measurement is active
$(element).trigger("NonTargetToolSelected", eventData);
});