I have observed some unexpected behavior when using tools that measure Hounsfield units, such as the circle or ellipse tool. In a cone beam scan, the Hounsfield value in air or empty space should be -1000. However, I noticed that when useNorm16Texture is enabled, the value reads -7000. Disabling useNorm16Texture restores the expected value, which I believe should be -1000.
Additional Notes: When I refresh the browser or study, the calculation becomes incorrect again.
Steps to Reproduce
Enabled useNorm16Texture in your config files:
useNorm16Texture : true
Then select MPR mode.
Use any tool such as the circle, freehand or ellipse and measure the black space/air/empty space in the scan.
The current behavior
So the current behavior is inaccurate, the value reads -7000.
I'm not using preferSizeOverAccuracy in my config file. I only use the following settings in my config file:
When useNorm16Texture is enabled, the volume array object is int16Array. When it is disabled, I think it is Float32Array.
See image below:
Using int16Array
The expected behavior
It should return a correct Hounsfield value. which I believe should be -1000.
This is the correct value, see image below:
Using Float32Array
Important Note: We're utilizing useNorm16Texture to manage large volumes for Multi-Planar Reconstruction (MPR) and reduce memory footprints, as our scans are quite large.
Set-up: Orthanc + OHIF
Describe the Bug
I have observed some unexpected behavior when using tools that measure Hounsfield units, such as the circle or ellipse tool. In a cone beam scan, the Hounsfield value in air or empty space should be -1000. However, I noticed that when
useNorm16Texture
is enabled, the value reads -7000. DisablinguseNorm16Texture
restores the expected value, which I believe should be-1000
.Additional Notes: When I refresh the browser or study, the calculation becomes incorrect again.
Steps to Reproduce
useNorm16Texture : true
The current behavior
So the current behavior is inaccurate, the value reads -7000. I'm not using
preferSizeOverAccuracy
in my config file. I only use the following settings in my config file:When
useNorm16Texture
is enabled, the volume array object isint16Array
. When it is disabled, I think it isFloat32Array
. See image below:Using
int16Array
The expected behavior
It should return a correct Hounsfield value. which I believe should be -1000. This is the correct value, see image below: Using
Float32Array
Important Note: We're utilizing
useNorm16Texture
to manage large volumes for Multi-Planar Reconstruction (MPR) and reduce memory footprints, as our scans are quite large. Set-up: Orthanc + OHIFOS
OS X 10.15.7
Node version
v22.4.1
Browser
Chrome 126.0.6478.128