欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python-VTK批量讀取二維切片并顯示三維模型

 更新時(shí)間:2022年04月18日 12:46:52   作者:派大大大星?  
這篇文章主要介紹了Python-VTK批量讀取二維切片并顯示三維模型,文章基于python的相關(guān)資料展開(kāi)對(duì)主題的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言:

使用Python-VTK批量讀取二維切片,并顯示三維模型

VTK,(visualizationtoolkit)是一個(gè)開(kāi)放資源的免費(fèi)軟件系統(tǒng),主要用于三維計(jì)算機(jī)圖形學(xué)、圖像處理和可視化。Vtk是在面向?qū)ο笤淼幕A(chǔ)上設(shè)計(jì)和實(shí)現(xiàn)的,它的內(nèi)核是用C++構(gòu)建的,包含有大約250,000行代碼,2000多個(gè)類,還包含有幾個(gè)轉(zhuǎn)換界面,因此也可以自由的通過(guò)Java,Tcl/Tk和Python各種語(yǔ)言使用vtk。

主要函數(shù)介紹

vtk.vtkJPEGReader(): 讀取圖片的接口,可以通過(guò)該接口設(shè)置讀取的圖片位置、大小、維度。需要注意的是,如果需要將一列二維圖片讀取成一個(gè)三維圖像需要將一些圖片命名成自然順序0、1、2、3···,這樣VTK才能正確的讀取圖片。如果需要讀取其他格式的圖片只需要將函數(shù)中的JPEG換成對(duì)應(yīng)的格式即可,如PNG。

vtk.vtkMarchingCubes(): 三維重建函數(shù),MarchingCubes算法實(shí)際上是一個(gè)分而治之的方法,因?yàn)槠鋵⒌戎得娴某槿》植加诿恳粋€(gè)體素(voxel)中進(jìn)行。對(duì)于每個(gè)被處理的體素,以三角面片來(lái)逼近其內(nèi)部的等值面。每個(gè)體素是一個(gè)小立方體(cube),在構(gòu)造三角面片的處理過(guò)程中對(duì)每個(gè)體素都“掃描”一遍,就好像是一個(gè)處理器在這些體素上移動(dòng)一樣,也因此而得名。··在等值面抽取的過(guò)程中將一系列二維切片數(shù)據(jù)看做是一個(gè)三維的數(shù)據(jù)場(chǎng),從中將具有某種閾值的物質(zhì)抽取出來(lái),以某種拓?fù)湫问竭B接成三角面片,所以MC算法也被稱為“等值面提取”(IsosurfaceExtraction)算法。··在醫(yī)學(xué)應(yīng)用上,采用MC算法可以重建人體外部輪廓、內(nèi)部組織器官,使醫(yī)生能夠直接在三維圖像上觀察感興趣的器官與周圍組織的空間關(guān)系。

import vtk
# 定義渲染窗口、交互模式
aRender = vtk.vtkRenderer()
Renwin = vtk.vtkRenderWindow()
Renwin.AddRenderer(aRender)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(Renwin)

# 定義個(gè)圖片讀取接口
#讀取PNG圖片就換成PNG_Reader = vtk.vtkPNGReader()
Jpg_Reader = vtk.vtkJPEGReader()
Jpg_Reader.SetNumberOfScalarComponents(1)
Jpg_Reader.SetFileDimensionality(3)  # 說(shuō)明圖像是三維的
 # 定義圖像大小,本行表示圖像大小為(512*512*240)
Jpg_Reader.SetDataExtent(0, 512, 0, 512, 0, 240) 
 # 設(shè)置圖像的存放位置
Jpg_Reader.SetFilePrefix("E:/outer/label/5/")
 # 設(shè)置圖像前綴名字
 #表示圖像前綴為數(shù)字(如:0.jpg)
Jpg_Reader.SetFilePattern("%s%d.jpg")
Jpg_Reader.Update()
Jpg_Reader.SetDataByteOrderToLittleEndian()

# 計(jì)算輪廓的方法
contour = vtk.vtkMarchingCubes()  
contour.SetInputConnection(Jpg_Reader.GetOutputPort())
contour.ComputeNormalsOn()
contour.SetValue(0, 255)


mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(contour.GetOutputPort())
mapper.ScalarVisibilityOff()

actor = vtk.vtkActor()
actor.SetMapper(mapper)

renderer = vtk.vtkRenderer()
renderer.SetBackground([0.1, 0.1, 0.5])
renderer.AddActor(actor)

window = vtk.vtkRenderWindow()
window.SetSize(512, 512)
window.AddRenderer(renderer)


interactor = vtk.vtkRenderWindowInteractor()
interactor.SetRenderWindow(window)

# 開(kāi)始顯示
window.Render()
interactor.Initialize()
interactor.Start()

效果展示

1636290573(1).jpg

到此這篇關(guān)于Python-VTK批量讀取二維切片并顯示三維模型的文章就介紹到這了,更多相關(guān)Python-VTK讀取二維切片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 自學(xué)python用什么系統(tǒng)好

    自學(xué)python用什么系統(tǒng)好

    在本篇文章里小編給大家整理了一篇關(guān)于學(xué)python用什么系統(tǒng)好的相關(guān)文章,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python基礎(chǔ)之文件操作

    python基礎(chǔ)之文件操作

    這篇文章主要介紹了python文件操作,實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10
  • Python中判斷子串存在的性能比較及分析總結(jié)

    Python中判斷子串存在的性能比較及分析總結(jié)

    這篇文章主要給大家總結(jié)介紹了Python中判斷子串存在的性能比較及分析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python?Flask框架實(shí)現(xiàn)Proteus仿真Arduino與網(wǎng)頁(yè)數(shù)據(jù)交互

    Python?Flask框架實(shí)現(xiàn)Proteus仿真Arduino與網(wǎng)頁(yè)數(shù)據(jù)交互

    這篇文章主要介紹了Python?Flask框架實(shí)現(xiàn)Proteus仿真Arduino與網(wǎng)頁(yè)數(shù)據(jù)交互,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11
  • 8種Python異常檢測(cè)算法總結(jié)

    8種Python異常檢測(cè)算法總結(jié)

    異常檢測(cè)是通過(guò)數(shù)據(jù)挖掘方法發(fā)現(xiàn)與數(shù)據(jù)集分布不一致的異常數(shù)據(jù),也被稱為離群點(diǎn)、異常值檢測(cè)等等。本文為大家整理了8個(gè)常見(jiàn)的Python異常檢測(cè)算法,希望對(duì)大家有所幫助
    2023-02-02
  • Python Pywavelet 小波閾值實(shí)例

    Python Pywavelet 小波閾值實(shí)例

    今天小編就為大家分享一篇Python Pywavelet 小波閾值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • keras分類之二分類實(shí)例(Cat and dog)

    keras分類之二分類實(shí)例(Cat and dog)

    這篇文章主要介紹了keras分類之二分類實(shí)例(Cat and dog),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Python協(xié)程 yield與協(xié)程greenlet簡(jiǎn)單用法示例

    Python協(xié)程 yield與協(xié)程greenlet簡(jiǎn)單用法示例

    這篇文章主要介紹了Python協(xié)程 yield與協(xié)程greenlet簡(jiǎn)單用法,簡(jiǎn)要講述了協(xié)程的概念、原理,并結(jié)合實(shí)例形式分析了Python協(xié)程 yield與協(xié)程greenlet基本使用方法,需要的朋友可以參考下
    2019-11-11
  • python使用tkinter實(shí)現(xiàn)屏幕中間倒計(jì)時(shí)

    python使用tkinter實(shí)現(xiàn)屏幕中間倒計(jì)時(shí)

    這篇文章主要為大家詳細(xì)介紹了python使用tkinter實(shí)現(xiàn)屏幕中間倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 解決pip install psycopg2出錯(cuò)問(wèn)題

    解決pip install psycopg2出錯(cuò)問(wèn)題

    這篇文章主要介紹了解決pip install psycopg2出錯(cuò)問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07

最新評(píng)論