これは、dicom画像のピクセルを変更しようとしているmatlabデータです。
dicom 画像は 4D、Rgb 画像は 3D、その他の次元はフレームを表します。各フレームを取得し、いくつかの特定のピクセル値を変更し、それらを生の形式で dicom イメージ データ全体を保存しようとします。
raw形式で保存している理由は、このデータをdcmtkのdcmodifyコマンドでファイルとして使いたいからです。最初の質問は、生データを正しい形式で保存していますか? そうでない場合は、どうすればよいか教えてください。また、dcmodify コマンド dcmtk はこの場合のように 4d データを処理できるのか、それとも 1 つのフレームしか変更できないのか知っていますか? ありがとう。
clc
clear all
close all
img=dicomread('Bad001_2CH_01_anon.dcm');
%%implay(img);
[rows,columns,colors,frames]=size(img);
for i=1:frames
img(1:25,:,:,i)=0;
disp(i);
figure(1)
imshow(img(:,:,:,i))
end
fid=fopen('image.raw','w+');
cnt=fwrite(fid,img,'uint8');
fclose(fid);