日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vtk读取文件并显示的几种方法

發(fā)布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vtk读取文件并显示的几种方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)載于http://apps.hi.baidu.com/share/detail/7831982?感謝原作者! 1.用vtkDICOMImageReader #include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h" #include "vtkImageActor.h"
#include "vtkDICOMImageReader.h"
#include "vtkImageShiftScale.h"
int main ()
{
???vtkDICOMImageReader *dcmReader = vtkDICOMImageReader::New();
???dcmReader->SetDirectoryName("E:\medicalimages\vhm");
???dcmReader->SetDataByteOrderToLittleEndian();
?double x,y,z;
?dcmReader->GetDataSpacing(x,y,z);
?dcmReader->SetDataSpacing(x,y,z); vtkImageShiftScale *shifter =vtkImageShiftScale::New();
?shifter->SetInputConnection(dcmReader->GetOutputPort());
?shifter->SetShift(70);
?shifter->SetScale(0.5);
?shifter->SetOutputScalarTypeToUnsignedChar(); vtkImageActor *actor =vtkImageActor::New();
?actor->SetInput(shifter->GetOutput()); vtkRenderer *aRender = vtkRenderer::New();//設(shè)置繪制類
?aRender->AddActor(actor); vtkRenderWindow*renWin=vtkRenderWindow::New();//設(shè)置繪制窗口
?renWin->SetSize(500, 500);//設(shè)置背景顏色和繪制窗口大小
?renWin->AddRenderer(aRender);//裝載繪制類 vtkRenderWindowInteractor*iRen=vtkRenderWindowInteractor::New();//設(shè)置繪制窗口的交互
?iRen->SetRenderWindow(renWin);//裝載繪制窗口
??renWin->Render();//窗口進(jìn)行繪制
?iRen->Initialize();?
?iRen->Start(); //初始化并進(jìn)行交互繪制 dcmReader->Delete();
?shifter->Delete();
?actor->Delete();
?aRender->Delete();
???renWin->Delete();
?iRen->Delete();?
????return 0;
}?
2.用vtkVolume16Reader,不限定DCM文件,不過文件后綴要以.1 .2.3...來命名,工作有得做,而且不能讀太多圖片,vtkArray承載不了太多數(shù)據(jù).而且圖片會錯位
????????????vtkVolume16Readerv16 = new vtkVolume16Reader();
????????????v16.SetDataDimensions(512,512);
????????????v16.SetDataByteOrderToLittleEndian();
????????????v16.SetFilePrefix("F:\LiverGUI\SE4\IM");
????????????v16.SetImageRange(1,100);
????????????v16.SetDataSpacing(1.0,1.0, 1.0);?

3.讀raw data...用vtkImageData,讀取用vtkImageReader更快!具體查vtk手冊吧!
??????private void volumeRendering(String filePath, int[] dims, int[]shrinkFactor,vtkRenderWindow renWin)
????????{
????????????//接口說明
????????????//1.filePath:dat文件名
????????????//2.dims:體數(shù)據(jù)的三個維度所構(gòu)成的數(shù)組
????????????//3.shrinkFactor:三個元素的數(shù)組,代表長寬 高 的縮放比例
????????????//4.vtkRenderWindow,窗口中添加的vtkFormsWindowControl通過GetRenderWindow方法獲得的變量
????????????//Readdat data
????????????FileStreamfs = null;
????????????byte[]point = new byte[2];
????????????if(!File.Exists(filePath))
????????????{
????????????????MessageBox.Show("RawData doesn't exist!");
????????????????return;
????????????}
????????????fs= new FileStream(filePath, FileMode.Open, FileAccess.Read,FileShare.Read);
????????????inti, j, k;
????????????short[,,]rawData= new short[dims[0], dims[1], dims[2]];
????????????for(i = 0; i < dims[0]; i++)
????????????{
????????????????for(j = 0; j < dims[1]; j++)
????????????????{
????????????????????for(k = 0; k < dims[2]; k++)
????????????????????{
????????????????????????point[0]= (byte)fs.ReadByte();
????????????????????????point[1]= (byte)fs.ReadByte();
????????????????????????rawData= BitConverter.ToInt16(point, 0);
????????????????????}
????????????????}
????????????}
????????????//VolumeRendeing
????????????vtkImageDataid = new vtkImageData();
????????????id.SetDimensions(dims[0],dims[1], dims[2]);
????????????id.SetScalarTypeToShort();
????????????id.SetNumberOfScalarComponents(1);
????????????id.AllocateScalars();
????????????vtkImageShrink3Dmask = new vtkImageShrink3D();
????????????mask.SetInput(id);
????????????mask.SetShrinkFactors(shrinkFactor[0],shrinkFactor[1], shrinkFactor[2]);
????????????unsafe
????????????{
????????????????short*a = (short*)(id.GetScalarPointer().ToPointer());
????????????????for(i = 0; i < dims[0]; i++)
????????????????{
????????????????????for(j = 0; j < dims[1]; j++)
????????????????????{
????????????????????????for(k = 0; k < dims[2]; k++)
????????????????????????{
????????????????????????????*a++= rawData;
????????????????????????}
????????????????????}
????????????????}
????????????}
????????????vtkContourFiltercf = new vtkContourFilter();
????????????cf.SetInputConnection(mask.GetOutputPort());
????????????vtkPolyDataMappermapper = new vtkPolyDataMapper();
????????????mapper.SetInputConnection(cf.GetOutputPort());
????????????mapper.SetScalarRange(-2048,2047);
????????????vtkActoractor = new vtkActor();
????????????actor.SetMapper(mapper);
????????????vtkCameraaCamera = new vtkCamera();
????????????aCamera.SetViewUp(0,5, 0);
????????????aCamera.SetPosition(5,0, 0);
????????????aCamera.SetFocalPoint(0,0, 0);
????????????aCamera.ComputeViewPlaneNormal();
????????????vtkRendererren = new vtkRenderer();
????????????ren.AddActor(actor);
????????????ren.ResetCamera();
????????????aCamera.Dolly(1.5);
????????????ren.ResetCameraClippingRange();
????????????renWin.AddRenderer(ren);
????????????ren.SetBackground(0.0f,0.0f, 0.0f);
????????}
????}

總結(jié)

以上是生活随笔為你收集整理的vtk读取文件并显示的几种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 秋霞精品一区二区三区 | 成人爽爽爽 | 成人香蕉视频 | 欧美日a| 欧美午夜精品一区二区蜜桃 | 日韩国产欧美在线视频 | 国产校园春色 | 国产综合视频在线 | 三级国产视频 | 五月开心激情网 | 超碰在线小说 | 欧美区一区二区三 | 亚洲欧洲综合av | 成人a级片| 男女免费视频 | 欧美日韩一区二区三区视频 | 中出一区 | 91视频麻豆| 亚洲最色网站 | 国产丰满美女做爰 | 午夜免费激情视频 | 小香蕉av | 色呦呦网| 亚洲午夜小视频 | 国产一区二区三区四区五区美女 | 69亚洲乱人伦 | 日本h在线观看 | 91涩| 日韩短视频 | 91亚洲视频| 国产乱来| 亚洲成人激情在线 | 午夜不卡久久精品无码免费 | 中文字幕色站 | 欧美一级做a爰片久久高潮 久热国产精品视频 | 女的被男的操 | 成人激情片 | 久草久草 | 国产成人欧美一区二区三区的 | 亚洲天堂日韩av | av日韩高清 | 国产美女无遮挡网站 | 黄色.com | 欧美激情一区二区 | 日本五十路在线 | 日韩成人av在线播放 | 黄色片网站在线免费观看 | 日本在线小视频 | 国产成人手机视频 | 中文高清av | 国产一区欧美日韩 | 天天综合中文字幕 | 欧美日韩亚洲激情 | 热逼视频 | 亚洲第一天堂 | 亚洲丁香色 | 亚洲一区不卡在线 | 久久美利坚 | 亚洲四虎av | 久久性生活 | 久久久久久久久99 | 麻豆精品a∨在线观看 | 成人午夜视频免费看 | 91成人精品视频 | 日韩成人无码影院 | 俺也去五月婷婷 | www.99精品 | 777中文字幕 | www日本免费| 99精品视频播放 | 开心激情深爱 | 岛国av在线播放 | 天天操网站 | 女上男下动态图 | 亚洲成av人片在线观看无 | 国产91精品露脸国语对白 | 人成精品 | 黄色一级片在线免费观看 | 欧美色就是色 | 久久调教 | 99在线视频免费观看 | 驯服少爷漫画免费观看下拉式漫画 | 欧美不卡视频 | 污污视频免费观看 | 久久黑人 | 日韩视频免费在线播放 | 最新中文av| 日本变态折磨凌虐bdsm在线 | 九九99精品视频 | √资源天堂中文在线视频 | 北条麻妃青青久久 | 欧美一区二三区 | 潮喷失禁大喷水无码 | 国产精品久久久久久久久久久久午夜片 | 日韩欧洲亚洲 | 奇米四色在线视频 | 一个人看的毛片 | 国产福利资源在线 | 亚洲国产欧美日韩 |