51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
import { OHIF } from 'meteor/ohif:core';
|
|
|
|
/**
|
|
* Queries requested studies to get their metadata from PACS
|
|
* @param studiesToQuery Studies to query
|
|
* @param doneCallback Callback to call when the query is done
|
|
*/
|
|
queryStudies = function(studiesToQuery, doneCallback) {
|
|
if (studiesToQuery.length < 1) {
|
|
return;
|
|
}
|
|
|
|
var studiesQueried = [];
|
|
var numberOfStudiesToQuery = studiesToQuery.length;
|
|
|
|
OHIF.studylist.progressDialog.show("Querying Studies...", numberOfStudiesToQuery);
|
|
|
|
studiesToQuery.forEach(function(studyToQuery) {
|
|
getStudyMetadata(studyToQuery.studyInstanceUid, function(study) {
|
|
studiesQueried.push(study);
|
|
|
|
var numberOfStudiesQueried = studiesQueried.length;
|
|
|
|
OHIF.studylist.progressDialog.update(numberOfStudiesQueried);
|
|
|
|
if (numberOfStudiesQueried === numberOfStudiesToQuery) {
|
|
doneCallback(studiesQueried);
|
|
}
|
|
});
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Returns the total number of dicom files in a study
|
|
* @param study Queried study (includes metadata)
|
|
* @returns {number}
|
|
*/
|
|
getNumberOfFilesInStudy = function(study) {
|
|
var numberOFFilesToExport = 0;
|
|
|
|
study.seriesList.forEach(function(series) {
|
|
series.instances.forEach(function(instance) {
|
|
if (instance.wadouri) {
|
|
numberOFFilesToExport++;
|
|
}
|
|
});
|
|
});
|
|
|
|
return numberOFFilesToExport;
|
|
};
|