create dicom web api

This commit is contained in:
Rodrigo Antinarelli authored and James A. Petts committed 2020-05-15 13:59:29 +02:00
1 parent 97004de446
commit ee69a5a40b
4 files changed
+272 -23

No files matched your search

@@ -0,0 +1,46 @@
import { api } from 'dicomweb-client';
import { mapParams, search, processResults } from './qido.js';
import IWebApi from '@ohif/core';
/**
*
* @param {string} name - Data source name
* @param {string} wadoUriRoot - Legacy? (potentially unused/replaced)
* @param {string} qidoRoot - Base URL to use for QIDO requests
* @param {string} wadoRoot - Base URL to use for WADO requests
* @param {boolean} qidoSupportsIncludeField - Whether QIDO supports the "Include" option to request additional fields in response
* @param {string} imageRengering - wadors | ? (unsure of where/how this is used)
* @param {string} thumbnailRendering - wadors | ? (unsure of where/how this is used)
* @param {bool} lazyLoadStudy - "enableStudyLazyLoad"; Request series meta async instead of blocking
*/
function createDicomWebApi(dicomWebConfig) {
const { qidoRoot } = dicomWebConfig;
const config = {
url: qidoRoot,
// headers: DICOMWeb.getAuthorizationHeader(server),
};
const dicomWebClient = new api.DICOMwebClient(config);
return IWebApi({
query: {
studies: {
mapParams: mapParams.bind(),
search: search.bind(undefined, dicomWebClient, null, null),
processResults: processResults.bind(),
},
instances: {
search: (studyInstanceUid, queryParamaters) =>
search.call(
undefined,
dicomWebClient,
studyInstanceUid,
null,
queryParamaters
),
},
},
});
}
export { createDicomWebApi };