getPictPoints関数で指定した変形前の三角形データと変形後の三角形データから画像データをモーフィング変形する。
【書式】
morphingData(data,sankakuBefore,sankakuAfter)
【引数】
data : モーフィング対象のm行n列の画像データ
sankakuBefore : p行9列の変形前の三角形データ
sankakuAfter : p行9列の変形後の三角形データ【戻値】
変形後のm行n列の画像データ
【備考】
【例 】
モーフィング変形対象の画像データを入力・表示。今回は PET断層画像
f1$ = cal_getFilePath(0);
a = loadImage(f1$,22);
a = hokan(a,512,512);
RGB = popRGBColor(0);
a# = densityPlot(a,|7000,0|);
changePictSize(a#,1/2);
重ね合わせ先の画像データを入力・表示。今回はMRI T1強調画像。
f2$ = cal_getFilePath(0);
b = loadImage(f2$,9);
RGB = popRGBColor(1);
b# = densityPlot(b,|350,0|);
changePictSize(b#,1/2);
getPictPoints関数を使い変形対象の画像データに特徴点を設定する。
pm = getPictPoints(a#);
同様にgetPictPoints関数を使い変形対象の画像データで与えた特徴点を変形先の画像で同一場所に設定する。今回は同一患者のデータなので拡大・縮小・回転・平行移動のみで設定は可能。
pn = getPictPoints(b#,pm);
モーフィング関数を使いPET画像データをMRI T1強調画像に一致するよう変形する。
c = morphingData(a,pm,pn);
RGB = popRGBColor(0);
c# = densityPlot(c,|7000,0|);
a#•b#;b#•c#;
変形前の画像を単に重ね合わせただけ。二枚の画像の位置は完全に異なる。
モーフィングでPET画像データを変形しMRI画像に重ねた画像。モーフィングにより奇麗に一致する事が判る。