DICOM(動画データ)から静止画の取り出し

13 views (last 30 days)
Atsuhiko Ninomiya
Atsuhiko Ninomiya on 2 Feb 2023
検査動画に関するDICOMデータ(x.dcm)があります.
動画データですので,一連の静止画の stack と考えております.この x.dcm から,1枚ごとの静止画の DICOMデータを作成したいと思います.この検査動画のDICOMデータは,4-D uint16 でした.
動画データ x.dcm → 静止画データ 1.dcm, 2.dcm, ・・・, n.dcm
を作成する方法をご教示ください.よろしくお願いいたします.

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 3 Feb 2023
dicomreaddicomwrite 関数の実行には Image Processing Toolbox が必要です。
% dicomwrite(dicomreadVolume(fullfile(matlabroot,"toolbox","images","imdata","dog")),'x.dcm'); % サンプルデータ
X = dicomread("x.dcm"); % 検査動画に関するDICOMデータを読み込む
for k = 1:size(X,4)
dicomwrite(X(:,:,:,k), k+".dcm"); % 静止画データ 1.dcm, 2.dcm, ・・・, n.dcm を書き込んでいく
end
% montage(X,'DisplayRange',[]); % 表示確認用
% imshow(dicomread("12.dcm"),[]); % 表示確認用
  2 Comments
Atsushi Ueno
Atsushi Ueno on 3 Feb 2023
for 文使ったら負けシリーズ(殆ど何も変わらない)
X = dicomread("x.dcm");
num = 1:size(X,4);
arrayfun(@(idx,filename) dicomwrite(X(:,:,:,idx),filename), num, num + ".dcm");
Atsuhiko Ninomiya
Atsuhiko Ninomiya on 3 Feb 2023
Atsushi Ueno様
ご教示くださいましてありがとうございます.
教えていただいた code を展開して,DICOM の静止画データを作ることができました.
本当にありがとうございます.

Sign in to comment.

More Answers (0)

Categories

Find more on DICOM Format in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!