Niftiinfo do not keep negative values

9 ビュー (過去 30 日間)
Sebastian Dahl Sandbu
Sebastian Dahl Sandbu 2023 年 6 月 16 日
コメント済み: Walter Roberson 2023 年 6 月 17 日
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 件のコメント
Walter Roberson
Walter Roberson 2023 年 6 月 17 日
Sebastian Dahl Sandbu
Sebastian Dahl Sandbu 2023 年 6 月 17 日
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.

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2023 年 6 月 17 日
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 件のコメント
Sebastian Dahl Sandbu
Sebastian Dahl Sandbu 2023 年 6 月 17 日
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 2023 年 6 月 17 日
ITK-SNAP and fsleyes are probably applying the scaling and offset; MATLAB is just returning the raw data.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeBiomedical Imaging についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by