LT-73 Move queryStudies used to get study metadata from exportStudies to lib as a global function
This commit is contained in:
parent
e277c4b484
commit
e97e72944f
@ -9,28 +9,14 @@ exportStudies = function(studiesToExport) {
|
||||
return;
|
||||
}
|
||||
|
||||
var studiesQueried = [];
|
||||
var numberOfStudiesToQuery = studiesToExport.length;
|
||||
|
||||
progressDialog.show("Querying Studies...", numberOfStudiesToQuery);
|
||||
|
||||
studiesToExport.forEach(function(selectedStudy) {
|
||||
getStudyMetadata(selectedStudy.studyInstanceUid, function(study) {
|
||||
studiesQueried.push(study);
|
||||
|
||||
var numberOfStudiesQueried = studiesQueried.length;
|
||||
|
||||
progressDialog.update(numberOfStudiesQueried);
|
||||
|
||||
if (numberOfStudiesQueried === numberOfStudiesToQuery) {
|
||||
exportQueriedStudies(studiesQueried);
|
||||
}
|
||||
});
|
||||
});
|
||||
queryStudies(studiesToExport, exportQueriedStudies);
|
||||
};
|
||||
|
||||
function exportQueriedStudies(studiesToExport) {
|
||||
var numberOfFilesToExport = getNumberOfFilesToExport(studiesToExport);
|
||||
var numberOfFilesToExport = 0;
|
||||
studiesToExport.forEach(function(study) {
|
||||
numberOfFilesToExport += getNumberOfFilesInStudy(study);
|
||||
});
|
||||
|
||||
progressDialog.show("Exporting Studies...", numberOfFilesToExport);
|
||||
|
||||
@ -120,22 +106,6 @@ function exportQueriedStudiesInternal(studiesToExport, numberOfFilesToExport) {
|
||||
});
|
||||
}
|
||||
|
||||
function getNumberOfFilesToExport(studiesToExport) {
|
||||
var numberOFFilesToExport = 0;
|
||||
|
||||
studiesToExport.forEach(function(study) {
|
||||
study.seriesList.forEach(function(series) {
|
||||
series.instances.forEach(function(instance) {
|
||||
if (instance.wadouri) {
|
||||
numberOFFilesToExport++;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
return numberOFFilesToExport;
|
||||
}
|
||||
|
||||
function onExportFailed(err) {
|
||||
exportFailed = true;
|
||||
progressDialog.close();
|
||||
|
||||
48
Packages/viewerbase/lib/queryStudies.js
Normal file
48
Packages/viewerbase/lib/queryStudies.js
Normal file
@ -0,0 +1,48 @@
|
||||
/**
|
||||
* 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;
|
||||
|
||||
progressDialog.show("Querying Studies...", numberOfStudiesToQuery);
|
||||
|
||||
studiesToQuery.forEach(function(studyToQuery) {
|
||||
getStudyMetadata(studyToQuery.studyInstanceUid, function(study) {
|
||||
studiesQueried.push(study);
|
||||
|
||||
var numberOfStudiesQueried = studiesQueried.length;
|
||||
|
||||
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;
|
||||
};
|
||||
@ -146,6 +146,7 @@ Package.onUse(function(api) {
|
||||
api.addFiles('lib/resizeViewportElements.js', 'client');
|
||||
api.addFiles('lib/setFocusToActiveViewport.js', 'client');
|
||||
api.addFiles('lib/updateAllViewports.js', 'client');
|
||||
api.addFiles('lib/queryStudies.js', 'client');
|
||||
api.addFiles('lib/exportStudies.js', 'client');
|
||||
api.addFiles('lib/importStudies.js', 'client');
|
||||
api.addFiles('lib/encodeQueryData.js', 'server');
|
||||
@ -166,6 +167,8 @@ Package.onUse(function(api) {
|
||||
api.export('updateOrientationMarkers', 'client');
|
||||
api.export('setFocusToActiveViewport', 'client');
|
||||
api.export('updateAllViewports', 'client');
|
||||
api.export('queryStudies', 'client');
|
||||
api.export('getNumberOfFilesInStudy', 'client');
|
||||
api.export('exportStudies', 'client');
|
||||
api.export('importStudies', 'client');
|
||||
api.export('getActiveViewportElement', 'client');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user