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

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

 Akzeptierte Antwort

Atsushi Ueno
Atsushi Ueno am 3 Feb. 2023

0 Stimmen

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 Kommentare

Atsushi Ueno
Atsushi Ueno am 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 am 3 Feb. 2023
Atsushi Ueno様
ご教示くださいましてありがとうございます.
教えていただいた code を展開して,DICOM の静止画データを作ることができました.
本当にありがとうございます.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu DICOM Format finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!