How to multiply all the pixel number of each slice with their own rescale slope(dicominfo) in each slice

1 回表示 (過去 30 日間)
Dear all,
I have the file as attached. the format is dicom (.dcm)
How to multiply all the pixel number of each slice with their own rescale slope(in dicominfo) in each slice?
**that means each slice have their own rescale slope value.
so that the new pixel value will come out when I view this images.
  4 件のコメント
Rik
Rik 2023 年 6 月 27 日
What leads you to believe the rescale slope and intercept might be different for each slice?
mohd akmal masud
mohd akmal masud 2023 年 6 月 27 日
I'm, not sure that sir. That I guess
If just only one rescale slope for all slices, then how to multiply all the pixel number of each slice with rescale slope(in dicominfo)?

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

採用された回答

Rik
Rik 2023 年 6 月 27 日
In general you should remember to include the intercept as well, although apparently that is 0 for this dataset.
unzip jaszakspect.zip
IM = dicomread('jaszakspect.dcm');
size(IM)
ans = 1×4
64 64 1 64
info = dicominfo('jaszakspect.dcm');
[min(IM(:)) max(IM(:))]
ans = 1×2
0 32767
IM = double(IM)*info.RescaleSlope + info.RescaleIntercept;
[min(IM(:)) max(IM(:))]
ans = 1×2
0 0.0029

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDICOM Format についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by