Vtk的数据读写
不同的文件类型需要不同Reader/Writer类进行读写操作。
1、具体的writer读写表,见p69。
2、*.dcm图像是医学图像处理中使用最广泛的格式。而vtk中vtkDicomImageReader对于该类文件的读取能力有限,无法读取多帧的该类图像,所以建议使用ITK中的GDCM或DCMTK进行读取。
读写例子:
//读取PNG图像
vtkSmartPointer<vtkPNGReader>reader
= vtkSmartPointer<vtkPNGReader>::New()
reader->SetFileName(“”);
//读取单幅PNG图像
vtkSmartPointer<vtkImageViewer2>imageViewer
=vtkSmartPointer<vtkImageViewer2>::New();
imageViewer->SetupInterator(renderWindowInterator);
imageViewer->Render();
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();
保存成JPG图像
vtkSmartPointer<vtkJPEGWriter>writer=vtkSmarterPointer<vtkJPEGWriter>::New();
writer->SetFileName(“VTK-logo.jpg”);
writer->SetInputConnection(reader->GetOutputPort());
writer->Writer();
renderWindowInteractor->Start();
3、关于二维到三维成像的文件读取方法:先对读取的图片进行序列命名,再读取。
最后设置显示序列。也可以先将图片一张一张地读入,最后再使用vtkImageAppend->AddInputConnection()来合成;
4、各类型的数据的输入输出类,p73-74
5、场景中的import和export是指将渲染场景中的对象,包括光照、相机、Actor、属性、变换矩阵等信息写入文件中。或者读入到程序中。Import会自动生成render和renderwindow,你也可以自己手动创建并且用import->get方法获取。
Vtk文件读取是较为简单的一部分,下一次是最重要的vtk图像处理。
本总结依赖于的书 《VTK图形图像开发进阶 [张晓东,罗火灵编著][机械工业出版社][2015.04][328页]》