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);
 | |
| }
 |