Public Member Functions | Protected Member Functions

OpenTissue::grid::detail::FullRedistance Class Reference

#include <grid_redistance.h>

List of all members.

Public Member Functions

template<typename grid_type >
void operator() (grid_type const &phi, grid_type &psi, size_t max_iterations=10, double steady_threshold=0.05)

Protected Member Functions

template<typename grid_type >
grid_type::value_type compute_speed (grid_type const &phi, grid_type const &S0, grid_type &speed)
template<typename grid_type , typename real_type >
real_type update (grid_type const &phi, grid_type const &speed, real_type const &time_step, grid_type &psi, real_type const &gamma=10e30)

Member Function Documentation

template<typename grid_type >
grid_type::value_type OpenTissue::grid::detail::FullRedistance::compute_speed ( grid_type const &  phi,
grid_type const &  S0,
grid_type speed 
) [inline, protected]
template<typename grid_type >
void OpenTissue::grid::detail::FullRedistance::operator() ( grid_type const &  phi,
grid_type psi,
size_t  max_iterations = 10,
double  steady_threshold = 0.05 
) [inline]

Signed Distance Map Reinitialization.

Brute-force implementation of the reinitialization of the distance function. The following Hamilton-Jacobi equation is solved: d_tau + S(d) * ( |grad phi| - 1 ) = 0 d(x,0) = d_0(x) = phi(x,t) to steady state, with S(d) approximated by: s = d / ( sqrt( d^2 + |Dd|^2 * delta_x^2) )

Calculates gradient magnitude of phi using upwind-scheme. Performs PDE update using forward Euler time discretization.

Parameters:
phi Input level set that should be redistanced into a signed distance grid.
psi Output level set. That is the redistaned phi.
max_iterations The maximum number of iterations allowed to do re-initialization.
stead_threshold The threshold value used to test for steady state.
template<typename grid_type , typename real_type >
real_type OpenTissue::grid::detail::FullRedistance::update ( grid_type const &  phi,
grid_type const &  speed,
real_type const &  time_step,
grid_type psi,
real_type const &  gamma = 10e30 
) [inline, protected]

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