Base class for transformation penalties in spline based deformations. More...
#include <mia/3d/splinetransformpenalty.hh>
Public Types | |
typedef C3DSplineTransformPenalty | plugin_data |
typedef C3DSplineTransformPenalty | 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 | |
C3DSplineTransformPenalty (double weight, bool normalize) | |
C3DSplineTransformPenalty (const C3DSplineTransformPenalty &org)=delete | |
C3DSplineTransformPenalty * | clone () const __attribute__((warn_unused_result)) |
void | initialize (const C3DBounds &size, const C3DFVector &range, PSplineKernel kernel) |
C3DSplineTransformPenalty & | operator= (const C3DSplineTransformPenalty &org)=delete |
double | value (const C3DFVectorfield &coefficients) const |
double | value_and_gradient (const C3DFVectorfield &coefficients, CDoubleVector &gradient) const |
virtual | ~C3DSplineTransformPenalty () |
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 C3DFVector & | get_range () const |
const C3DBounds & | 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 3d/splinetransformpenalty.hh.
Definition at line 42 of file 3d/splinetransformpenalty.hh.
Definition at line 44 of file 3d/splinetransformpenalty.hh.
C3DSplineTransformPenalty::C3DSplineTransformPenalty | ( | double | weight, |
bool | normalize | ||
) |
Constructor that sets the weight of the penalty term
weight | |
normalize |
|
delete |
|
virtual |
C3DSplineTransformPenalty* C3DSplineTransformPenalty::clone | ( | ) | const |
Provides a deep copy of the penalty
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
void C3DSplineTransformPenalty::initialize | ( | const C3DBounds & | size, |
const C3DFVector & | 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 C3DSplineTransformPenalty::value | ( | const C3DFVectorfield & | coefficients | ) | const |
Evaluate the penalty of a spline transformation defined by its coefficients
coefficients | the spline transformation coefficients |
double C3DSplineTransformPenalty::value_and_gradient | ( | const C3DFVectorfield & | 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 3d/splinetransformpenalty.hh.
|
static |
Definition at line 45 of file 3d/splinetransformpenalty.hh.