]> Creatis software - cpPlugins.git/blob - appli/examples/plugins/QT/example_MPRViewer/example_MPRViewer.cxx
eb6daff534ca78898aede3ee93e12029a4e2449f
[cpPlugins.git] / appli / examples / plugins / QT / example_MPRViewer / example_MPRViewer.cxx
1 #include "example_MPRViewer.h"
2 #include "ui_example_MPRViewer.h"
3
4 #include <QMessageBox>
5 #include <vtkImageData.h>
6
7 // -------------------------------------------------------------------------
8 example_MPRViewer::
9 example_MPRViewer( int argc, char* argv[], QWidget* parent )
10   : Superclass( parent ),
11     m_UI( new Ui::example_MPRViewer )
12 {
13   this->m_UI->setupUi( this );
14
15   if( argc < 2 )
16   {
17     QMessageBox::critical(
18       this,
19       QMessageBox::tr( "Error" ),
20       QMessageBox::tr( "Give some input image(s)." )
21       );
22     std::exit( 1 );
23
24   } // fi
25
26   // Create reader
27   this->m_Interface.GuessAccesiblePlugins( );
28   try
29   {
30     this->m_Reader = this->m_Interface.Create( "IO", "ImageReader" );
31     if( this->m_Reader.IsNull( ) )
32     {
33       QMessageBox::critical(
34         this,
35         QMessageBox::tr( "Error" ),
36         QMessageBox::tr( "\"IO::ImageReader\" creation failed." )
37         );
38       std::exit( 1 );
39       
40     } // fi
41
42     // Configure filters
43     auto reader_params = this->m_Reader->GetParameters( );
44     for( int i = 1; i < argc; ++i )
45       reader_params->AddToOpenFileNameList( "FileNames", argv[ i ] );
46     this->m_Reader->Update( );
47   }
48   catch( itk::ExceptionObject& err1 )
49   {
50     QMessageBox::critical(
51       this,
52       QMessageBox::tr( "Error" ),
53       QMessageBox::tr( err1.GetDescription( ) )
54       );
55     std::exit( 1 );
56   }
57   catch( std::exception& err2 )
58   {
59     QMessageBox::critical(
60       this,
61       QMessageBox::tr( "Error" ),
62       QMessageBox::tr( err2.what( ) )
63       );
64     std::exit( 1 );
65
66   } // yrt
67
68   this->m_UI->Viewer->SetMainImage(
69     this->m_Reader->GetOutputData< vtkImageData >( "Output" )
70     );
71 }
72
73 // -------------------------------------------------------------------------
74 example_MPRViewer::
75 ~example_MPRViewer( )
76 {
77 }
78
79 // eof - $RCSfile$