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 | import { IImage, CPUFallbackEnabledElement, ViewportInputOptions, IVolume, } from '../types'; import getDefaultViewport from '../RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport'; import calculateTransform from '../RenderingEngine/helpers/cpuFallback/rendering/calculateTransform'; import drawImageSync from '../RenderingEngine/helpers/cpuFallback/drawImageSync'; import type { CanvasLoadPosition } from './loadImageToCanvas'; /** * Renders a cornerstone image object to a canvas. * Note: this does not load the image but only takes care of the rendering pipeline * * @param image - Cornerstone image object * @param canvas - Canvas element to render to */ export default function renderToCanvasCPU( canvas: HTMLCanvasElement, imageOrVolume: IImage | IVolume, modality?: string, _renderingEngineId?: string, _viewportOptions?: ViewportInputOptions ): Promise<CanvasLoadPosition> { const volume = imageOrVolume as IVolume; if (volume.volumeId) { throw new Error('Unsupported volume rendering for CPU'); } const image = imageOrVolume as IImage; const viewport = getDefaultViewport(canvas, image, modality); const enabledElement: CPUFallbackEnabledElement = { canvas, viewport, image, renderingTools: {}, }; enabledElement.transform = calculateTransform(enabledElement); const invalidated = true; return new Promise((resolve, reject) => { drawImageSync(enabledElement, invalidated); resolve(null); }); } |