Files
ohif-viewer/extensions/cornerstone/src/initWADOImageLoader.js
T

56 lines
1.7 KiB
JavaScript
Raw Normal View History

import { volumeLoader } from '@cornerstonejs/core';
import {
cornerstoneStreamingImageVolumeLoader,
cornerstoneStreamingDynamicImageVolumeLoader,
2024-11-06 07:15:27 -05:00
} from '@cornerstonejs/core/loaders';
import dicomImageLoader from '@cornerstonejs/dicom-image-loader';
import { errorHandler, utils } from '@ohif/core';
2020-05-15 12:48:00 +02:00
const { registerVolumeLoader } = volumeLoader;
export default function initWADOImageLoader(
userAuthenticationService,
2023-06-01 23:18:54 +02:00
appConfig,
extensionManager
) {
registerVolumeLoader('cornerstoneStreamingImageVolume', cornerstoneStreamingImageVolumeLoader);
registerVolumeLoader(
'cornerstoneStreamingDynamicImageVolume',
cornerstoneStreamingDynamicImageVolumeLoader
);
2024-11-06 07:15:27 -05:00
dicomImageLoader.init({
maxWebWorkers: Math.min(
Math.max(navigator.hardwareConcurrency - 1, 1),
appConfig.maxNumberOfWebWorkers
),
beforeSend: function (xhr) {
2023-06-01 23:35:13 +02:00
//TODO should be removed in the future and request emitted by DicomWebDataSource
const sourceConfig = extensionManager.getActiveDataSource()?.[0].getConfig() ?? {};
2023-06-01 23:35:13 +02:00
const headers = userAuthenticationService.getAuthorizationHeader();
const acceptHeader = utils.generateAcceptHeader(
sourceConfig.acceptHeader,
sourceConfig.requestTransferSyntaxUID,
sourceConfig.omitQuotationForMultipartRequest
);
2023-06-01 23:18:54 +02:00
const xhrRequestHeaders = {
Accept: acceptHeader,
2023-06-01 23:18:54 +02:00
};
if (headers) {
Object.assign(xhrRequestHeaders, headers);
}
return xhrRequestHeaders;
},
2021-06-24 12:30:38 -04:00
errorInterceptor: error => {
errorHandler.getHTTPErrorHandler(error);
2021-06-24 12:30:38 -04:00
},
2021-06-23 20:41:27 +02:00
});
}
2023-05-18 19:21:46 +02:00
export function destroy() {
2024-11-06 07:15:27 -05:00
console.debug('Destroying WADO Image Loader');
}