Files
ohif-viewer/extensions/cornerstone/src/initStudyPrefetcherService.ts
2025-05-27 11:05:07 +07:00

34 lines
1.2 KiB
TypeScript

import { cache, imageLoadPoolManager, imageLoader, Enums, eventTarget, EVENTS as csEvents } from '@cornerstonejs/core';
function initStudyPrefetcherService(servicesManager: AppTypes.ServicesManager) {
const { studyPrefetcherService } = servicesManager.services;
studyPrefetcherService.requestType = Enums.RequestType.Prefetch;
studyPrefetcherService.imageLoadPoolManager = imageLoadPoolManager;
studyPrefetcherService.imageLoader = imageLoader;
studyPrefetcherService.cache = {
isImageCached(imageId: string): boolean {
return !!cache.getImageLoadObject(imageId);
}
}
studyPrefetcherService.imageLoadEventsManager = {
addEventListeners(onImageLoaded, onImageLoadFailed) {
eventTarget.addEventListener(csEvents.IMAGE_LOADED, onImageLoaded);
eventTarget.addEventListener(csEvents.IMAGE_LOAD_FAILED, onImageLoadFailed);
return [
{
unsubscribe: () => eventTarget.removeEventListener(csEvents.IMAGE_LOADED, onImageLoaded)
},
{
unsubscribe: () => eventTarget.removeEventListener(csEvents.IMAGE_LOAD_FAILED, onImageLoadFailed)
},
]
}
}
}
export default initStudyPrefetcherService;