計算機系統:win8.1( 64 bit )
vtk版本:6.2.0
1 說明
關於三維資料的重切主要通過vtkimagereslice實現(例項:imageslicing),而更加方便的是通過vtkimageplanewidget類來實現( 例項:fourpaneviewer,或者testimageplanewidget.py)。在例子imageslicing中,實現的是對體數資料整體切割,而在例fourpaneviewer中,可以實現對對體資料的區域性切割。例項fourpaneviewer比較複雜,參考資料[5]中簡單說明了vtkimageplanewidget的用法。在實際過程中,發現快捷鍵無效,根據參考資料[6]的說明可知,這是vtk本身的bug,因此為了避免使用快捷鍵,要自行設計button。
2 2d座標-->3d座標
使用上述方法獲得切片後,切片的座標是2d的,如何將其轉換為對應的3d座標呢?這是乙個問題。從2d座標到3d座標的轉換,其實是從乙個座標系到另外乙個座標系的轉換(《座標系轉換》)。
vtkimageplanewidget函式getresliceaxes()可以獲得乙個轉換矩陣(vtkmatrix4x4),根據《座標系轉換》第3章的公式,將虛擬切片的2d座標拓展到4d,其第3維和第4維分為別為0和1,然後使用轉換矩陣乘以這拓展後的座標,即可得到乙個新的4d座標(齊次座標)。這個新的4d座標的最前3維就是虛擬切片的2d座標所對應的3d座標。
具體實現**如下:
double in[4], *out;
in[0] = 274; % 將2d座標(274,363)拓展為(274,363,0,1)
in[1] = 363;
in[2] = 0;
in[3] = 1;
vtkmatrix4x4 *mat = imageplanewidget->getreslice()->getresliceaxes(); % 獲取轉換矩陣
out = mat->multiplydoublepoint(in); % out中的前3個元素即是對應的3d座標
參考資料
[1]vtk學習筆記-2-tiff影象資料的重切片
[2]基於vtk的任意平面切割
[3]vtk複習筆記——切割(一)——切割模型
[4]vtk滑鼠互動三例
[5] 胡戰利. 基於vtk的醫學影象三維重建及互動研究. 哈爾濱工業大學. 2023年1月
[6]keypressactivation for vtkimageplanewidget not working
[7]顯示dicom序列檔案的例項
搭建區塊鏈虛擬幣充提介面
一 幣聯錢包 幣聯是什麼?二 數字貨幣充提介面 幣聯錢包,至今未出現盜幣的安全便捷的數字資產api對接平台,提供btc eth usdt eos tron等主流節點的對接充提幣,生成位址歸集的api,支援多種語言。三 usdt介面四 數字貨幣安全管家 1 什麼是充提幣介面的8維度使用效能?8維度 安...
kvm虛擬機器SSH登入虛擬機器等待很久才提示輸入密碼
現狀 轉殖kvm虛擬機器在ssh登入時,要等待很久才提示輸入使用者 收集及嘗試方法 在server上 etc hosts檔案中把你本機的ip和hostname加入 在server上 etc ssh sshd config檔案中修改或加入usedns no 注釋掉server上 etc resolv....
虛擬主機的提權兩個小技巧
從別人那裡看到了 對虛擬主機的提權很有幫助 就收藏了 0x01 是否大家會想到呼叫遠端路徑去執行cmd,比如 x.x.x.x test cmd.exe 經過我的測試是可以成功的,而且就算你exp不免殺,殺軟也不會提示!當時記得我有個t00ls的朋友找提權,也是這種情況,當時幫他解決了。呼叫遠端路徑的...