41 lines
1.2 KiB
Plaintext
41 lines
1.2 KiB
Plaintext
import dicomParser from 'dicom-parser';
|
|
import * as cornerstone from '@cornerstonejs/core';
|
|
import * as cornerstoneTools from '@cornerstonejs/tools';
|
|
import cornerstoneDICOMImageLoader from '@cornerstonejs/dicom-image-loader';
|
|
|
|
window.cornerstone = cornerstone;
|
|
window.cornerstoneTools = cornerstoneTools;
|
|
const { preferSizeOverAccuracy, useNorm16Texture } =
|
|
cornerstone.getConfiguration().rendering;
|
|
|
|
export default function initCornerstoneDICOMImageLoader() {
|
|
cornerstoneDICOMImageLoader.external.cornerstone = cornerstone;
|
|
cornerstoneDICOMImageLoader.external.dicomParser = dicomParser;
|
|
cornerstoneDICOMImageLoader.configure({
|
|
useWebWorkers: true,
|
|
decodeConfig: {
|
|
convertFloatPixelDataToInt: false,
|
|
use16BitDataType: preferSizeOverAccuracy || useNorm16Texture,
|
|
},
|
|
});
|
|
|
|
let maxWebWorkers = 1;
|
|
|
|
if (navigator.hardwareConcurrency) {
|
|
maxWebWorkers = Math.min(navigator.hardwareConcurrency, 7);
|
|
}
|
|
|
|
var config = {
|
|
maxWebWorkers,
|
|
startWebWorkersOnDemand: false,
|
|
taskConfiguration: {
|
|
decodeTask: {
|
|
initializeCodecsOnStartup: false,
|
|
strict: false,
|
|
},
|
|
},
|
|
};
|
|
|
|
cornerstoneDICOMImageLoader.webWorkerManager.initialize(config);
|
|
}
|