【MATLAB】MRIのcontrastを重ねたpseudo-color imageを作成する.
MRIは色々なContrastを撮像できますが,それらをJPEGのRGBのそれぞれのchannelに入れてpseudo-color imageを作成し,深層学習へ適応した報告があります.
参考文献; Hidetoshi Matsuo, et al. Diagnostic accuracy of deep‑learning with anomaly detection for a small amount of imbalanced data: discriminating malignant parotid tumors in MRI
手順
- SizeをそろえたJPEG画像を用意する.(DICOMからResizeしたJPEG変換は別記事参照)
- "imread"が必要な画像を読みこみ. "rgb2gray"で一次元化する.
- 入れものとなる上記のJPEGと同様のSize × 3の配列を用意する.
- RGBのそれぞれのchannelに準備した画像データを入れてpseudo-color image
- 画像を確認
- RGBの要素に分解して再度確認
〜 %SizeをそろえたJPEGを開く %今回はDWI b1000とADCを融合する %画像を読みこむ DWI_img =imread('b1000_path'); ADC_img =imread('ADC_path'); %gray scale の一次元へ変更する DWI_img_gy = rgb2gray(DWI_img); ADC_img_gy = rgb2gray(ADC_img); %画像サイズを得る [x,~]=size(DWI_img_gy); %入れものとなる3次元配列を用意する. ここでは"pRGB"という変数とする %'uint8'にしておくことが注意点 pRGB= zeros(x,x,3,'uint8'); %上記のGray scale画像を入れ込む %Blue channelは空にしておく pRGB(:,:,1)=[DWI_img_gy]; %Red channel pRGB(:,:,2)=[ADC_img_gy]; %Green channel pRGB(:,:,3)=[]; %Blue channel %画像の確認 figure imshow(pRGB,[]) %画像を保存 imwrite(pRGB,'pRGB.jpg','jpg'); %色の各要素を確認 [R,G,B] = imsplit(pRGB); figure subplot(1,3,1) imshow(R,[]) title('Red Channel') subplot(1,3,2) imshow(G,[]) title('Green Channel') subplot(1,3,3) imshow(B,[]) title('Blue Channel') 〜
イメージとしてはこんな感じ(上記論文より引用)