Added support for multi-frame images (e.g. ultrasound). Updated cornerstoneTools with mouseClick bug fix
This commit is contained in:
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
|
||||
|
||||
@@ -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') {
|
||||
|
||||
Reference in new issue
Block a user