Public Types | Public Member Functions
C2DRegTimeStep Class Referenceabstract

The time step class for time-marching registration algorithms. More...

#include <mia/2d/timestep.hh>

Inheritance diagram for C2DRegTimeStep:
CProductBase CPropertyFlagHolder

Public Types

typedef C2DImage plugin_data
 plugin search path data component helper More...
 
typedef timestep_type plugin_type
 plugin search path plugin type component helper More...
 

Public Member Functions

 C2DRegTimeStep (float min, float max)
 
float calculate_pertuberation (C2DFVectorfield &io, const C2DTransformation &shift) const
 
bool decrease ()
 
float get_delta (float maxshift) const
 
bool has_regrid () const
 
void increase ()
 increase thetime step by multiplying with 1.5 More...
 
bool regrid_requested (const C2DTransformation &b, const C2DFVectorfield &v, float delta) const
 
virtual ~C2DRegTimeStep ()
 
- 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 ()
 

Detailed Description

The time step class for time-marching registration algorithms.

Registration time step for a time-marching registration algorithm like those based on a variational model. Generally the time marhcing model consists of two parts, a PDE describing the regularization model of the registration and the time step that advances the registration transformation towards a minimum.

Definition at line 42 of file 2d/timestep.hh.

Member Typedef Documentation

plugin search path data component helper

Definition at line 45 of file 2d/timestep.hh.

typedef timestep_type C2DRegTimeStep::plugin_type

plugin search path plugin type component helper

Definition at line 48 of file 2d/timestep.hh.

Constructor & Destructor Documentation

C2DRegTimeStep::C2DRegTimeStep ( float  min,
float  max 
)

Constructor

Parameters
minminimum time step
maxmaximum time step
virtual C2DRegTimeStep::~C2DRegTimeStep ( )
virtual

Member Function Documentation

float C2DRegTimeStep::calculate_pertuberation ( C2DFVectorfield io,
const C2DTransformation shift 
) const

Evaluate the pertuberation of the vector field in combination with the next transformation to be applied. What actually happens here depends on the time step model.

Parameters
[in,out]iovector field resulting from the solution of the PDE, may be overwritted by its pertuberated version
shiftcurrent transformation
Returns
the norm of the maxium transformation over the transformation domain
bool C2DRegTimeStep::decrease ( )

Decrease the time step by dividing by 2.0. - if the time step falls below the appointed minimum it will be adjusted accordingly

Returns
true if the time-step was decreased, and false if the time step was already at the minimum
float C2DRegTimeStep::get_delta ( float  maxshift) const

evaluate the time step based on the maximum shift resulting from calculate_pertuberation

Parameters
maxshiftmaximum shift allowed for all pixles
Returns
the time step delta to be used
bool C2DRegTimeStep::has_regrid ( ) const
Returns
true if the time step model supports regridding and false if not
void C2DRegTimeStep::increase ( )

increase thetime step by multiplying with 1.5

bool C2DRegTimeStep::regrid_requested ( const C2DTransformation b,
const C2DFVectorfield v,
float  delta 
) const

Depending on the time step model, a regridding may be used - specifically this is the case for the fluid dynamic model

Parameters
bcurrent transformation
vvelocity field in case of a fluid dynamic model
deltatime step
Returns
true if regridding is necessary, false if not

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