#include "vtkSmartPointer.h"
#include "vtkMetaImageReader.h"
#include "vtkImageViewer2.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkInteractorStyleTrackballCamera.h"
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);
int main()
{
vtkSmartPointer<vtkMetaImageReader> reader = vtkSmartPointer<vtkMetaImageReader>::New();
//mhd与mha文件其实格式是一样的,记录mhd对应的zraw文件应在同一目录
//mhd格式图像信息头与实际图像的存储分为两个文件(*.mhd文件记录图像信息头;*.raw或//*.zraw(zraw指有压缩)记录实际图像)
//mha格式将图像信息头与实际的像素值等数据写入到同一个文件中
//reader->SetFileName("test1.mhd");
reader->SetFileName("1.mha");
reader->Update();
vtkSmartPointer<vtkImageViewer2> imgViewer = vtkSmartPointer<vtkImageViewer2>::New();
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
imgViewer->SetInputConnection(reader->GetOutputPort());
imgViewer->SetupInteractor(renderWindowInteractor);
imgViewer->SetColorLevel(1000);
imgViewer->SetColorWindow(2000);
imgViewer->SetSlice(100);
//横断面、矢状面、冠状面
//SetSliceOrientationToXY()、SetSliceOrientationToXZ()、SetSliceOrientationToYZ()
imgViewer->SetSliceOrientationToYZ();//SetSliceOrientationToXZ();SetSliceOrientationToYZ()
imgViewer->Render();
renderWindowInteractor->Start();
return 0;
}