22 #ifndef mia_3d_vfregularizerkernel_hh
23 #define mia_3d_vfregularizerkernel_hh
57 typedef std::shared_ptr< C3DFVectorfieldRegularizerKernel >
Pointer;
69 float residual_thresh);
81 bool has_pertuberation()
const;
88 float get_residual_thresh()
const;
90 virtual void post_set_data_fields();
92 virtual float do_evaluate_row(
unsigned y,
unsigned z,
CBuffers& buffers) = 0;
94 virtual float do_evaluate_row_sparse(
unsigned y,
unsigned z,
CBuffers& buffers) = 0;
96 virtual unsigned do_get_boundary_padding()
const = 0;
98 virtual PBuffers do_get_buffers()
const;
100 virtual void do_start_slice(
unsigned z,
CBuffers& buffers)
const;
102 virtual float do_evaluate_pertuberation_row(
unsigned y,
unsigned z,
CBuffers& buffers)
const;
109 float m_residual_thresh;
110 bool m_has_pertuberation;
116 return m_has_pertuberation;
140 return *m_update_flags;
152 return m_residual_thresh;
C3DFVectorfieldRegularizerKernel::Pointer P3DVectorfieldRegularizerKernel
THandlerSingleton< TFactoryPluginHandler< C3DFVectorfieldRegularizerKernelPlugin > > C3DFVectorfieldRegularizerKernelPluginHandler
TFactory< C3DFVectorfieldRegularizerKernel > C3DFVectorfieldRegularizerKernelPlugin
float evaluate_row_sparse(unsigned y, unsigned z, CBuffers &buffers)
float get_residual_thresh() const
C3DFVectorfieldRegularizerKernel(bool has_pertuberation)
void start_slice(unsigned z, CBuffers &buffers) const
std::shared_ptr< C3DFVectorfieldRegularizerKernel > Pointer
float evaluate_row(unsigned y, unsigned z, CBuffers &buffers)
C3DFVectorfieldRegularizerKernel plugin_type
float evaluate_pertuberation_row(unsigned y, unsigned z, CBuffers &buffers) const
C3DFVectorfield plugin_data
bool has_pertuberation() const
std::unique_ptr< CBuffers > PBuffers
void set_data_fields(C3DFVectorfield *output, const C3DFVectorfield *input)
static const char * type_descr
T3DDatafield< float > & get_residua() const
C3DFVectorfield & get_output_field() const
PBuffers get_buffers() const
T3DDatafield< unsigned char > & get_set_flags() const
const T3DDatafield< unsigned char > & get_update_flags() const
const C3DFVectorfield & get_input_field() const
unsigned get_boundary_padding() const
void set_update_fields(const T3DDatafield< unsigned char > *update_flags, T3DDatafield< unsigned char > *set_flags, T3DDatafield< float > *residua, float residual_thresh)
virtual ~C3DFVectorfieldRegularizerKernel()
a 3D field of floating point single accuracy 3D vectors
The base class for all plug-in created object.
the Base class for all plugn handlers that deal with factory plugins.
This is tha base of all plugins that create "things", like filters, cost functions time step operator...
the singleton that a plug-in handler really is
The basic template of all plugin handlers.
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
#define NS_MIA_END
conveniance define to end the mia namespace