ohif-viewer/extensions/default/src/DicomWebDataSource/wado/retrieveMetadata.js

45 lines
1.5 KiB
JavaScript
Raw Normal View History

2020-05-12 14:49:32 +02:00
//import RetrieveMetadataLoaderSync from './retrieveMetadataLoaderSync';
2020-05-11 18:56:46 +02:00
import RetrieveMetadataLoaderAsync from './retrieveMetadataLoaderAsync';
/**
* Retrieve Study metadata from a DICOM server. If the server is configured to use lazy load, only the first series
* will be loaded and the property "studyLoader" will be set to let consumer load remaining series as needed.
*
* @param {Object} dicomWebClient The dicomweb-client.
* @param {string} studyInstanceUid The Study Instance UID of the study which needs to be loaded
* @param {Object} [filters] - Object containing filters to be applied on retrieve metadata process
* @param {string} [filter.seriesInstanceUID] - series instance uid to filter results against
* @returns {Object} A study descriptor object
*/
async function RetrieveMetadata(
dicomWebClient,
studyInstanceUid,
enableStudyLazyLoad,
filters = {},
sortCriteria,
sortFunction
2020-05-11 18:56:46 +02:00
) {
2020-05-12 14:49:32 +02:00
// const RetrieveMetadataLoader =
// enableStudyLazyLoad !== false
// ? RetrieveMetadataLoaderAsync
// : RetrieveMetadataLoaderSync;
const RetrieveMetadataLoader = RetrieveMetadataLoaderAsync;
2020-05-11 18:56:46 +02:00
const retrieveMetadataLoader = new RetrieveMetadataLoader(
dicomWebClient,
studyInstanceUid,
filters,
sortCriteria,
sortFunction
2020-05-11 18:56:46 +02:00
);
const { preLoadData, promises } = await retrieveMetadataLoader.execLoad();
2020-05-11 18:56:46 +02:00
return {
seriesSummaryMetadata: preLoadData,
seriesPromises: promises,
};
2020-05-11 18:56:46 +02:00
}
export default RetrieveMetadata;