My Project
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)
C3DSplineTransformPenaltyclone () const __attribute__((warn_unused_result))
void initialize (const C3DBounds &size, const C3DFVector &range, PSplineKernel kernel)
C3DSplineTransformPenaltyoperator= (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 C3DFVectorget_range () const
const C3DBoundsget_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

◆ plugin_type

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

◆ ~C3DSplineTransformPenalty()

virtual C3DSplineTransformPenalty::~C3DSplineTransformPenalty ( )
virtual

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

◆ 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
sizesize of the coefficient field
rangetransformation range
kernelkernel used to define the spline transformation

References initialize().

Referenced by initialize().

◆ operator=()

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

◆ value()

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

Evaluate the penalty of a spline transformation defined by its coefficients

Parameters
coefficientsthe 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
coefficientsthe spline transformation coefficients
[out]gradientthe 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: