#include #ifdef cpExtensions_QT4 #include #include #include #include #include #include #include #include #endif // cpExtensions_QT4 //---------------------------------------------------------------------------- int main( int argc, char* argv[] ) { #ifdef cpExtensions_QT4 typedef cpPlugins::Interface::Plugins _TPlugins; typedef cpPlugins::Interface::Workspace _TWorkspace; // Manage inputs if( argc < 2 ) { std::cerr << "Usage: " << argv[ 0 ] << " image_file(s)" << std::endl; return( 1 ); } // fi // Create interface _TPlugins::Pointer plugins = _TPlugins::New( ); try { plugins->LoadEnvironments( ); plugins->GuessPlugins( ); } catch( std::exception& err ) { std::cerr << "Error caught: " << err.what( ) << std::endl; return( 1 ); } // yrt // Create workspace _TWorkspace::Pointer ws = _TWorkspace::New( ); ws->PrintExecutionOn( ); // Configure reader auto reader = ws->CreateFilter( "IO", "ImageReader", "reader" ); auto params = reader->GetParameters( ); for( int i = 1; i < argc; ++i ) params->AddToOpenFileNameList( "FileNames", argv[ i ] ); // Execute reader try { reader->Update( ); } catch( std::exception& err ) { std::cerr << "Error caugth: " << err.what( ) << std::endl; return( 1 ); } // yrt // Configure viewer auto image = reader->GetOutputData< vtkImageData >( "Output" ); auto dim = image->GetDataDimension( ); switch( dim ) { case 2: case 3: { // Qt initialization QApplication app( argc, argv ); QMainWindow wnd; wnd.setGeometry( 0, 0, 1024, 768 ); // Create main widget QWidget* wdg = NULL; if( dim == 2 ) { auto view = new cpExtensions::QT::ImageWidget( &wnd ); view->SetImage( image, 2, "image" ); wdg = view; } else { auto view = new cpExtensions::QT::SimpleMPRWidget( &wnd ); view->SetImage( image, "image" ); wdg = view; } // fi // Start application and show data wnd.setCentralWidget( wdg ); wnd.show( ); return( app.exec( ) ); } break; default: { std::cerr << "Unmanaged dimension." << std::endl; return( 1 ); } break; } // hctiws #else // cpExtensions_QT4 return( 0 ); #endif // cpExtensions_QT4 } // eof - $RCSfile$