mln::make Namespace Reference

Namespace of routines that help to make Milena's objects. More...


Namespaces

namespace  impl
namespace  internal

Functions

template<unsigned D, typename G, typename V>
p_set< complex_psite< D, G > > attachment (const complex_psite< D, G > &f, const complex_image< D, G, V > &ima)
 Compute the attachment of the cell corresponding to the facet f to the image ima.
mln::box1d box1d (def::coord min_ind, def::coord max_ind)
 Create an mln::box1d.
mln::box1d box1d (unsigned ninds)
 Create an mln::box1d.
mln::box2d box2d (def::coord min_row, def::coord min_col, def::coord max_row, def::coord max_col)
 Create an mln::box2d.
mln::box2d box2d (unsigned nrows, unsigned ncols)
 Create an mln::box2d.
mln::box2d_h box2d_h (def::coord min_row, def::coord min_col, def::coord max_row, def::coord max_col)
 Create an mln::box2d_h.
mln::box2d_h box2d_h (unsigned nrows, unsigned ncols)
 Create an mln::box2d_h.
mln::box3d box3d (def::coord min_sli, def::coord min_row, def::coord min_col, def::coord max_sli, def::coord max_row, def::coord max_col)
 Create an mln::box3d.
mln::box3d box3d (unsigned nslis, unsigned nrows, unsigned ncols)
 Create an mln::box3d.
template<unsigned D, typename G>
p_set< complex_psite< D, G > > cell (const complex_psite< D, G > &f)
 Compute the set of faces of the cell corresponding to the facet f.
template<typename T, typename U>
util::couple< T, U > couple (const T &val1, const U &val2)
template<typename T, typename U>
util::couple< T, U > couple (const T &val1, const T &val2)
 Construct an mln::util::couple on-the-fly.
template<unsigned D, typename G, typename V>
p_set< complex_psite< D, G > > detachment (const complex_psite< D, G > &f, const complex_image< D, G, V > &ima)
 Compute the detachment of the cell corresponding to the facet f to the image ima.
template<typename F, unsigned St, unsigned Sf>
neighb< win::multiple
< window2d, F > > 
double_neighb2d (const F &test, bool const (&when_true)[St], bool const (&when_false)[Sf])
template<typename A, unsigned St, unsigned Sf>
neighb< win::multiple
< window2d, bool(*)(A)> > 
double_neighb2d (bool(*test)(A), bool const (&when_true)[St], bool const (&when_false)[Sf])
mln::dpoint2d_h dpoint2d_h (def::coord row, def::coord col)
 Create an mln::dpoint2d_h.
template<typename I, typename N>
neighb< win::multiple_size
< 2, mln_window(N), pw::value_
< I > > > 
dual_neighb (const Image< I > &ima, const Neighborhood< N > &nbh_true, const Neighborhood< N > &nbh_false)
template<typename G>
p_edges< G > dummy_p_edges (const Graph< G > &g)
 Create a p_edges which associate a graph element to a constant site.
template<typename G, typename P>
p_edges< G, pw::cst_< P > > dummy_p_edges (const Graph< G > &g_, const P &dummy_site)
 Create a p_edges which associate a graph element to a constant site.
template<typename G>
p_vertices< G > dummy_p_vertices (const Graph< G > &g)
 Create a p_vertices which associate a graph element to a constant site.
template<typename G, typename P>
p_vertices< G, pw::cst_< P > > dummy_p_vertices (const Graph< G > &g_, const P &dummy_site)
 Create a p_vertices which associate a graph element to a constant site.
template<typename P, typename V, typename G, typename F>
mln::edge_image< void, bool, G > edge_image (const mln::vertex_image< P, V, G > &v_ima_, const Function_v2b< F > &fv_)
 Construct an edge image.
template<typename P, typename V, typename G, typename FV>
mln::edge_image< void,
typename FV::result, G > 
edge_image (const mln::vertex_image< P, V, G > &v_ima_, const Function_vv2v< FV > &fv_)
 Construct an edge image.
template<typename P, typename V, typename G, typename FP, typename FV>
mln::edge_image< typename
FP::result, typename
FV::result, G > 
edge_image (const mln::vertex_image< P, V, G > &v_ima_, const p_edges< G, FP > pe, const Function_vv2v< FV > &fv_)
 Construct an edge image.
template<typename FP, typename FV, typename G>
mln::edge_image< typename
FP::result, typename
FV::result, G > 
edge_image (const Graph< G > &g_, const Function_v2v< FP > &fp, const Function_v2v< FV > &fv)
 Construct an edge image.
template<typename FV, typename G>
mln::edge_image< void,
typename FV::result, G > 
edge_image (const Graph< G > &g, const Function_v2v< FV > &fv)
 Construct an edge image.
template<typename V, typename G>
mln::edge_image< void, V, G > edge_image (const Graph< G > &g, const fun::i2v::array< V > &fv)
 Construct an edge image.
template<typename T, unsigned N>
algebra::h_mat< mlc_sqrt_int(N),
T > 
h_mat (const T(&tab)[N])
 Create an mln::algebra::mat<n,n,T>.
template<typename V, unsigned S, unsigned R, unsigned C>
mln::image3d< V > image (V(&values)[S][R][C])
 Create an image3d from an 3D array of values.
template<typename V, unsigned R, unsigned C>
mln::image2d< V > image (V(&values)[R][C])
 Create an image2d from an 2D array of values.
template<typename V, unsigned L>
mln::image1d< V > image (V(&values)[L])
 Create an image1d from an 1D array of values.
template<typename V, unsigned S>
mln::image2d< V > image2d (V(&values)[S])
 Create an image2d from an 2D array of values.
template<typename I>
mln::image3d< typename I::value > image3d (const Image< I > &ima)
 Create an image3d from a 2D image.
template<typename I>
mln::image3d< typename I::value > image3d (const util::array< I > &ima)
 Create an image3d from an array of 2D images.
template<typename I, typename N>
util::graph influence_zone_adjacency_graph (const Image< I > &iz_, const Neighborhood< N > &nbh, const typename I::value &nlabels)
 Create a graph from an influence zone image.
template<typename I>
mln::labeled_image< I > labeled_image (const Image< I > &ima, const typename I::value &nlabels)
template<unsigned n, unsigned m, typename T>
algebra::mat< n, m, T > mat (const T(&tab)[n *m])
 Create an mln::algebra::mat<n,m,T>.
mln::w_window2d_float mk_chamfer_3x3_float (float d10, float d11)
template<int d10, int d11>
mln::w_window2d_int mk_chamfer_3x3_int ()
mln::w_window2d_float mk_chamfer_5x5_float (float d10, float d11, float d21)
template<int d10, int d11, int d21>
mln::w_window2d_int mk_chamfer_5x5_int ()
mln::w_window2d_float mk_chamfer_exact ()
template<unsigned S>
mln::neighb2d neighb2d (bool const (&vals)[S])
template<typename T>
util::ord_pair< T > ord_pair (const T &val1, const T &val2)
 Construct an mln::util::ord_pair on-the-fly.
template<typename W, typename G>
p_edges< G, fun::i2v::array
< util::site_pair< typename
W::site > > > 
p_edges_with_mass_centers (const Image< W > &wst_, const Graph< G > &g_)
 Construct a p_edges from a watershed image and a region adjacency graph (RAG).
template<typename W, typename G>
p_vertices< G, fun::i2v::array
< typename W::site > > 
p_vertices_with_mass_centers (const Image< W > &wst_, const Graph< G > &g_)
 Construct a p_vertices from a watershed image and a region adjacency graph (RAG).
template<typename I>
mln::util::pix< I > pix (const Image< I > &ima, const typename I::psite &p)
 Create an mln::util::pix from an image ima and a psite p.
template<typename I>
mln::pixel< I > pixel (Image< I > &ima, const typename I::psite &p)
 Create a mln::pixel from a mutable image ima and a point p.
template<typename I>
mln::pixel< const I > pixel (const Image< I > &ima, const typename I::psite &p)
 Create a mln::pixel from a constant image ima and a point p.
mln::point2d_h point2d_h (def::coord row, def::coord col)
 Create an mln::point2d_h.
template<typename I, typename N>
util::couple< util::graph,
typename mln::trait::concrete
< I >::ret
rag_and_labeled_wsl (const Image< I > &wshd_, const Neighborhood< N > &nbh_, const typename I::value &nbasins)
 Create a region adjacency graph and a label image of the watershed line from a watershed image.
template<typename I, typename N>
util::graph region_adjacency_graph (const Image< I > &wshd_, const Neighborhood< N > &nbh, const typename I::value &nbasins)
 Create a region adjacency graph from a watershed image.
template<typename V, typename F>
fun::i2v::array< V > relabelfun (const Function_v2v< F > &fv2v, const V &nlabels, V &new_nlabels)
 Create a i2v function from a v2v function.
template<typename V, typename F>
fun::i2v::array< V > relabelfun (const Function_v2b< F > &fv2b, const V &nlabels, V &new_nlabels)
 Create a i2v function from a v2b function.
template<typename T>
algebra::vec< 4, T > vec (const T &v_0, const T &v_1, const T &v_2, const T &v_3)
 Create an mln::algebra::vec<4,T>.
template<typename T>
algebra::vec< 3, T > vec (const T &v_0, const T &v_1, const T &v_2)
 Create an mln::algebra::vec<3,T>.
template<typename T>
algebra::vec< 2, T > vec (const T &v_0, const T &v_1)
 Create an mln::algebra::vec<2,T>.
template<typename T>
algebra::vec< 1, T > vec (const T &v_0)
 Create an mln::algebra::vec<n,T>.
template<typename FP, typename FV, typename G>
mln::vertex_image< typename
FP::result, typename
FV::result, G > 
vertex_image (const Graph< G > &g_, const Function_v2v< FP > &fp, const Function_v2v< FV > &fv)
 Construct a vertex image.
template<typename G, typename FV>
mln::vertex_image< void,
typename FV::result, G > 
vertex_image (const Graph< G > &g, const Function_v2v< FV > &fv)
 Construct a vertex image.
template<typename I, typename N>
p_vertices< util::graph,
fun::i2v::array< typename
I::site > > 
voronoi (Image< I > &ima_, Image< I > &orig_, const Neighborhood< N > &nbh)
 Apply the Voronoi algorithm on ima_ with the original image orig_ for node computing with neighborhood nbh.
template<typename W, typename F>
mln::w_window< typename
W::dpsite, typename F::result > 
w_window (const Window< W > &win, const Function_v2v< F > &wei)
 Create a mln::w_window from a window and a weight function.
template<typename W, unsigned M>
mln::w_window< mln::dpoint1d, W > w_window1d (W(&weights)[M])
 Create a 1D mln::w_window from an array of weights.
template<unsigned M>
mln::w_window1d_int w_window1d_int (int(&weights)[M])
 Create a mln::w_window1d_int.
template<typename W, unsigned S>
mln::w_window< mln::dpoint2d, W > w_window2d (W(&weights)[S])
 Create a 2D mln::w_window from an array of weights.
template<unsigned M>
mln::w_window2d_int w_window2d_int (int(&weights)[M])
 Create a mln::w_window2d_int.
template<typename W, unsigned M>
mln::w_window< mln::dpoint3d, W > w_window3d (W(&weights)[M])
 Create a 3D mln::w_window from an array of weights.
template<unsigned M>
mln::w_window3d_int w_window3d_int (int(&weights)[M])
 Create a mln::w_window3d_int.
template<typename D, typename W, unsigned L>
mln::w_window< D, W > w_window_directional (const Gdpoint< D > &dp, W(&weights)[L])
 Create a directional centered weighted window.


Detailed Description

Namespace of routines that help to make Milena's objects.

Function Documentation

template<unsigned D, typename G, typename V>
p_set< complex_psite< D, G > > mln::make::attachment ( const complex_psite< D, G > &  f,
const complex_image< D, G, V > &  ima 
) [inline]

Compute the attachment of the cell corresponding to the facet f to the image ima.

Precondition:
f is a facet (it does not belong to any face of higher dimension).

ima is an image of Boolean values.

Returns:
a set of faces containing the attachment.
We do not use the fomal definition of the attachment here (see couprie.08.pami). We use the following (equivalent) definition: an N-face F in CELL is in the attachment of CELL to IMA if it is adjacent to at least an (N-1)-face or an (N+1)-face that does not belong to CELL.

Definition at line 68 of file attachment.hh.

References cell(), mln::internal::image_base< T, S, E >::has(), and mln::topo::is_facet().

Referenced by mln::topo::is_simple_cell< I >::operator()().

mln::box1d mln::make::box1d ( def::coord  min_ind,
def::coord  max_ind 
) [inline]

Create an mln::box1d.

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

Parameters:
[in] min_ind Minimum index.
[in] max_ind Maximum index.
Precondition:
max_ind >= min_ind.
Returns:
A 1D box.

Definition at line 79 of file make/box1d.hh.

mln::box1d mln::make::box1d ( unsigned  ninds  )  [inline]

Create an mln::box1d.

Parameters:
[in] ninds Number of indices.
Precondition:
ninds != 0 and ncols != 0.
Returns:
A 1D box.

Definition at line 70 of file make/box1d.hh.

Referenced by mln::convert::over_load::from_to_(), and mln::image1d< T >::image1d().

mln::box2d mln::make::box2d ( def::coord  min_row,
def::coord  min_col,
def::coord  max_row,
def::coord  max_col 
) [inline]

Create an mln::box2d.

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

Parameters:
[in] min_row Index of the top most row.
[in] min_col Index of the left most column.
[in] max_row Index of the botton most row.
[in] max_col Index of the right most column.
Precondition:
max_row >= min_row and max_col >= min_col.
Returns:
A 2D box.

Definition at line 88 of file make/box2d.hh.

mln::box2d mln::make::box2d ( unsigned  nrows,
unsigned  ncols 
) [inline]

Create an mln::box2d.

Parameters:
[in] nrows Number of rows.
[in] ncols Number of columns.
Precondition:
nrows != 0 and ncols != 0.
Returns:
A 2D box.

Definition at line 78 of file make/box2d.hh.

Referenced by mln::internal::data< slice_image< I > >::data(), mln::world::inter_pixel::display_edge(), mln::world::binary_2d::impl::enlargex2(), mln::hexa_fwd_piter_< S >::hexa_fwd_piter_(), mln::image2d< T >::image2d(), mln::io::pnm::load(), and mln::test_image().

mln::box2d_h mln::make::box2d_h ( def::coord  min_row,
def::coord  min_col,
def::coord  max_row,
def::coord  max_col 
) [inline]

Create an mln::box2d_h.

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

Parameters:
[in] min_row Index of the top most row.
[in] min_col Index of the left most column.
[in] max_row Index of the botton most row.
[in] max_col Index of the right most column.
Precondition:
max_row >= min_row and max_col >= min_col.
Returns:
A 2D_H box.

Definition at line 85 of file make/box2d_h.hh.

References point2d_h().

mln::box2d_h mln::make::box2d_h ( unsigned  nrows,
unsigned  ncols 
) [inline]

Create an mln::box2d_h.

Parameters:
[in] nrows Number of rows.
[in] ncols Number of columns.
Precondition:
nrows != 0 and ncols != 0.
Returns:
A 2D_H box.

Definition at line 75 of file make/box2d_h.hh.

References point2d_h().

Referenced by mln::hexa< I >::init_().

mln::box3d mln::make::box3d ( def::coord  min_sli,
def::coord  min_row,
def::coord  min_col,
def::coord  max_sli,
def::coord  max_row,
def::coord  max_col 
) [inline]

Create an mln::box3d.

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

Parameters:
[in] min_sli Index of the lowest slice.
[in] min_row Index of the top most row.
[in] min_col Index of the left most column.
[in] max_sli Index of the highest slice.
[in] max_row Index of the botton most row.
[in] max_col Index of the right most column.
Precondition:
max_sli >= min_sli.

max_row >= min_row.

max_col >= min_col.

Returns:
A 3D box.

Definition at line 91 of file make/box3d.hh.

mln::box3d mln::make::box3d ( unsigned  nslis,
unsigned  nrows,
unsigned  ncols 
) [inline]

Create an mln::box3d.

Parameters:
[in] nslis Number of slices.
[in] nrows Number of rows.
[in] ncols Number of columns.
Precondition:
ninds != 0 and ncols != 0 and nslis != 0.
Returns:
A 3D box.

Definition at line 79 of file make/box3d.hh.

Referenced by image3d(), and mln::image3d< T >::image3d().

template<unsigned D, typename G>
p_set< complex_psite< D, G > > mln::make::cell ( const complex_psite< D, G > &  f  )  [inline]

Compute the set of faces of the cell corresponding to the facet f.

Precondition:
f is a facet (it does not belong to any face of higher dimension).
Returns:
An mln::p_set of sites (faces) containing the attachment.

Definition at line 63 of file cell.hh.

References mln::topo::is_facet(), and mln::complex_psite< D, G >::n().

Referenced by attachment(), and detachment().

template<typename T, typename U>
util::couple<T,U> mln::make::couple ( const T &  val1,
const U &  val2 
) [inline]

Definition at line 239 of file util/couple.hh.

template<typename T, typename U>
util::couple<T,U> mln::make::couple ( const T &  val1,
const T &  val2 
) [inline]

template<unsigned D, typename G, typename V>
p_set< complex_psite< D, G > > mln::make::detachment ( const complex_psite< D, G > &  f,
const complex_image< D, G, V > &  ima 
) [inline]

Compute the detachment of the cell corresponding to the facet f to the image ima.

Precondition:
f is a facet (it does not belong to any face of higher dimension).

ima is an image of Boolean values.

Returns:
a set of faces containing the detachment.
We do not use the fomal definition of the detachment here (see couprie.08.pami). We use the following (equivalent) definition: an N-face F in CELL is not in the detachment of CELL from IMA if it is adjacent to at least an (N-1)-face or an (N+1)-face that does not belong to CELL.

Definition at line 68 of file detachment.hh.

References cell(), mln::internal::image_base< T, S, E >::has(), and mln::topo::is_facet().

Referenced by mln::topo::detach().

template<typename F, unsigned St, unsigned Sf>
neighb< win::multiple< window2d, F > > mln::make::double_neighb2d ( const F &  test,
bool const (&)  when_true[St],
bool const (&)  when_false[Sf] 
) [inline]

Definition at line 80 of file double_neighb2d.hh.

template<typename A, unsigned St, unsigned Sf>
neighb< win::multiple< window2d, bool(*)(A)> > mln::make::double_neighb2d ( bool(*)(A)  test,
bool const (&)  when_true[St],
bool const (&)  when_false[Sf] 
) [inline]

mln::dpoint2d_h mln::make::dpoint2d_h ( def::coord  row,
def::coord  col 
) [inline]

Create an mln::dpoint2d_h.

Parameters:
[in] row Row coordinate.
[in] col Column coordinate.
Returns:
A 2D dpoint.

Definition at line 55 of file make/dpoint2d_h.hh.

template<typename I, typename N>
neighb< win::multiple_size< 2, mln_window(N), pw::value_< I > > > mln::make::dual_neighb ( const Image< I > &  ima,
const Neighborhood< N > &  nbh_true,
const Neighborhood< N > &  nbh_false 
) [inline]

template<typename G>
p_edges< G > mln::make::dummy_p_edges ( const Graph< G > &  g  )  [inline]

Create a p_edges which associate a graph element to a constant site.

0 (int) is used as dummy site.

Parameters:
[in] g A graph.
Returns:
A p_edges.

Definition at line 93 of file dummy_p_edges.hh.

template<typename G, typename P>
p_edges< G, pw::cst_< P > > mln::make::dummy_p_edges ( const Graph< G > &  g_,
const P &  dummy_site 
) [inline]

Create a p_edges which associate a graph element to a constant site.

Parameters:
[in] g_ A graph.
[in] dummy_site The dummy site mapped to graph edges.
Returns:
A p_edges.

Definition at line 77 of file dummy_p_edges.hh.

References mln::pw::cst(), mln::trace::entering(), mln::exact(), and mln::trace::exiting().

template<typename G>
p_vertices< G > mln::make::dummy_p_vertices ( const Graph< G > &  g  )  [inline]

Create a p_vertices which associate a graph element to a constant site.

0 (int) is used as dummy site.

Parameters:
[in] g A graph.
Returns:
A p_vertices.

Definition at line 93 of file dummy_p_vertices.hh.

template<typename G, typename P>
p_vertices< G, pw::cst_< P > > mln::make::dummy_p_vertices ( const Graph< G > &  g_,
const P &  dummy_site 
) [inline]

Create a p_vertices which associate a graph element to a constant site.

Parameters:
[in] g_ A graph.
[in] dummy_site The dummy site mapped to graph vertices.
Returns:
A p_vertices.

Definition at line 77 of file dummy_p_vertices.hh.

References mln::pw::cst(), mln::trace::entering(), mln::exact(), and mln::trace::exiting().

template<typename P, typename V, typename G, typename F>
mln::edge_image< void, bool, G > mln::make::edge_image ( const mln::vertex_image< P, V, G > &  v_ima_,
const Function_v2b< F > &  fv_ 
) [inline]

Construct an edge image.

Parameters:
[in] v_ima_ A vertex image.
[in] fv_ A function mapping a vertex ids to a value. The result is associated to the corresponding edge.
Returns:
an edge image without localization information mapped to graph elements.

Definition at line 249 of file make/edge_image.hh.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::data::fill().

template<typename P, typename V, typename G, typename FV>
mln::edge_image< void, typename FV::result, G > mln::make::edge_image ( const mln::vertex_image< P, V, G > &  v_ima_,
const Function_vv2v< FV > &  fv_ 
) [inline]

Construct an edge image.

Parameters:
[in] v_ima_ A vertex image.
[in] fv_ A function mapping two vertices ids to a value. The result is associated to the corresponding edge.
Returns:
an edge image without localization information mapped to graph elements.

Definition at line 224 of file make/edge_image.hh.

References mln::pw::internal::image_base< F, S, E >::domain(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::internal::image_base< F::result, S, E >::is_valid().

template<typename P, typename V, typename G, typename FP, typename FV>
mln::edge_image< typename FP::result, typename FV::result, G > mln::make::edge_image ( const mln::vertex_image< P, V, G > &  v_ima_,
const p_edges< G, FP >  pe,
const Function_vv2v< FV > &  fv_ 
) [inline]

Construct an edge image.

Parameters:
[in] v_ima_ A vertex image.
[in] pe A p_edges mapping graph element to sites .
[in] fv_ A function mapping two vertex ids to a value. The result is associated to the corresponding edge.
Returns:
an edge image.

Definition at line 198 of file make/edge_image.hh.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::internal::image_base< F::result, S, E >::is_valid().

template<typename FP, typename FV, typename G>
mln::edge_image< typename FP::result, typename FV::result, G > mln::make::edge_image ( const Graph< G > &  g_,
const Function_v2v< FP > &  fp,
const Function_v2v< FV > &  fv 
) [inline]

Construct an edge image.

Parameters:
[in] g_ A graph
[in] fp A function mapping edge ids to sites.
[in] fv A function mapping edge ids to values.
Returns:
an edge image.

Definition at line 178 of file make/edge_image.hh.

References mln::trace::entering(), mln::exact(), and mln::trace::exiting().

template<typename FV, typename G>
mln::edge_image< void, typename FV::result, G > mln::make::edge_image ( const Graph< G > &  g,
const Function_v2v< FV > &  fv 
) [inline]

Construct an edge image.

Parameters:
[in] g A graph
[in] fv A function mapping edge ids to values.
Returns:
an edge image.

Definition at line 154 of file make/edge_image.hh.

References mln::trace::entering(), mln::exact(), and mln::trace::exiting().

template<typename V, typename G>
mln::edge_image< void, V, G > mln::make::edge_image ( const Graph< G > &  g,
const fun::i2v::array< V > &  fv 
) [inline]

Construct an edge image.

Parameters:
[in] g A graph
[in] fv A function mapping edge ids to values.
Returns:
an edge image.

Definition at line 140 of file make/edge_image.hh.

References mln::trace::entering(), mln::exact(), and mln::trace::exiting().

template<typename T, unsigned N>
algebra::h_mat< mlc_sqrt_int(N), T > mln::make::h_mat ( const T(&)  tab[N]  )  [inline]

Create an mln::algebra::mat<n,n,T>.

Definition at line 60 of file make/h_mat.hh.

Referenced by mln::fun::x2x::rotation< n, C >::rotation().

template<typename V, unsigned S, unsigned R, unsigned C>
mln::image3d< V > mln::make::image ( V(&)  values[S][R][C]  )  [inline]

Create an image3d from an 3D array of values.

Parameters:
[in] values 3D array.
Returns:
A 3D image.

Definition at line 111 of file make/image.hh.

References mln::opt::at().

template<typename V, unsigned R, unsigned C>
mln::image2d< V > mln::make::image ( V(&)  values[R][C]  )  [inline]

Create an image2d from an 2D array of values.

Parameters:
[in] values 2D array.
Returns:
A 2D image.

Definition at line 96 of file make/image.hh.

References mln::opt::at().

template<typename V, unsigned L>
mln::image1d< V > mln::make::image ( V(&)  values[L]  )  [inline]

Create an image1d from an 1D array of values.

Parameters:
[in] values 1D array.
Returns:
A 1D image.

Definition at line 84 of file make/image.hh.

template<typename V, unsigned S>
mln::image2d< V > mln::make::image2d ( V(&)  values[S]  )  [inline]

Create an image2d from an 2D array of values.

Parameters:
[in] values 2D array.
Returns:
A 2D image.

Definition at line 61 of file make/image2d.hh.

References mln::convert::from_to().

template<typename I>
mln::image3d< typename I::value > mln::make::image3d ( const Image< I > &  ima  )  [inline]

Create an image3d from a 2D image.

Definition at line 91 of file make/image3d.hh.

References box3d(), mln::exact(), mln::data::paste(), and mln::slice().

template<typename I>
mln::image3d< typename I::value > mln::make::image3d ( const util::array< I > &  ima  )  [inline]

template<typename I, typename N>
util::graph mln::make::influence_zone_adjacency_graph ( const Image< I > &  iz_,
const Neighborhood< N > &  nbh_,
const typename I::value &  nlabels 
) [inline]

Create a graph from an influence zone image.

Parameters:
[in] iz influence zone image.
[in] nbh A neighborhood.
[in] nlabels number of influence zone in iz.
Returns:
util::graph Graph based on the adjacency of the influence zones.
Create a graph from an influence zone image.

Parameters:
[in] iz_ influence zone image.
[in] nbh_ A neighborhood.
[in] nlabels number of influence zone in iz.
Returns:
util::graph Graph based on the adjacency of the influence zones.

Definition at line 175 of file influence_zone_adjacency_graph.hh.

References mln::util::graph::add_edge(), mln::util::graph::add_vertices(), mln::extension::adjust_fill(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::make::internal::influence_zone_adjacency_graph_dispatch(), and mln::make::internal::influence_zone_adjacency_graph_tests().

Referenced by mln::make::internal::influence_zone_adjacency_graph_dispatch().

template<typename I>
mln::labeled_image< I > mln::make::labeled_image ( const Image< I > &  ima,
const typename I::value &  nlabels 
) [inline]

template<unsigned n, unsigned m, typename T>
algebra::mat< n, m, T > mln::make::mat ( const T(&)  tab[n *m]  )  [inline]

Create an mln::algebra::mat<n,m,T>.

Parameters:
[in] tab Array of values.
Precondition:
The array dimension has to be n * m.

Definition at line 61 of file make/mat.hh.

mln::w_window2d_float mln::make::mk_chamfer_3x3_float ( float  d10,
float  d11 
) [inline]

Definition at line 95 of file win_chamfer.hh.

References w_window2d().

template<int d10, int d11>
mln::w_window2d_int mln::make::mk_chamfer_3x3_int (  )  [inline]

Definition at line 70 of file win_chamfer.hh.

References w_window2d().

mln::w_window2d_float mln::make::mk_chamfer_5x5_float ( float  d10,
float  d11,
float  d21 
) [inline]

Definition at line 106 of file win_chamfer.hh.

References w_window2d().

template<int d10, int d11, int d21>
mln::w_window2d_int mln::make::mk_chamfer_5x5_int (  )  [inline]

Definition at line 82 of file win_chamfer.hh.

References w_window2d().

mln::w_window2d_float mln::make::mk_chamfer_exact (  )  [inline]

Definition at line 119 of file win_chamfer.hh.

References w_window2d().

template<unsigned S>
mln::neighb2d mln::make::neighb2d ( bool const (&)  vals[S]  )  [inline]

Definition at line 54 of file make/neighb2d.hh.

References mln::convert::from_to().

template<typename T>
util::ord_pair< T > mln::make::ord_pair ( const T &  val1,
const T &  val2 
) [inline]

template<typename W, typename G>
p_edges< G, fun::i2v::array< util::site_pair< typename W::site > > > mln::make::p_edges_with_mass_centers ( const Image< W > &  wst_,
const Graph< G > &  g_ 
) [inline]

Construct a p_edges from a watershed image and a region adjacency graph (RAG).

Map each graph edge to a pair of mass centers of two adjacent regions.

Parameters:
wst_ A watershed image.
g_ A region adjacency graph.
Returns:
A p_edges.
See also:
edge_image, p_edges, make::region_adjacency_graph

Definition at line 81 of file p_edges_with_mass_centers.hh.

References mln::labeling::compute(), mln::trace::entering(), mln::exact(), and mln::trace::exiting().

template<typename W, typename G>
p_vertices< G, fun::i2v::array< typename W::site > > mln::make::p_vertices_with_mass_centers ( const Image< W > &  wst_,
const Graph< G > &  g_ 
) [inline]

Construct a p_vertices from a watershed image and a region adjacency graph (RAG).

Map each graph vertex to the mass center of its corresponding region.

Parameters:
wst_ A watershed image.
g_ A region adjacency graph.
Returns:
A p_vertices.
See also:
edge_image, vertex_image, p_vertices, p_edges, make::region_adjacency_graph

Definition at line 77 of file p_vertices_with_mass_centers.hh.

References mln::labeling::compute(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::convert::from_to().

template<typename I>
mln::util::pix< I > mln::make::pix ( const Image< I > &  ima,
const typename I::psite &  p 
) [inline]

Create an mln::util::pix from an image ima and a psite p.

Parameters:
[in] ima The input image.
[in] p The point site.
Returns:
An mln::util::pix.

Definition at line 58 of file make/pix.hh.

Referenced by mln::accu::impl::generic::compute(), mln::accu::impl::take(), mln::morpho::tree::internal::take_as_init(), and mln::canvas::morpho::impl::take_as_init().

template<typename I>
mln::pixel< I > mln::make::pixel ( Image< I > &  ima,
const typename I::psite &  p 
) [inline]

Create a mln::pixel from a mutable image ima and a point p.

Definition at line 63 of file make/pixel.hh.

References mln::exact().

template<typename I>
mln::pixel< const I > mln::make::pixel ( const Image< I > &  ima,
const typename I::psite &  p 
) [inline]

Create a mln::pixel from a constant image ima and a point p.

Definition at line 55 of file make/pixel.hh.

References mln::exact().

mln::point2d_h mln::make::point2d_h ( def::coord  row,
def::coord  col 
) [inline]

Create an mln::point2d_h.

Parameters:
[in] row Row coordinate.
[in] col Column coordinate.
Returns:
A 2D point.

Definition at line 55 of file make/point2d_h.hh.

Referenced by box2d_h().

template<typename I, typename N>
util::couple< util::graph, typename mln::trait::concrete< I >::ret > mln::make::rag_and_labeled_wsl ( const Image< I > &  wshd_,
const Neighborhood< N > &  nbh_,
const typename I::value &  nbasins 
) [inline]

Create a region adjacency graph and a label image of the watershed line from a watershed image.

Parameters:
[in] wshd_ Watershed image.
[in] nbh_ Neighborhood
[in] nbasins Number of influence zone in wshd.
Returns:
A couple. First element is the graph, second element is an image with a labeled watershed line.

	      |-----------------|		      |-----------------|
	      | 1 1 1 0 2 2 0 3 |                     | . . . 1 . . 2 . |
	      | 1 1 0 2 2 2 0 3 |                     | . . 1 . . . 2 . |
	      | 1 0 4 0 2 0 3 3 |           ---->     | . 1 . 3 . 4 . . |
	      | 0 4 4 4 0 5 0 3 |                     | 1 . . . 5 . 6 . |
	      |-----------------|                     |-----------------|

		Watershed image			      Labeled watershed line
	 (watershed line labeled with 0)


			|
			|
			|
			v

		  1 -- 2 - 3
		   \  /   /
		    4 -- 5

	    Region Adjacency graph (RAG)

	

Definition at line 229 of file rag_and_labeled_wsl.hh.

References mln::util::graph::add_edge(), mln::util::graph::add_vertices(), mln::extension::adjust_fill(), mln::util::array< T >::append(), couple(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::data::fill(), mln::util::array< T >::nelements(), mln::make::internal::rag_and_labeled_wsl_dispatch(), mln::make::internal::rag_and_labeled_wsl_tests(), and mln::literal::zero.

Referenced by mln::make::internal::rag_and_labeled_wsl_dispatch().

template<typename I, typename N>
util::graph mln::make::region_adjacency_graph ( const Image< I > &  wshd_,
const Neighborhood< N > &  nbh,
const typename I::value &  nbasins 
) [inline]

Create a region adjacency graph from a watershed image.

Parameters:
[in] wshd_ watershed image.
[in] nbh A neighborhood.
[in] nbasins number of influence zone in wshd.
Returns:
util::graph Graph based on the adjacency of the influence zones.

Definition at line 179 of file region_adjacency_graph.hh.

References mln::util::graph::add_edge(), mln::util::graph::add_vertices(), mln::extension::adjust_fill(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::make::internal::region_adjacency_graph_dispatch(), and mln::make::internal::region_adjacency_graph_tests().

Referenced by mln::make::internal::region_adjacency_graph_dispatch().

template<typename V, typename F>
fun::i2v::array< V > mln::make::relabelfun ( const Function_v2v< F > &  fv2v,
const V &  nlabels,
V &  new_nlabels 
) [inline]

Create a i2v function from a v2v function.

This function can be used to relabel a labeled image.

Parameters:
[in] fv2v A v2v function. This function maps an id to an already existing one.
[in] nlabels The number of labels.
[in] new_nlabels The number of labels after relabeling.
Returns:
a i2v function.
See also:
mln::labeling::relabel

Definition at line 105 of file relabelfun.hh.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::literal::zero.

template<typename V, typename F>
fun::i2v::array< V > mln::make::relabelfun ( const Function_v2b< F > &  fv2b,
const V &  nlabels,
V &  new_nlabels 
) [inline]

Create a i2v function from a v2b function.

This function can be used to relabel a labeled image.

Parameters:
[in] fv2b A v2b function.
[in] nlabels The number of labels.
[in] new_nlabels The number of labels after relabeling.
Returns:
a i2v function.
See also:
mln::labeling::relabel

Definition at line 82 of file relabelfun.hh.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::literal::zero.

Referenced by mln::labeling::pack(), mln::labeling::pack_inplace(), mln::labeling::relabel(), mln::labeled_image_base< I, E >::relabel(), and mln::labeling::relabel_inplace().

template<typename T>
algebra::vec< 4, T > mln::make::vec ( const T &  v_0,
const T &  v_1,
const T &  v_2,
const T &  v_3 
) [inline]

Create an mln::algebra::vec<4,T>.

Parameters:
[in] v_0 First coordinate.
[in] v_1 Second coordinate.
[in] v_2 Third coordinate.
[in] v_3 Fourth coordinate.
Returns:
A 4D vector.

Definition at line 121 of file make/vec.hh.

template<typename T>
algebra::vec< 3, T > mln::make::vec ( const T &  v_0,
const T &  v_1,
const T &  v_2 
) [inline]

Create an mln::algebra::vec<3,T>.

Parameters:
[in] v_0 First coordinate.
[in] v_1 Second coordinate.
[in] v_2 Third coordinate.
Returns:
A 3D vector.

Definition at line 110 of file make/vec.hh.

template<typename T>
algebra::vec< 2, T > mln::make::vec ( const T &  v_0,
const T &  v_1 
) [inline]

Create an mln::algebra::vec<2,T>.

Parameters:
[in] v_0 First coordinate.
[in] v_1 Second coordinate.
Returns:
A 2D vector.

Definition at line 100 of file make/vec.hh.

template<typename T>
algebra::vec< 1, T > mln::make::vec ( const T &  v_0  )  [inline]

Create an mln::algebra::vec<n,T>.

Parameters:
[in] v_0 First coordinate.
Returns:
A 1D vector.

Definition at line 91 of file make/vec.hh.

Referenced by mln::fun::x2x::rotation< n, C >::check_rotation().

template<typename FP, typename FV, typename G>
mln::vertex_image< typename FP::result, typename FV::result, G > mln::make::vertex_image ( const Graph< G > &  g_,
const Function_v2v< FP > &  fp,
const Function_v2v< FV > &  fv 
) [inline]

Construct a vertex image.

Parameters:
[in] g_ A graph.
[in] fp A function mapping vertex ids to sites.
[in] fv A function mapping vertex ids to values.
Returns:
A vertex image.

Definition at line 92 of file make/vertex_image.hh.

References mln::trace::entering(), mln::exact(), and mln::trace::exiting().

template<typename G, typename FV>
mln::vertex_image< void, typename FV::result, G > mln::make::vertex_image ( const Graph< G > &  g,
const Function_v2v< FV > &  fv 
) [inline]

Construct a vertex image.

Parameters:
[in] g A graph.
[in] fv A function mapping vertex ids to values.
Returns:
A vertex image.

Definition at line 77 of file make/vertex_image.hh.

References mln::trace::entering(), mln::exact(), and mln::trace::exiting().

template<typename I, typename N>
p_vertices< util::graph, fun::i2v::array< typename I::site > > mln::make::voronoi ( Image< I > &  ima_,
Image< I > &  orig_,
const Neighborhood< N > &  nbh 
) [inline]

Apply the Voronoi algorithm on ima_ with the original image orig_ for node computing with neighborhood nbh.

Parameters:
[in] ima_ The labeling image.
[in] orig_ The original image.
[in] nbh The neighborhood for computing algorithm.
Returns:
The computed graph.

Take original point.

Compute links between link.

Compute the center of label.

FIXME

Definition at line 68 of file voronoi.hh.

References mln::util::graph::add_edge(), mln::util::graph::add_vertex(), mln::exact(), and mln::estim::min_max().

template<typename W, typename F>
mln::w_window< typename W::dpsite, typename F::result > mln::make::w_window ( const Window< W > &  win,
const Function_v2v< F > &  wei 
) [inline]

Create a mln::w_window from a window and a weight function.

Parameters:
[in] win A simple window.
[in] wei A weight function.
Returns:
A weighted window.

Definition at line 63 of file make/w_window.hh.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::w_window< D, W >::insert(), and mln::literal::origin.

template<typename W, unsigned M>
mln::w_window< mln::dpoint1d, W > mln::make::w_window1d ( W(&)  weights[M]  )  [inline]

Create a 1D mln::w_window from an array of weights.

Parameters:
[in] weights Array.
Precondition:
The array size, M, has to be a square of an odd integer.
Returns:
A 1D weighted window.

Definition at line 63 of file w_window1d.hh.

References mln::w_window< D, W >::insert().

Referenced by w_window1d_int().

template<unsigned M>
mln::w_window1d_int mln::make::w_window1d_int ( int(&)  weights[M]  )  [inline]

Create a mln::w_window1d_int.

Parameters:
[in] weights Array of integers.
Precondition:
The array size, M, has to be a square of an odd integer.
Returns:
A 1D int-weighted window.

Definition at line 61 of file make/w_window1d_int.hh.

References w_window1d().

template<typename W, unsigned S>
mln::w_window< mln::dpoint2d, W > mln::make::w_window2d ( W(&)  weights[S]  )  [inline]

Create a 2D mln::w_window from an array of weights.

Parameters:
[in] weights Array.
Precondition:
The array size, S, has to be a square of an odd integer.
Returns:
A 2D weighted window.

Definition at line 62 of file w_window2d.hh.

References mln::convert::from_to().

Referenced by mk_chamfer_3x3_float(), mk_chamfer_3x3_int(), mk_chamfer_5x5_float(), mk_chamfer_5x5_int(), mk_chamfer_exact(), mln::linear::mln_ch_convolve(), and w_window2d_int().

template<unsigned M>
mln::w_window2d_int mln::make::w_window2d_int ( int(&)  weights[M]  )  [inline]

Create a mln::w_window2d_int.

Parameters:
[in] weights Array of integers.
Precondition:
The array size, M, has to be a square of an odd integer.
Returns:
A 2D int-weighted window.

Definition at line 61 of file make/w_window2d_int.hh.

References w_window2d().

Referenced by mln::morpho::approx::impl::dilation_by_distance_thresholding_2d(), and mln::morpho::approx::impl::erosion_by_distance_thresholding_2d().

template<typename W, unsigned M>
mln::w_window< mln::dpoint3d, W > mln::make::w_window3d ( W(&)  weights[M]  )  [inline]

Create a 3D mln::w_window from an array of weights.

Parameters:
[in] weights Array.
Precondition:
The array size, M, has to be a cube of an odd integer.
Returns:
A 3D weighted window.

Definition at line 64 of file w_window3d.hh.

References mln::w_window< D, W >::insert().

Referenced by w_window3d_int().

template<unsigned M>
mln::w_window3d_int mln::make::w_window3d_int ( int(&)  weights[M]  )  [inline]

Create a mln::w_window3d_int.

Parameters:
[in] weights Array of integers.
Precondition:
The array size, M, has to be a cube of an odd integer.
Returns:
A 3D int-weighted window.

Definition at line 61 of file make/w_window3d_int.hh.

References w_window3d().

Referenced by mln::morpho::approx::impl::dilation_by_distance_thresholding_3d(), and mln::morpho::approx::impl::erosion_by_distance_thresholding_3d().

template<typename D, typename W, unsigned L>
mln::w_window< D, W > mln::make::w_window_directional ( const Gdpoint< D > &  dp,
W(&)  weights[L] 
) [inline]

Create a directional centered weighted window.

Parameters:
[in] dp A delta-point to set the orientation.
[in] weights An array of weights.
Returns:
A weighted window.
The window length L has to be odd.

Definition at line 61 of file w_window_directional.hh.

References mln::exact(), mln::w_window< D, W >::insert(), and mln::literal::zero.


Generated on Sun Apr 25 02:03:18 2010 for Milena (Olena) by  doxygen 1.5.6