QFileDialog dlg( this );
dlg.setFileMode( QFileDialog::ExistingFiles );
dlg.setDirectory( "." );
-#ifdef _WIN32
- dlg.setNameFilter( "Plugins file (*.dll);;All files (*)" );
- dlg.setDefaultSuffix( "dll" );
-#else // _WIN32
- dlg.setNameFilter( "Plugins file (*.so);;All files (*)" );
- dlg.setDefaultSuffix( "so" );
-#endif // _WIN32
+
+ std::stringstream name_filter;
+ std::string suffix = std::string( PLUGIN_EXT ).substr( 1 );
+
+ name_filter << "Plugins file (*" << PLUGIN_EXT << ");;All files (*)";
+ dlg.setNameFilter( name_filter.str( ).c_str( ) );
+ dlg.setDefaultSuffix( suffix.c_str( ) );
+
if( !( dlg.exec( ) ) )
return;
# undef cpPlugins_Interface_QT4
#endif // cpPlugins_Interface_QT4_USED == 1
+// Base configuration for each OS
+#ifdef _WIN32
+# define PLUGIN_PREFIX ""
+# define PLUGIN_EXT ".dll"
+# ifdef _WIN64
+# endif
+#elif __APPLE__
+# include "TargetConditionals.h"
+# if TARGET_IPHONE_SIMULATOR
+# define PLUGIN_PREFIX "lib"
+# define PLUGIN_EXT ".dylib"
+# elif TARGET_OS_IPHONE
+# define PLUGIN_PREFIX "lib"
+# define PLUGIN_EXT ".dylib"
+# elif TARGET_OS_MAC
+# define PLUGIN_PREFIX "lib"
+# define PLUGIN_EXT ".dylib"
+# else
+# error "Unknown Apple platform"
+# endif
+#elif __linux__
+# define PLUGIN_PREFIX "lib"
+# define PLUGIN_EXT ".so"
+#elif __unix__ // all unices not caught above
+# define PLUGIN_PREFIX "lib"
+# define PLUGIN_EXT ".so"
+#elif defined(_POSIX_VERSION)
+# define PLUGIN_PREFIX "lib"
+# define PLUGIN_EXT ".so"
+#else
+# error "Unknown compiler: I do not know how to manage dynamic libraries."
+#endif
+
+#define PLUGIN_CONFIG_FILE "plugins.cfg"
+
#endif // __CPPLUGINS__INTERFACE__CONFIG__H__
// eof - $RCSfile$
#include <sstream>
#include <Pluma/Pluma.hpp>
-#ifdef _WIN32
-# define PLUGIN_PREFIX ""
-# define PLUGIN_EXT ".dll"
-#else // Linux
-# define PLUGIN_PREFIX "lib"
-# define PLUGIN_EXT ".so"
-#endif // _WIN32
-#define PLUGIN_CONFIG_FILE "plugins.cfg"
-
namespace cpPlugins
{
namespace Interface
catIt++;
} // elihw
-
return( po );
}
--- /dev/null
+#include "MultiplyImageFilter.h"
+#include <cpPlugins/Interface/Image.h>
+
+#include <itkMultiplyImageFilter.h>
+
+// -------------------------------------------------------------------------
+cpPlugins::BasicFilters::MultiplyImageFilter::
+MultiplyImageFilter( )
+ : Superclass( )
+{
+ this->_AddInput( "Input0" );
+ this->_AddInput( "Input1", false );
+ this->_AddOutput< cpPlugins::Interface::Image >( "Output" );
+
+ this->m_Parameters->ConfigureAsReal( "Constant" );
+ this->m_Parameters->SetReal( "Constant", 1 );
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::BasicFilters::MultiplyImageFilter::
+~MultiplyImageFilter( )
+{
+}
+
+// -------------------------------------------------------------------------
+std::string cpPlugins::BasicFilters::MultiplyImageFilter::
+_GenerateData( )
+{
+ auto image = this->GetInputData< cpPlugins::Interface::Image >( "Input0" );
+ itk::DataObject* itk_image = NULL;
+ std::string r = "";
+ cpPlugins_Image_Demangle_AllScalarTypes( 2, image, itk_image, r, _GD0 );
+ else cpPlugins_Image_Demangle_AllScalarTypes( 3, image, itk_image, r, _GD0 );
+ else cpPlugins_Image_Demangle_AllScalarTypes( 4, image, itk_image, r, _GD0 );
+ else r = "MultiplyImageFilter: Input image type not supported.";
+ return( r );
+}
+
+// -------------------------------------------------------------------------
+template< class I >
+std::string cpPlugins::BasicFilters::MultiplyImageFilter::
+_GD0( itk::DataObject* image )
+{
+ return( this->_RealGD< I, I >( image ) );
+}
+
+// -------------------------------------------------------------------------
+template< class I, class O >
+inline std::string cpPlugins::BasicFilters::MultiplyImageFilter::
+_RealGD( itk::DataObject* image )
+{
+ typedef itk::MultiplyImageFilter< I, I, O > _F;
+ typedef typename I::PixelType _IP;
+
+ // Get parameters
+ _IP c = _IP( this->m_Parameters->GetReal( "Constant" ) );
+
+ // Configure filter
+ _F* filter = this->_CreateITK< _F >( );
+ filter->SetInput( dynamic_cast< I* >( image ) );
+ filter->SetConstant( c );
+ filter->Update( );
+
+ // Connect output
+ auto out = this->GetOutputData< cpPlugins::Interface::Image >( "Output" );
+ out->SetITK( filter->GetOutput( ) );
+ return( "" );
+}
+
+// eof - $RCSfile$
--- /dev/null
+#ifndef __CPPLUGINS__PLUGINS__MULTIPLYIMAGEFILTER__H__
+#define __CPPLUGINS__PLUGINS__MULTIPLYIMAGEFILTER__H__
+
+#include <cpPlugins/BasicFilters/cpPluginsBasicFilters_Export.h>
+#include <cpPlugins/Interface/BaseProcessObjects.h>
+
+namespace cpPlugins
+{
+ namespace BasicFilters
+ {
+ /**
+ */
+ class cpPluginsBasicFilters_EXPORT MultiplyImageFilter
+ : public cpPlugins::Interface::ImageToImageFilter
+ {
+ public:
+ typedef MultiplyImageFilter Self;
+ typedef cpPlugins::Interface::ImageToImageFilter Superclass;
+ typedef itk::SmartPointer< Self > Pointer;
+ typedef itk::SmartPointer< const Self > ConstPointer;
+
+ public:
+ itkNewMacro( Self );
+ itkTypeMacro(
+ MultiplyImageFilter,
+ cpPluginsInterfaceImageToImageFilter
+ );
+ cpPlugins_Id_Macro(
+ cpPlugins::BasicFilters::MultiplyImageFilter,
+ ImageToImageFilter
+ );
+
+ protected:
+ MultiplyImageFilter( );
+ virtual ~MultiplyImageFilter( );
+
+ virtual std::string _GenerateData( );
+
+ template< class I >
+ inline std::string _GD0( itk::DataObject* image );
+
+ template< class I, class O >
+ inline std::string _RealGD( itk::DataObject* image );
+
+ private:
+ // Purposely not implemented
+ MultiplyImageFilter( const Self& );
+ Self& operator=( const Self& );
+ };
+
+ } // ecapseman
+
+} // ecapseman
+
+#endif // __CPPLUGINS__PLUGINS__MULTIPLYIMAGEFILTER__H__
+
+// eof - $RCSfile$
#include <vtkRenderWindowInteractor.h>
+// -------------------------------------------------------------------------
+itk::ModifiedTimeType cpPlugins::Widgets::SeedWidget::
+GetMTime( ) const
+{
+ // std::cout << "Seed GetMTime" << std::endl;
+ return( 0 /*this->Superclass::GetMTime( )*/ );
+}
+
// -------------------------------------------------------------------------
cpPlugins::Widgets::SeedWidget::
SeedWidget( )
std::string cpPlugins::Widgets::SeedWidget::
_GD0( itk::DataObject* image )
{
+ std::cout << "update seeds" << std::endl;
+
typedef cpExtensions::Interaction::ImageInteractorStyle _S;
I* base_image = dynamic_cast< I* >( image );
itkTypeMacro( SeedWidget, cpPlugins::Interface::ProcessObject );
cpPlugins_Id_Macro( cpPlugins::Widgets::SeedWidget, Widgets );
+ public:
+ virtual itk::ModifiedTimeType GetMTime( ) const;
+
protected:
SeedWidget( );
virtual ~SeedWidget( );