+++ /dev/null
-#include <ITKIO/ImageWriter.h>
-#include <cpInstances/DataObjects/Image.h>
-#include <cpPlugins/QT/SaveFileDialog.h>
-
-#define ITKIOImageBase_HIDDEN
-#include <itkImageFileWriter.h>
-#include <itkImage.h>
-
-#ifdef cpPlugins_QT4
-# include <QApplication>
-#endif // cpPlugins_QT4
-
-// -------------------------------------------------------------------------
-QDialog* cpPluginsITKIO::ImageWriter::
-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
-}
-
-// -------------------------------------------------------------------------
-cpPluginsITKIO::ImageWriter::
-ImageWriter( )
- : Superclass( )
-{
- this->_ConfigureInput< cpInstances::DataObjects::Image >( "Input", true, false );
- this->m_Parameters.ConfigureAsSaveFileName( "FileName", "" );
- this->m_Parameters.SetAcceptedFileExtensions(
- "FileName",
- "Image files (*.bmp *.png *.jpg *.jpeg *.dcm *.mhd *.nhdr *.nrrd *.tiff)"
- );
-}
-
-// -------------------------------------------------------------------------
-cpPluginsITKIO::ImageWriter::
-~ImageWriter( )
-{
-}
-
-// -------------------------------------------------------------------------
-void cpPluginsITKIO::ImageWriter::
-_GenerateData( )
-{
- auto o = this->GetInputData( "Input" );
- cpPlugins_Demangle_Image_ProcessDims_1( o, _GD0 )
- cpPlugins_Demangle_Image_DiffTensors3D_1( o, _GD1 )
- this->_Error( "Invalid input image dimension." );
-}
-
-// -------------------------------------------------------------------------
-template< class _TImage >
-void cpPluginsITKIO::ImageWriter::
-_GD0( _TImage* image )
-{
- cpPlugins_Demangle_Image_ScalarPixels_1( image, _GD1, _TImage::ImageDimension )
- cpPlugins_Demangle_Image_ComplexPixels_1( image, _GD1, _TImage::ImageDimension )
- cpPlugins_Demangle_Image_ColorPixels_1( image, _GD1, _TImage::ImageDimension )
- cpPlugins_Demangle_Image_VectorPixels_1( image, _GD1, _TImage::ImageDimension )
- this->_Error( "Invalid input image pixel type." );
-}
-
-// -------------------------------------------------------------------------
-template< class _TImage >
-void cpPluginsITKIO::ImageWriter::
-_GD1( _TImage* image )
-{
- typedef itk::ImageFileWriter< _TImage > _TFilter;
-
- auto f = this->_CreateITK< _TFilter >( );
- f->SetFileName( this->m_Parameters.GetSaveFileName( "FileName" ) );
- f->SetInput( image );
- try
- {
- f->Update( );
- }
- catch( itk::ExceptionObject& err )
- {
- this->_Error( err.GetDescription( ) );
-
- } // yrt
-}
-
-// eof - $RCSfile$