Added ViewerBaseStudyLoaded event and source image uid to instance retrieval

This commit is contained in:
Erik Ziegler 2015-11-16 11:02:21 +01:00
parent 3f835197e6
commit a3817e4d4e
4 changed files with 33 additions and 13 deletions

View File

@ -34,7 +34,7 @@ Router.route('/viewer/:_id', {
// Check if this study is already loaded in a tab
// If it is, stop here so we don't keep adding tabs on hot-code reloads
var tab = tabs.find({'studyInstanceUid' : studyInstanceUid}).fetch();
var tab = tabs.find({studyInstanceUid: studyInstanceUid}).fetch();
if (tab) {
return;
}

View File

@ -144,18 +144,18 @@ function loadSeriesIntoViewport(data) {
var endLoadingHandler = cornerstoneTools.loadHandlerManager.getEndLoadHandler();
var errorLoadingHandler = cornerstoneTools.loadHandlerManager.getErrorLoadingHandler();
// Fire an event to give notice that a new series was loaded in the viewport
var eventType = "ViewerBaseSeriesLoaded";
var eventData = {
element: element,
stack: stack,
study: data.study,
series: data.series
};
$(document).trigger(eventType, eventData);
// Start loading the image.
cornerstone.loadAndCacheImage(imageId).then(function(image) {
// Fire an event to give notice that a new series was loaded in the viewport
var eventType = "ViewerBaseSeriesLoaded";
var eventData = {
element: element,
stack: stack,
study: data.study,
series: data.series
};
$(document).trigger(eventType, eventData);
// If there is a saved object containing Cornerstone viewport data
// (e.g. scale, invert, window settings) in the input data, apply it now.
//

View File

@ -1,3 +1,14 @@
Template.imageViewerViewports.onRendered(function() {
this.autorun(function() {
var studies = Session.get('studies');
var eventType = "ViewerBaseStudyLoaded";
var eventData = {
studies: studies
};
$(document).trigger(eventType, eventData);
});
});
Template.imageViewerViewports.helpers({
height: function() {
var viewportRows = this.viewportRows || 1;

View File

@ -1,10 +1,18 @@
function buildUrl(server, studyInstanceUid) {
var url = server.wadoRoot + '/studies/' + studyInstanceUid + '/metadata';
return url;
}
function getSourceImageInstanceUid(instance) {
// TODO= Parse the whole Source Image Sequence
// This is a really poor workaround for now.
// Later we should probably parse the whole sequence.
var SourceImageSequence = instance['00082112'];
if (SourceImageSequence && SourceImageSequence.Value && SourceImageSequence.Value.length) {
return SourceImageSequence.Value[0]['00081155'].Value[0];
}
}
function resultDataToStudyMetadata(server, studyInstanceUid, resultData) {
var seriesMap = {};
var seriesList = [];
@ -69,6 +77,7 @@ function resultDataToStudyMetadata(server, studyInstanceUid, resultData) {
windowWidth: DICOMWeb.getString(instance['00281051']),
rescaleIntercept: DICOMWeb.getNumber(instance['00281052']),
rescaleSlope: DICOMWeb.getNumber(instance['00281053']),
sourceImageInstanceUid: getSourceImageInstanceUid(instance)
};
if (server.imageRendering === 'wadouri') {