如何使用vtk将平面图像 进行三维vtk点云重建三角网格

当前位置:
文件名称:VTK
所属分类:
资源属性:
Windows,Visual C,C/C++,源码
上传时间:
文件大小:
浏览/下载:
278次 / 9次
提 供 者:
相关连接:
下载说明:
别用迅雷下载,失败请重下,重下不扣分!
利用VTK软件包进行医学图像的三维重建。VTK可以到官方网站下载,安装和配置步骤,自己去网上查找。
(系统自动生成,下载前可以参看下载内容)下载文件列表
压缩包 : 9927389vtk.rar 列表
VTK\VTK_Duo_1.dsw
VTK\VTK_Duo_1.ncb
VTK\VTK_Duo_1.plg
VTK\VTK_Duo_1.dsp
VTK\VTK_Duo_1.cxx
VTK\VTK_Duo_1.opt
暂无评论内容.
*快速评论:
和说明不符
不是源码或资料
纯粹是垃圾
*内  容:
*验 证 码:
搜珍网是交换下载平台,下载的内容请自行研究使用或咨询上传人.
资源属性分别代表:系统平台,开发平台,开发语言,文件格式四部分.
本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用进行解压.
如果您发现此软件无法下载,请稍后再次尝试;或者.
本站提供下载的内容为网上收集或会员上传提供,若无意中侵犯了您的版权,.
如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
如下载后发现下载的内容跟说明不相乎,可以联系本站的客服,经确认可以退回消费了的积分.
联系我们网站
·电话:(0)
All Rights Reserved.基于CT序列图像肝脏和血管的三维重建VTK程序
基于医学图像的三维重建对于手术前风险评估,手术规划,手术仿真(如模拟肿瘤切除),以及定量的计算各种病变组织的大小体积有着巨大的推动作用。它是计算机数字图像处理与医学的一次有力的结合,我也一直在研究如何从CT序列图像中重建出我们想看见的东西,这段时间和同学老师也一直在研究!于是用VTk重建了一些CT图像,希望对研究这个方向的同仁有所帮助!
下面给出动脉期和静脉期的肝脏从开始形成到快要结束中的一部分图片。(第一行为动脉期,第二行为动脉期,第三行为基于静脉期重建的肝脏,第三行为动脉期肝脏中重建的血管,第四行为静脉期肝脏中重建的血管,第五行为基于动脉期和静脉期重建的肝脏和血管总览图)。如有问题请联系我:
下面是重建肝脏的VTK代码。
#include "vtkRenderer.h"&
#include "vtkRenderWindow.h"&
"vtkRenderWindowInteractor.h"&
"vtkDICOMImageReader.h"&
#include "vtkPolyDataMapper.h"&
#include "vtkActor.h"&
#include "vtkOutlineFilter.h"&
#include "vtkCamera.h"&
#include "vtkProperty.h"&
#include "vtkPolyDataNormals.h"&
#include "vtkContourFilter.h"&
#include "vtkVolume16Reader.h"
#include "vtkImageCast.h"
#include "vtkImageReader.h"
#include "vtkBMPReader.h"
#include "vtkMarchingCubes.h"
#include "vtkStripper.h"
#include "vtkSmoothPolyDataFilter.h"
#include "vtkDecimatePro.h"
void main () //////////////////面绘////////////////
// Create the renderer, the render window, and the interactor.
The renderer
vtkRenderer *aRenderer =
vtkRenderer::New();//建立绘制者&
vtkRenderWindow *renWin = vtkRenderWindow::New();
//建立绘制窗口
renWin-&AddRenderer(aRenderer);
//将绘制者加入绘制窗口
vtkRenderWindowInteractor *iren =
vtkRenderWindowInteractor::New();&
iren-&SetRenderWindow(renWin);
&&vtkBMPReader *v16 =
vtkBMPReader::New ();
v16-&SetFilePrefix
("E://92/");//图片途径,文件夹名字为92,里面放着从1.bmp到92.bmp的CT图像
&&&&&&&&v16-&SetFilePattern
("%s%d.bmp");//很重要必须要
v16-&SetDataScalarTypeToUnsignedChar
v16-&SetDataByteOrderToLittleEndian
v16-&SetDataSpacing (1, 1, 3);//像素间的间隔
v16-&SetFileNameSliceSpacing (1);
v16-&SetDataExtent
(0,627,0,471,1,92);//其中最后一个参数92 就表示我的图像序列有92张图像
v16-&Allow8BitBMPOn ();//设置读入bmp图像为8位深度
&&vtkMarchingCubes
*skinExtractor = vtkMarchingCubes::New();
//用MarchingCubes绘制曲面
&&&&skinExtractor-&SetInputConnection(v16-&GetOutputPort());
&&&&skinExtractor-&SetValue(0,
120);//设置阈值,其实为阈值重建,大于120为1 小于120为0 二值图像重建
&&vtkDecimatePro
*deci=vtkDecimatePro::New(); //减少数据读取点,以牺牲数据量加速交互
&&&&deci-&SetTargetReduction(0.3);
&&&&deci-&SetInputConnection(skinExtractor-&GetOutputPort());
&&vtkSmoothPolyDataFilter
*smooth=vtkSmoothPolyDataFilter::New();
&//使图像更加光滑
&&&&smooth-&SetInputConnection(deci-&GetOutputPort());
&&&&smooth-&SetNumberOfIterations(500);
&&vtkPolyDataNormals
*skinNormals = vtkPolyDataNormals::New();//绘制法线
&&&&skinNormals-&SetInputConnection(smooth-&GetOutputPort());
&&vtkPolyDataMapper
*skinMapper = vtkPolyDataMapper::New();
&&&&skinMapper-&SetInputConnection(skinNormals-&GetOutputPort());
&&&&skinMapper-&ScalarVisibilityOff();
&&vtkActor *skin =
vtkActor::New();
&&&&skin-&SetMapper(skinMapper);
//获得皮肤几何数据的属性&
&&&&skin-&GetProperty()-&SetDiffuseColor(.56,
.38, .29); //设置皮肤颜色的属性&
&&&&skin-&GetProperty()-&SetSpecular(.4);
//设置反射率&
&&&&skin-&GetProperty()-&SetSpecularPower(20);
//设置反射光强度*/&
&&&&skin-&GetProperty()-&SetOpacity(0.5);//设置透明度
&&vtkCamera *aCamera
= vtkCamera::New(); //定义摄像机
aCamera-&SetViewUp (0, 0, -1); //取得摄像机方向
aCamera-&SetPosition (0, 1, 0); //光源位置
aCamera-&SetFocalPoint (0, 0, 0); //取焦点坐标
aCamera-&ComputeViewPlaneNormal();&
&&&&//aRenderer-&AddActor(skin);
//渲染皮肤 此步奏很关键 必须有
//aRenderer-&AddActor(skin1); //渲染皮肤
此步奏很关键必须有
aRenderer-&AddActor(skin2); //渲染皮肤
此步奏很关键必须有
aRenderer-&SetActiveCamera(aCamera);&
aRenderer-&ResetCamera();&
aCamera-&Dolly(1.5);
//大于1向摄像机焦点移动小于1则向远离焦点的方向移动
aRenderer-&SetBackground(1,1,1);&
renWin-&SetSize(640, 480);
aRenderer-&ResetCameraClippingRange&();
iren-&Initialize();&
iren-&Start();
v16-&Delete();&
skinExtractor-&Delete();&
skinNormals-&Delete();&
skinMapper-&Delete();&
skin-&Delete();&
aCamera-&Delete();&
iren-&Delete();&
renWin-&Delete();&
aRenderer-&Delete();
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。VTK的图像三维重建.pdf
扫描二维码,下载文件到手机
相关文档推荐
当前文件信息
浏览:140次
下载:28次
您的VIP会员已过期,是否续费?
用户应遵守著作权法,尊重著作权人合法权益,不违法上传、存储并分享他人作品。举报邮箱:
京网文[0号 京ICP证100780号

我要回帖

更多关于 vtk 生成图像数据 的文章

 

随机推荐