C3DSplineTransformPenalty Class Referenceabstract

Base class for transformation penalties in spline based deformations. More...

`#include <mia/3d/splinetransformpenalty.hh>`

Inheritance diagram for C3DSplineTransformPenalty:
[legend]
Collaboration diagram for C3DSplineTransformPenalty:
[legend]

## 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

## Public Member Functions

| C3DSplineTransformPenalty (const C3DSplineTransformPenalty &org)=delete
| C3DSplineTransformPenalty (double weight, bool normalize)
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

## Detailed Description

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.

## Member Typedef Documentation

## plugin_data

typedef C3DSplineTransformPenalty C3DSplineTransformPenalty::plugin_data

Definition at line 43 of file 3d/splinetransformpenalty.hh.

## plugin_type

typedef C3DSplineTransformPenalty C3DSplineTransformPenalty::plugin_type

Definition at line 45 of file 3d/splinetransformpenalty.hh.

## Constructor & Destructor Documentation

## C3DSplineTransformPenalty() [1/2]

C3DSplineTransformPenalty::C3DSplineTransformPenalty | ( | double | weight,
|  | bool | normalize )

Constructor that sets the weight of the penalty term

Parameters

  weight |
  normalize |

References normalize().

Referenced by C3DSplineTransformPenalty(), clone(), get_normalize(), operator=(), and ~C3DSplineTransformPenalty().

## C3DSplineTransformPenalty() [2/2]

C3DSplineTransformPenalty::C3DSplineTransformPenalty | ( | const C3DSplineTransformPenalty & | org | ) |

delete

References C3DSplineTransformPenalty().

## ~C3DSplineTransformPenalty()

virtual C3DSplineTransformPenalty::~C3DSplineTransformPenalty | ( |  | ) |

virtual

References C3DSplineTransformPenalty().

## Member Function Documentation

## clone()

C3DSplineTransformPenalty * C3DSplineTransformPenalty::clone | ( |  | ) | const

Provides a deep copy of the penalty

Returns
  newly created copy of the spline penalty term.

References C3DSplineTransformPenalty().

## get_kernel()

PSplineKernel C3DSplineTransformPenalty::get_kernel | ( |  | ) | const

protected

References get_kernel().

Referenced by get_kernel().

## get_normalize()

bool C3DSplineTransformPenalty::get_normalize | ( |  | ) | const

protected

References C3DSplineTransformPenalty(), and get_normalize().

Referenced by get_normalize().

## get_range()

const C3DFVector & C3DSplineTransformPenalty::get_range | ( |  | ) | const

protected

References get_range().

Referenced by get_range().

## get_size()

const C3DBounds & C3DSplineTransformPenalty::get_size | ( |  | ) | const

protected

References get_size().

Referenced by get_size().

## get_weight()

double C3DSplineTransformPenalty::get_weight | ( |  | ) | const

protected

References get_weight().

Referenced by get_weight().

## initialize()

void C3DSplineTransformPenalty::initialize | ( | const C3DBounds & | size,
|  | const C3DFVector & | range,
|  | PSplineKernel | kernel )

The initializer of the spline transform penalty to set up required data structurs

Parameters

  size | size of the coefficient field
  range | transformation range
  kernel | kernel used to define the spline transformation

References initialize().

Referenced by initialize().

## operator=()

C3DSplineTransformPenalty & C3DSplineTransformPenalty::operator= | ( | const C3DSplineTransformPenalty & | org | ) |

delete

References C3DSplineTransformPenalty().

## value()

double C3DSplineTransformPenalty::value | ( | const C3DFVectorfield & | coefficients | ) | const

Evaluate the penalty of a spline transformation defined by its coefficients

Parameters

  coefficients | the spline transformation coefficients

Returns
  the weighted penalty

References value().

Referenced by value().

## value_and_gradient()

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

Parameters

  | 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.

Returns
  the weighted penalty

References value_and_gradient().

Referenced by value_and_gradient().

## Field Documentation

## data_descr

const char* C3DSplineTransformPenalty::data_descr

static

Definition at line 44 of file 3d/splinetransformpenalty.hh.

## type_descr

const char* C3DSplineTransformPenalty::type_descr

static

Definition at line 46 of file 3d/splinetransformpenalty.hh.

The documentation for this class was generated from the following file:

- 3d/splinetransformpenalty.hh