Base class for transformation penalties in spline based deformations. More...
#include <mia/2d/splinetransformpenalty.hh>
Public Types | |
typedef C2DSplineTransformPenalty | plugin_data |
typedef C2DSplineTransformPenalty | plugin_type |
Public Types inherited from CPropertyFlagHolder | |
typedef std::set< const char * > | Set |
define the type of the set of flags More... | |
Public Member Functions | |
C2DSplineTransformPenalty (double weight, bool normalize) | |
C2DSplineTransformPenalty (const C2DSplineTransformPenalty &org)=delete | |
C2DSplineTransformPenalty * | clone () const __attribute__((warn_unused_result)) |
void | initialize (const C2DBounds &size, const C2DFVector &range, PSplineKernel kernel) |
C2DSplineTransformPenalty & | operator= (const C2DSplineTransformPenalty &org)=delete |
double | value (const C2DFVectorfield &coefficients) const |
double | value_and_gradient (const C2DFVectorfield &coefficients, CDoubleVector &gradient) const |
virtual | ~C2DSplineTransformPenalty () |
Public Member Functions inherited from CProductBase | |
const char * | get_init_string () const |
void | set_init_string (const char *init) |
void | set_module (PPluginModule module) |
Public Member Functions inherited from CPropertyFlagHolder | |
void | add (const char *property) |
Set | get_missing_properties (const CPropertyFlagHolder &testset) const |
bool | has (const char *property) const |
bool | has_all_in (const CPropertyFlagHolder &testset) const |
virtual | ~CPropertyFlagHolder () |
Static Public Attributes | |
static const char * | data_descr |
static const char * | type_descr |
Protected Member Functions | |
PSplineKernel | get_kernel () const |
bool | get_normalize () const |
const C2DFVector & | get_range () const |
const C2DBounds & | get_size () const |
double | get_weight () const |
Base class for transformation penalties in spline based deformations.
This class ist the base class for the possible penalties on spline based transformations that provide an additional smoothness constrait.
Definition at line 39 of file 2d/splinetransformpenalty.hh.
Definition at line 42 of file 2d/splinetransformpenalty.hh.
Definition at line 44 of file 2d/splinetransformpenalty.hh.
C2DSplineTransformPenalty::C2DSplineTransformPenalty | ( | double | weight, |
bool | normalize | ||
) |
Constructor that sets the weight of the penalty term
weight | |
normalize |
|
delete |
|
virtual |
C2DSplineTransformPenalty* C2DSplineTransformPenalty::clone | ( | ) | const |
Provides a deep copy of the penalty
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
void C2DSplineTransformPenalty::initialize | ( | const C2DBounds & | size, |
const C2DFVector & | range, | ||
PSplineKernel | kernel | ||
) |
The initializer of the spline transform penalty to set up required data structurs
size | size of the coefficient field |
range | transformation range |
kernel | kernel used to define the spline transformation |
|
delete |
double C2DSplineTransformPenalty::value | ( | const C2DFVectorfield & | coefficients | ) | const |
Evaluate the penalty of a spline transformation defined by its coefficients
coefficients | the spline transformation coefficients |
double C2DSplineTransformPenalty::value_and_gradient | ( | const C2DFVectorfield & | coefficients, |
CDoubleVector & | gradient | ||
) | const |
Evaluate the penalty and the gradient of a spline transformation defined by its coefficients
coefficients | the spline transformation coefficients | |
[out] | gradient | the weighted gradient of the spline transformation penalty given so that coefficients + \(\delta\) gradient moves toward the minimum of the penalty term. |
|
static |
Definition at line 43 of file 2d/splinetransformpenalty.hh.
|
static |
Definition at line 45 of file 2d/splinetransformpenalty.hh.