VTK笔记——医学图像的可视化与交互(vtkImageViewer2)

在读取了医学图像数据后,下一步就需要将它显示出来和进行交互操作。将3D的医学图像以2D的方式呈现,同时切换切片来帮助医学分析。
摘要由CSDN通过智能技术生成

在读取了医学图像数据后,下一步就需要将它显示出来和进行交互操作。将3D的医学图像以2D的方式呈现,同时切换切片来帮助医学分析。

vtkImageViewer2

一个方便易用的2D图像显示类,它封装了vtkRenderWindow, vtkRender, vtkImageActor和vtkImageMapToWinowLevelColors。同时,包含了一个vtkInteractorStyleImage的交互方式,使得显示和交互变得更加简单。

3D医学图像有很多,不仅只有CT,还有MRI,超声波,X-光等,各具有独特的诊断优势。下面以CT图像数据作为示例。
读取数据
DICOM图像可以使用itk读取,当然vtk也提供了读取类vtkDICOMImageReader。

	auto reader = vtkSmartPointer<vtkDICOMImageReader>::New();
	reader->SetDirectoryName(argv[1]);
	reader->Update();

设置imageViewer
可以设置slice,3维数据的方向,以及窗口大小、窗宽、窗位等等。

	auto imageViewer = vtkSmartPointer<vtkImageViewer2>::New();
	imageViewer->SetInputConnection(reader->GetOutputPort());

	auto interactor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
	imageViewer->SetupInteractor(interactor);
	imageViewer->SetSize(400, 400);
	imageViewer->SetColorLevel(500);
	imageViewer->SetColorWindow(1000);
	imageViewer->SetSliceOrientationToXY(); // z-axis
	imageViewer->GetRenderer()->SetBackground(1, 1, 1);

设置交互方式

	auto myStyle = vtkSmartPointer<myVtkInteractorStyleImage>::New();
	myStyle->SetImageViewer(imageViewer);
	interactor->SetInteractorStyle(myStyle);

自定义交互方式

vtkInteractorStyleImage是默认方式,我们为了通过鼠标滚轮来切换slice,自定义如下:

class myVtkInteractorStyleImage 
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值