C3DRegTimeStep Class Referenceabstract

The time-step part of time-marching registration algorithms. More...

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

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

Public Types

typedef C3DImage plugin_data
 plugin hanlder helper More...
 
typedef timestep_type plugin_type
 plugin hanlder helper More...
 
- Public Types inherited from CPropertyFlagHolder
typedef std::set< const char * > Set
 define the type of the set of flags More...
 

Public Member Functions

void apply (const C3DFVectorfield &infield, C3DFVectorfield &outfield, float scale)
 
 C3DRegTimeStep (float min, float max)
 
float calculate_pertuberation (C3DFVectorfield &io, const C3DFVectorfield &shift) const
 
bool decrease ()
 
float get_delta (float maxshift) const
 
bool has_regrid () const
 
void increase ()
 
bool regrid_requested (const C3DFVectorfield &b, const C3DFVectorfield &v, float delta) const
 
virtual ~C3DRegTimeStep ()
 
- 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 part of time-marching registration algorithms.

Definition at line 38 of file 3d/timestep.hh.

Member Typedef Documentation

◆ plugin_data

plugin hanlder helper

Definition at line 41 of file 3d/timestep.hh.

◆ plugin_type

typedef timestep_type C3DRegTimeStep::plugin_type

plugin hanlder helper

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

Constructor & Destructor Documentation

◆ C3DRegTimeStep()

C3DRegTimeStep::C3DRegTimeStep ( float  min,
float  max 
)

Contructor to initialize the time setep with the range of possible time step length

Parameters
min
max

◆ ~C3DRegTimeStep()

virtual C3DRegTimeStep::~C3DRegTimeStep ( )
virtual

Member Function Documentation

◆ apply()

void C3DRegTimeStep::apply ( const C3DFVectorfield infield,
C3DFVectorfield outfield,
float  scale 
)

Apply the time step based on an input vector field to an output transformation

Parameters
infieldinput vector field to add
[in,out]outfieldat input: vector field that is to be changed, at output: updated field
scalea scaling to apply to the input field prior to applying it

◆ calculate_pertuberation()

float C3DRegTimeStep::calculate_pertuberation ( C3DFVectorfield io,
const C3DFVectorfield shift 
) const

Evaluate the pertuberation related to the time step type and transformation

Parameters
[in,out]ioat input: the field to pertoperate, output: pertuperated field
shiftrelated current transformation to base the pertuberation on

◆ decrease()

bool C3DRegTimeStep::decrease ( )

Decrease the current time step

Returns
true if decreasing time-step was sucessfull, otherwise false

◆ get_delta()

float C3DRegTimeStep::get_delta ( float  maxshift) const

Evaluate the delta for the application of the time step based on the maxium allowed transformation

Parameters
maxshiftmaximum hypothetical transfornmation to be applied
Returns
the delta value corresponding to the current time step

◆ has_regrid()

bool C3DRegTimeStep::has_regrid ( ) const
Returns
true if the time-step requires regridding

◆ increase()

void C3DRegTimeStep::increase ( )

Increase time step (at most to its maximum)

◆ regrid_requested()

bool C3DRegTimeStep::regrid_requested ( const C3DFVectorfield b,
const C3DFVectorfield v,
float  delta 
) const

For a fluid-dynamic like registration evaluate whether a regridding is needed. For other time-steps it always should return false

Parameters
bcurrent force field
vvelocity field
deltatime step value to be applied
Returns
true if regridding is to be applied

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