21#ifndef mia_3d_filter_hh
22#define mia_3d_filter_hh
24#include <boost/any.hpp>
96 std::vector<P3DFilter> filters;
98 for (
typename std::vector<S>::const_iterator i = chain.begin();
99 i != chain.end(); ++i) {
100 cvdebug() <<
"Prepare filter " << *i << std::endl;
104 std::stringstream error;
105 error <<
"Filter " << *i <<
" not found";
106 throw std::invalid_argument(error.str());
109 filters.push_back(
filter);
TFactory< C3DImageCombiner > C3DImageCombinerPlugin
P3DFilter produce_3dimage_filter(const char *descr)
std::shared_ptr< C3DImageCombiner > P3DImageCombiner
THandlerSingleton< TFactoryPluginHandler< C3DImageCombinerPlugin > > C3DImageCombinerPluginHandler
Plugin handler for image combiner plugins.
C3DImage::Pointer P3DImage
define a shortcut to the 3D image shared pointer.
The generic base type of a 3D image.
Generic image filter plugin base.
Generic interface class to data filters.
This is tha base of all plugins that create "things", like filters, cost functions time step operator...
create and use a chain of filters
the singleton that a plug-in handler really is
static const T & instance()
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
#define NS_MIA_END
conveniance define to end the mia namespace
THandlerSingleton< TFactoryPluginHandler< C3DFilterPlugin > > C3DFilterPluginHandler
The 3D filter plugin handler.
TDataFilterPlugin< C3DImage > C3DFilterPlugin
The 3D filter plugin type.
TFilterChain< C3DFilterPluginHandler > C3DImageFilterChain
3D filter chain to apply various filters in one run
P3DImage EXPORT_3D run_filter(const C3DImage &image, const char *filter)
convenience function: create and run a filter on an image
TImageCombiner< C3DImage > C3DImageCombiner
Base class for plug-ins that combine two 3D images in certain ways.
static F::result_type filter(const F &f, const B &b)
TDataFilter< C3DImage > C3DFilter
Base class for 3D image filters. Filters are implemented as plug-ins.
std::vector< P3DFilter > create_filter_chain(const std::vector< S > &chain)
Convenience function to create a filter chain from a series of filter descriptions.
std::shared_ptr< C3DFilter > P3DFilter
The 3D filter shared pointer.
P3DImage EXPORT_3D run_filter_chain(P3DImage image, const std::vector< const char * > &filters)