From e8858f3eb55552f695af4a55980f9ae2e9af7291 Mon Sep 17 00:00:00 2001 From: Celian-abd <101793092+Celian-abd@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:28:22 +0100 Subject: [PATCH] fix: colormap for stack viewports via HangingProtocol (#3866) --- .../ViewportService/CornerstoneViewportService.ts | 10 +++++++--- .../src/services/ViewportService/Viewport.ts | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts b/extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts index 71b33ffd4..8443f9eac 100644 --- a/extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts +++ b/extensions/cornerstone/src/services/ViewportService/CornerstoneViewportService.ts @@ -340,7 +340,7 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi const properties = { ...presentations.lutPresentation?.properties }; if (!presentations.lutPresentation?.properties) { - const { voi, voiInverted } = displaySetOptions[0]; + const { voi, voiInverted, colormap } = displaySetOptions[0]; if (voi && (voi.windowWidth || voi.windowCenter)) { const { lower, upper } = csUtils.windowLevel.toLowHighRange( voi.windowWidth, @@ -352,6 +352,10 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi if (voiInverted !== undefined) { properties.invert = voiInverted; } + + if (colormap !== undefined) { + properties.colormap = colormap; + } } return viewport.setStack(imageIds, initialImageIndexToUse).then(() => { @@ -736,8 +740,8 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi const { dimensions } = imageVolume; const slabThickness = Math.sqrt( dimensions[0] * dimensions[0] + - dimensions[1] * dimensions[1] + - dimensions[2] * dimensions[2] + dimensions[1] * dimensions[1] + + dimensions[2] * dimensions[2] ); return slabThickness; diff --git a/extensions/cornerstone/src/services/ViewportService/Viewport.ts b/extensions/cornerstone/src/services/ViewportService/Viewport.ts index 685652279..26063a9b1 100644 --- a/extensions/cornerstone/src/services/ViewportService/Viewport.ts +++ b/extensions/cornerstone/src/services/ViewportService/Viewport.ts @@ -71,7 +71,7 @@ export type DisplaySetOptions = { voiInverted: boolean; blendMode?: Enums.BlendModes; slabThickness?: number; - colormap?: string; + colormap?: { name: string, opacity?: number }; displayPreset?: string; };