Go to the documentation of this file.00001 #include <itkImage.h>
00002 #include <itkDiscreteGaussianImageFilter.h>
00003 #include <itksys/SystemTools.hxx>
00004
00005 #include <mitkPicFileReader.h>
00006 #include <mitkStandaloneDataStorage.h>
00007 #include <mitkImageAccessByItk.h>
00008
00009 #include <vtkImageViewer.h>
00010 #include <vtkRenderWindowInteractor.h>
00011
00016 int main( int , char ** argv )
00017 {
00018
00019
00020 mitk::PicFileReader::Pointer reader = mitk::PicFileReader::New();
00021 const char * filename = argv[1];
00022 try
00023 {
00024 reader->SetFileName(filename);
00025 reader->Update();
00026 }
00027 catch(...)
00028 {
00029 fprintf( stderr, "Could not open file %s \n\n", filename );
00030 return EXIT_FAILURE;
00031 }
00032 mitk::Image::Pointer mitkImage = reader->GetOutput();
00033
00034
00035
00036 typedef itk::Image< short , 3 > ImageType;
00037 ImageType::Pointer itkImage = ImageType::New();
00038 mitk::CastToItkImage( mitkImage, itkImage );
00039
00040 typedef itk::DiscreteGaussianImageFilter<ImageType, ImageType > FilterType;
00041 FilterType::Pointer filter = FilterType::New();
00042 filter->SetInput( itkImage );
00043 filter->SetVariance( 2 );
00044 filter->SetMaximumKernelWidth( 5 );
00045
00046 filter->Update();
00047
00048
00049 mitk::CastToMitkImage( filter->GetOutput(), mitkImage );
00050
00051
00052 vtkImageViewer *viewer=vtkImageViewer::New();
00053 vtkRenderWindowInteractor* renderWindowInteractor
00054 =vtkRenderWindowInteractor ::New();
00055 viewer->SetupInteractor(renderWindowInteractor);
00056 viewer->SetInput(mitkImage->GetVtkImageData());
00057 viewer->Render();
00058 viewer->SetColorWindow(255);
00059 viewer->SetColorLevel(128);
00060 renderWindowInteractor->Start();
00061
00062 renderWindowInteractor->Delete();
00063 viewer->Delete();
00064
00065 return EXIT_SUCCESS;
00066 }