Niftiinfo do not keep negative values

5 visualizaciones (últimos 30 días)
Sebastian Dahl Sandbu
Sebastian Dahl Sandbu el 16 de Jun. de 2023
Comentada: Walter Roberson el 17 de Jun. de 2023
When I'm importing nifti files using niftiinfo and niftiread, only the positive values from the metadata remains. The original files contain both positive and negative values. I have read the documentation and tried to change the cal_max and cal_min field, but this doesn't solve it.
Any ideas how to fix this? Are there any other functions to load niftifiles in matlab?
Thanks!
  7 comentarios
Sebastian Dahl Sandbu
Sebastian Dahl Sandbu el 17 de Jun. de 2023
Thanks for the explanation, but I still don't understand why the negative values dissapear. In the original dataset, the intensity range is [-4096, 4096] and after importing they are [0, 4096].
I tried setting scl_inter = 0 and scl_slope = 1, but nothing changed.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 17 de Jun. de 2023
I stepped through the code that reads the image. The data as it is stored in the file has no negative values.
The only items that the code uses from the headers include:
  • offset from beginning of file to data
  • byte order
  • image size
  • image data type
The code does not perform any data scaling or any min() or max() or anything like that: the values you get from the reading function are what is stored in the file.
You yourself should probably be applying the MultiplicativeScaling: 2 and AdditiveOffset: -4096 -- that would get you values in the range -4096 to +4094
  2 comentarios
Sebastian Dahl Sandbu
Sebastian Dahl Sandbu el 17 de Jun. de 2023
Ok. I'm still a bit confused how the function does not change the data. When I open the file in other software (fsleyes and ITK-SNAP) the grey values are in the range of -4096 to 4096. But this is not the case after importing them.
I scaled the values so now I have the preferred intensity range.
Thank you for your explanation and time!
Walter Roberson
Walter Roberson el 17 de Jun. de 2023
ITK-SNAP and fsleyes are probably applying the scaling and offset; MATLAB is just returning the raw data.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Biomedical Imaging en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by