看板 Math 關於我們 聯絡資訊
也在stackoverflow問了 https://stackoverflow.com/questions/55774677 目前我在做一些醫學3D影像的研究 需要計算一些affine transform的矩陣 事情是這樣,我手上有一些voxel size不是正方形的3D影像 (voxel就是3D的像素) 我已經寫了一些code來把他們插值成正方形 只是我不會計算新的affine 這個affine負責把voxel座標投影到現實的座標 例如第[128 128 10]個voxel和affine點積會變成[-192 192 -64]表示病人在掃描的時候掃描器的座標 如果今天我把一個256 x 256 x 20個voxel的3D影像插值成 256 x 256 x 120 那麼新的affine X就應該要滿足 [128 128 60] X = [-192 192 -64] 如果是方陣 我知道 A點積X=B 可以求 X=A的反矩陣 點積 B 但是我的A不是方陣,沒辦法求反矩陣 請問大家有什麼想法嗎? 謝謝各位 ----- Sent from JPTT on my Asus ASUS_Z01KDA. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 173.63.8.69 ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1555808979.A.421.html
DLHZ : A非方陣Ax=b依然存在通解不是嗎04/21 12:51
DLHZ : google: Gauss elimination04/21 12:52
看了一下如果只有一組Ax=B可以用LSQ來求最小Euclidean 2-norm 但我的狀況是有256 x 256 x 20組已知Ax=B 那麼是不是可以用更iterative的演算法來逼近x
Uniqueness : Affine trans不就是一個可逆變換加位移嗎04/21 22:12
Uniqueness : 把affine trans的位移量減掉後看成3x3去做反矩陣04/21 22:14
Uniqueness : 就可以知道兩者間如何轉換了04/21 22:17
affine是從voxel space投影到scanner space的可逆變換 現在是因為voxel space的座標改變了,所要計算新的affine ※ 編輯: kaltu (107.77.224.34), 04/21/2019 23:14:34
recorriendo : 原來座標[x y z] resample後變[x y 6z]04/22 02:25
recorriendo : [x y z]*H1 和 [x y 6z]*H2 要得到同樣值 這這不需04/22 02:26
recorriendo : 要重新解反矩陣啊... 用看的就知把H1第三列縮放即可04/22 02:29
舉例是舉例 但是常常是[sin(2/3 x) cos(2/3 y) 3.6z]這種鬼數字
recorriendo : 另外影像處理通常是用homogeneous matrix做affine04/22 02:31
recorriendo : 比較方便 不用加來加去的04/22 02:31
affine是homogeneous沒錯 參考 http://bit.ly/2vhviIF 因為是三維座標 所以affine A是3+1,4 x 4的homogeneous matrix http://i.imgur.com/NgeF3IX.jpg voxel space座標V [I j k]和scanner space座標S [x y z]的關係是 http://i.imgur.com/Oh6zHZQ.jpg 我有一堆(V, S)pair希望能找到一個演算法逼近新的A' ※ 編輯: kaltu (173.63.8.69), 04/22/2019 03:10:12
recorriendo : 如果已知轉換後的座標[x' y' z']和轉換前[x y z]的 04/22 23:24
recorriendo : 關係是[x' y' z' 1]=[x y z 1]*H (這比較像你原文的 04/22 23:25
recorriendo : 問題) 那要[x y z 1]*H1=[x' y' z' 1]*H2恆成立顯然 04/22 23:26
recorriendo : 就是解H1=H*H2而已 你後來的問題(給定一堆對應點找 04/22 23:29
recorriendo : transformation)就較複雜 用到數值線性代數的技巧 04/22 23:31