#include #include #include #include #include #include #include #ifdef cpPlugins_QT4 # include #endif // cpPlugins_QT4 // ------------------------------------------------------------------------- QDialog* cpPluginscpExtensions::PolyLineParametricPathWriter:: CreateQDialog( ) { #ifdef cpPlugins_QT4 cpPlugins::QT::SaveFileDialog* dlg = NULL; if( QApplication::instance( ) != NULL ) { dlg = new cpPlugins::QT::SaveFileDialog( ); dlg->SetParameters( &( this->m_Parameters ), "FileName" ); } // fi return( dlg ); #else // cpPlugins_QT4 return( NULL ); #endif // cpPlugins_QT4 } // ------------------------------------------------------------------------- cpPluginscpExtensions::PolyLineParametricPathWriter:: PolyLineParametricPathWriter( ) : Superclass( ) { this->_ConfigureInput< cpInstances::DataObjects::PolyLineParametricPath >( "Input", true, false ); this->_ConfigureInput< cpInstances::DataObjects::Image >( "Image", false, false ); this->m_Parameters.ConfigureAsSaveFileName( "FileName", "" ); this->m_Parameters.SetAcceptedFileExtensions( "FileName", "PolyLineParametricPath files (*.txt)" ); } // ------------------------------------------------------------------------- cpPluginscpExtensions::PolyLineParametricPathWriter:: ~PolyLineParametricPathWriter( ) { } // ------------------------------------------------------------------------- void cpPluginscpExtensions::PolyLineParametricPathWriter:: _GenerateData( ) { auto o = this->GetInputData( "Input" ); cpPlugins_Demangle_PolyLineParametricPath_All_1( o, _GD0 ) this->_Error( "Invalid input skeleton." ); } // ------------------------------------------------------------------------- template< class _TPolyLineParametricPath > void cpPluginscpExtensions::PolyLineParametricPathWriter:: _GD0( _TPolyLineParametricPath* skeleton ) { auto o = this->GetInputData( "Image" ); cpPlugins_Demangle_Image_ScalarPixels_2( o, _GD1, _TPolyLineParametricPath::PathDimension, skeleton ) this->_GD1< itk::Image< unsigned char, _TPolyLineParametricPath::PathDimension >, _TPolyLineParametricPath >( NULL, skeleton ); } // ------------------------------------------------------------------------- template< class _TImage, class _TPolyLineParametricPath > void cpPluginscpExtensions::PolyLineParametricPathWriter:: _GD1( _TImage* image, _TPolyLineParametricPath* skeleton ) { typedef cpExtensions::Algorithms::PolyLineParametricPathWriter< _TPolyLineParametricPath, _TImage > _TWriter; auto filter = this->_CreateITK< _TWriter >( ); filter->SetInput( skeleton ); filter->SetFileName( this->m_Parameters.GetSaveFileName( "FileName" ) ); filter->SetImage( image ); try { filter->Update( ); } catch( itk::ExceptionObject& err ) { this->_Error( err.GetDescription( ) ); } // yrt } // eof - $RCSfile$