vtk实战(十三)——读取DICOM影像文件
来源:互联网 发布:网络是把双刃剑章郑 编辑:程序博客网 时间:2024/05/01 00:18
DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信,是医学图像和相关信息的国际标准。
本例主要使用vtkDICOMImageReader()对DICOM图像进行操作。
注意:vtkDICOMImageReader()只能对DICOM原始文件进行操作,不处理多帧DICOM数据集。
int main(){ std::string folder = "digest_article"; vtkSmartPointer<vtkDICOMImageReader> reader = vtkSmartPointer<vtkDICOMImageReader>::New(); reader->SetDirectoryName(folder.c_str()); reader->Update(); vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New(); imageViewer->SetInputConnection(reader->GetOutputPort()); vtkSmartPointer<vtkTextProperty> sliceTextProp = vtkSmartPointer<vtkTextProperty>::New(); sliceTextProp->SetFontFamilyToCourier(); sliceTextProp->SetFontSize(20); sliceTextProp->SetVerticalJustificationToBottom(); sliceTextProp->SetJustificationToLeft(); vtkSmartPointer<vtkTextMapper> sliceTextMapper = vtkSmartPointer<vtkTextMapper>::New(); std::string msg = StatusMessage::Format(imageViewer->GetSliceMin(), imageViewer->GetSliceMax()); sliceTextMapper->SetInput(msg.c_str()); sliceTextMapper->SetTextProperty(sliceTextProp); vtkSmartPointer<vtkActor2D> sliceTextActor = vtkSmartPointer<vtkActor2D>::New(); sliceTextActor->SetMapper(sliceTextMapper); sliceTextActor->SetPosition(15, 10); vtkSmartPointer<vtkTextProperty> usageTextProp = vtkSmartPointer<vtkTextProperty>::New(); usageTextProp->SetFontFamilyToCourier(); usageTextProp->SetFontSize(14); usageTextProp->SetVerticalJustificationToTop(); usageTextProp->SetJustificationToLeft(); vtkSmartPointer<vtkTextMapper> usageTextMapper = vtkSmartPointer<vtkTextMapper>::New(); usageTextMapper->SetInput("- Slice with mouse wheel\n or Up/Down-Key\n- Zoom with pressed right\n mouse button while dragging"); usageTextMapper->SetTextProperty(usageTextProp); vtkSmartPointer<vtkActor2D> usageTextActor = vtkSmartPointer<vtkActor2D>::New(); usageTextActor->SetMapper(usageTextMapper); usageTextActor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedDisplay(); usageTextActor->GetPositionCoordinate()->SetValue(0.05, 0.95); vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); vtkSmartPointer<myVtkInteractorStyleImage> myInteractorStyle = vtkSmartPointer<myVtkInteractorStyleImage>::New(); myInteractorStyle->SetImageViewer(imageViewer); myInteractorStyle->SetStatusMapper(sliceTextMapper); imageViewer->SetupInteractor(renderWindowInteractor); renderWindowInteractor->SetInteractorStyle(myInteractorStyle); imageViewer->GetRenderer()->AddActor2D(sliceTextActor); imageViewer->GetRenderer()->AddActor2D(usageTextActor); imageViewer->Render(); imageViewer->GetRenderer()->ResetCamera(); imageViewer->Render(); renderWindowInteractor->Start(); return 0;}
代码链接:http://pan.baidu.com/s/1pLSWTIj
0 0
- vtk实战(十三)——读取DICOM影像文件
- vtk实战(六)—读取".gml"文件
- vtk实战(八)—读取.raw文件
- {学海无涯}【基于VTK的三维建模】——1.Dicom文件的读取与显示
- ITK/VTK对DICOM文件的读取
- 3 vtk读取并显示dicom文件
- vtk实战(十二)——读取.obj文件
- VTK读取DICOM图像
- ITK、VTK、Qt读取与显示DICOM文件------代码部分
- VTK实现Dicom文件的读取及显示
- vtk实战(二十三)——写入vtktable数据
- vtk实战(十九)——读取 PDB数据
- vtk实战(三十五)——读取结构化格网数据
- vtk实战(三十六)——读取结构化点云数据
- vtk实战(三十七)——读取bmp数据
- vtk实战(三十八)——读取jpg数据(有问题)
- vtk实战(三十九)——读取PNG数据
- vtk实战(四十一)——读取tif数据
- 数据类型图和基本数据类型图
- python异常处理
- iOS 绘制不规则图形,并且添加点击事件
- 这几天学习使用awk遇到个问题
- c# 泛型 束缚关系和default
- vtk实战(十三)——读取DICOM影像文件
- eclipse上android NDK开发环境的搭建(android-ndk-r10d\docs\Getting Started with the NDK)
- ios修改textField的placeholder的字体颜色大小
- POJ3628 Bookshelf2
- maven私服配置
- Android开发报错: Authentication scheme ‘all’(Authentication) is not supported by protocol ‘file’
- hdu3068 manacher算法模板
- 基于传统复制模式下的主从同步搭建测试
- 个人博客koalahl.github.io