三维重建 PyQt Python VTK 体绘制 医学图像可视化系统,可提供源码(横断面,冠状面,矢状面,3D)

33 篇文章 7 订阅

本文实现了 Python C++ 版本 的 四视图,横断面,冠状面,矢状面,3D

三维重建 医学图像的可视化 PyQt Python VTK四视图(横断面,冠状,矢状面,3D)
主要功能:
1.支持 JPG PNG TIF DICOM RAW MHD Nii 等多种数据格式导入
2. 四视图搭建,,横断面,冠状面,矢状面 3D;
3. 四窗口每个窗口可以最大化,恢复
3.二维数据视图的图层切换, 缩放,窗宽窗位调整功能;可以通过进度条换图层;可以通过进度条调整窗宽窗位;
4.三维可视化数据显示,缩放,旋转 ,平移
5.测量功能,2D 距离测量 角度测量 :
6.3D 体绘制 ,三维可视化数据显示,缩放,旋转 ,平移

7.虚拟切割,内部可视化

8.体数据切割;保存

效果:

 三维重建,窗口最大化

单窗口最大化

三维数据切割

 

这里主要讲一下体绘制:

1.固定点光线投影算法

vtkFixedPointVolumeRayCastMapper

该类能够实现基于Alpha合成的体绘制方法和最大密度投影体绘制方法,能够支持任意类型或者独立多元数据。
例如,当输入为二元独立数据时,第一源数据用于颜色映射,而第二元作为不透明度映射。该类使用了空间跳跃技术来加速体绘制的渲染过程,而在内部计算时,统一使用了float数据类型。
vtkFixedPointVolumeRayCastMapper与vtkVolumeRayCastMapper对比两个类的使用方法基本一致,都支持设置光线采样步长、图像采样距离、自动调整图像采样距离等操作。

vtkFixedPointVolumeRayCastMapper

只支持基于Alpha合成的体绘制方法和最大密度体绘制方法,

 光线投影+最大密度投影+等值面法

void SetBlendModeToComposite();
void SetBlendModeToMaximumIntensity();
void SetBlendModeToMinimumIntensity();
void SetBlendModeToAddictive();

2、基于GPU加速的光线投射体会自算法

vtkGPUVolumeRayCastMapper类实现了基于GPU加速光线投影体绘制算法。该类的使用方法与上面各类基本一致。同样可以实现光线采样步长、图像采样距离、自动调整图像采样距离等。


	vtkSmartPointer<vtkGPUVolumeRayCastMapper> volumeMapper =
		vtkSmartPointer<vtkGPUVolumeRayCastMapper>::New();
	volumeMapper->SetInputData(reader->GetOutput());;
	volumeMapper->SetSampleDistance(volumeMapper->GetSampleDistance() / 2);	//设置光线采样距离
 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恋恋西风

up up up

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值