dicomファイルの​連続したトリミング画​像をdicomファイ​ルに保存したい。

6 views (last 30 days)
秋葉
秋葉 on 22 Mar 2023
Commented: 秋葉 on 28 Mar 2023
あるフォルダに入っている複数枚のdicomファイルを同じ座標でそれぞれトリミングし、トリミングした画像を指定したフォルダ内にdicomフォルダに保存したいです。
下記のスクリプトを実行しているのですが、dicomwriteの場所でエラーになってしまいます。
改善法をご教示いただけないでしょうか。
%% pnameに編集したい画像の入っているフォルダのパスを設定
pname = 'トリミングしたい画像が入っているフォルダのパス'; %% 実験ごとに変更の必要
DD = dir([pname,'/','A(画像名の共通部分)*']);%% IM-...などのdcmファイルに共通している名前を記載する
ff = size(DD,1); % N of folder (= sections)
mkdir folder %%カットしてできたdcmファイルを保存するフォルダを作成する
s = dicomread('A1.dcm');
[J,rect] = imcrop(s);
%% 以下for文で全フォルダ内のデータを計算する。
for i = 1:ff %ff
dir_name=DD(i).name;
pname_dir=[pname,'/']
list_dicom = dir([pname_dir,'*.dcm'])
gg=size(list_dicom,1); % N of slices
for j = 1:gg
I = dicomread(DD(j).name);
I2 = imcrop(I,[rect])
dicomwrite(I2,['folder','Acut',num2str(i),'.dcm']);
end
end

Accepted Answer

Kojiro Saito
Kojiro Saito on 22 Mar 2023
dicomwriteのエラー内容の情報もあると確実ですが、取り急ぎ気付きとしてフォルダーfolderの下に出力されるようになっていないので、以下のように修正が必要と思います。
dicomwrite(I2, fullfile('folder', ['Acut',num2str(i),'.dcm']));
  3 Comments
Atsushi Ueno
Atsushi Ueno on 24 Mar 2023
横やり失礼致します。
もしかすると、この MATLAB Answers の MATLAB Online 環境では、フォルダ作成は出来てもその内部にファイルを書き込む事が許可されていないのかもしれません。(同じエラーが出たので)
なんか質問に挙げられたプログラムの意図が良く分からないので、MATLABの持っているデータを使って取り敢えず動く形にしたのですが、意図した動きになっていますか?
%% pnameに編集したい画像の入っているフォルダのパスを設定
pname = '/MATLAB/toolbox/images'; %% 実験ごとに変更の必要
DD = dir([pname,'/','imd*']); % 適当なdcmファイルを含むフォルダ(imdata)を選ぶ様にした
ff = size(DD,1); % N of folder (= sections)
mkdir folder %%カットしてできたdcmファイルを保存するフォルダを作成する
rect = [10,10,30,30]; % 手作業で指定する代わりに適当な範囲に固定
%% 以下for文で全フォルダ内のデータを計算する。
for i = 1:ff % この例ではff=1になる
dir_name=DD(i).name;
pname_dir=[pname,'/',dir_name,'/']
list_dicom = dir([pname_dir,'*e.dcm']); % 適当なdcmファイルを選ぶ様にした
gg=size(list_dicom,1); % N of slices
for j = 1:gg % この例ではgg=1になる
list_dicom(j).name
I = dicomread(list_dicom(j).name);
I2 = imcrop(I,[rect]);
dicomwrite(I2, ['Acut',num2str(j),'.dcm']);
end
end
pname_dir = '/MATLAB/toolbox/images/imdata/'
ans = 'CT-MONO2-16-ankle.dcm'
ls -la % dcmファイルが書き込まれた
total 16 drwxr-xr-x 3 mluser worker 4096 Mar 24 08:04 . drwx------ 1 mluser worker 4096 Mar 24 08:04 .. -rw-r--r-- 1 mluser worker 2830 Mar 24 08:04 Acut1.dcm drwxr-xr-x 2 mluser worker 4096 Mar 24 08:04 folder 
秋葉
秋葉 on 28 Mar 2023
ありがとうございます。
解決しました。

Sign in to comment.

More Answers (0)

Categories

Find more on DICOM Format in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!