Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import {
addWSIMiniNavigationOverlayCss,
loadWSIData,
} from '../../../utilities/WSIUtilities';
import type { LoadedData } from '../ViewportArchitectureTypes';
import { getGenericViewportWSIDisplaySet } from '../genericViewportDisplaySetAccess';
import type {
WSIDataProvider,
WSIPayload,
WSIRegisteredDataSet,
} from './WSIViewportTypes';
export class DefaultWSIDataProvider implements WSIDataProvider {
async load(dataId: string): Promise<LoadedData<WSIPayload>> {
const dataSet = this.getDataSet(dataId);
if (!dataSet) {
throw new Error(
`[WSIViewport] No registered WSI dataset metadata for ${dataId}`
);
}
if (dataSet.options.miniNavigationOverlay !== false) {
addWSIMiniNavigationOverlayCss();
}
const loadedData = await loadWSIData({
imageIds: dataSet.imageIds,
client: dataSet.options.webClient,
});
return {
id: dataId,
type: 'wsi',
imageIds: dataSet.imageIds,
client: dataSet.options.webClient,
volumeImages: loadedData.volumeImages,
metadataDicomweb: loadedData.metadataDicomweb,
metadata: loadedData.metadata,
frameOfReferenceUID: loadedData.frameOfReferenceUID,
imageURISet: loadedData.imageURISet,
};
}
private getDataSet(dataId: string): WSIRegisteredDataSet | undefined {
const registered = getGenericViewportWSIDisplaySet(dataId);
if (!registered) {
return;
}
return registered;
}
}
|