【MATLAB】DICOM情報を付加するJPEGをDICOM変換
GANや超解像で作成した画像データ(JPEG, PNG)を元のDICOMデータの情報を付加してDICOM変換する。
% 元のDICOMデータのlist作成 dcm_fd = フォルダ名; dcm_fls = dir(dcm_fd); dcm_fls = dcm_fls(3:end); dcm_fls = {dcm_fls.name}; % JPEGデータのlist作成 (今回は超解像をやったことにてHR (high reso) としている) HR_fd = フォルダ名; HR_fls = dir(HR_fd); HR_fls = HR_fls(3:end); HR_fls = {HR_fls.name}; %保存用フォルダの指定 sv_fd = "H:/sv_fd" % UIDの作成 StudyInstanceUIDとSeriesInstanceUIDの変換が必要 uid_1 = dicomuid; uid_2 = dicomuid; for x = 1:length(dcm_fls) tmp_dcm_path = fullfile(dcm_fd, dcm_fls{x}); tmp_HR_path = fullfile(HR_fd, HR_fls{x}); tmp_info = dicominfo(tmp_dcm_path); tmp_info.StudyInstanceUID =uid_1; tmp_info.SeriesInstanceUID=uid_2; img = imread(tmp_HR_path); img = rgb2gray(img); img = cast(img, "uint16"); rs_img = imresize(img, [1024 1024]); name = fullfile(sv_fd, dcm_fls{x}); dicomwrite(rs_img,name,tmp_info); end
これでviewerやworkstaionで読めるようになる。
途中のrgb2grayも重要。ここを忘れるとworkstaion (Zio)では読めない。