Added support for multi-frame images (e.g. ultrasound). Updated cornerstoneTools with mouseClick bug fix

This commit is contained in:
Erik Ziegler committed 2015-11-26 10:36:34 +01:00
1 parent 5010307b6e
commit 462820f0aa
4 files changed
+42 -6

No files matched your search

@@ -97,9 +97,9 @@ function loadSeriesIntoViewport(data) {
// into the viewport overlays, and to calculate reference lines and orientation markers
var series = data.series;
var numImages = series.instances.length;
var imageId;
series.instances.forEach(function(instance, imageIndex) {
var imageId = getImageId(instance);
imageIds.push(imageId);
var metaData = {
instance: instance,
series: series,
@@ -108,7 +108,20 @@ function loadSeriesIntoViewport(data) {
imageIndex: imageIndex + 1
};
addMetaData(imageId, metaData);
var numFrames = instance.numFrames;
if (numFrames > 1) {
log.info('Multiframe image detected');
for (var i = 0; i < numFrames; i++) {
metaData.frame = i;
imageId = getImageId(instance, i);
imageIds.push(imageId);
addMetaData(imageId, metaData);
}
} else {
imageId = getImageId(instance);
imageIds.push(imageId);
addMetaData(imageId, metaData);
}
});
// Define the current image stack using the newly created image IDs
+9 -2
View File
@@ -4,13 +4,20 @@
* @param instance
* @returns {string} The imageId to be used by Cornerstone
*/
getImageId = function(instance) {
getImageId = function(instance, frame) {
if (!instance) {
return;
}
if (instance.wadouri) {
return 'dicomweb:' + instance.wadouri; // WADO-URI
var imageId = 'dicomweb:' + instance.wadouri; // WADO-URI;
if (frame !== undefined) {
imageId += '&frame=' + frame;
}
return imageId;
} else {
// TODO= Check multiframe image support with WADO-RS
return getWADORSImageId(instance); // WADO-RS Retrieve Frame
}
};
@@ -104,6 +104,8 @@ function resultDataToStudyMetadata(server, studyInstanceUid, resultData) {
sourceImageInstanceUid: getSourceImageInstanceUid(instance),
laterality: DICOMWeb.getString(instance['00200062']),
viewPosition: DICOMWeb.getString(instance['00185101']),
numFrames: DICOMWeb.getNumber(instance['00280008']),
frameRate: DICOMWeb.getNumber(instance['00181063'])
};
if (server.imageRendering === 'wadouri') {