VTK 实例15:图像数据测量
1 // First include the required header files for the VTK classes we are using.
2 #include "vtkAutoInit.h"
3 VTK_MODULE_INIT(vtkRenderingOpenGL2);
4 VTK_MODULE_INIT(vtkInteractionStyle);
5 #include "vtkDICOMImageReader.h"
6 #include "vtkBMPReader.h"
7 #include "vtkVolume16Reader.h"
8 #include "vtkImageViewer.h"
9 #include "vtkRenderWindowInteractor.h"
10
11 //??2¨oˉêy
12 #include "vtkImageMagnify.h"
13 #include "vtkTransform.h"
14
15
16 int main()
17 {
18 vtkBMPReader *dr = vtkBMPReader::New();
19 dr->SetDataByteOrderToLittleEndian();
20 dr->SetFileName("1234.bmp");
21 dr->SetDataOrigin(0,0,0.0);
22 vtkTransform *t1=vtkTransform::New();
23 t1->RotateZ(0);
24 dr->SetTransform(t1);
25
26 //=================================================
27 //??2¨2ù×÷
28
29 vtkImageMagnify *mfy=vtkImageMagnify::New();
30 //í???·?′ó,2??áó?
31 mfy->SetInputConnection(dr->GetOutputPort());
32 mfy->SetMagnificationFactors(3,2,2);//???ü·?′ó??êy±?,??DCMí????TD§
33
34 //=======================================================
35
36 vtkImageViewer *viewer = vtkImageViewer::New();
37 viewer->SetInputConnection(mfy->GetOutputPort());
38 viewer->SetColorWindow(1000);
39 viewer->SetColorLevel(200);
40 viewer->SetPosition(0,0);
41 viewer->Render();
42
43 vtkRenderWindowInteractor *viewerinter = vtkRenderWindowInteractor::New();
44 viewer->SetupInteractor(viewerinter);
45
46 vtkImageViewer *viewer2 = vtkImageViewer::New();
47 viewer2->SetInputConnection(dr->GetOutputPort());
48 viewer2->SetColorWindow(256);
49 viewer2->SetColorLevel(200);
50 viewer2->SetPosition(0,100);
51 viewer2->Render();
52
53 vtkRenderWindowInteractor *viewerinter2 = vtkRenderWindowInteractor::New();
54 viewer2->SetupInteractor(viewerinter2);
55
56
57 viewerinter->Initialize();
58 viewerinter->Start();
59
60
61 // cout<GetPatientName()<GetHeight()<GetWidth()<GetStudyUID()<GetDataByteOrderAsString()<GetHeaderSize()<GetPixelSpacing()<Delete();
62 mfy->Delete();
63 viewer->Delete();
64 viewerinter->Delete();
65 viewer2->Delete();
66 viewerinter2->Delete();
67 return 0;
68 }