1 // $Header: /cvs/public/gdcm/vtk/Attic/testvtkGdcmReader.cxx,v 1.3 2003/05/21 08:21:17 frog Exp $
3 #include "vtkRenderer.h"
4 #include "vtkRenderWindow.h"
5 #include "vtkRenderWindowInteractor.h"
6 #include "vtkPolyDataMapper.h"
8 #include "vtkImageMapper.h"
9 #include "vtkImageViewer.h"
10 #include "vtkMatrix4x4.h"
11 #include "vtkLookupTable.h"
12 #include "vtkMatrixToLinearTransform.h"
13 #include "vtkTexture.h"
14 #include "vtkPlaneSource.h"
15 #include "vtkTextureMapToPlane.h"
16 #include "vtkDataSetMapper.h"
18 #include "vtkImageCast.h"
19 #include "vtkPNGWriter.h"
20 #include "vtkTexture.h"
22 #include "vtkGdcmReader.h"
25 int main( int argc, char *argv[] )
32 vtkGdcmReader *reader = vtkGdcmReader::New();
36 // reader->SetFileName("../gdcmData/CT-MONO2-8-abdo.dcm");
37 // 16 12 11 U : OK but saturated
38 // reader->SetFileName("../gdcmData/CT-MONO2-12-lomb-an2.acr2");
40 //OKreader->SetFileName("../gdcmData/MR-MONO2-12-an2.acr2");
42 //reader->SetFileName("../gdcmData/CR-MONO1-10-chest.dcm");
44 // 16 16 15 S: OK saturation ?
45 // reader->SetFileName("../gdcmData/CT-MONO2-16-ort.dcm");
47 reader->SetFileName("../gdcmData/CT-MONO2-16-ankle.dcm");
48 reader->UpdateWholeExtent();
49 vtkImageData *ima = reader->GetOutput();
50 taille=ima->GetDimensions();
51 x = taille[0]; y = taille[1];
52 cout << "Dimensions of the picture as read with gdcm: "
53 << x << " x " << y << endl;
55 vtkLookupTable *VTKtable = vtkLookupTable::New();
56 VTKtable->SetNumberOfColors(1000);
57 VTKtable->SetTableRange(0,1000);
58 VTKtable->SetSaturationRange(0,0);
59 VTKtable->SetHueRange(0,1);
60 VTKtable->SetValueRange(0,1);
61 VTKtable->SetAlphaRange(1,1);
64 vtkTexture * VTKtexture = vtkTexture::New();
65 VTKtexture->SetInput(ima);
66 VTKtexture->InterpolateOn();
67 VTKtexture->SetLookupTable(VTKtable);
69 vtkPlaneSource *VTKplane = vtkPlaneSource::New();
70 VTKplane->SetOrigin( -0.5, -0.5, 0.0);
71 VTKplane->SetPoint1( 0.5, -0.5, 0.0);
72 VTKplane->SetPoint2( -0.5, 0.5, 0.0);
74 vtkPolyDataMapper *VTKplaneMapper = vtkPolyDataMapper::New();
75 VTKplaneMapper->SetInput(VTKplane->GetOutput());
77 vtkActor* VTKplaneActor = vtkActor::New();
78 VTKplaneActor->SetTexture(VTKtexture);
79 VTKplaneActor->SetMapper(VTKplaneMapper);
80 VTKplaneActor->PickableOn();
82 vtkRenderer *ren = vtkRenderer::New();
83 vtkRenderWindow *renwin = vtkRenderWindow::New();
84 renwin->AddRenderer(ren);
85 vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
86 iren->SetRenderWindow(renwin);
87 ren->AddActor(VTKplaneActor);
88 ren->SetBackground(0,0,0.5);