From 0003eb9bac6ab08742ddaf85e41ec5c00239e594 Mon Sep 17 00:00:00 2001 From: malaterre Date: Fri, 3 Oct 2003 14:51:48 +0000 Subject: [PATCH] * added a gdcmViewer to vtk test, use mouse to control window level & window width --- vtk/Makefile.am | 3 ++- vtk/vtkgdcmViewer.cxx | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 vtk/vtkgdcmViewer.cxx diff --git a/vtk/Makefile.am b/vtk/Makefile.am index 7a157e30..3008b08a 100644 --- a/vtk/Makefile.am +++ b/vtk/Makefile.am @@ -23,8 +23,9 @@ LDADD = \ $(LIBS_X11) if BUILD_VTK -noinst_PROGRAMS = vtkgdcmdemo +noinst_PROGRAMS = vtkgdcmdemo gdcmViewer vtkgdcmdemo_SOURCES = testvtkGdcmReader.cxx vtkGdcmReader.cxx +gdcmViewer_SOURCES = gdcmViewer.cxx vtkGdcmReader.cxx vtkgdcmdemo_LDADD = $(LDADD) lib_LTLIBRARIES = libvtkgdcm.la libvtkgdcm_la_SOURCES = vtkGdcmReader.cxx diff --git a/vtk/vtkgdcmViewer.cxx b/vtk/vtkgdcmViewer.cxx new file mode 100644 index 00000000..eb3e88fe --- /dev/null +++ b/vtk/vtkgdcmViewer.cxx @@ -0,0 +1,41 @@ +#include +#include +#include +#include + +#include "vtkGdcmReader.h" + +int main(int argc, char *argv[]) +{ + + vtkGdcmReader *reader = vtkGdcmReader::New(); + reader->SetFileName( argv[1] ); + //reader->DebugOn(); + reader->Update(); + + //print debug info: + reader->GetOutput()->Print( std::cout ); + + vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); + + vtkImageViewer2 *viewer = vtkImageViewer2::New(); + viewer->SetInput ( reader->GetOutput() ); + viewer->SetupInteractor (iren); + + iren->Initialize(); + iren->Start(); + + //if you wish you can export dicom to a vtk file + vtkStructuredPointsWriter *writer = vtkStructuredPointsWriter::New(); + writer->SetInput( reader->GetOutput()); + writer->SetFileName( "foo.vtk" ); + writer->SetFileTypeToBinary(); + //writer->Write(); + + reader->Delete(); + iren->Delete(); + viewer->Delete(); + writer->Delete(); + + return 0; +} -- 2.48.1