Medical Image Registration - Registration using main axis

Gyuha Park·2021년 8월 31일
0

Medical Image Analysis

목록 보기
19/21
post-thumbnail

1. Registration Using Main Axis

위 그림과 같이 가장 쉽게 registration하는 방법은 뇌의 영역을 지나는 장 축을 찾은 후 축을 맞춰주는 것이다. 점 선과 같이 thresholding, morphological processing 또는 segmentation을 거치면 뇌의 영역을 추출할 수 있다.
장 축을 구하기 위해서는 추출한 뇌의 영역에 PCA(Principal Component Analysis)를 적용한다. PCA를 적용하는 방법은 뇌의 영역의 좌표들의 covariance matrix를 구하고 covariance matrix의 eigen value가 가장 큰 경우의 eigen vector를 구하면 가장 큰 분산을 갖는 vector가 된다. 이렇게 구한 eigen vector가 장 축의 역할을 하며 즉, 두 벡터 간의 rotation matrix를 찾는 문제가 된다.

moving image의 uu, fixed image의 uu' 두 벡터 간의 rotation matrix를 찾기 위해선 외적과 내적을 하면 된다.
u=[xyz]u=\begin{bmatrix} x\\y\\z \end{bmatrix}

u=[xyz]u'=\begin{bmatrix} x'\\y'\\z' \end{bmatrix}

[xyz]=Rv(θ)[xyz]\begin{bmatrix} x'\\y'\\z' \end{bmatrix}=R_v(\theta)\begin{bmatrix} x\\y\\z \end{bmatrix}

uu=uucosθu\cdot u'=|u||u'|\cdot \cos\theta

cosθ=uuuu=xx+yy+zzx2+y2+z2x2+y2+z2\cos\theta=\cfrac{u\cdot u'}{|u||u'|}=\cfrac{xx'+yy'+zz'} {\sqrt{x^2+y^2+z^2}\sqrt{x'^2+y'^2+z'^2}}

sinθ=1cos2θ\sin\theta=\sqrt{1-\cos^2\theta}

v=1u×uu×u=[lmn]v=\cfrac{1}{||u\times u'||}u\times u'=\begin{bmatrix} l\\m\\n \end{bmatrix}

내적, 외적을 이용해 cosθ\cos\theta, sinθ\sin\theta, vv를 구한 후, 아래 식에 대입하면 rotation matrix를 구할 수 있다.
R(θ)=[ll(1cosθ)+cosθml(1cosθ)nsinθnl(1cosθ)+msinθlm(1cosθ)+nsinθmm(1cosθ)+cosθnm(1cosθ)lsinθln(1cosθ)msinθmn(1cosθ)+lsinθnn(1cosθ)+cosθ]R(\theta)=\begin{bmatrix} ll(1-\cos\theta)+\cos\theta & ml(1-\cos\theta)-n\sin\theta & nl(1-\cos\theta)+m\sin\theta \\ lm(1-\cos\theta)+n\sin\theta & mm(1-\cos\theta)+\cos\theta & nm(1-\cos\theta)-l\sin\theta \\ ln(1-\cos\theta)-m\sin\theta & mn(1-\cos\theta)+l\sin\theta & nn(1-\cos\theta)+\cos\theta \end{bmatrix}

uu에 적용하는 순서는 다음과 같다.
u=T2R(θ)T1uu'=T_2R(\theta)T_1u
먼저 moving image의 장 축의 중심을 fixed image의 장 축의 중심에 이동 시키는 translation matrix T1T_1을 구한다. 그리고 앞서 구한 R(θ)R(\theta)를 이용해 회전을 시키고 다시 moving image의 장 축을 fixed image의 장 축에 이동 시키는 translation matrix T2T_2를 구한다.

profile
Medical Imaging & AI

0개의 댓글