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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var studiesQueried = [];
|
queryStudies(studiesToExport, exportQueriedStudies);
|
||||||
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);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function exportQueriedStudies(studiesToExport) {
|
function exportQueriedStudies(studiesToExport) {
|
||||||
var numberOfFilesToExport = getNumberOfFilesToExport(studiesToExport);
|
var numberOfFilesToExport = 0;
|
||||||
|
studiesToExport.forEach(function(study) {
|
||||||
|
numberOfFilesToExport += getNumberOfFilesInStudy(study);
|
||||||
|
});
|
||||||
|
|
||||||
progressDialog.show("Exporting Studies...", numberOfFilesToExport);
|
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) {
|
function onExportFailed(err) {
|
||||||
exportFailed = true;
|
exportFailed = true;
|
||||||
progressDialog.close();
|
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/resizeViewportElements.js', 'client');
|
||||||
api.addFiles('lib/setFocusToActiveViewport.js', 'client');
|
api.addFiles('lib/setFocusToActiveViewport.js', 'client');
|
||||||
api.addFiles('lib/updateAllViewports.js', 'client');
|
api.addFiles('lib/updateAllViewports.js', 'client');
|
||||||
|
api.addFiles('lib/queryStudies.js', 'client');
|
||||||
api.addFiles('lib/exportStudies.js', 'client');
|
api.addFiles('lib/exportStudies.js', 'client');
|
||||||
api.addFiles('lib/importStudies.js', 'client');
|
api.addFiles('lib/importStudies.js', 'client');
|
||||||
api.addFiles('lib/encodeQueryData.js', 'server');
|
api.addFiles('lib/encodeQueryData.js', 'server');
|
||||||
@ -166,6 +167,8 @@ Package.onUse(function(api) {
|
|||||||
api.export('updateOrientationMarkers', 'client');
|
api.export('updateOrientationMarkers', 'client');
|
||||||
api.export('setFocusToActiveViewport', 'client');
|
api.export('setFocusToActiveViewport', 'client');
|
||||||
api.export('updateAllViewports', 'client');
|
api.export('updateAllViewports', 'client');
|
||||||
|
api.export('queryStudies', 'client');
|
||||||
|
api.export('getNumberOfFilesInStudy', 'client');
|
||||||
api.export('exportStudies', 'client');
|
api.export('exportStudies', 'client');
|
||||||
api.export('importStudies', 'client');
|
api.export('importStudies', 'client');
|
||||||
api.export('getActiveViewportElement', 'client');
|
api.export('getActiveViewportElement', 'client');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user