Namespaces | Classes | Typedefs | Functions

mln Namespace Reference

mln/convert/to_image.hh More...

Namespaces

namespace  accu
 

Namespace of accumulators.


namespace  algebra
 

Namespace of algebraic structure.


namespace  arith
 

Namespace of arithmetic.


namespace  binarization
 

Namespace of "point-wise" expression tools.


namespace  border
 

Namespace of routines related to image virtual (outer) border.


namespace  canvas
 

Namespace of canvas.


namespace  convert
 

Namespace of conversion routines.


namespace  data
 

Namespace of image processing routines related to pixel data.


namespace  debug
 

Namespace of routines that help to debug.


namespace  def
 

Namespace for core definitions.


namespace  display
 

Namespace of routines that help to display images.


namespace  doc
 

The namespace mln::doc is only for documentation purpose.


namespace  draw
 

Namespace of drawing routines.


namespace  estim
 

Namespace of estimation materials.


namespace  extension
 

Namespace of extension tools.


namespace  fun
 

Namespace of functions.


namespace  geom
 

Namespace of all things related to geometry.


namespace  graph
 

Namespace of graph related routines.


namespace  grid
 

Namespace of grids definitions.


namespace  histo
 

Namespace of histograms.


namespace  impl
 

Implementation namespace of mln namespace.


namespace  io
 

Namespace of input/output handling.


namespace  labeling
 

Namespace of labeling routines.


namespace  linear
 

Namespace of linear image processing routines.


namespace  literal
 

Namespace of literals.


namespace  logical
 

Namespace of logic.


namespace  make
 

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


namespace  math
 

Namespace of mathematical routines.


namespace  metal
 

Namespace of meta-programming tools.


namespace  morpho
 

Namespace of mathematical morphology routines.


namespace  norm
 

Namespace of norms.


namespace  opt
 

Namespace of optional routines.


namespace  pw
 

Namespace of "point-wise" expression tools.


namespace  registration
 

Namespace of "point-wise" expression tools.


namespace  select
 

Select namespace (FIXME doc).


namespace  set
 

Namespace of image processing routines related to pixel sets.


namespace  subsampling
 

Namespace of "point-wise" expression tools.


namespace  tag
 

Namespace of image processing routines related to tags.


namespace  test
 

Namespace of image processing routines related to pixel tests.


namespace  topo
 

Namespace of "point-wise" expression tools.


namespace  trace
 

Namespace of routines related to the trace mechanism.


namespace  trait
 

Namespace where traits are defined.


namespace  transform
 

Namespace of transforms.


namespace  util
 

Namespace of tools using for more complex algorithm.


namespace  value
 

Namespace of materials related to pixel value types.


namespace  win
 

Namespace of image processing routines related to win.


Classes

struct  Accumulator
 Base class for implementation of accumulators. More...
class  bkd_pixter1d
 Backward pixel iterator on a 1-D image with border. More...
class  bkd_pixter2d
 Backward pixel iterator on a 2-D image with border. More...
class  bkd_pixter3d
 Backward pixel iterator on a 3-D image with border. More...
class  box
 Generic box class: site set containing points of a regular grid. More...
struct  Box
 Base class for implementation classes of boxes. More...
class  box_runend_piter
 A generic backward iterator on points by lines. More...
class  box_runstart_piter
 A generic forward iterator on points by lines. More...
struct  Browsing
 Base class for implementation classes that are browsings. More...
struct  category< R(*)(A) >
 Category declaration for a unary C function. More...
class  complex_image
 Image based on a complex. More...
class  complex_neighborhood_bkd_piter
 Backward iterator on complex neighborhood. More...
class  complex_neighborhood_fwd_piter
 Forward iterator on complex neighborhood. More...
class  complex_psite
 Point site associated to a mln::p_complex. More...
class  complex_window_bkd_piter
 Backward iterator on complex window. More...
class  complex_window_fwd_piter
 Forward iterator on complex window. More...
struct  decorated_image
 Image that can have additional features. More...
struct  Delta_Point_Site
 FIXME: Doc! More...
struct  Delta_Point_Site< void >
 Delta point site category flag type. More...
struct  dpoint
 Generic delta-point class. More...
struct  Dpoint
 Base class for implementation of delta-point classes. More...
class  dpoints_bkd_pixter
 A generic backward iterator on the pixels of a dpoint-based window or neighborhood. More...
class  dpoints_fwd_pixter
 A generic forward iterator on the pixels of a dpoint-based window or neighborhood. More...
class  dpsites_bkd_piter
 A generic backward iterator on points of windows and of neighborhoods. More...
class  dpsites_fwd_piter
 A generic forward iterator on points of windows and of neighborhoods. More...
struct  Edge
 edge category flag type. More...
class  edge_image
 Image based on graph edges. More...
struct  extended
 Makes an image become restricted by a point set. More...
class  extension_fun
 Extends the domain of an image with a function. More...
class  extension_ima
 Extends the domain of an image with an image. More...
class  extension_val
 Extends the domain of an image with a value. More...
class  faces_psite
 Point site associated to a mln::p_faces. More...
struct  flat_image
 Image with a single value. More...
struct  fun_image
 Image read through a function. More...
struct  Function
 Base class for implementation of function-objects. More...
struct  Function< void >
 Function category flag type. More...
struct  Function_n2v
 Base class for implementation of function-objects from Nil to value. More...
struct  Function_v2b
 Base class for implementation of function-objects from a value to a Boolean. More...
struct  Function_v2v
 Base class for implementation of function-objects from value to value. More...
struct  Function_vv2b
 Base class for implementation of function-objects from a couple of values to a Boolean. More...
struct  Function_vv2v
 Base class for implementation of function-objects from a couple of values to a value. More...
class  fwd_pixter1d
 Forward pixel iterator on a 1-D image with border. More...
class  fwd_pixter2d
 Forward pixel iterator on a 2-D image with border. More...
class  fwd_pixter3d
 Forward pixel iterator on a 3-D image with border. More...
struct  Gdpoint
 FIXME: Doc! More...
struct  Gdpoint< void >
 Delta point site category flag type. More...
struct  Generalized_Pixel
 Base class for implementation classes that are pixels or that have the behavior of pixels. More...
struct  Gpoint
 Base class for implementation of point classes. More...
struct  Graph
 Base class for implementation of graph classes. More...
struct  graph_elt_mixed_neighborhood
 Elementary neighborhood on graph class. More...
class  graph_elt_mixed_window
 Elementary window on graph class. More...
struct  graph_elt_neighborhood
 Elementary neighborhood on graph class. More...
struct  graph_elt_neighborhood_if
 Elementary neighborhood_if on graph class. More...
class  graph_elt_window
 Elementary window on graph class. More...
class  graph_elt_window_if
 Custom window on graph class. More...
class  graph_window_base
class  graph_window_if_piter
 Forward iterator on line graph window. More...
class  graph_window_piter
 Forward iterator on line graph window. More...
struct  hexa
 hexagonal image class. More...
struct  Image
 Base class for implementation of image classes. More...
struct  image1d
 Basic 1D image class. More...
class  image2d
 Basic 2D image class. More...
struct  image2d_h
 2d image based on an hexagonal mesh. More...
struct  image3d
 Basic 3D image class. More...
struct  image_if
 Image which domain is restricted by a function 'site -> Boolean'. More...
struct  interpolated
 Makes the underlying image being accessed with floating coordinates. More...
struct  Iterator
 Base class for implementation classes that are iterators. More...
class  labeled_image
 Morpher providing an improved interface for labeled image. More...
class  labeled_image_base
 Base class Morpher providing an improved interface for labeled image. More...
struct  lazy_image
 Image values are computed on the fly. More...
struct  Literal
 Base class for implementation classes of literals. More...
struct  Mesh
 Base class for implementation classes of meshes. More...
struct  Meta_Accumulator
 Base class for implementation of meta accumulators. More...
struct  Meta_Function
 Base class for implementation of meta functions. More...
struct  Meta_Function_v2v
 Base class for implementation of function-objects from value to value. More...
struct  Meta_Function_vv2v
 Base class for implementation of function-objects from value to value. More...
class  mixed_neighb
 Adapter class from window to neighborhood. More...
class  neighb
 Adapter class from window to neighborhood. More...
struct  Neighborhood
 Base class for implementation classes that are neighborhoods. More...
struct  Neighborhood< void >
 Neighborhood category flag type. More...
struct  Object
 Base class for almost every class defined in Milena. More...
struct  p2p_image
 FIXME: Doc! More...
class  p_array
 Multi-set of sites. More...
class  p_centered
 Site set corresponding to a window centered on a site. More...
class  p_complex
 A complex psite set based on the N-faces of a complex of dimension D (a D-complex). More...
class  p_edges
 Site set mapping graph edges and image sites. More...
struct  p_faces
 A complex psite set based on a the N-faces of a complex of dimension D (a D-complex). More...
class  p_graph_piter
 Generic iterator on point sites of a mln::S. More...
class  p_if
 Site set restricted w.r.t. More...
class  p_image
 Site set based on an image of Booleans. More...
class  p_indexed_bkd_piter
 Backward iterator on sites of an indexed site set. More...
class  p_indexed_fwd_piter
 Forward iterator on sites of an indexed site set. More...
class  p_indexed_psite
 Psite class for indexed site sets such as p_array. More...
class  p_key
 Priority queue class. More...
class  p_line2d
 2D discrete line of points. More...
class  p_mutable_array_of
 p_mutable_array_of is a mutable array of site sets. More...
class  p_n_faces_bkd_piter
 Backward iterator on the n-faces sites of an mln::p_complex<D, G>. More...
class  p_n_faces_fwd_piter
 Forward iterator on the n-faces sites of an mln::p_complex<D, G>. More...
class  p_priority
 Priority queue. More...
class  p_queue
 Queue of sites (based on std::deque). More...
class  p_queue_fast
 Queue of sites class (based on p_array. More...
class  p_run
 Point set class in run. More...
class  p_set
 Mathematical set of sites (based on util::set). More...
class  p_set_of
 p_set_of is a set of site sets. More...
class  p_transformed
 Site set transformed through a function. More...
struct  p_transformed_piter
 Iterator on p_transformed<S,F>. More...
class  p_vaccess
 Site set in which sites are grouped by their associated value. More...
class  p_vertices
 Site set based mapping graph vertices to sites. More...
struct  pixel
 Generic pixel class. More...
struct  Pixel_Iterator
 Base class for the implementation of pixel iterator classes. More...
class  plain
 Prevents an image from sharing its data. More...
struct  point
 Generic point class. More...
struct  Point
 Base class for implementation of point classes. More...
struct  Point_Site
 Base class for implementation classes of the notion of "point site". More...
struct  Point_Site< void >
 Point site category flag type. More...
struct  Proxy
 Base class for implementation classes of the notion of "proxy". More...
struct  Proxy< void >
 Proxy category flag type. More...
struct  Pseudo_Site
 Base class for implementation classes of the notion of "pseudo site". More...
struct  Pseudo_Site< void >
 Pseudo_Site category flag type. More...
struct  Regular_Grid
 Base class for implementation classes of regular grids. More...
class  safe_image
 Makes an image accessible at undefined location. More...
struct  Site
 Base class for classes that are explicitly sites. More...
struct  Site< void >
 Site category flag type. More...
struct  Site_Iterator
 Base class for implementation of classes of iterator on points. More...
struct  Site_Proxy
 Base class for implementation classes of the notion of "site proxy". More...
struct  Site_Proxy< void >
 Site_Proxy category flag type. More...
struct  Site_Set
 Base class for implementation classes of site sets. More...
struct  Site_Set< void >
 Site_Set category flag type. More...
struct  slice_image
 2D image extracted from a slice of a 3D image. More...
class  sub_image
 Image having its domain restricted by a site set. More...
struct  sub_image_if
 Image having its domain restricted by a site set and a function. More...
class  thru_image
 Morph image values through a function. More...
class  thrubin_image
 Morphes values from two images through a binary function. More...
struct  tr_image
 Transform an image by a given transformation. More...
struct  unproject_image
 Un-projects an image. More...
struct  Value
 Base class for implementation classes of values. More...
struct  Value_Iterator
 Base class for implementation of classes of iterator on values. More...
struct  Value_Set
 Base class for implementation classes of sets of values. More...
struct  Vertex
 Vertex category flag type. More...
class  vertex_image
 Image based on graph vertices. More...
struct  violent_cast_image
 Violently cast image values to a given type. More...
struct  w_window
 Generic w_window class. More...
struct  Weighted_Window
 Base class for implementation classes that are weighted_windows. More...
class  window
 Generic window class. More...
struct  Window
 Base class for implementation classes that are windows. More...

Typedefs

typedef mln::complex_image
< 1, mln::discrete_plane_1complex_geometry,
bool > 
bin_1complex_image2d
 Type alias for a binary image based on a 1-complex, where 0-faces are located at discrete (integer) 2-dimensional points.
typedef mln::complex_image
< 2, mln::space_2complex_geometry,
bool > 
bin_2complex_image3df
 Type alias for a binary image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.
typedef box< mln::point1dbox1d
 Type alias for a box defined on the 1D square grid with integer coordinates.
typedef box< mln::point2dbox2d
 Type alias for a box defined on the 2D square grid with integer coordinates.
typedef box< point2d_hbox2d_h
 FIXME.
typedef box< point3dbox3d
 Type alias for a box defined on the 3D square grid with integer coordinates.
typedef
mln::geom::complex_geometry
< 1, point2d
discrete_plane_1complex_geometry
 Type alias for the geometry of a 1-complex (e.g., a graph) located in a discrete 2-dimensional plane (with integer coordinates).
typedef
mln::geom::complex_geometry
< 2, point2d
discrete_plane_2complex_geometry
 Type alias for the geometry of a 2-complex located in a discrete 2-dimensional plane (with integer coordinates).
typedef dpoint
< mln::grid::tick, def::coord
dpoint1d
 Type alias for a delta-point defined on the 1D square grid with integer coordinates.
typedef dpoint
< mln::grid::square,
mln::def::coord
dpoint2d
 Type alias for a delta-point defined on the 2D square grid with integer coordinates.
typedef dpoint
< mln::grid::hexa, def::coord
dpoint2d_h
 Type alias for a delta-point defined on the 2D square grid with integer coordinates.
typedef dpoint
< mln::grid::cube, def::coord
dpoint3d
 Type alias for a delta-point defined on the 3D square grid with integer coordinates.
typedef mln::complex_image
< 2, mln::space_2complex_geometry,
float > 
float_2complex_image3df
 Type alias for a floating-point image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.
typedef mln::complex_image
< 1, mln::discrete_plane_1complex_geometry,
mln::value::int_u8
int_u8_1complex_image2d
 Type alias for an 8-bit gray-level image based on a 1-complex, where 0-faces are located at discrete (integer) 2-dimensional points.
typedef mln::complex_image
< 2, mln::discrete_plane_2complex_geometry,
mln::value::int_u8
int_u8_2complex_image2d
 Type alias for an 8-bit gray-level image based on a 2-complex, where 0-faces are located at discrete (integer) 2-dimensional points.
typedef mln::complex_image
< 2, mln::space_2complex_geometry,
mln::value::int_u8
int_u8_2complex_image3df
 Type alias for an 8-bit gray-level image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.
typedef neighb< window1dneighb1d
 Type alias for a neighborhood defined on the 1D square grid with integer coordinates.
typedef neighb< window2dneighb2d
 Type alias for a neighborhood defined on the 2D square grid with integer coordinates.
typedef neighb< window3dneighb3d
 Type alias for a neighborhood defined on the 3D square grid with integer coordinates.
typedef p_run< point2dp_run2d
 Type alias for a run of 2d points.
typedef p_set_of< p_run2dp_runs2d
 Type alias for a set of runs of 2d points.
typedef point< grid::tick,
def::coordf
point1df
 Type alias for a point defined on the 1D ruler with floating-point coordinates.
typedef point
< mln::grid::square,
mln::def::coordf
point2df
 Type alias for a point defined on the 2D square grid with floating-point coordinates.
typedef point< grid::cube,
def::coordf
point3df
 Type alias for a point defined on the 3D square grid with floating-point coordinates.
typedef mln::complex_image
< 2, mln::space_2complex_geometry,
mln::value::rgb8
rgb8_2complex_image3df
 Type alias for a (3x8-bit) RGB image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.
typedef
mln::geom::complex_geometry
< 2, point3df
space_2complex_geometry
 Type alias for the geometry of a 2-complex located in a 3-dimensional space (with floating-point coordinates).
typedef mln::complex_image
< 2, mln::space_2complex_geometry,
unsigned > 
unsigned_2complex_image3df
 Type alias for a gray-level image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.
typedef algebra::vec< 2u, double > vec2d_d
 2D vector with double coordinates.
typedef algebra::vec< 2u, float > vec2d_f
 2D vector with float coordinates.
typedef algebra::vec< 3u, double > vec3d_d
 3D vector with double coordinates.
typedef algebra::vec< 3u, float > vec3d_f
 3D vector with float coordinates.
typedef w_window< dpoint1d, float > w_window1d_float
 Type alias for a w_window with arbitrary shape, defined on the 1D grid (with integer coordinates) and whose weights are floating values.
typedef w_window< dpoint1d, int > w_window1d_int
 Type alias for a w_window with arbitrary shape, defined on the 1D grid (with integer coordinates) and whose weights are integers.
typedef w_window< dpoint2d, float > w_window2d_float
 Type alias for a w_window with arbitrary shape, defined on the 2D square grid (with integer coordinates) and whose weights are floating values.
typedef w_window< dpoint2d, int > w_window2d_int
 Type alias for a w_window with arbitrary shape, defined on the 2D square grid (with integer coordinates) and whose weights are integers.
typedef w_window< dpoint3d, float > w_window3d_float
 Type alias for a w_window with arbitrary shape, defined on the 3D grid (with integer coordinates) and whose weights are floating values.
typedef w_window< dpoint3d, int > w_window3d_int
 Type alias for a w_window with arbitrary shape, defined on the 3D grid (with integer coordinates) and whose weights are integers.
typedef window< mln::dpoint1dwindow1d
 Type alias for a window with arbitrary shape, defined on the 1D square grid with integer coordinates.
typedef window< mln::dpoint2dwindow2d
 Type alias for a window with arbitrary shape, defined on the 2D square grid with integer coordinates.
typedef window< mln::dpoint3dwindow3d
 Type alias for a window with arbitrary shape, defined on the 3D square grid with integer coordinates.

typedef point< grid::tick,
def::coord
point1d
 Type alias for a point defined on the 1D ruler with integer coordinates.
typedef point
< mln::grid::square,
mln::def::coord
point2d
 Type alias for a point defined on the 2D square grid with integer coordinates.
typedef point< grid::hexa,
def::coord
point2d_h
 Type alias for a point defined on the 2D hexagonal grid with integer coordinates.
typedef point< grid::cube,
def::coord
point3d
 Type alias for a point defined on the 3D square grid with integer coordinates.

Functions

template<typename I >
I::psite a_point_of (const Image< I > &ima)
 Give a point of an image.
template<typename I , typename F >
p2p_image< I, F > apply_p2p (Image< I > &ima, const Function_v2v< F > &f)
 FIXME: Doc!
template<typename I , typename F >
p2p_image< const I, F > apply_p2p (const Image< I > &ima, const Function_v2v< F > &f)
 FIXME: Doc!
const neighb3dc18 ()
 18-connectivity neighborhood on the 3D grid.
const neighb1dc2 ()
 2-connectivity neighborhood on the 1D grid.
const neighb3dc26 ()
 26-connectivity neighborhood on the 3D grid.
const neighb3dc2_3d_sli ()
 depth 2-connectivity neighborhood on the 3D grid.
const neighb2dc2_col ()
 Vertical 2-connectivity neighborhood on the 2D grid.
const neighb2dc2_row ()
 Horizontal 2-connectivity neighborhood on the 2D grid.
const neighb2dc4 ()
 4-connectivity neighborhood on the 2D grid.
const neighb3dc4_3d ()
 4-connectivity neighborhood on the 3D grid.
const neighb3dc6 ()
 6-connectivity neighborhood on the 3D grid.
const neighb2dc8 ()
 8-connectivity neighborhood on the 2D grid.
const neighb3dc8_3d ()
 8-connectivity neighborhood on the 3D grid.
template<typename T2 , typename T1 >
fun::x2x::composed< T2, T1 > compose (T2 f, T1 g)
 Do a composition of two transformations.
template<typename I >
mln::trait::concrete< I >::ret duplicate (const Image< I > &model)
 Duplicate the image model with the values of the image data.
template<typename I , typename F >
extension_fun< const I, F > extend (const Image< I > &ima, const Function_v2v< F > &fun)
 Routines for domain extension with a function.
template<typename I , typename J >
extension_ima< const I, const J > extend (const Image< I > &ima, const Image< J > &ext)
 Routines for domain extension with an image.
template<typename I >
extension_val< const I > extend (const Image< I > &ima, const typename I::value &val)
 Routines for domain extension with a value.
bool implies (bool lexpr, bool rexpr)
 Implication.
template<typename I , typename J >
void initialize (Image< I > &target, const Image< J > &model)
template<typename P >
box< P > larger_than (const box< P > a, const box< P > b)
 Return the minimum box including box a and box b.
template<typename I , typename V , typename E >
image2d< typename I::value > make_debug_graph_image (const I &input, const V &ima_v, const E &ima_e, const value::rgb8 &bg)
 Draw a graph.
 mln_gen_complex_neighborhood (complex_higher_dim_connected_n_face_neighborhood, complex_higher_dim_connected_n_face_window)
 Neighborhood centered on an n-face of complex returning the n-faces sharing an (n+1)-face with the center n-face.
 mln_gen_complex_neighborhood (complex_m_face_neighborhood, complex_m_face_window)
 Neighborhood centered on an n-face of complex returning the m-faces transitively adjacent to this center n-face.
 mln_gen_complex_neighborhood (complex_lower_neighborhood, complex_lower_window)
 Neighborhood centered on an n-face of complex returning its adjacent (n-1)-faces.
 mln_gen_complex_neighborhood (complex_higher_neighborhood, complex_higher_window)
 Neighborhood centered on an n-face of complex returning its adjacent (n+1)-faces.
 mln_gen_complex_neighborhood (complex_lower_higher_neighborhood, complex_lower_higher_window)
 Neighborhood centered on an n-face of complex returning its adjacent (n-1)-faces and (n+1)-faces.
 mln_gen_complex_neighborhood (complex_lower_dim_connected_n_face_neighborhood, complex_lower_dim_connected_n_face_window)
 Neighborhood centered on an n-face of complex returning the n-faces sharing an (n-1)-face with the center n-face.
 mln_gen_complex_window (complex_lower_window, topo::adj_lower_face_fwd_iter, topo::adj_lower_face_bkd_iter)
 Window centered on an n-face of complex returning its adjacent (n-1)-faces.
 mln_gen_complex_window (complex_higher_window, topo::adj_higher_face_fwd_iter, topo::adj_higher_face_bkd_iter)
 Window centered on an n-face of complex returning its adjacent (n+1)-faces.
 mln_gen_complex_window (complex_lower_higher_window, topo::adj_lower_higher_face_fwd_iter, topo::adj_lower_higher_face_bkd_iter)
 Window centered on an n-face of complex returning its adjacent (n-1)-faces and (n+1)-faces.
 mln_gen_complex_window (complex_lower_dim_connected_n_face_window, topo::adj_lower_dim_connected_n_face_fwd_iter, topo::adj_lower_dim_connected_n_face_bkd_iter)
 Window centered on an n-face of complex returning the n-faces sharing an (n-1)-face with the center n-face.
 mln_gen_complex_window (complex_higher_dim_connected_n_face_window, topo::adj_higher_dim_connected_n_face_fwd_iter, topo::adj_higher_dim_connected_n_face_bkd_iter)
 Window centered on an n-face of complex returning the n-faces sharing an (n+1)-face with the center n-face.
 mln_gen_complex_window (complex_m_face_window, topo::adj_m_face_fwd_iter, topo::adj_m_face_bkd_iter)
 Window centered on an n-face of complex returning the m-faces transitively adjacent to this center n-face.
 mln_gen_complex_window_p (complex_lower_window_p, topo::adj_lower_face_fwd_iter, topo::adj_lower_face_bkd_iter)
 Window centered on an n-face of complex returning its adjacent (n-1)-faces as well as the center n-face.
 mln_gen_complex_window_p (complex_higher_window_p, topo::adj_higher_face_fwd_iter, topo::adj_higher_face_bkd_iter)
 Window centered on an n-face of complex returning its adjacent (n+1)-faces as well as the center n-face.
 mln_gen_complex_window_p (complex_lower_higher_window_p, topo::adj_lower_higher_face_fwd_iter, topo::adj_lower_higher_face_bkd_iter)
 Window centered on an n-face of complex returning its adjacent (n-1)-faces and (n+1)-faces as well as the center n-face.
 mln_gen_complex_window_p (complex_lower_dim_connected_n_face_window_p, topo::adj_lower_dim_connected_n_face_fwd_iter, topo::adj_lower_dim_connected_n_face_bkd_iter)
 Window centered on an n-face of complex returning the n-faces sharing an (n-1)-face with the center n-face, as well as this center n-face.
 mln_gen_complex_window_p (complex_higher_dim_connected_n_face_window_p, topo::adj_higher_dim_connected_n_face_fwd_iter, topo::adj_higher_dim_connected_n_face_bkd_iter)
 Window centered on an n-face of complex returning the n-faces sharing an (n+1)-face with the center n-face, as well as this center n-face.
 mln_gen_complex_window_p (complex_m_face_window_p, topo::adj_m_face_fwd_iter, topo::adj_m_face_bkd_iter)
 Window centered on an n-face of complex returning the m-faces transitively adjacent to this center n-face, as well as this center n-face.
template<typename W1 , typename W2 >
 mln_regular (W1) operator-(const Window< W1 > &win1
 Set difference between a couple of windows win1 and win2.
template<typename O1 , typename O2 >
 mln_trait_op_geq (O1, O2) operator>
 General definition of the "greater than or equal to" operator.
template<typename O1 , typename O2 >
 mln_trait_op_greater (O1, O2) operator>(const Object< O1 > &lhs
 General definition of the "greater than" operator.
template<typename O1 , typename O2 >
 mln_trait_op_leq (O1, O2) operator<
 Default definition of the "less than or equal to" operator.
template<typename O1 , typename O2 >
 mln_trait_op_neq (O1, O2) operator!
 General definition of the "not equal to" operator.
template<typename P , typename S >
operator* (const Gpoint< P > &p, const value::scalar_< S > &s)
 Multiply a point p by a scalar s.
template<typename S >
S & operator++ (value::Scalar< S > &rhs)
 Pre-incrementation for any scalar type.
template<typename P , typename D >
operator- (const Gpoint< P > &p, const Gdpoint< D > &dp)
 Substract a delta-point dp to a grid point p.
template<typename N1 , typename N2 >
neighb< typename
N1::window::regular > 
operator- (const Neighborhood< N1 > &nbh1, const Neighborhood< N2 > &nbh2)
 Set difference between a couple of neighborhoods nbh1 and nbh2.
template<typename S >
S & operator-- (value::Scalar< S > &rhs)
 Pre-decrementation for any scalar type.
template<typename L , typename R >
bool operator< (const Image< L > &lhs, const Image< R > &rhs)
 Point-wise test if the pixel values of lhs are point-wise less than the pixel values of rhs.
template<typename I , typename G , typename W >
std::ostream & operator<< (std::ostream &ostr, const complex_window_fwd_piter< I, G, W > &p)
 Print an mln::complex_window_fwd_piter.
template<typename I , typename G , typename W >
std::ostream & operator<< (std::ostream &ostr, const complex_window_bkd_piter< I, G, W > &p)
 Print an mln::complex_window_bkd_piter.
template<typename I , typename G , typename N >
std::ostream & operator<< (std::ostream &ostr, const complex_neighborhood_fwd_piter< I, G, N > &p)
 Print an mln::complex_neighborhood_fwd_piter.
template<typename I , typename G , typename N >
std::ostream & operator<< (std::ostream &ostr, const complex_neighborhood_bkd_piter< I, G, N > &p)
 Print an mln::complex_neighborhood_bkd_piter.
template<unsigned N, unsigned D, typename P >
bool operator<= (const p_faces< N, D, P > &lhs, const p_faces< N, D, P > &rhs)
 Inclusion of a mln::p_faces in another one.
template<typename G , typename F >
bool operator<= (const p_edges< G, F > &lhs, const p_edges< G, F > &rhs)
 Inclusion of a mln::p_edges in another one.
template<typename L , typename R >
bool operator<= (const Image< L > &lhs, const Image< R > &rhs)
 Point-wise test if the pixel values of lhs are point-wise less than or equal to the pixel values of rhs.
template<unsigned D, typename G >
bool operator<= (const p_complex< D, G > &lhs, const p_complex< D, G > &rhs)
 Inclusion of a mln::p_complex in another one.
template<typename G , typename F >
bool operator<= (const p_vertices< G, F > &lhs, const p_vertices< G, F > &rhs)
 Inclusion of a mln::p_vertices in another one.
template<typename G , typename F >
bool operator== (const p_edges< G, F > &lhs, const p_edges< G, F > &rhs)
 Comparison between two mln::p_edges's.
template<typename L , typename R >
bool operator== (const Image< L > &lhs, const Image< R > &rhs)
 Point-wise test if the pixel values of lhs are equal to the pixel values of rhs.
template<unsigned D, typename G >
bool operator== (const p_complex< D, G > &lhs, const p_complex< D, G > &rhs)
 Comparison between two mln::p_complex's.
template<unsigned N, unsigned D, typename P >
bool operator== (const p_faces< N, D, P > &lhs, const p_faces< N, D, P > &rhs)
 Comparison between two mln::p_faces's.
template<typename G , typename F >
bool operator== (const p_vertices< G, F > &lhs, const p_vertices< G, F > &rhs)
 Comparison between two mln::p_vertices's.
template<typename I , typename F >
image_if< I, F > operator| (Image< I > &ima, const Function_v2b< F > &f)
 ima | f creates an image_if with the image ima and the function f.
template<typename V , typename G , typename P >
edge_image< P, V, G > operator| (const fun::i2v::array< V > &edge_values, const p_edges< G, fun::i2v::array< P > > &pe)
 Construct a edge image from a fun::i2v::array and a p_edges.
template<typename S , typename F >
p_if< S, F > operator| (const Site_Set< S > &s, const Function_v2b< F > &f)
 Restrict a site set s to points that verify f.
template<typename F , typename S >
pw::image< F, S > operator| (const Function_v2v< F > &f, const Site_Set< S > &ps)
 Construct an image from a function and a site set.
template<typename I , typename F >
image_if< const I, F > operator| (const Image< I > &ima, const Function_v2b< F > &f)
 ima | f creates an image_if with the image ima and the function f.
template<typename V , typename G , typename P >
vertex_image< P, V, G > operator| (const fun::i2v::array< V > &vertex_values, const p_vertices< G, fun::i2v::array< P > > &pv)
 Construct a vertex image from a fun::i2v::array and a p_vertices.
template<typename I >
const internal::primary_type
< I >::ret & 
primary (const Image< I > &input)
 FIXME: Doc!
template<typename S , typename F >
p_transformed< S, F > ptransform (const Site_Set< S > &s, const Function_v2v< F > &f)
 Transform a site set s through the function f.
const window2dwin_c4p ()
 4-connectivity window on the 2D grid, including the center.
const window3dwin_c4p_3d ()
 4-connectivity window on the 3D grid, including the center.
const window2dwin_c8p ()
 8-connectivity window on the 2D grid, including the center.
const window3dwin_c8p_3d ()
 8-connectivity window on the 3D grid, including the center.

template<unsigned N, unsigned D, typename P >
bool operator== (const faces_psite< N, D, P > &lhs, const faces_psite< N, D, P > &rhs)
 Comparison of two instances of mln::faces_psite.
template<unsigned N, unsigned D, typename P >
bool operator!= (const faces_psite< N, D, P > &lhs, const faces_psite< N, D, P > &rhs)
 Is lhs equal to rhs?
template<unsigned N, unsigned D, typename P >
bool operator< (const faces_psite< N, D, P > &lhs, const faces_psite< N, D, P > &rhs)
 Is lhs ``less'' than rhs?

template<typename T >
 mln_exact (T)*exact(T *ptr)
 Exact cast routine for mln objects.

template<unsigned D, typename G >
bool operator== (const complex_psite< D, G > &lhs, const complex_psite< D, G > &rhs)
 Comparison of two instances of mln::complex_psite.
template<unsigned D, typename G >
bool operator!= (const complex_psite< D, G > &lhs, const complex_psite< D, G > &rhs)
 Is lhs not equal to rhs?
template<unsigned D, typename G >
bool operator< (const complex_psite< D, G > &lhs, const complex_psite< D, G > &rhs)
 Is lhs ``less'' than rhs?

Variables

const dpoint1d before = dpoint1d( -1 )
 Definition of a shortcut for delta point in 1d.

const dpoint2d up = dpoint2d( -1, 0 )
 Definition of a shortcut for delta point in 2d.

const dpoint3d sagittal_dec = dpoint3d( 0, 0, -1)
 Definition of a shortcut for delta point in 3d.

Detailed Description

mln/convert/to_image.hh

This implementation is not an usual heap, it allows to set an error rate so that some nodes may be "corrupted".

Generic class for hierarchical queues.

Merge with mln/topo/skeleton/is_simple_point.hh The fastest version give an approximation of the result.

The generic dual input tree algorithm for high quantized image.

The dual input tree algorithm specialized for low quantized image.

mln/linear/convolve_directional.hh

Read AVS header from a file.

Define a function which aborts a process in io module.

Forward declaration.

mln/core/def/all.hh

The namespace mln corresponds to the Milena (mini-Olena) project.

This accumulator uses an mln::util::pix (pixel) to update the reference level, area and volume information of the component.

The class mln/accu/volume is not a general-purpose accumulator; it is used to implement volume-based connected filters.

See also:
mln::morpho::closing::volume
mln::morpho::opening::volume

The functor should provide the following methods:

Conversions to mln::Image.

FIXME: Re-write this description.

The contents of mln mimics the contents of the olena project but in a simplified way. Some classes have the same name in both projects and roughly have the same behavior.

Warning:
The Milena project is independent from the Olena project; the user has to choose between both the project she wants to work with.

File that includes all core definitions.

The set of operators defined in this file is:

   l += r  :  l = l + r, -> l&
   l -= r  :  l = l - r, -> l&
   l *= r  :  l = l * r, -> l&
   l /= r  :  l = l / r, -> l&
   l %= r  :  l = l % r, -> l&

   + r     :  -> r
   - r     :  -> (0 - r)

   l ++    :  t = l, ++l, -> t
   l --    :  t = l, --l, -> t

   ++ r    :  r += 1, -> r&
   -- r    :  r -= 1, -> r&

   l != r  :  -> ! (l == r)

   l >  r  :  -> (r < l)
   l >= r  :  -> (r <= l)
   l <= r  :  -> ! (r < l)   warning: re-define when partial ordering

As a consequence, the set of operators to be defined along with a client class is:

   l + r
   l - r
   l * r
   l / r

   l == r

   l < r
   l <= r  in case of partial ordering

Convolution by a line-shaped (directional) kernel.

This implementation is based on P. Salembier algorithm using hierachical queues. This implies a low-quantized input image so that the number of queues is limited.

TODO: Think about how to extend f domain in a more generic way. The actual implementation doubles the size of the first dimension. It implies a boxed domain.

TODO: Use the less functor. The actual implementation is for max-tree.

TODO: During the canonization pass, we build the tree site set from the sorted site set of f, so that we compute twice f histogram (can be avoided).

This implementation is based on tarjan's union method, so that image quantization does not impact on the computation time.

TODO: Think about how to extend f domain in a more generic way. The actual implementation doubles the size of the first dimension. It implies a boxed domain.

TODO: Use the less functor. The actual implementation is for max-tree.

Do we want it to be exact?

Hierarchical queues are often used with connected operators (P. Salemebier's max tree algorithm relies on these queues). To be efficient, the hiererachy is a static array and each are preallocated using an histogram.

FIXME: consider hqueues as a site set ?

A "corrupted node" means that its correct order is not totally preserved for performance reasons. Of course, it will have an impact on the returned values. As a result, be ware of not using this data structure if the element order is relevant for to you.

A corruption threshold can be passed to the constructor. This threshold means that if nodes have a rank higher than this threshold they can be "corrupted" and therefore their rank can be reduced. Tuning this threshold may have an impact on the structure entropy thus on the returned values order. It may also have an impact on the performance.

More implementation details are available in: "The soft heap: an approximate priority queue with optimal error rate", Bernard Chazelle, JACM, 2000.

URL: http://www.cs.princeton.edu/~chazelle/pubs/sheap.pdf


Typedef Documentation

Type alias for a binary image based on a 1-complex, where 0-faces are located at discrete (integer) 2-dimensional points.

Definition at line 53 of file mln/core/alias/complex_image.hh.

Type alias for a binary image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.

Definition at line 85 of file mln/core/alias/complex_image.hh.

Type alias for a box defined on the 1D square grid with integer coordinates.

See also:
mln::win::rectangle1d.

Definition at line 47 of file core/alias/box1d.hh.

Type alias for a box defined on the 2D square grid with integer coordinates.

See also:
mln::win::rectangle2d.

Definition at line 45 of file core/alias/box2d.hh.

FIXME.

Definition at line 47 of file core/alias/box2d_h.hh.

Type alias for a box defined on the 3D square grid with integer coordinates.

See also:
mln::win::rectangle3d.

Definition at line 45 of file core/alias/box3d.hh.

Type alias for the geometry of a 1-complex (e.g., a graph) located in a discrete 2-dimensional plane (with integer coordinates).

Definition at line 45 of file core/alias/complex_geometry.hh.

Type alias for the geometry of a 2-complex located in a discrete 2-dimensional plane (with integer coordinates).

Definition at line 50 of file core/alias/complex_geometry.hh.

typedef dpoint<mln::grid::tick, def::coord> mln::dpoint1d

Type alias for a delta-point defined on the 1D square grid with integer coordinates.

Definition at line 44 of file dpoint1d.hh.

typedef dpoint<mln::grid::square, mln::def::coord> mln::dpoint2d

Type alias for a delta-point defined on the 2D square grid with integer coordinates.

Definition at line 44 of file dpoint2d.hh.

typedef dpoint<mln::grid::hexa, def::coord> mln::dpoint2d_h

Type alias for a delta-point defined on the 2D square grid with integer coordinates.

Definition at line 45 of file core/alias/dpoint2d_h.hh.

typedef dpoint<mln::grid::cube, def::coord> mln::dpoint3d

Type alias for a delta-point defined on the 3D square grid with integer coordinates.

Definition at line 43 of file dpoint3d.hh.

Type alias for a floating-point image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.

Definition at line 106 of file mln/core/alias/complex_image.hh.

Type alias for an 8-bit gray-level image based on a 1-complex, where 0-faces are located at discrete (integer) 2-dimensional points.

Definition at line 61 of file mln/core/alias/complex_image.hh.

Type alias for an 8-bit gray-level image based on a 2-complex, where 0-faces are located at discrete (integer) 2-dimensional points.

Definition at line 74 of file mln/core/alias/complex_image.hh.

Type alias for an 8-bit gray-level image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.

Definition at line 92 of file mln/core/alias/complex_image.hh.

Type alias for a run of 2d points.

Definition at line 42 of file p_run2d.hh.

Type alias for a set of runs of 2d points.

Definition at line 42 of file p_runs2d.hh.

typedef point< grid::tick, def::coord > mln::point1d

Type alias for a point defined on the 1D ruler with integer coordinates.

Definition at line 45 of file point1d.hh.

typedef point<grid::tick, def::coordf> mln::point1df

Type alias for a point defined on the 1D ruler with floating-point coordinates.

Definition at line 49 of file point1d.hh.

typedef point< grid::square, def::coord > mln::point2d

Type alias for a point defined on the 2D square grid with integer coordinates.

Definition at line 45 of file point2d.hh.

typedef point< grid::hexa, def::coord > mln::point2d_h

Type alias for a point defined on the 2D hexagonal grid with integer coordinates.

Definition at line 43 of file core/alias/point2d_h.hh.

typedef point<mln::grid::square, mln::def::coordf> mln::point2df

Type alias for a point defined on the 2D square grid with floating-point coordinates.

Definition at line 49 of file point2d.hh.

typedef point< grid::cube, def::coord > mln::point3d

Type alias for a point defined on the 3D square grid with integer coordinates.

Definition at line 44 of file point3d.hh.

typedef point<grid::cube, def::coordf> mln::point3df

Type alias for a point defined on the 3D square grid with floating-point coordinates.

Definition at line 48 of file point3d.hh.

Type alias for a (3x8-bit) RGB image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.

Definition at line 113 of file mln/core/alias/complex_image.hh.

Type alias for the geometry of a 2-complex located in a 3-dimensional space (with floating-point coordinates).

Definition at line 54 of file core/alias/complex_geometry.hh.

Type alias for a gray-level image based on a 2-complex, where 0-faces are located at floating-point 3-dimensional points.

Definition at line 99 of file mln/core/alias/complex_image.hh.

typedef algebra::vec<2u,double> mln::vec2d_d

2D vector with double coordinates.

Definition at line 43 of file vec2d.hh.

typedef algebra::vec<2u,float> mln::vec2d_f

2D vector with float coordinates.

Definition at line 40 of file vec2d.hh.

typedef algebra::vec<3u,double> mln::vec3d_d

3D vector with double coordinates.

Definition at line 43 of file vec3d.hh.

typedef algebra::vec<3u,float> mln::vec3d_f

3D vector with float coordinates.

Definition at line 40 of file vec3d.hh.

Type alias for a w_window with arbitrary shape, defined on the 1D grid (with integer coordinates) and whose weights are floating values.

Definition at line 45 of file w_window1d_float.hh.

Type alias for a w_window with arbitrary shape, defined on the 1D grid (with integer coordinates) and whose weights are integers.

Definition at line 45 of file core/alias/w_window1d_int.hh.

Type alias for a w_window with arbitrary shape, defined on the 2D square grid (with integer coordinates) and whose weights are floating values.

Definition at line 45 of file w_window2d_float.hh.

Type alias for a w_window with arbitrary shape, defined on the 2D square grid (with integer coordinates) and whose weights are integers.

Definition at line 45 of file core/alias/w_window2d_int.hh.

Type alias for a w_window with arbitrary shape, defined on the 3D grid (with integer coordinates) and whose weights are floating values.

Definition at line 45 of file w_window3d_float.hh.

Type alias for a w_window with arbitrary shape, defined on the 3D grid (with integer coordinates) and whose weights are integers.

Definition at line 45 of file core/alias/w_window3d_int.hh.


Function Documentation

template<typename I >
I::psite mln::a_point_of ( const Image< I > &  ima  )  [inline]

Give a point of an image.

Definition at line 51 of file a_point_of.hh.

template<typename I , typename F >
p2p_image< I, F > mln::apply_p2p ( Image< I > &  ima,
const Function_v2v< F > &  f 
) [inline]

FIXME: Doc!

Definition at line 242 of file p2p_image.hh.

Referenced by mln::debug::mosaic(), and mln::debug::slices_2d().

template<typename I , typename F >
p2p_image< const I, F > mln::apply_p2p ( const Image< I > &  ima,
const Function_v2v< F > &  f 
) [inline]

FIXME: Doc!

Definition at line 256 of file p2p_image.hh.

template<typename T2 , typename T1 >
fun::x2x::composed< T2, T1 > mln::compose ( T2  f,
T1  g 
) [inline]

Do a composition of two transformations.

Parameters:
[in] f The second transformation.
[in] g The first transformation.
Returns:
The composed transformation fog.

Definition at line 306 of file composed.hh.

References compose().

Referenced by compose(), and mln::geom::rotate().

template<typename I >
mln::trait::concrete< I >::ret mln::duplicate ( const Image< I > &  model  )  [inline]

Duplicate the image model with the values of the image data.

Parameters:
[in] model The image to be duplicated.
Returns:
The duplicate.
Precondition:
model.is_valid

Definition at line 56 of file core/routine/duplicate.hh.

References mln::data::fill(), and initialize().

Referenced by mln::registration::icp(), mln::plain< I >::operator I(), mln::geom::rotate(), mln::geom::impl::seeds2tiling(), and mln::labeling::superpose().

template<typename I , typename F >
extension_fun< const I, F > mln::extend ( const Image< I > &  ima,
const Function_v2v< F > &  fun 
) [inline]

Routines for domain extension with a function.

Definition at line 140 of file extend.hh.

Referenced by mln::geom::translate().

template<typename I , typename J >
extension_ima< const I, const J > mln::extend ( const Image< I > &  ima,
const Image< J > &  ext 
)

Routines for domain extension with an image.

Definition at line 162 of file extend.hh.

template<typename I >
extension_val< const I > mln::extend ( const Image< I > &  ima,
const typename I::value &  val 
) [inline]

Routines for domain extension with a value.

Definition at line 175 of file extend.hh.

bool mln::implies ( bool  lexpr,
bool  rexpr 
) [inline]

Implication.

Definition at line 68 of file contract.hh.

Referenced by mln::p_line2d::is_valid().

template<typename I , typename J >
void mln::initialize ( Image< I > &  target,
const Image< J > &  model 
) [inline]
template<typename P >
box< P > mln::larger_than ( const box< P >  a,
const box< P >  b 
) [inline]

Return the minimum box including box a and box b.

Definition at line 362 of file core/site_set/box.hh.

References mln::box< P >::pmax(), and mln::box< P >::pmin().

template<typename I , typename V , typename E >
image2d<typename I ::value> mln::make_debug_graph_image ( const I &  input,
const V &  ima_v,
const E &  ima_e,
const value::rgb8 &  bg 
) [inline]
template<typename T >
mln::mln_exact (  )  [inline]

Exact cast routine for mln objects.

This set of routines can be used to downcast an object towards its exact type. The only argument, respectively ptr or ref, should be an mln::Object.

The parameter E is the exact type of the object.

Returns:
The return follows the nature of the argument (either a pointer or a reference, const or not).

Definition at line 92 of file routine/exact.hh.

Referenced by mln::geom::rotate(), mln::Accumulator< E >::take_as_init(), mln::Accumulator< E >::take_n_times(), mln::convert::to(), and mln::geom::translate().

mln::mln_gen_complex_neighborhood ( complex_higher_neighborhood  ,
complex_higher_window   
)

Neighborhood centered on an n-face of complex returning its adjacent (n+1)-faces.

mln::mln_gen_complex_neighborhood ( complex_lower_higher_neighborhood  ,
complex_lower_higher_window   
)

Neighborhood centered on an n-face of complex returning its adjacent (n-1)-faces and (n+1)-faces.

mln::mln_gen_complex_neighborhood ( complex_lower_dim_connected_n_face_neighborhood  ,
complex_lower_dim_connected_n_face_window   
)

Neighborhood centered on an n-face of complex returning the n-faces sharing an (n-1)-face with the center n-face.

mln::mln_gen_complex_neighborhood ( complex_higher_dim_connected_n_face_neighborhood  ,
complex_higher_dim_connected_n_face_window   
)

Neighborhood centered on an n-face of complex returning the n-faces sharing an (n+1)-face with the center n-face.

mln::mln_gen_complex_neighborhood ( complex_m_face_neighborhood  ,
complex_m_face_window   
)

Neighborhood centered on an n-face of complex returning the m-faces transitively adjacent to this center n-face.

mln::mln_gen_complex_neighborhood ( complex_lower_neighborhood  ,
complex_lower_window   
)

Neighborhood centered on an n-face of complex returning its adjacent (n-1)-faces.

mln::mln_gen_complex_window ( complex_lower_window  ,
topo::adj_lower_face_fwd_iter  ,
topo::adj_lower_face_bkd_iter   
)

Window centered on an n-face of complex returning its adjacent (n-1)-faces.

mln::mln_gen_complex_window ( complex_higher_window  ,
topo::adj_higher_face_fwd_iter  ,
topo::adj_higher_face_bkd_iter   
)

Window centered on an n-face of complex returning its adjacent (n+1)-faces.

mln::mln_gen_complex_window ( complex_lower_higher_window  ,
topo::adj_lower_higher_face_fwd_iter  ,
topo::adj_lower_higher_face_bkd_iter   
)

Window centered on an n-face of complex returning its adjacent (n-1)-faces and (n+1)-faces.

mln::mln_gen_complex_window ( complex_lower_dim_connected_n_face_window  ,
topo::adj_lower_dim_connected_n_face_fwd_iter  ,
topo::adj_lower_dim_connected_n_face_bkd_iter   
)

Window centered on an n-face of complex returning the n-faces sharing an (n-1)-face with the center n-face.

mln::mln_gen_complex_window ( complex_higher_dim_connected_n_face_window  ,
topo::adj_higher_dim_connected_n_face_fwd_iter  ,
topo::adj_higher_dim_connected_n_face_bkd_iter   
)

Window centered on an n-face of complex returning the n-faces sharing an (n+1)-face with the center n-face.

mln::mln_gen_complex_window ( complex_m_face_window  ,
topo::adj_m_face_fwd_iter  ,
topo::adj_m_face_bkd_iter   
)

Window centered on an n-face of complex returning the m-faces transitively adjacent to this center n-face.

mln::mln_gen_complex_window_p ( complex_lower_window_p  ,
topo::adj_lower_face_fwd_iter  ,
topo::adj_lower_face_bkd_iter   
)

Window centered on an n-face of complex returning its adjacent (n-1)-faces as well as the center n-face.

mln::mln_gen_complex_window_p ( complex_higher_window_p  ,
topo::adj_higher_face_fwd_iter  ,
topo::adj_higher_face_bkd_iter   
)

Window centered on an n-face of complex returning its adjacent (n+1)-faces as well as the center n-face.

mln::mln_gen_complex_window_p ( complex_lower_higher_window_p  ,
topo::adj_lower_higher_face_fwd_iter  ,
topo::adj_lower_higher_face_bkd_iter   
)

Window centered on an n-face of complex returning its adjacent (n-1)-faces and (n+1)-faces as well as the center n-face.

mln::mln_gen_complex_window_p ( complex_higher_dim_connected_n_face_window_p  ,
topo::adj_higher_dim_connected_n_face_fwd_iter  ,
topo::adj_higher_dim_connected_n_face_bkd_iter   
)

Window centered on an n-face of complex returning the n-faces sharing an (n+1)-face with the center n-face, as well as this center n-face.

mln::mln_gen_complex_window_p ( complex_lower_dim_connected_n_face_window_p  ,
topo::adj_lower_dim_connected_n_face_fwd_iter  ,
topo::adj_lower_dim_connected_n_face_bkd_iter   
)

Window centered on an n-face of complex returning the n-faces sharing an (n-1)-face with the center n-face, as well as this center n-face.

mln::mln_gen_complex_window_p ( complex_m_face_window_p  ,
topo::adj_m_face_fwd_iter  ,
topo::adj_m_face_bkd_iter   
)

Window centered on an n-face of complex returning the m-faces transitively adjacent to this center n-face, as well as this center n-face.

template<typename W1 , typename W2 >
mln::mln_regular ( W1   )  const [inline]

Set difference between a couple of windows win1 and win2.

Inter a window win with a delta-point dp.

It just calls mln::win::diff.

template<typename O1 , typename O2 >
mln::mln_trait_op_geq ( O1  ,
O2   
)

General definition of the "greater than or equal to" operator.

The "greater than or equal to" operator is here defined for every Milena objects. It relies on the definition of the "less than or equal to" operator. It returns "rhs <= lhs".

Warning:
There shall not be any other definition of this operator in Milena when applying on a couple of mln::Object.
template<typename O1 , typename O2 >
mln::mln_trait_op_greater ( O1  ,
O2   
) const

General definition of the "greater than" operator.

The "greater than" operator is here defined for every milena objects. It relies on the definition of the "less than" operator. It returns "rhs < lhs".

Warning:
There shall not be any other definition of this operator in Milena when applying on a couple of mln::Object.
template<typename O1 , typename O2 >
mln::mln_trait_op_leq ( O1  ,
O2   
)

Default definition of the "less than or equal to" operator.

A default version of the "less than or equal to" operator is defined for every Milena objects. It relies on the definition of the "less than" operator. It returns "not (rhs < lhs)".

Warning:
In the case of partial ordering between objects, this operator has to be re-defined.
template<typename O1 , typename O2 >
mln::mln_trait_op_neq ( O1  ,
O2   
) [inline]
Initial value:
(const Object<O1>& lhs, const Object<O2>& rhs)
  {
    return ! (exact(lhs) == exact(rhs));
  }

  template <typename O1, typename O2>
  inline
  mln_trait_op_greater(O1, O2)
    operator>(const Object<O1>& lhs, const Object<O2>& rhs)
  {
    return exact(rhs) < exact(lhs);
  }

  template <typename O1

General definition of the "not equal to" operator.

The "not equal to" operator is here defined for every milena objects. It relies on the definition of the "equal to" operator. It returns "not (lhs == rhs)".

Warning:
There shall not be any other definition of this operator in Milena when applying on a couple of mln::Object.
template<unsigned D, typename G >
bool mln::operator!= ( const complex_psite< D, G > &  lhs,
const complex_psite< D, G > &  rhs 
)

Is lhs not equal to rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::p_complex.

Definition at line 353 of file complex_psite.hh.

References mln::complex_psite< D, G >::face(), and mln::complex_psite< D, G >::site_set().

template<unsigned N, unsigned D, typename P >
bool mln::operator!= ( const faces_psite< N, D, P > &  lhs,
const faces_psite< N, D, P > &  rhs 
)

Is lhs equal to rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::complex.

Definition at line 336 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::face(), and mln::faces_psite< N, D, P >::site_set().

template<typename P , typename S >
P mln::operator* ( const Gpoint< P > &  p,
const value::scalar_< S > &  s 
) [inline]

Multiply a point p by a scalar s.

Definition at line 405 of file gpoint.hh.

template<typename S >
S & mln::operator++ ( value::Scalar< S > &  rhs  )  [inline]

Pre-incrementation for any scalar type.

Definition at line 77 of file concept/scalar.hh.

References mln::literal::one.

template<typename N1 , typename N2 >
N2 neighb< typename N1::window::regular > mln::operator- ( const Neighborhood< N1 > &  nbh1,
const Neighborhood< N2 > &  nbh2 
)

Set difference between a couple of neighborhoods nbh1 and nbh2.

It just calls mln::win::diff.

Definition at line 155 of file win/diff.hh.

References mln::win::diff().

template<typename P , typename D >
P mln::operator- ( const Gpoint< P > &  p,
const Gdpoint< D > &  dp 
) [inline]

Substract a delta-point dp to a grid point p.

Parameters:
[in] p A grid point.
[in] dp A delta-point.

The type of dp has to compatible with the type of p.

Returns:
A point (temporary object).
See also:
mln::Gdpoint
mln::Gdpoint

Definition at line 395 of file gpoint.hh.

template<typename S >
S & mln::operator-- ( value::Scalar< S > &  rhs  )  [inline]

Pre-decrementation for any scalar type.

Definition at line 85 of file concept/scalar.hh.

References mln::literal::one.

template<unsigned D, typename G >
bool mln::operator< ( const complex_psite< D, G > &  lhs,
const complex_psite< D, G > &  rhs 
)

Is lhs ``less'' than rhs?

This comparison is required by algorithms sorting psites.

Precondition:
Arguments lhs and rhs must belong to the same mln::p_complex.

Definition at line 362 of file complex_psite.hh.

template<unsigned N, unsigned D, typename P >
bool mln::operator< ( const faces_psite< N, D, P > &  lhs,
const faces_psite< N, D, P > &  rhs 
)

Is lhs ``less'' than rhs?

This comparison is required by algorithms sorting psites.

Precondition:
Arguments lhs and rhs must belong to the same mln::complex.

Definition at line 345 of file faces_psite.hh.

template<typename L , typename R >
bool mln::operator< ( const Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise test if the pixel values of lhs are point-wise less than the pixel values of rhs.

Parameters:
[in] lhs A first image.
[in] rhs A second image.
Precondition:
lhs.domain == rhs.domain

Definition at line 107 of file compare.hh.

References mln::test::predicate().

template<typename I , typename G , typename W >
std::ostream & mln::operator<< ( std::ostream &  ostr,
const complex_window_bkd_piter< I, G, W > &  p 
) [inline]

Print an mln::complex_window_bkd_piter.

Definition at line 401 of file complex_window_piter.hh.

template<typename I , typename G , typename W >
std::ostream & mln::operator<< ( std::ostream &  ostr,
const complex_window_fwd_piter< I, G, W > &  p 
) [inline]

Print an mln::complex_window_fwd_piter.

Definition at line 292 of file complex_window_piter.hh.

template<typename I , typename G , typename N >
std::ostream & mln::operator<< ( std::ostream &  ostr,
const complex_neighborhood_fwd_piter< I, G, N > &  p 
) [inline]
template<typename I , typename G , typename N >
std::ostream & mln::operator<< ( std::ostream &  ostr,
const complex_neighborhood_bkd_piter< I, G, N > &  p 
) [inline]
template<unsigned D, typename G >
bool mln::operator<= ( const p_complex< D, G > &  lhs,
const p_complex< D, G > &  rhs 
)

Inclusion of a mln::p_complex in another one.

This inclusion relation is very strict for the moment, since our infrastrure for complexs is simple: a mln::p_complex is included in another one if their are equal.

Definition at line 330 of file p_complex.hh.

template<typename G , typename F >
bool mln::operator<= ( const p_edges< G, F > &  lhs,
const p_edges< G, F > &  rhs 
)

Inclusion of a mln::p_edges in another one.

Definition at line 338 of file p_edges.hh.

template<typename L , typename R >
bool mln::operator<= ( const Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise test if the pixel values of lhs are point-wise less than or equal to the pixel values of rhs.

Parameters:
[in] lhs A first image.
[in] rhs A second image.
Precondition:
lhs.domain == rhs.domain

Definition at line 126 of file compare.hh.

References mln::test::predicate().

template<typename G , typename F >
bool mln::operator<= ( const p_vertices< G, F > &  lhs,
const p_vertices< G, F > &  rhs 
)

Inclusion of a mln::p_vertices in another one.

This inclusion relation is very strict for the moment, since our infrastructure for graphs is simple: a mln::p_vertices is included in another one if their are equal.

Definition at line 399 of file p_vertices.hh.

template<unsigned N, unsigned D, typename P >
bool mln::operator<= ( const p_faces< N, D, P > &  lhs,
const p_faces< N, D, P > &  rhs 
)

Inclusion of a mln::p_faces in another one.

This inclusion relation is very strict for the moment, since our infrastrure for complexs is simple: a mln::p_faces is included in another one if their are equal.

Definition at line 287 of file p_faces.hh.

template<unsigned N, unsigned D, typename P >
bool mln::operator== ( const p_faces< N, D, P > &  lhs,
const p_faces< N, D, P > &  rhs 
)

Comparison between two mln::p_faces's.

Two mln::p_faces's are considered equal if they share the same complex.

Definition at line 278 of file p_faces.hh.

References mln::p_faces< N, D, P >::cplx().

template<unsigned N, unsigned D, typename P >
bool mln::operator== ( const faces_psite< N, D, P > &  lhs,
const faces_psite< N, D, P > &  rhs 
)

Comparison of two instances of mln::faces_psite.

Is lhs equal to rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::complex.

Definition at line 327 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::face(), and mln::faces_psite< N, D, P >::site_set().

template<typename L , typename R >
bool mln::operator== ( const Image< L > &  lhs,
const Image< R > &  rhs 
) [inline]

Point-wise test if the pixel values of lhs are equal to the pixel values of rhs.

Parameters:
[in] lhs A first image.
[in] rhs A second image.
Precondition:
lhs.domain == rhs.domain

Definition at line 86 of file compare.hh.

References mln::test::predicate().

template<unsigned D, typename G >
bool mln::operator== ( const p_complex< D, G > &  lhs,
const p_complex< D, G > &  rhs 
)

Comparison between two mln::p_complex's.

Two mln::p_complex's are considered equal if they share the same complex.

Definition at line 321 of file p_complex.hh.

References mln::p_complex< D, G >::cplx().

template<unsigned D, typename G >
bool mln::operator== ( const complex_psite< D, G > &  lhs,
const complex_psite< D, G > &  rhs 
)

Comparison of two instances of mln::complex_psite.

Is lhs equal to rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::p_complex.

Definition at line 344 of file complex_psite.hh.

References mln::complex_psite< D, G >::face(), and mln::complex_psite< D, G >::site_set().

template<typename G , typename F >
bool mln::operator== ( const p_vertices< G, F > &  lhs,
const p_vertices< G, F > &  rhs 
)

Comparison between two mln::p_vertices's.

Two mln::p_vertices's are considered equal if they share the same graph.

Definition at line 392 of file p_vertices.hh.

References mln::p_vertices< G, F >::graph().

template<typename G , typename F >
bool mln::operator== ( const p_edges< G, F > &  lhs,
const p_edges< G, F > &  rhs 
)

Comparison between two mln::p_edges's.

Two mln::p_edges's are considered equal if they share the same graph.

Definition at line 331 of file p_edges.hh.

References mln::p_edges< G, F >::graph().

template<typename F , typename S >
pw::image<F,S> mln::operator| ( const Function_v2v< F > &  f,
const Site_Set< S > &  ps 
)

Construct an image from a function and a site set.

image = function | site_set.

Definition at line 138 of file pw/image.hh.

template<typename V , typename G , typename P >
edge_image<P,V,G> mln::operator| ( const fun::i2v::array< V > &  edge_values,
const p_edges< G, fun::i2v::array< P > > &  pe 
)

Construct a edge image from a fun::i2v::array and a p_edges.

image = fun::i2v::array | p_edges.

Definition at line 217 of file core/image/edge_image.hh.

template<typename S , typename F >
p_if<S, F> mln::operator| ( const Site_Set< S > &  s,
const Function_v2b< F > &  f 
)

Restrict a site set s to points that verify f.

Parameters:
[in] s A site set.
[in] f A function from point to Boolean.
Returns:
A subset of points.

Definition at line 147 of file p_if.hh.

template<typename V , typename G , typename P >
vertex_image<P,V,G> mln::operator| ( const fun::i2v::array< V > &  vertex_values,
const p_vertices< G, fun::i2v::array< P > > &  pv 
)

Construct a vertex image from a fun::i2v::array and a p_vertices.

image = fun::i2v::array | p_vertices.

Definition at line 215 of file core/image/vertex_image.hh.

template<typename I , typename F >
image_if<I,F> mln::operator| ( Image< I > &  ima,
const Function_v2b< F > &  f 
)

ima | f creates an image_if with the image ima and the function f.

Definition at line 233 of file image_if.hh.

template<typename I , typename F >
image_if<const I,F> mln::operator| ( const Image< I > &  ima,
const Function_v2b< F > &  f 
)

ima | f creates an image_if with the image ima and the function f.

Definition at line 242 of file image_if.hh.

template<typename I >
const internal::primary_type< I >::ret & mln::primary ( const Image< I > &  input  )  [inline]

FIXME: Doc!

Definition at line 129 of file primary.hh.

Referenced by mln::border::resize().

template<typename S , typename F >
p_transformed< S, F > mln::ptransform ( const Site_Set< S > &  s,
const Function_v2v< F > &  f 
) [inline]

Transform a site set s through the function f.

Parameters:
[in] s A site set.
[in] f A function from site to site.
Returns:
The transformed site set.

Definition at line 145 of file p_transformed.hh.


Variable Documentation

const dpoint1d mln::before = dpoint1d( -1 )

Definition of a shortcut for delta point in 1d.

Definition at line 73 of file dpoint1d.hh.

const dpoint3d mln::sagittal_dec = dpoint3d( 0, 0, -1)

Definition of a shortcut for delta point in 3d.

Definition at line 72 of file dpoint3d.hh.

const dpoint2d mln::up = dpoint2d( -1, 0 )

Definition of a shortcut for delta point in 2d.

Definition at line 76 of file dpoint2d.hh.