X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=vtk%2FvtkgdcmViewer.cxx;h=ce5afd62a67c1d0bfcf2ba5033c2e9b3df13df04;hb=cb4151f6e62f04656d529d3298757f11be09caaf;hp=226e12ac8b148cc4eac2b3ac30fd1c723bd6d5aa;hpb=a2f6b3afa53313f320d92c0dad00b82b215cb156;p=gdcm.git diff --git a/vtk/vtkgdcmViewer.cxx b/vtk/vtkgdcmViewer.cxx index 226e12ac..ce5afd62 100644 --- a/vtk/vtkgdcmViewer.cxx +++ b/vtk/vtkgdcmViewer.cxx @@ -3,6 +3,9 @@ #include #include #include +#include +#include +#include #include "vtkGdcmReader.h" @@ -27,6 +30,7 @@ class vtkgdcmObserver : public vtkCommand int max = ImageViewer->GetWholeZMax(); int slice = (ImageViewer->GetZSlice() + 1 ) % ++max; ImageViewer->SetZSlice( slice ); + ImageViewer->GetRenderer()->ResetCameraClippingRange(); ImageViewer->Render(); } } @@ -37,9 +41,17 @@ class vtkgdcmObserver : public vtkCommand int main(int argc, char *argv[]) { - + if( argc < 2 ) + return 0; + vtkGdcmReader *reader = vtkGdcmReader::New(); - reader->SetFileName( argv[1] ); + + if( argc == 2 ) + reader->SetFileName( argv[1] ); + else + for(int i=1; i< argc; i++) + reader->AddFileName( argv[i] ); + reader->DebugOn(); reader->Update(); @@ -49,7 +61,20 @@ int main(int argc, char *argv[]) vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); vtkImageViewer2 *viewer = vtkImageViewer2::New(); - viewer->SetInput ( reader->GetOutput() ); + if( reader->GetLookupTable() ) + { + //convert to color: + vtkImageMapToColors *map = vtkImageMapToColors::New (); + map->SetInput (reader->GetOutput()); + map->SetLookupTable (reader->GetLookupTable()); + map->SetOutputFormatToRGB(); + viewer->SetInput ( map->GetOutput() ); + map->Delete(); + } + else + { + viewer->SetInput ( reader->GetOutput() ); + } viewer->SetupInteractor (iren); // float *range = reader->GetOutput()->GetScalarRange();