# mln::geom Namespace Reference

Namespace of all things related to geometry. More...

## Namespaces

namespace  impl
Implementation namespace of geom namespace.

## Classes

class  complex_geometry
A functor returning the sites of the faces of a complex where the locations of each 0-face is stored. More...

## Functions

template<typename W >
box< typename W::psite > bbox (const Weighted_Window< W > &win)
Compute the precise bounding box of a weighted window `win`.
template<typename W >
box< typename W::psite > bbox (const Window< W > &win)
Compute the precise bounding box of a window `win`.
template<typename I >
box< typename I::site > bbox (const Image< I > &ima)
Compute the precise bounding box of a point set `pset`.
template<typename S >
box< typename S::site > bbox (const Site_Set< S > &pset)
Compute the precise bounding box of a point set `pset`.
template<typename I , typename W >
mln::trait::ch_value< I,
unsigned >::ret
chamfer (const Image< I > &input_, const W &w_win_, unsigned max=mln_max(unsigned))
Apply chamfer algorithm to a binary image.
template<typename N >
unsigned delta (const Neighborhood< N > &nbh)
Compute the delta of a neighborhood `nbh`.
template<typename W >
unsigned delta (const Weighted_Window< W > &wwin)
Compute the delta of a weighted window `wwin`.
template<typename W >
unsigned delta (const Window< W > &win)
Compute the delta of a window `win`.
template<typename B >
B::point::coord max_col (const Box< B > &b)
Give the maximum col of an box 2d or 3d.
template<typename I >
I::site::coord max_col (const Image< I > &ima)
Give the maximum column of an image.
template<typename I >
I::site::coord max_ind (const Image< I > &ima)
Give the maximum ind of an image.
template<typename B >
B::point::coord max_row (const Box< B > &b)
Give the maximum row of an box 2d or 3d.
template<typename I >
I::site::coord max_row (const Image< I > &ima)
Give the maximum row of an image.
template<typename I >
I::site::coord max_sli (const Image< I > &ima)
Give the maximum sli of an image.
std::pair< complex_image
< 2, mln::space_2complex_geometry,
algebra::vec< 3, float >
>, complex_image
< 2, mln::space_2complex_geometry,
float > >
mesh_corner_point_area (const p_complex< 2, space_2complex_geometry > &mesh)
Compute the area ``belonging'' to normals at vertices.
std::pair< complex_image
< 2, mln::space_2complex_geometry,
float >, complex_image
< 2, mln::space_2complex_geometry,
float > >
mesh_curvature (const p_complex< 2, space_2complex_geometry > &mesh)
Compute the principal curvatures of a surface at vertices.
complex_image
< 2, mln::space_2complex_geometry,
algebra::vec< 3, float > >
mesh_normal (const p_complex< 2, space_2complex_geometry > &mesh)
Compute normals at vertices.
template<typename B >
B::point::coord min_col (const Box< B > &b)
Give the minimum column of an box 2d or 3d.
template<typename I >
I::site::coord min_col (const Image< I > &ima)
Give the minimum column of an image.
template<typename I >
I::site::coord min_ind (const Image< I > &ima)
Give the minimum ind of an image.
template<typename B >
B::point::coord min_row (const Box< B > &b)
Give the minimum row of an box 2d or 3d.
template<typename I >
I::site::coord min_row (const Image< I > &ima)
Give the minimum row of an image.
template<typename I >
I::site::coord min_sli (const Image< I > &ima)
Give the minimum sli of an image.
template<typename B >
unsigned ncols (const Box< B > &b)
Give the number of cols of a box 2d or 3d.
template<typename I >
unsigned ncols (const Image< I > &ima)
Give the number of columns of an image.
template<typename I >
unsigned ninds (const Image< I > &ima)
Give the number of inds of an image.
template<typename B >
unsigned nrows (const Box< B > &b)
Give the number of rows of a box 2d or 3d.
template<typename I >
unsigned nrows (const Image< I > &ima)
Give the number of rows of an image.
template<typename I >
unsigned nsites (const Image< I > &input)
Compute the number of sites of the image `input`.
template<typename I >
unsigned nslis (const Image< I > &ima)
Give the number of slices of an image.
template<typename I >
void pmin_pmax (const Site_Iterator< I > &p, typename I::site &pmin, typename I::site &pmax)
Compute the minimum and maximum points, `pmin` and `max`, when browsing with iterator `p`.
template<typename I >
std::pair< typename I::site,
typename I::site >
pmin_pmax (const Site_Iterator< I > &p)
Compute the minimum and maximum points when browsing with iterator `p`.
template<typename S >
std::pair< typename S::site,
typename S::site >
pmin_pmax (const Site_Set< S > &s)
Compute the minimum and maximum points of point set `s`.
template<typename I >
mln::trait::concrete< I >::ret rotate (const Image< I > &input, double angle)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Use literal::zero as default value for the extension.
template<typename I , typename Ext >
mln::trait::concrete< I >::ret rotate (const Image< I > &input, double angle, const Ext &extension)
template<typename I , typename Ext , typename S >
mln::trait::concrete< I >::ret rotate (const Image< I > &input, double angle, const Ext &extension, const Site_Set< S > &output_domain)
Perform a rotation from the center of an image.
template<typename I , typename N >
mln::trait::concrete< I >::ret seeds2tiling (const Image< I > &ima_, const Neighborhood< N > &nbh)
Take a labeled image `ima_` with seeds and extend them until creating tiles.
template<typename I , typename N >
seeds2tiling_roundness (Image< I > &ima_, const w_window2d_int &w_win, unsigned max, const Neighborhood< N > &nbh_)
Take a labeled image `ima_` with seeds and extend them until creating tiles rounder than the primary version.

## Detailed Description

Namespace of all things related to geometry.

Namespace of essential things related to geometry.

## Function Documentation

template<typename W >
 box< typename W::psite > mln::geom::bbox ( const Weighted_Window< W > & win ) ` [inline]`

Compute the precise bounding box of a weighted window `win`.

References bbox().

template<typename W >
 box< typename W::psite > mln::geom::bbox ( const Window< W > & win ) ` [inline]`

Compute the precise bounding box of a window `win`.

References mln::literal::origin.

template<typename I >
 box< typename I::site > mln::geom::bbox ( const Image< I > & ima ) ` [inline]`

Compute the precise bounding box of a point set `pset`.

References bbox().

template<typename S >
 box< typename S::site > mln::geom::bbox ( const Site_Set< S > & pset ) ` [inline]`

Compute the precise bounding box of a point set `pset`.

template<typename I , typename W >
 mln::trait::ch_value< I, unsigned >::ret mln::geom::chamfer ( const Image< I > & input_, const W & w_win_, unsigned max = `mln_max(unsigned)` ) ` [inline]`

Apply chamfer algorithm to a binary image.

Referenced by mln::geom::impl::seeds2tiling_roundness().

template<typename N >
 unsigned mln::geom::delta ( const Neighborhood< N > & nbh ) ` [inline]`

Compute the delta of a neighborhood `nbh`.

References delta().

template<typename W >
 unsigned mln::geom::delta ( const Weighted_Window< W > & wwin ) ` [inline]`

Compute the delta of a weighted window `wwin`.

References delta().

template<typename W >
 unsigned mln::geom::delta ( const Window< W > & win ) ` [inline]`

Compute the delta of a window `win`.

Referenced by mln::extension::adjust(), delta(), and mln::morpho::impl::generic::rank_filter().

template<typename B >
 B::point::coord mln::geom::max_col ( const Box< B > & b ) ` [inline]`

Give the maximum col of an box 2d or 3d.

template<typename I >
 I::site::coord mln::geom::max_col ( const Image< I > & ima ) ` [inline]`

Give the maximum column of an image.

References bbox().

Referenced by ncols().

template<typename I >
 I::site::coord mln::geom::max_ind ( const Image< I > & ima ) ` [inline]`

Give the maximum ind of an image.

Referenced by ninds().

template<typename B >
 B::point::coord mln::geom::max_row ( const Box< B > & b ) ` [inline]`

Give the maximum row of an box 2d or 3d.

template<typename I >
 I::site::coord mln::geom::max_row ( const Image< I > & ima ) ` [inline]`

Give the maximum row of an image.

References bbox().

Referenced by nrows().

template<typename I >
 I::site::coord mln::geom::max_sli ( const Image< I > & ima ) ` [inline]`

Give the maximum sli of an image.

Referenced by nslis().

 std::pair< complex_image< 2, mln::space_2complex_geometry, algebra::vec<3, float> >, complex_image< 2, mln::space_2complex_geometry, float > > mln::geom::mesh_corner_point_area ( const p_complex< 2, space_2complex_geometry > & mesh ) ` [inline]`

Compute the area ``belonging'' to normals at vertices.

Inspired from the method Trimesh::need_pointareas of the Trimesh library.

http://www.cs.princeton.edu/gfx/proj/trimesh2/
From the documentation of Trimesh:

``Compute the area "belonging" to each vertex or each corner of a triangle (defined as Voronoi area restricted to the 1-ring of a vertex, or to the triangle).''

Referenced by mesh_curvature().

 std::pair< complex_image< 2, mln::space_2complex_geometry, float >, complex_image< 2, mln::space_2complex_geometry, float > > mln::geom::mesh_curvature ( const p_complex< 2, space_2complex_geometry > & mesh ) ` [inline]`

Compute the principal curvatures of a surface at vertices.

These princpal curvatures are names kappa_1 and kappa_2 in

Sylvie Philipp-Foliguet, Michel Jordan Laurent Najman and Jean Cousty. Artwork 3D Model Database Indexing and Classification.

Parameters:
 [in] mesh The surface (triangle mesh) on which the curvature is to be computed.

 complex_image< 2, mln::space_2complex_geometry, algebra::vec<3, float> > mln::geom::mesh_normal ( const p_complex< 2, space_2complex_geometry > & mesh ) ` [inline]`

Compute normals at vertices.

Inspired from the method Trimesh::need_normals of the Trimesh library.

http://www.cs.princeton.edu/gfx/proj/trimesh2/
For simplicity purpose, and contrary to Trimesh, this routine only compute normals from a mesh, not from a cloud of points.

Referenced by mesh_curvature().

template<typename B >
 B::point::coord mln::geom::min_col ( const Box< B > & b ) ` [inline]`

Give the minimum column of an box 2d or 3d.

template<typename I >
 I::site::coord mln::geom::min_col ( const Image< I > & ima ) ` [inline]`

Give the minimum column of an image.

References bbox().

Referenced by mln::transform::hough(), and ncols().

template<typename I >
 I::site::coord mln::geom::min_ind ( const Image< I > & ima ) ` [inline]`

Give the minimum ind of an image.

Referenced by ninds().

template<typename B >
 B::point::coord mln::geom::min_row ( const Box< B > & b ) ` [inline]`

Give the minimum row of an box 2d or 3d.

template<typename I >
 I::site::coord mln::geom::min_row ( const Image< I > & ima ) ` [inline]`

Give the minimum row of an image.

References bbox().

Referenced by mln::transform::hough(), and nrows().

template<typename I >
 I::site::coord mln::geom::min_sli ( const Image< I > & ima ) ` [inline]`

Give the minimum sli of an image.

Referenced by nslis().

template<typename B >
 unsigned mln::geom::ncols ( const Box< B > & b ) ` [inline]`

Give the number of cols of a box 2d or 3d.

References max_col(), min_col(), and ncols().

template<typename I >
 unsigned mln::geom::ncols ( const Image< I > & ima ) ` [inline]`

Give the number of columns of an image.

References max_col(), and min_col().

template<typename I >
 unsigned mln::geom::ninds ( const Image< I > & ima ) ` [inline]`

Give the number of inds of an image.

References max_ind(), and min_ind().

template<typename B >
 unsigned mln::geom::nrows ( const Box< B > & b ) ` [inline]`

Give the number of rows of a box 2d or 3d.

References max_row(), min_row(), and nrows().

template<typename I >
 unsigned mln::geom::nrows ( const Image< I > & ima ) ` [inline]`

Give the number of rows of an image.

References max_row(), and min_row().

template<typename I >
 unsigned mln::geom::nsites ( const Image< I > & input ) ` [inline]`

Compute the number of sites of the image `input`.

Referenced by pmin_pmax().

template<typename I >
 unsigned mln::geom::nslis ( const Image< I > & ima ) ` [inline]`

Give the number of slices of an image.

References max_sli(), and min_sli().

template<typename I >
 void mln::geom::pmin_pmax ( const Site_Iterator< I > & p, typename I::site & pmin, typename I::site & pmax ) ` [inline]`

Compute the minimum and maximum points, `pmin` and `max`, when browsing with iterator `p`.

template<typename I >
 std::pair< typename I::site, typename I::site > mln::geom::pmin_pmax ( const Site_Iterator< I > & p ) ` [inline]`

Compute the minimum and maximum points when browsing with iterator `p`.

References pmin_pmax().

template<typename S >
 std::pair< typename S::site, typename S::site > mln::geom::pmin_pmax ( const Site_Set< S > & s ) ` [inline]`

Compute the minimum and maximum points of point set `s`.

References nsites().

Referenced by pmin_pmax().

template<typename I >
 mln::trait::concrete< I >::ret mln::geom::rotate ( const Image< I > & input, double angle ) ` [inline]`

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Use literal::zero as default value for the extension.

References rotate(), and mln::literal::zero.

template<typename I , typename Ext >
 mln::trait::concrete< I >::ret mln::geom::rotate ( const Image< I > & input, double angle, const Ext & extension ) ` [inline]`

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References rotate().

template<typename I , typename Ext , typename S >
 mln::trait::concrete< I >::ret mln::geom::rotate ( const Image< I > & input, double angle, const Ext & extension, const Site_Set< S > & output_domain ) ` [inline]`

Perform a rotation from the center of an image.

Parameters:
 [in] input An image. [in] angle An angle in degrees. [in] extension Function, image or value which will be used as extension. This extension allows to map values to sites which where not part of the domain before the rotation. [in] output_domain The domain of the output image. An invalid domain, causes the routine to use the rotated input_ domain.
Returns:
An image with the same domain as `input`.

Referenced by rotate().

template<typename I , typename N >
 mln::trait::concrete< I >::ret mln::geom::seeds2tiling ( const Image< I > & ima_, const Neighborhood< N > & nbh_ ) ` [inline]`

Take a labeled image `ima_` with seeds and extend them until creating tiles.

Parameters:
 [in,out] ima_ The labeled image with seed. [in] nbh The neighborhood to use on this algorithm.
Returns:
A tiled image.
Precondition:
`ima_` has to be initialized.
Take a labeled image `ima_` with seeds and extend them until creating tiles.

Parameters:
 [in,out] ima_ The labeled image with seed. [in] nbh_ The neighborhood to use on this algorithm.

Referenced by seeds2tiling().

template<typename I , typename N >
 I mln::geom::seeds2tiling_roundness ( Image< I > & ima_, const w_window2d_int & w_win, unsigned max, const Neighborhood< N > & nbh_ ) ` [inline]`

Take a labeled image `ima_` with seeds and extend them until creating tiles rounder than the primary version.

Parameters:
 [in,out] ima_ The labeled image with seed. [in] w_win The weight window using by geom::chamfer to compute distance. [in] max Unsigned using by geom::chamfer to compute the distance. [in] nbh_ The neighborhood to use on this algorithm.
Precondition:
`ima_` has to be initialized.

Referenced by seeds2tiling_roundness().

Generated on Tue Jul 14 16:33:05 2009 for Milena (Olena) by  1.5.9