itk、vtk、qt 显示dicom 数据

以下代码实现了itk读取dicom数据,转换为vtkData,然后用Qt显示。

1、Qt Designer 搭建界面,QVTKOpenGLNativeWidget 是vtk的一个类,连接qt与vtk的桥梁,一个可以显示dicom数据的widget,可以当做一个普通的widget去布局。但是为vtk 与qt 的版本都比较高,注意一下。

2、因为使用itk较多,直接用itk读的dicom数据,然后使用 itk::ImageToVTKImageFilter转成vtkData,便于显示。

3、QVTKOpenGLNativeWidget 显示 dicom数据,主代码如下:


vtkSmartPointer imageViewer = vtkSmartPointer::New();

imageViewer->SetInputData(connector->GetOutput());
imageViewer->SetRenderWindow(ui.qvtk_2->renderWindow()); //ui.qvtk_2 为QVTKOpenGLNativeWidget 
imageViewer->SetSliceOrientationToXY();
imageViewer->SetSlice();//设置初始显示的切面Index
imageViewer->SetColorLevel(40);//窗宽窗位
imageViewer->SetColorWindow(40);

vtkSmartPointer renderWindowInteractor= vtkSmartPointer::New();
	
	
vtkSmartPointer myInteractorStyle = vtkSmartPointer::New();

myInteractorStyle->SetImageViewer(imageViewer);
	
imageViewer->SetupInteractor(renderWindowInteractor);
	
renderWindowInteractor->SetInteractorStyle(myInteractorStyle);
	

imageViewer->GetRenderer()->SetBackground(0.0, 0.0, 0.0);
imageViewer->Render();
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();

renderWindowInteractor->Initialize();

renderWindowInteractor->Start();

 

你可能感兴趣的:(ITK,vtk,QT,itk,vtk,qt,dicom)