我正在嘗試註冊來自大腦(PET和CT甚至PET和MR)的兩個立體圖像。這些體積圖像中的每一個包含不同數量的2D圖像(切片)。 例如,CT
具有150
切片而PET
具有100
切片。我正在考慮使用插值法計算CT切片的數量並將其數量減少到100.這是否是一種正確的方法?有誰知道任何可能對我有用的資源嗎?像一個僞代碼,或我應該通過註冊兩個體積圖像的步驟。 謝謝:)兩張卷的圖像註冊不同數量的切片
1
A
回答
1
如果您知道150個CT切片和100個PET切片的間距信息,您可以查看MATLAB的interp1
函數,以沿一個軸進行插值以將圖像重新縮放到相同的像素數。從這裏可以使用MATLAB的imregister
來執行註冊。
如果你正在尋找學習註冊引擎蓋(像素和物理座標之間轉換,轉換/重採樣圖像等)下的工作方式,一種資源,我可以指導您是ITK Software Guide pdf。
特別是,請嘗試閱讀關於圖像表示的Book 1 Section 4.1.4(pdf的第41頁)和關於轉換的Book 2 Section 3.9(pdf的第532頁)。
一般來說,在註冊過程中用3D圖像進行變換和插值的問題對於編寫代碼來說可能非常麻煩。您需要自問一下像素的間距和方向,如何變換和插值圖像以使它們的網格重疊,還需要決定在評估相似性度量時,如何處理網格中位於圖像邊界之外的像素。
儘管它給你做你認爲是最好的,我建議你使用現有的註冊程序,如果他們能夠做到的事情你想要什麼:
- MATLAB的
imregister
(我從來沒有使用它,所以我不能對此發表評論) - simpleITK爲Python
- the ITK for C++有一個學習曲線,但給出了註冊過程
- elastix完全控制是使用文本命令行程序要執行註冊的參數文件。
- 3D slicer具有用於簡單線性登記的圖形用戶界面
相關問題
- 1. 切片圖像與張量框的張量張量
- 2. 如何切片張量圖?
- 3. 張量切片並通過張量
- 4. numpy數組,切片4d數組(張量)
- 5. GPUImage:如何混合兩張不同大小的圖像,同時保持兩張圖像的原始高寬比?
- 6. 兩種不同的註冊表格
- 7. 兩張不同的邊緣顏色圖在同一張圖上?
- 8. 如何切片張量的一部分?
- 9. 張量切片操作中的問題
- 10. Theano的切片三維張量
- 11. 如何製作一張單張圖片,視爲三張不同的圖片?
- 12. 圖像註冊
- 13. PIL圖像張量張量,張量流
- 14. Android合併兩張圖像,另一張合併兩張圖像
- 15. Laravel 5 - 註冊時創建兩張表
- 16. 不同的註冊表格爲不同的註冊
- 17. 3張圖片之間的Java切換
- 18. python中的圖像註冊
- 19. Matlab - 註冊和裁剪來自兩個不同來源的對齊圖像
- 20. 航空圖像的圖像註冊
- 21. 在兩個aribtray點上切片圖像
- 22. 將兩張圖片到一個新的圖像
- 23. 如何顯示像iPhone原生相冊(連續4張圖片)的圖像?
- 24. 切片與CSS的圖像以不同的尺寸
- 25. 如何在不同的方向上旋轉兩張不同的圖像?
- 26. 每張幻燈片使用兩張圖片時的問題
- 27. canvas getImageData兩張圖片
- 28. Android合併兩張圖片
- 29. 掩蔽兩張圖片
- 30. Android合併兩張圖片
即使圖像具有相同數目的切片,因爲像素的圖像被變換後的網格點的位置很少最終一些形式的內插是必要的。如果您正在使用像ITK這樣的庫來執行註冊,則此插值將自動完成。你是否正在使用ITK或類似的庫來做到這一點,或者你是否想要自己編碼轉換/插值? – eigenchris
@eigenchris謝謝您的回覆。是的,我將在MATLAB中自己實現它。你知道任何有助於我的論文或資源嗎?我已經在這個領域讀了大量的論文(體積圖像註冊),但他們沒有任何關於這一步的信息。我有我的代碼正在爲一個切片和它的旋轉版本。但是當我想要解決真正的問題並將我的算法應用於所有PET和MR掃描切片時,我不知道該怎麼做。我將不勝感激任何幫助。 –
你確實知道這兩個圖像佔據相同的物理空間嗎?你知道像素之間的間距信息嗎?簡單的註冊問題可能對編寫代碼有指導意義,但註冊可能會很快變得複雜,我建議您使用其他人編寫的代碼來解決大多數註冊問題。你有沒有看過['imregister'](http://www.mathworks.com/help/images/ref/imregister.html#namevaluepairarguments)。 – eigenchris