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

8 vues (au cours des 30 derniers jours)
秋葉
秋葉 le 22 Mar 2023
Commenté : 秋葉 le 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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur DICOM Format dans Help Center et File Exchange

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!