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().
1.5.6