`
chinamming
  • 浏览: 150258 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

VTK三维重建(1)-使用VTK读取DICOM,并动态输出

 
阅读更多

原文地址:http://blog.csdn.net/chinamming/article/details/16829351

[效果显示]

将脚部骨骼扫描的CT照片进行的连续读取, 运行结果存为了两个动态gif, 不知道能不能正常显示

[主程序实现]

int main(int argc, char* argv[])
{
   // Verify input arguments
   if ( argc != 2 )
   {
      std::cout << "Usage: " << argv[0]
      << " FolderName" << std::endl;
      return EXIT_FAILURE;
   }

   std::string folder = argv[1];

   // Read all the DICOM files in the specified directory.
   vtkSmartPointer<vtkDICOMImageReader> reader =
      vtkSmartPointer<vtkDICOMImageReader>::New();
   reader->SetDirectoryName(folder.c_str());
   reader->Update();

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

   // slice status message
   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);

   // usage hint message
   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 EXIT_SUCCESS;
}

原文地址:http://blog.csdn.net/chinamming/article/details/16829351

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    VTK读取30张Dicom图片三维重建.rar_C ,DICOM_dicom重建软件_三维重建 图片_图像 三维重建_图片 三

    本项目“VTK读取30张Dicom图片三维重建.rar”是基于C++编程语言,利用可视化工具包VTK(Visualization Toolkit)对30张DICOM图像进行三维重建的实例。下面我们将详细讨论相关的知识点。 首先,**DICOM标准**:DICOM...

    VTK对DICOM三维重建代码

    ### VTK对DICOM进行三维重建的知识点解析 #### 一、VTK简介与应用背景 VTK(Visualization Toolkit)是一种开源的、跨平台的软件系统,主要用于三维图形学、图像处理以及可视化技术。它提供了丰富的API接口,支持...

    vtk 三维重建

    7. `DicomLoad.cpp`:DICOM是一种常见的医学图像格式,这个文件可能包含读取和处理DICOM图像的代码,以便于进一步的三维重建。 8. `Medical3D.cpp`:这可能是主程序或核心类的实现,包括初始化VTK环境,调用其他...

    DICOM影像VTK三维重建Data

    标题"DICOM影像VTK三维重建Data"涉及到的知识点主要涵盖两个方面:DICOM影像处理和VTK的三维重建技术。 1. DICOM影像处理: - DICOM标准:理解DICOM格式的基本结构,包括文件头信息和图像数据部分,以及如何解析...

    VTK读取30张Dicom图片三维重建

    利用VTK三维重建软件与VS2010结合,读取格式为Dicom的系列图像,并能显示三维重建结果,语言为C++语言(Using VTK 3D reconstruction software and VS2010 combination, read the format of Dicom series of images, ...

    读取并可视化DICOM图像(VTK & OpenCV) - louishao的博客 - CSDN博客1

    首先,VTK(Visualization Toolkit)是一个开源的三维图形处理库,它提供了读取DICOM图像的功能。在VTK中,可以使用`vtkDICOMImageReader`类来读取DICOM文件。然而,读取后的图像数据默认可能不是浮点型,这可能导致...

    基于VTK的三维医学图像虚拟切片提取

    该方法旨在通过对DICOM格式的CT图像序列进行三维重建,并利用虚拟切面技术生成任意角度的切片图像,从而有效解决了传统医学影像设备在成像角度方面的局限性。 #### DICOM格式与CT图像序列 DICOM(Digital Imaging ...

    VTK读取dicom文件和窗宽床调节

    总的来说,利用VTK读取DICOM文件并进行窗宽床调节是医学图像分析的重要步骤。通过结合VTK的强大功能,我们可以实现用户友好的交互式界面,让医生和研究人员更方便地查看和分析医学图像。在实际项目中,可能还需要...

    医疗三维重建技术c++,QT

    在医学影像分析中,VTK提供了读取DICOM文件的能力,并能对其进行处理和可视化。在本项目中,VTK用于读取和解析DICOM影像,然后利用其强大的三维建模功能,将二维切片数据整合成三维模型。 DICOM是医疗影像的标准...

    C++VTK+MFC读取医学dicom图像及GPU三维重建(VTK MFC GPU)

    本项目聚焦于使用C++与VTK库结合MFC框架来读取医学DICOM图像,并利用GPU进行三维重建。DICOM(Digital Imaging and Communications in Medicine)是一种广泛使用的标准格式,用于存储、传输和打印医疗影像数据。通过...

    基于VTK的医学图像三维重建系统的设计与实现

    ### 基于VTK的医学图像三维重建系统的设计与实现 #### VTK与医学图像三维重建 在医学领域,图像处理技术对于疾病的诊断、治疗规划以及手术模拟具有至关重要的作用。随着计算机技术和软件工程的发展,医学图像的三...

    VTK-7.1.1.zip VTK-7.1.1.源码

    VTK,全称为“Visualization Toolkit”,是一个开源的三维可视化库,广泛用于科学计算和数据分析的图形用户界面开发。VTK-7.1.1.zip 是该库的一个特定版本,包含了VTK 7.1.1的完整源码,使得开发者能够深入理解其...

    用于三维重建的脑ct dicom格式

    基于VTK(Visualization Toolkit)的三维重建是一种常用的技术,它可以将这些二维切片整合并重建为三维模型。VTK是一个开源的C++库,提供了强大的图形处理和可视化功能,特别适合处理医学图像数据。使用VTK,我们...

    Python vtk读取并显示dicom文件示例

    1. **读取DICOM文件**: 在这个示例中,我们使用了`vtkDICOMImageReader`来读取DICOM格式的文件。`vtkDICOMImageReader`是一个专为读取DICOM文件而设计的VTK类。 2. **字节序**: `reader....

    VTK读取.vtk格式文件,并3维显示

    本文将深入探讨如何利用VTK读取.vtk格式的文件并实现三维显示,同时也会提及部分代码示例中的关键处理步骤,尽管这些代码主要涉及了ITK库的使用。 ### VTK与.vtk格式文件 #### .vtk格式简介 .vtk是VTK支持的一种...

    读取并可视化DICOM图像(VTK & OpenCV)

    DICOM(Digital Imaging and Communications in Medicine)是一种标准的医学影像数据交换格式,广泛应用...通过实践和学习,你可以深入理解这两个库的功能,并进一步拓展到其他领域,如三维重建、病灶检测等高级应用。

    使用python语言实现三维重建CT医学影像dicom文件dcm显示源码(使用vtk技术)

    在本项目中,我们主要探讨如何使用Python编程语言和VTK(Visualization Toolkit)库来实现三维重建CT医学影像。CT(Computed Tomography)影像通常存储为DICOM(Digital Imaging and Communications in Medicine)...

    VTK-8.2.0-Install-VS2017-x64-Release and Debug

    VTK,全称为 Visualization Toolkit,是一个开源的三维可视化软件开发库,广泛应用于科学计算和工程领域。本资源提供了VTK库的8.2.0版本,特别为Windows 10操作系统和Visual Studio 2017编译环境进行了优化,同时...

    CT三维重建_三维重建_三维_ct_ct三维重建

    对于初学者来说,理解并实现CT三维重建的过程是一个挑战,但也是一个很好的学习机会。通过这个项目,你可以深入理解图像处理、数据结构、算法和可视化等多个领域的知识。同时,实践过程中会涉及到编程语言(如Python...

Global site tag (gtag.js) - Google Analytics