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

3 ビュー (過去 30 日間)
秋葉
秋葉 2023 年 3 月 22 日
コメント済み: 秋葉 2023 年 3 月 28 日
あるフォルダに入っている複数枚の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

採用された回答

Kojiro Saito
Kojiro Saito 2023 年 3 月 22 日
dicomwriteのエラー内容の情報もあると確実ですが、取り急ぎ気付きとしてフォルダーfolderの下に出力されるようになっていないので、以下のように修正が必要と思います。
dicomwrite(I2, fullfile('folder', ['Acut',num2str(i),'.dcm']));
  3 件のコメント
Atsushi Ueno
Atsushi Ueno 2023 年 3 月 24 日
横やり失礼致します。
もしかすると、この 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 
秋葉
秋葉 2023 年 3 月 28 日
ありがとうございます。
解決しました。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDICOM Format についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!