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... | |
Namespaces | |
namespace | impl |
Implementation namespace of geom namespace. | |
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> | |
void | pmin_pmax (const Site_Set< S > &s, typename S::site &pmin, typename S::site &pmax) |
Compute the minimum and maximum points, pmin and max , of point set s . | |
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, 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 V> | |
mln::trait::concrete< I >::ret | translate (const Image< I > &input, const algebra::vec< I::site::dim, V > &ref) |
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 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) |
Perform a translation from the center of an image. | |
template<typename I, typename N> | |
I | 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. |
Namespace of essential things related to geometry.
box< typename W::psite > mln::geom::bbox | ( | const Weighted_Window< W > & | win | ) | [inline] |
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, and mln::accu::shape::bbox< P >::take().
box< typename I::site > mln::geom::bbox | ( | const Image< I > & | ima | ) | [inline] |
box< typename S::site > mln::geom::bbox | ( | const Site_Set< S > & | pset | ) | [inline] |
Compute the precise bounding box of a point set pset
.
Referenced by bbox(), mln::transform::distance_and_closest_point_geodesic(), mln::registration::icp(), max_col(), max_row(), max_sli(), min_col(), min_row(), min_sli(), mln::debug::println(), mln::debug::println_with_border(), and rotate().
mln::trait::ch_value< I, unsigned >::ret mln::geom::chamfer | ( | const Image< I > & | input_, | |
const W & | w_win_, | |||
unsigned | max = mln_max(unsigned) | |||
) | [inline] |
unsigned mln::geom::delta | ( | const Neighborhood< N > & | nbh | ) | [inline] |
unsigned mln::geom::delta | ( | const Weighted_Window< W > & | wwin | ) | [inline] |
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().
B::point::coord mln::geom::max_col | ( | const Box< B > & | b | ) | [inline] |
Give the maximum col of an box 2d or 3d.
I::site::coord mln::geom::max_col | ( | const Image< I > & | ima | ) | [inline] |
I::site::coord mln::geom::max_ind | ( | const Image< I > & | ima | ) | [inline] |
B::point::coord mln::geom::max_row | ( | const Box< B > & | b | ) | [inline] |
Give the maximum row of an box 2d or 3d.
I::site::coord mln::geom::max_row | ( | const Image< I > & | ima | ) | [inline] |
I::site::coord mln::geom::max_sli | ( | const Image< I > & | ima | ) | [inline] |
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.
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).''
References mln::data::fill(), mln::norm::sqr_l2(), mln::algebra::vprod(), and mln::literal::zero.
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.
[in] | mesh | The surface (triangle mesh) on which the curvature is to be computed. |
References mln::c2(), mln::algebra::ldlt_decomp(), mln::algebra::ldlt_solve(), mesh_corner_point_area(), mesh_normal(), mln::algebra::vprod(), and mln::literal::zero.
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.
For simplicity purpose, and contrary to Trimesh, this routine only compute normals from a mesh, not from a cloud of points.References mln::data::fill(), mln::norm::sqr_l2(), mln::algebra::vprod(), and mln::literal::zero.
Referenced by mesh_curvature().
B::point::coord mln::geom::min_col | ( | const Box< B > & | b | ) | [inline] |
Give the minimum column of an box 2d or 3d.
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().
I::site::coord mln::geom::min_ind | ( | const Image< I > & | ima | ) | [inline] |
B::point::coord mln::geom::min_row | ( | const Box< B > & | b | ) | [inline] |
Give the minimum row of an box 2d or 3d.
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().
I::site::coord mln::geom::min_sli | ( | const Image< I > & | ima | ) | [inline] |
unsigned mln::geom::ncols | ( | const Box< B > & | b | ) | [inline] |
unsigned mln::geom::ncols | ( | const Image< I > & | ima | ) | [inline] |
Give the number of columns of an image.
References max_col(), and min_col().
Referenced by mln::subsampling::gaussian_subsampling(), mln::transform::hough(), ncols(), and mln::subsampling::subsampling().
unsigned mln::geom::ninds | ( | const Image< I > & | ima | ) | [inline] |
unsigned mln::geom::nrows | ( | const Box< B > & | b | ) | [inline] |
unsigned mln::geom::nrows | ( | const Image< I > & | ima | ) | [inline] |
Give the number of rows of an image.
References max_row(), and min_row().
Referenced by mln::subsampling::gaussian_subsampling(), mln::transform::hough(), nrows(), and mln::subsampling::subsampling().
unsigned mln::geom::nsites | ( | const Image< I > & | input | ) | [inline] |
unsigned mln::geom::nslis | ( | const Image< I > & | ima | ) | [inline] |
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
.
std::pair< typename I::site, typename I::site > mln::geom::pmin_pmax | ( | const Site_Iterator< I > & | p | ) | [inline] |
void mln::geom::pmin_pmax | ( | const Site_Set< S > & | s, | |
typename S::site & | pmin, | |||
typename S::site & | pmax | |||
) | [inline] |
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().
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.
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.
[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. |
input
. References bbox(), mln::compose(), mln::extend(), mln::initialize(), mln::mln_exact(), mln::literal::origin, mln::data::paste(), mln::accu::shape::bbox< P >::take(), and mln::accu::shape::bbox< P >::to_result().
Referenced by rotate().
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.
[in,out] | ima_ | The labeled image with seed. |
[in] | nbh | The neighborhood to use on this algorithm. |
ima_
has to be initialized.ima_
with seeds and extend them until creating tiles.
[in,out] | ima_ | The labeled image with seed. |
[in] | nbh_ | The neighborhood to use on this algorithm. |
References mln::duplicate(), mln::p_queue< P >::front(), mln::p_queue< P >::pop(), mln::p_queue< P >::push(), and mln::geom::impl::seeds2tiling().
Referenced by seeds2tiling().
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.
[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. |
ima_
has to be initialized. References chamfer(), mln::duplicate(), mln::p_priority< P, Q >::pop_front(), mln::p_priority< P, Q >::push(), mln::geom::impl::seeds2tiling_roundness(), and mln::literal::zero.
Referenced by seeds2tiling_roundness().
mln::trait::concrete< I >::ret mln::geom::translate | ( | const Image< I > & | input, | |
const algebra::vec< I::site::dim, V > & | ref | |||
) | [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 translate(), and mln::literal::zero.
mln::trait::concrete< I >::ret mln::geom::translate | ( | const Image< I > & | input, | |
const algebra::vec< I::site::dim, V > & | ref, | |||
const Ext & | extension, | |||
const Site_Set< S > & | output_domain | |||
) | [inline] |
Perform a translation from the center of an image.
[in] | input | An image. |
[in] | ref | The translation vector. |
[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 translation. |
[in] | output_domain | The domain of the output image. An invalid domain, causes the routine to use the translated input_ domain. |
input
. References mln::extend(), mln::data::fill(), and mln::mln_exact().
Referenced by translate().