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

8 visualizaciones (últimos 30 días)
秋葉
秋葉 el 22 de Mzo. de 2023
Comentada: 秋葉 el 28 de Mzo. de 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

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre DICOM Format en Help Center y File Exchange.

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!