$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::geom Namespace Reference

Namespaces

namespace  impl
namespace  internal

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 S >
box< typename S::site > bbox (const Site_Set< S > &pset)
template<typename I >
box< typename I::site > bbox (const Image< I > &ima)
template<typename W >
box< typename W::psite > bbox (const Window< W > &win)
template<typename W >
box< typename W::psite > bbox (const Weighted_Window< W > &win)
template<typename I >
I::site bottom_left (const Image< I > &ima)
template<typename B >
B::site bottom_left (const Box< B > &b)
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))
template<typename I , typename B >
mln::trait::concrete< I >::ret crop (const Image< I > &input, const Box< B > &b)
template<typename I , typename B >
mln::trait::concrete< I >::ret crop_without_localization (const Image< I > &input, const Box< B > &b_in, const Box< B > &b_out)
template<typename W >
unsigned delta (const Window< W > &win)
template<typename W >
unsigned delta (const Weighted_Window< W > &wwin)
template<typename N >
unsigned delta (const Neighborhood< N > &nbh)
template<typename I >
mln::trait::concrete< I >::ret horizontal_symmetry (const Image< I > &input)
template<typename I >
I::site::coord max_col (const Image< I > &ima)
template<typename B >
B::site::coord max_col (const Box< B > &b)
template<typename I >
I::site::coord max_ind (const Image< I > &ima)
template<typename I >
I::site::coord max_row (const Image< I > &ima)
template<typename B >
B::site::coord max_row (const Box< B > &b)
template<typename I >
I::site::coord max_sli (const Image< I > &ima)
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)
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)
complex_image
< 2, mln::space_2complex_geometry,
algebra::vec< 3, float > > 
mesh_normal (const p_complex< 2, space_2complex_geometry > &mesh)
template<typename I >
I::site::coord min_col (const Image< I > &ima)
template<typename B >
B::site::coord min_col (const Box< B > &b)
template<typename I >
I::site::coord min_ind (const Image< I > &ima)
template<typename I >
I::site::coord min_row (const Image< I > &ima)
template<typename B >
B::site::coord min_row (const Box< B > &b)
template<typename I >
I::site::coord min_sli (const Image< I > &ima)
template<typename I >
unsigned ncols (const Image< I > &ima)
template<typename B >
unsigned ncols (const Box< B > &b)
template<typename I >
unsigned ninds (const Image< I > &ima)
template<typename I >
unsigned nrows (const Image< I > &ima)
template<typename B >
unsigned nrows (const Box< B > &b)
template<typename I >
unsigned nsites (const Image< I > &input)
template<typename I >
unsigned nslis (const Image< I > &ima)
template<typename S >
std::pair< typename S::site,
typename S::site > 
pmin_pmax (const Site_Set< S > &s)
template<typename S >
void pmin_pmax (const Site_Set< S > &s, typename S::site &pmin, typename S::site &pmax)
template<typename I >
std::pair< typename I::site,
typename I::site > 
pmin_pmax (const Site_Iterator< I > &p)
template<typename I >
void pmin_pmax (const Site_Iterator< I > &p, typename I::site &pmin, typename I::site &pmax)
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)
template<typename I , typename Ext >
mln::trait::concrete< I >::ret rotate (const Image< I > &input, double angle, const Ext &extension)
template<typename I >
mln::trait::concrete< I >::ret rotate (const Image< I > &input, double angle)
template<typename B >
rotate (const Box< B > &box_, double angle, const typename B::site &ref)
template<typename B >
rotate (const Box< B > &box, double angle)
template<typename I , typename N >
mln::trait::concrete< I >::ret seeds2tiling (const Image< I > &ima_, const Neighborhood< N > &nbh)
template<typename I , typename N >
seeds2tiling_roundness (Image< I > &ima_, const w_window2d_int &w_win, unsigned max, const Neighborhood< N > &nbh_)
template<typename I >
I::site top_right (const Image< I > &ima)
template<typename B >
B::site top_right (const Box< B > &b)
template<typename I , typename V , typename Ext , typename S >
mln::trait::concrete< I >::ret translate (const Image< I > &input, const algebra::vec< I::site::dim, V > &ref, const Ext &extension, const Site_Set< S > &output_domain)
template<typename I , typename V , typename Ext >
mln::trait::concrete< I >::ret translate (const Image< I > &input, const algebra::vec< I::site::dim, V > &ref, const Ext &extension)
template<typename I , typename V >
mln::trait::concrete< I >::ret translate (const Image< I > &input, const algebra::vec< I::site::dim, V > &ref)
template<typename I >
mln::trait::concrete< I >::ret vertical_symmetry (const Image< I > &input)

Detailed Description

Namespace of all things related to geometry.

Namespace of essential things related to geometry.

Function Documentation

template<typename I >
I ::site mln::geom::bottom_left ( const Image< I > &  ima)

Give the bottom left point of a 2d or 3d image.

In 3d, the top-right point corresponds to the bottom left corner of the front face.

template<typename B >
B ::site mln::geom::bottom_left ( const Box< B > &  b)

Give the bottom left point of a box 2d or 3d.This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

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.

See Also
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).''

Definition at line 250 of file misc.hh.

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]meshThe surface (triangle mesh) on which the curvature is to be computed.

Definition at line 487 of file misc.hh.

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.

See Also
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.

Definition at line 162 of file misc.hh.

template<typename I >
I ::site mln::geom::top_right ( const Image< I > &  ima)

Give the top right point of a 2d or 3d image.

In 3d, the top-right point corresponds to the top right corner of the back face.

template<typename B >
B ::site mln::geom::top_right ( const Box< B > &  b)

Give the top right point of a box 2d or 3d.This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.