最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言:

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

VTK,(visualizationtoolkit)是一個(gè)開放資源的免費(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)換界面,因此也可以自由的通過Java,Tcl/Tk和Python各種語言使用vtk。

主要函數(shù)介紹

vtk.vtkJPEGReader(): 讀取圖片的接口,可以通過該接口設(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è)被處理的體素,以三角面片來逼近其內(nèi)部的等值面。每個(gè)體素是一個(gè)小立方體(cube),在構(gòu)造三角面片的處理過程中對(duì)每個(gè)體素都“掃描”一遍,就好像是一個(gè)處理器在這些體素上移動(dòng)一樣,也因此而得名。··在等值面抽取的過程中將一系列二維切片數(shù)據(jù)看做是一個(gè)三維的數(shù)據(jù)場(chǎng),從中將具有某種閾值的物質(zhì)抽取出來,以某種拓?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)  # 說明圖像是三維的
 # 定義圖像大小,本行表示圖像大小為(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)

# 開始顯示
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)文章

  • Python魔術(shù)方法深入分析講解

    Python魔術(shù)方法深入分析講解

    所謂魔法函數(shù)(Magic Methods),是Python的?種?級(jí)語法,允許你在類中?定義函數(shù)(函數(shù)名格式?般為__xx__),并綁定到類的特殊?法中。?如在類A中?定義__str__()函數(shù),則在調(diào)?str(A())時(shí),會(huì)?動(dòng)調(diào)?__str__()函數(shù),并返回相應(yīng)的結(jié)果
    2023-02-02
  • 詳解Python列表賦值復(fù)制深拷貝及5種淺拷貝

    詳解Python列表賦值復(fù)制深拷貝及5種淺拷貝

    這篇文章主要介紹了Python列表賦值,復(fù)制,深拷貝以及5種淺拷貝詳解,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 解決python3中解壓zip文件是文件名亂碼的問題

    解決python3中解壓zip文件是文件名亂碼的問題

    下面小編就為大家分享一篇解決python3中解壓zip文件是文件名亂碼的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Python實(shí)現(xiàn)生成隨機(jī)數(shù)據(jù)插入mysql數(shù)據(jù)庫的方法

    Python實(shí)現(xiàn)生成隨機(jī)數(shù)據(jù)插入mysql數(shù)據(jù)庫的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)生成隨機(jī)數(shù)據(jù)插入mysql數(shù)據(jù)庫的方法,涉及Python隨機(jī)字符串生成及數(shù)據(jù)庫連接、插入等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python中用PIL庫批量給圖片加上序號(hào)的教程

    Python中用PIL庫批量給圖片加上序號(hào)的教程

    這篇文章主要介紹了Python中用PIL庫批量給圖片加上序號(hào)的教程,PIL庫是Python中一個(gè)非常強(qiáng)大的處理圖片的庫,需要的朋友可以參考下
    2015-05-05
  • python定義變量類型

    python定義變量類型

    任何編程語言都需要處理數(shù)據(jù),比如數(shù)字、字符串、字符等,我們可以直接使用數(shù)據(jù),也可以將數(shù)據(jù)保存到變量中,方便以后使用。本文主要介紹了python定義變量類型,感興趣的可以了解一下
    2021-06-06
  • 有關(guān)wxpython pyqt內(nèi)存占用問題分析

    有關(guān)wxpython pyqt內(nèi)存占用問題分析

    一直覺得wxpython占用內(nèi)存比較多,在工作中寫的一些小程序應(yīng)用,一對(duì)比其它的小程序,發(fā)現(xiàn)內(nèi)存相差確實(shí)有點(diǎn)大
    2014-06-06
  • Python3自動(dòng)簽到 定時(shí)任務(wù) 判斷節(jié)假日的實(shí)例

    Python3自動(dòng)簽到 定時(shí)任務(wù) 判斷節(jié)假日的實(shí)例

    今天小編就為大家分享一篇Python3自動(dòng)簽到 定時(shí)任務(wù) 判斷節(jié)假日的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python super用法及原理詳解

    python super用法及原理詳解

    這篇文章主要介紹了python super用法及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python 的 with 語句詳解

    Python 的 with 語句詳解

    這篇文章主要介紹了Python 的 with 語句,本文詳細(xì)講解了with語句、with語句的歷史、with語句的使用例子等,需要的朋友可以參考下
    2014-06-06

最新評(píng)論

沅陵县| 广平县| 财经| 黄梅县| 大连市| 遵化市| 邢台市| 叶城县| 于田县| 屯门区| 保山市| 西安市| 青州市| 正镶白旗| 石景山区| 屏边| 杭锦后旗| 南汇区| 宜兴市| 麟游县| 云和县| 西丰县| 应用必备| 张家界市| 涡阳县| 杂多县| 绥宁县| 霍邱县| 遂溪县| 黑河市| 大埔区| 拜泉县| 同德县| 乌拉特中旗| 巴里| 三门峡市| 安平县| 昂仁县| 双流县| 洛扎县| 宿松县|