3D Slicer简单三维重建
前言
本文章使用3D Slicer對輸入數據進行三維重建,結合別人的經驗以及自己的摸索,寫成這一篇文章,只是簡單的記錄一下自己做過的事情,并沒有多少深入的去研究,對一些東西可能理解的不夠好,希望讀這篇文章的人能夠諒解,不喜勿噴。
參考資料
CT圖片三維重建方法之3DSlicer篇
臨床影像實踐
B站視頻–血腫及中線測量
補充說明
獲取切片的間距,這里我用的是python的代碼來實現的,所用的圖片是使用LITS數據集由NII文件轉為png圖片來實現的,NII轉PNG圖片在我的博客另外一篇文章里面有,這里獲取切片間距信息的代碼如下:
"""查看數據軸向spacing分布 """import os import sys sys.path.append(os.path.split(sys.path[0])[0])from tqdm import tqdm import SimpleITK as sitkimport parameter as paract_path = r'G:\Python\liversegment\ImageResource\ImageTraning\data' spacing_list = []for file in os.listdir(ct_path):ct = sitk.ReadImage(os.path.join(ct_path, file), sitk.sitkInt16)temp = ct.GetSpacing()[-1] # 關鍵語句print('-----------------')print(file+' '+str(temp))spacing_list.append(temp)print('mean:', sum(spacing_list) / len(spacing_list))spacing_list.sort() print(spacing_list)# 訓練集中的平均spacing是1.59mm # 測試集中的數據的spacing都是1mm按照參考的文章中的第一篇文章基本可以把數據導入成功,但是在測量的時候,我愣是沒有找到在哪里能看見測量距離的大小,最后在第二個板塊的3D視角看到了,如下圖所示:
模型重建
按照第一篇文章的做法,不知道是不是我操作不當的原因還是什么,保存的數據再導入的時候,顯示的只是像前面的步驟那樣把png圖片導入并且把間距和比例修改之后的樣子,并沒有我想象的那種直接就是一個建立好的三維模型。于是就去找資料,看視頻,之后在B站上面看到有人的教程可以實現自己的目的。在這里我簡單的把我所使用的3種可以實現導入數據即為3D模型的方法簡單的說一下,詳細的可以點開前面的B站鏈接看B站的UP主的視頻。
手動涂畫
按照第一個文章,把間距和比例調整好之后,切換到模塊Segment Editor
然后再按照下面圖的順序將每一層的區域涂畫
這里我只是涂畫一層演示而已,因為這種方法不適合使用在這么多切片的數據上,適合涂畫腫瘤等微小物塊,占切片數量少的情況。
接下來是保存數據的重點
點擊圖中的按鈕(Segmentations…),然后拉到底下,選擇導出
接下來就是保存模型的時候了,可以點擊左上角的File再選擇Save,或者直接點擊下面一列的第三個圖標
或者
因為我只需要保存3維的模型,所以我只保留最后一個勾,保存路徑可以點擊Save旁邊的按鈕來選擇位置
最后點擊保存就可以了,然后我們來看一下效果,導入數據的時候直接把保存的vtk文件拖入到3D Slicer然后出現一個彈窗,點擊OK就可以了
效果圖如下所示,正好是一層手動涂畫的效果:
閾值選擇+裁剪
重復第一種方法同樣的步驟,然后再點擊閾值按鈕,更改閾值覆蓋整個想要重建的區域,然后再點擊顯示3D模型的按鈕,顯示出閾值覆蓋全部的3D模型,最后點擊Apply
然后動手開始裁剪,可以選擇裁剪方式,這里選擇的是把圈起來的部分剪掉
剪掉效果如下圖:
這種方法適合對重建區域比較熟悉的人使用,因為很容易剪錯區域,保存顯示的方法跟第一種方法后面的一樣,都是導出來顯示。這里就不展示了,因為這種方法確實耗時。
分割好的模型+閾值法
因為我有分割好的數據,所以可以直接使用分割好的數據進行三維重建,這時就要使用全部的輸入數據進行重建,還是跟之前的一樣的步驟,這里簡單的把步驟總結一下,1、導入數據 2、調整間距 3、調整比例 4、切換Segment Editor模塊 5、添加分割模塊 6、選擇閾值(這里要選中全部的數據)7、點擊3D顯示按鈕查看效果 8、導出模型 9、保存數據 這里貼一下我使用分割后的數據進行三維重建的效果
這里貼一下動態圖,設置了不同的透明度顯示,這個動態圖是一個gif格式的文件,百度搜索gifcamera可以找得到相應的軟件。
結束語
到這里,文章結束了,希望自己的一些經驗對大家有幫助,如果有不當之處請大家批評指出。
總結
以上是生活随笔為你收集整理的3D Slicer简单三维重建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WinIo驱动级键盘模拟编程
- 下一篇: 企业中台最佳实践--阿里数据中台最佳实践