Visualizing CT data (signed 16bit integer)

PF_R16_SINT does not seem to be supported when the UTexture2D with PF_R16_SINT is exposed to Material Blueprints. So I tried with PF_G16 and it seems to work well.

However this is not the best solution because PF_G16 = DXGI_FORMAT_R16_UNORM according to the source code, and the DXGI_FORMAT_R16_UNORM is “A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for the red channel” as described here ([DXGI_FORMAT (dxgiformat.h) - Win32 apps | Microsoft Docs][1]).

So I had to shift each value from short (-32768 to 32767) to unsigned short (0 ~ 65535) by adding 32768 to store each value to DXGI_FORMAT_R16_UNORM, and shift back in Material Blueprints.

There does exists DXGI_FORMAT_R16_SNORM which supports 16-bit signed-normalized-integer but Unreal Engine does not seem to support this pixel format.

In addition, I had to convert the automatically converted (calculated) sRGB value to linear RGB value using the formula described here ([A close look at the sRGB formula][2]), because the visualization of medical images does not use sRGB color space in general.

I looked for the option for not applying sRGB color to the final color output, but I could not find the option unfortunately. Is there anyone who knows the option for it?

And I would like to know if there are better solutions.

Anyway, here is the material I modified,

and the visualized CT image on Unreal Engine 4.

The image is exactly the same as the image visualized by ImageJ!