Functions

mln::make Namespace Reference

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

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 (unsigned nrows, unsigned ncols)
 Create an mln::box2d.
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_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 (unsigned nslis, unsigned nrows, unsigned ncols)
 Create an mln::box3d.
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.
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 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.
mln::dpoint2d_h dpoint2d_h (def::coord row, def::coord col)
 Create an mln::dpoint2d_h.
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_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_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 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 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 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 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 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 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 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 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 L>
mln::image1d< V > image (V(&values)[L])
 Create an image1d from an 1D 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 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 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<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>.
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_v2b< F > &fv2b, const V &nlabels, V &new_nlabels)
 Create a i2v function from a v2b function.
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 T >
algebra::vec< 1, T > vec (const T &v_0)
 Create an mln::algebra::vec<n,T>.
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 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 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 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(), 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.

References box1d().

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 box1d(), and mln::image1d< T >::image1d().

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::image2d< T >::image2d(), and mln::io::pnm::load().

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

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 80 of file make/box3d.hh.

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

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 92 of file make/box3d.hh.

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 T &  val2 
)
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(), and mln::topo::is_facet().

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

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 G , typename P >
p_edges< G, pw::cst_< P > > mln::make::dummy_p_edges ( const Graph< G > &  g_,
const P &  dummy_site 
)

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.

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

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_vertices< G, pw::cst_< P > > mln::make::dummy_p_vertices ( const Graph< G > &  g_,
const P &  dummy_site 
)

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.

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

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 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 141 of file make/edge_image.hh.

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 
)

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 155 of file make/edge_image.hh.

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 179 of file make/edge_image.hh.

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 elements 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 199 of file make/edge_image.hh.

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' values 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 225 of file make/edge_image.hh.

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 predicate on a vertex's value. The (Boolean) result is associated to the edges adjacent to the vertex.
Returns:
an edge image without localization information mapped to graph elements.

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

References mln::data::fill().

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 L>
mln::image1d< V > mln::make::image ( V(&)  values[L]  ) 

Create an image1d from an 1D array of values.

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

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

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

Create an image2d from an 2D array of values.

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

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

References mln::opt::at().

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

Create an image3d from an 3D array of values.

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

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

References mln::opt::at().

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

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.

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 92 of file make/image3d.hh.

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

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.

Definition at line 175 of file influence_zone_adjacency_graph.hh.

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.

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

Construct an mln::util::ord_pair on-the-fly.

Definition at line 277 of file ord_pair.hh.

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

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

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.

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.

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.

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.

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.

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 83 of file relabelfun.hh.

References 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 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 106 of file relabelfun.hh.

References mln::literal::zero.

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.

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 G , typename FV >
mln::vertex_image< void, typename FV::result, G > mln::make::vertex_image ( const Graph< G > &  g,
const Function_v2v< FV > &  fv 
)

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.

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 
)

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.

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.

Definition at line 68 of file voronoi.hh.

References mln::util::graph::add_edge(), mln::util::graph::add_vertex(), 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::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.

Referenced by 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().

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

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::w_window< D, W >::insert(), and mln::literal::zero.