#include #ifdef cpExtensions_QT4 #include #include #include #include #include #include #include #endif // cpExtensions_QT4 //---------------------------------------------------------------------------- int main( int argc, char* argv[] ) { #ifdef cpExtensions_QT4 // Manage inputs if( argc < 2 ) { std::cerr << "Usage: " << argv[ 0 ] << " image_file(s)" << std::endl; return( 1 ); } // fi // Create interface cpPlugins::Interface::Plugins::Pointer interface = cpPlugins::Interface::Plugins::New( ); try { interface->LoadEnvironments( ); interface->GuessPlugins( ); } catch( std::exception& err ) { std::cerr << "Error caught: " << err.what( ) << std::endl; return( 1 ); } // yrt // Create workspace typedef cpPlugins::Interface::Workspace _TWorkspace; _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" ); switch( image->GetDataDimension( ) ) { case 2: { return( 0 ); } break; case 3: { // Qt initialization QApplication app( argc, argv ); QMainWindow wnd; wnd.setGeometry( 0, 0, 1024, 768 ); // Create main widget cpExtensions::QT::SimpleMPRWidget view( &wnd ); view.SetImage( image, "image" ); // Start application and show data wnd.setCentralWidget( &view ); 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$