Classes | Functions

OpenTissue::grid::detail Namespace Reference

Classes

class  Iterator
 basic iterator for walking through the WHOLE container More...
class  IndexIterator
 iterator that keeps track of i,j,k position More...
class  JunctionCandidate
class  JunctionCollisionPolicy
class  FullRedistance
class  Voxelizer

Functions

template<typename grid_type >
grid_type::value_type compute_aof_value (grid_type const &phi, size_t const &i, size_t const &j, size_t const &k, double scale=0.5)
template<typename unsigned_int_container >
void associate (size_t i, size_t j, unsigned_int_container &assoc)
template<typename grid_type >
void fast_blur (grid_type &image, grid_type &tmp, double si, double sj, double sk, double log_base)
template<typename array_type , typename real_type >
void compute_gaussian_kernel (array_type &G, real_type const &s)
template<typename value_type , typename real_type >
void convolution1D (value_type *output, value_type const *input, int const &xdim, int const &ydim, int const &zdim, int const &dim, real_type const &s)
template<typename value_type , typename real_type >
void convolution3D (value_type *output, value_type const *input, int const &xdim, int const &ydim, int const &zdim, real_type const &sx, real_type const &sy, real_type const &sz)
template<typename grid_type >
bool is_local_minima (size_t i, size_t j, size_t k, grid_type const &phi)
template<typename grid_type >
bool is_strict_local_minima (size_t i, size_t j, size_t k, grid_type const &phi)

Function Documentation

template<typename unsigned_int_container >
void OpenTissue::grid::detail::associate ( size_t  i,
size_t  j,
unsigned_int_container &  assoc 
) [inline]

Associate two adjacent components so that they represent the same component.

Parameters:
i Component label value of a pixel under consideration.
j Component label value of an adjacent pixel.
assoc Array containing associations of component label values.
template<typename grid_type >
grid_type::value_type OpenTissue::grid::detail::compute_aof_value ( grid_type const &  phi,
size_t const &  i,
size_t const &  j,
size_t const &  k,
double  scale = 0.5 
) [inline]

Compute Average Outward Flux at designated nodal position of a signed distance grid.

Parameters:
phi The signed distance grid.
i The i'th index of the node.
j The j'th index of the node.
k The k'th index of the node.
scale Default value is 0.5, this determines the scale on which the flux is computed. 0.5 correponds to ``voxel-based''.
Returns:
The flux value.
template<typename array_type , typename real_type >
void OpenTissue::grid::detail::compute_gaussian_kernel ( array_type &  G,
real_type const &  s 
) [inline]

Compute Gaussian Kernel. This method computes a normalized 1D Gaussian kernel.

The Gaussian is centered in the middel of G, hence it is useful to allocate a valarray of size 4*s+1.

Parameters:
G A pre-allocated valarray of scalars for the result.
s The standard deviation of the Gaussian.
template<typename value_type , typename real_type >
void OpenTissue::grid::detail::convolution1D ( value_type *  output,
value_type const *  input,
int const &  xdim,
int const &  ydim,
int const &  zdim,
int const &  dim,
real_type const &  s 
) [inline]

One-dimensional convolution with a Gaussian kernel.

Parameters:
output The resulting image.
input The original image.
xdim The size of I along the first dimenison.
ydim The size of I along the second dimenison.
zdim The size of I along the third dimenison.
dim Which dimension to convolve along.
s The standard deviation of the Gaussian to be convolved with.
template<typename value_type , typename real_type >
void OpenTissue::grid::detail::convolution3D ( value_type *  output,
value_type const *  input,
int const &  xdim,
int const &  ydim,
int const &  zdim,
real_type const &  sx,
real_type const &  sy,
real_type const &  sz 
) [inline]

Three-dimensional convolution with a Gaussian kernel.

Parameters:
output The resulting image. Should be preallocated to same size as I.
input The original image.
xdim The size of I along the first dimenison.
ydim The size of I along the second dimenison.
zdim The size of I along the third dimenison.
sx The standard deviation of the Gaussian along the first direction.
sy The standard deviation of the Gaussian along the second direction.
sz The standard deviation of the Gaussian along the third direction.
template<typename grid_type >
void OpenTissue::grid::detail::fast_blur ( grid_type image,
grid_type tmp,
double  si,
double  sj,
double  sk,
double  log_base 
) [inline]
template<typename grid_type >
bool OpenTissue::grid::detail::is_local_minima ( size_t  i,
size_t  j,
size_t  k,
grid_type const &  phi 
) [inline]

Test if a specified node is a strict local minima.

Parameters:
i 
j 
k 
phi 
Returns:
True if node i,j,k is a local minima, otherwise false.
template<typename grid_type >
bool OpenTissue::grid::detail::is_strict_local_minima ( size_t  i,
size_t  j,
size_t  k,
grid_type const &  phi 
) [inline]

Test if a specified node is a strict local minima.

Parameters:
i 
j 
k 
phi 
Returns:
True if node i,j,k is a local minima, otherwise false.