Radi_tech’s blog

Radiological technologist in Japan / MRI / AI / Deep learning / MATLAB / R / Python

【MATLAB】DICOMのCT画像をWW、WLを設定してJPEG変換する


CT画像はマイナスのCT値を持つため、WW,WLを設定して保存しないとうまくJPEGに変換できません。
そのためのコード

1) DICOM 画像を読み込み
2) DICOM 情報を読み込み
3) DICOM 情報からWW,WLを得る(任意に設定も可)
4) 余白なしでJPEG保存

radi-tech.hatenablog.com


〜
CT_dcm_path = fullfile(tmp_sub_fd,fls{z});

tmp_img  = dicomread(tmp_fl);
tmp_info = dicominfo(tmp_fl);

% processing ww,wl
img = double(tmp_img);

img = imresize(img,[1024 1024]);

ww = tmp_info.WindowWidth;
wl = tmp_info.WindowCenter;

min = double(wl - ww / 2);
max = double(wl + ww / 2);

img(img>max) = max;
img(img<min) = min;

No = tmp_info.InstanceNumber;
No = sprintf('%04d',No);

% save into save_fd
sv_path = fullfile(save_fd,strcat(No,".jpg"));


figure(1)
imshow(img,[],'Border','tight');

set(figure(1),'Units','inches');
pos = get(figure(1),'Position');
set(figure(1),'PaperPositionMode','Auto','PaperUnits','Inches','PaperSize',[pos(3), pos(4)]);

print(figure(1),sv_path,'-djpeg','-r0');