#include <itkImageFileWriter.h>
-#ifdef cpPlugins_Interface_QT4
-#include <QFileDialog>
-#endif // cpPlugins_Interface_QT4
-
-// -------------------------------------------------------------------------
-cpPlugins::IO::ImageWriter::
-DialogResult cpPlugins::IO::ImageWriter::
-ExecConfigurationDialog( QWidget* parent )
-{
- DialogResult r = Self::DialogResult_Cancel;
-
-#ifdef cpPlugins_Interface_QT4
-
- std::string name = this->m_Parameters->GetString( "FileName" );
- if( name == "" )
- name = "save.mhd";
-
- // Show dialog and check if it was accepted
- QString qname =
- QFileDialog::getSaveFileName(
- parent,
- QFileDialog::tr( "Save File" ),
- QFileDialog::tr( name.c_str( ) ),
- QFileDialog::tr( "Image files (*.bmp *.png *.jpg *.jpeg *.dcm *.mhd *.nhdr *.nrrd *.tiff);;Any file (*)")
- );
- name = qname.toStdString( );
- if( name != "" )
- {
- this->m_Parameters->SetString( "FileName", name );
- r = Self::DialogResult_NoModal;
-
- } // fi
-
-#endif // cpPlugins_Interface_QT4
-
- return( r );
-}
-
// -------------------------------------------------------------------------
cpPlugins::IO::ImageWriter::
ImageWriter( )
: Superclass( )
{
this->_AddInput( "Input" );
- this->m_Parameters->ConfigureAsString( "FileName" );
+ this->m_Parameters->ConfigureAsSaveFileName( "FileName" );
+ this->m_Parameters->SetAcceptedFileExtensions(
+ "FileName",
+ "Image files (*.bmp *.png *.jpg *.jpeg *.dcm *.mhd *.nhdr *.nrrd *.tiff)"
+ );
}
// -------------------------------------------------------------------------
std::string cpPlugins::IO::ImageWriter::
_GD0_Image( )
{
- cpPlugins::Interface::Image* image =
- this->GetInput< cpPlugins::Interface::Image >( "Input" );
- if( image == NULL )
- return( "ImageWriter: No input image." );
-
+ auto image = this->GetInputData< cpPlugins::Interface::Image >( "Input" );
itk::DataObject* itk_image = NULL;
std::string r = "";
cpPlugins_Image_Demangle_AllTypes( D, image, itk_image, r, _RealGD );
else r = "ImageWriter: Input image type not supported.";
-
return( r );
}
std::string cpPlugins::IO::ImageWriter::
_GD0_VectorImage( )
{
- cpPlugins::Interface::Image* image =
- this->GetInput< cpPlugins::Interface::Image >( "Input" );
- if( image == NULL )
- return( "ImageWriter: No input image." );
-
+ auto image = this->GetInputData< cpPlugins::Interface::Image >( "Input" );
itk::DataObject* itk_image = NULL;
std::string r = "";
cpPlugins_VectorImage_Demangle_AllTypes( D, image, itk_image, r, _RealGD );
else r = "ImageWriter: Input image type not supported.";
-
return( r );
}
std::string cpPlugins::IO::ImageWriter::
_RealGD( itk::DataObject* image )
{
- // Get filename
- std::string fname = this->m_Parameters->GetString( "FileName" );
-
typedef itk::ImageFileWriter< I > _W;
_W* writer = this->_CreateITK< _W >( );
- writer->SetFileName( fname );
+ writer->SetFileName( this->m_Parameters->GetSaveFileName( "FileName" ) );
writer->SetInput( dynamic_cast< I* >( image ) );
try
{