
* doc/Doxyfile.in: add a new macro. * doc/Makefile.am: add new distributed files. * doc/examples/tuto3/first_routine.cc: add doxygen file tag. * doc/groups.hh, * doc/groups/accu.hh, * doc/groups/functions.hh, * doc/groups/graph.hh, * doc/groups/images.hh, * doc/groups/main.hh, * doc/groups/neighb.hh, * doc/groups/site_set.hh, * doc/groups/util.hh, * doc/groups/win.hh, * mln/accu/bbox.hh, * mln/accu/center.hh, * mln/accu/convolve.hh, * mln/accu/count.hh, * mln/accu/count_adjacent_vertices.hh, * mln/accu/count_labels.hh, * mln/accu/height.hh, * mln/accu/histo.hh, * mln/accu/inf.hh, * mln/accu/internal/couple.hh, * mln/accu/label_used.hh, * mln/accu/land.hh, * mln/accu/land_basic.hh, * mln/accu/line.hh, * mln/accu/lor.hh, * mln/accu/lor_basic.hh, * mln/accu/maj_h.hh, * mln/accu/max.hh, * mln/accu/max_h.hh, * mln/accu/mean.hh, * mln/accu/median_alt.hh, * mln/accu/median_h.hh, * mln/accu/min.hh, * mln/accu/min_h.hh, * mln/accu/min_max.hh, * mln/accu/pair.hh, * mln/accu/rank.hh, * mln/accu/rank_bool.hh, * mln/accu/rank_high_quant.hh, * mln/accu/rms.hh, * mln/accu/site_set/rectangularity.hh, * mln/accu/stat/deviation.hh, * mln/accu/stat/variance.hh, * mln/accu/sum.hh, * mln/accu/sup.hh, * mln/accu/tuple.hh, * mln/accu/volume.hh, * mln/canvas/morpho/internal/find_root.hh, * mln/convert/impl/from_image_to_site_set.hh, * mln/core/alias/neighb1d.hh, * mln/core/alias/neighb2d.hh, * mln/core/alias/neighb3d.hh, * mln/core/alias/window1d.hh, * mln/core/alias/window2d.hh, * mln/core/alias/window3d.hh, * mln/core/concept/function.hh, * mln/core/concept/object.hh, * mln/core/concept/object_id.hh, * mln/core/image/complex_image.hh, * mln/core/image/decorated_image.hh, * mln/core/image/edge_image.hh, * mln/core/image/extended.hh, * mln/core/image/extension_fun.hh, * mln/core/image/extension_ima.hh, * mln/core/image/extension_val.hh, * mln/core/image/flat_image.hh, * mln/core/image/fun_image.hh, * mln/core/image/hexa.hh, * mln/core/image/interpolated.hh, * mln/core/image/lazy_image.hh, * mln/core/image/plain.hh, * mln/core/image/safe.hh, * mln/core/image/slice_image.hh, * mln/core/image/sub_image.hh, * mln/core/image/sub_image_if.hh, * mln/core/image/t_image.hh, * mln/core/image/thru_morpher.hh, * mln/core/image/thrubin_morpher.hh, * mln/core/image/tr_image.hh, * mln/core/image/unproject_image.hh, * mln/core/image/vertex_image.hh, * mln/core/image/violent_cast_image.hh, * mln/core/site_set/box.hh, * mln/core/site_set/p_array.hh, * mln/core/site_set/p_centered.hh, * mln/core/site_set/p_complex.hh, * mln/core/site_set/p_edges.hh, * mln/core/site_set/p_faces.hh, * mln/core/site_set/p_if.hh, * mln/core/site_set/p_image.hh, * mln/core/site_set/p_key.hh, * mln/core/site_set/p_line2d.hh, * mln/core/site_set/p_mutable_array_of.hh, * mln/core/site_set/p_priority.hh, * mln/core/site_set/p_queue.hh, * mln/core/site_set/p_queue_fast.hh, * mln/core/site_set/p_run.hh, * mln/core/site_set/p_set.hh, * mln/core/site_set/p_vaccess.hh, * mln/core/site_set/p_vertices.hh, * mln/fun/i2v/all.hh, * mln/fun/meta/inty.hh, * mln/fun/meta/lum.hh, * mln/pw/image.hh, * mln/topo/is_n_face.hh, * mln/util/array.hh, * mln/util/couple.hh, * mln/util/fibonacci_heap.hh, * mln/util/graph.hh, * mln/util/line_graph.hh, * mln/util/ord_pair.hh, * mln/util/set.hh, * mln/util/site_pair.hh, * mln/util/soft_heap.hh, * mln/win/backdiag2d.hh, * mln/win/ball.hh, * mln/win/cube3d.hh, * mln/win/cuboid3d.hh, * mln/win/diag2d.hh, * mln/win/disk2d.hh, * mln/win/hline2d.hh, * mln/win/line.hh, * mln/win/multiple.hh, * mln/win/multiple_size.hh, * mln/win/octagon2d.hh, * mln/win/rectangle2d.hh, * mln/win/segment1d.hh, * mln/win/shift.hh, * mln/win/sphere3d.hh, * mln/win/vline2d.hh: revamp doc and map types to doxygen modules. * tests/transform/distance_and_closest_point_geodesic.cc, * tests/util/soft_heap.cc: fix doxygen file tag. --- milena/ChangeLog | 144 ++++++++++++++ milena/doc/Doxyfile.in | 3 +- milena/doc/Makefile.am | 1 + milena/doc/examples/tuto3/first_routine.cc | 2 + milena/doc/groups.hh | 28 --- milena/doc/groups/accu.hh | 29 +++ milena/doc/groups/functions.hh | 7 + milena/doc/groups/graph.hh | 7 + milena/doc/groups/images.hh | 36 ++++ milena/doc/groups/main.hh | 30 +++ milena/doc/groups/neighb.hh | 28 +++ milena/doc/groups/site_set.hh | 42 ++++ milena/doc/groups/util.hh | 8 + milena/doc/groups/win.hh | 42 ++++ milena/mln/accu/bbox.hh | 7 +- milena/mln/accu/center.hh | 5 +- milena/mln/accu/convolve.hh | 7 +- milena/mln/accu/count.hh | 9 +- milena/mln/accu/count_adjacent_vertices.hh | 9 +- milena/mln/accu/count_labels.hh | 5 +- milena/mln/accu/height.hh | 10 +- milena/mln/accu/histo.hh | 8 +- milena/mln/accu/inf.hh | 10 +- milena/mln/accu/internal/couple.hh | 2 +- milena/mln/accu/label_used.hh | 5 +- milena/mln/accu/land.hh | 9 +- milena/mln/accu/land_basic.hh | 13 +- milena/mln/accu/line.hh | 5 +- milena/mln/accu/lor.hh | 9 +- milena/mln/accu/lor_basic.hh | 13 +- milena/mln/accu/maj_h.hh | 8 +- milena/mln/accu/max.hh | 7 +- milena/mln/accu/max_h.hh | 8 +- milena/mln/accu/mean.hh | 8 +- milena/mln/accu/median_alt.hh | 8 +- milena/mln/accu/median_h.hh | 8 +- milena/mln/accu/min.hh | 8 +- milena/mln/accu/min_h.hh | 8 +- milena/mln/accu/min_max.hh | 7 +- milena/mln/accu/pair.hh | 5 +- milena/mln/accu/rank.hh | 7 +- milena/mln/accu/rank_bool.hh | 11 +- milena/mln/accu/rank_high_quant.hh | 8 +- milena/mln/accu/rms.hh | 4 +- milena/mln/accu/site_set/rectangularity.hh | 5 +- milena/mln/accu/stat/deviation.hh | 4 +- milena/mln/accu/stat/variance.hh | 5 +- milena/mln/accu/sum.hh | 4 +- milena/mln/accu/sup.hh | 4 +- milena/mln/accu/tuple.hh | 6 +- milena/mln/accu/volume.hh | 8 +- milena/mln/canvas/morpho/internal/find_root.hh | 2 +- milena/mln/convert/impl/from_image_to_site_set.hh | 2 +- milena/mln/core/alias/neighb1d.hh | 37 ++-- milena/mln/core/alias/neighb2d.hh | 87 +++++--- milena/mln/core/alias/neighb3d.hh | 207 ++++++++++++-------- milena/mln/core/alias/window1d.hh | 10 +- milena/mln/core/alias/window2d.hh | 45 +++-- milena/mln/core/alias/window3d.hh | 79 +++++--- milena/mln/core/concept/function.hh | 107 +++-------- milena/mln/core/concept/object.hh | 4 +- milena/mln/core/concept/object_id.hh | 2 +- milena/mln/core/image/complex_image.hh | 8 +- milena/mln/core/image/decorated_image.hh | 22 +- milena/mln/core/image/edge_image.hh | 4 +- milena/mln/core/image/extended.hh | 6 +- milena/mln/core/image/extension_fun.hh | 27 ++-- milena/mln/core/image/extension_ima.hh | 6 +- milena/mln/core/image/extension_val.hh | 6 +- milena/mln/core/image/flat_image.hh | 21 +- milena/mln/core/image/fun_image.hh | 5 +- milena/mln/core/image/hexa.hh | 9 +- milena/mln/core/image/interpolated.hh | 3 +- milena/mln/core/image/lazy_image.hh | 14 +- milena/mln/core/image/plain.hh | 6 +- milena/mln/core/image/safe.hh | 10 +- milena/mln/core/image/slice_image.hh | 10 +- milena/mln/core/image/sub_image.hh | 27 ++-- milena/mln/core/image/sub_image_if.hh | 19 +- milena/mln/core/image/t_image.hh | 24 ++- milena/mln/core/image/thru_morpher.hh | 8 +- milena/mln/core/image/thrubin_morpher.hh | 12 +- milena/mln/core/image/tr_image.hh | 7 +- milena/mln/core/image/unproject_image.hh | 4 +- milena/mln/core/image/vertex_image.hh | 5 +- milena/mln/core/image/violent_cast_image.hh | 20 +- milena/mln/core/site_set/box.hh | 16 +- milena/mln/core/site_set/p_array.hh | 6 +- milena/mln/core/site_set/p_centered.hh | 25 ++- milena/mln/core/site_set/p_complex.hh | 6 +- milena/mln/core/site_set/p_edges.hh | 4 + milena/mln/core/site_set/p_faces.hh | 12 +- milena/mln/core/site_set/p_if.hh | 22 ++- milena/mln/core/site_set/p_image.hh | 21 ++- milena/mln/core/site_set/p_key.hh | 21 +- milena/mln/core/site_set/p_line2d.hh | 10 +- milena/mln/core/site_set/p_mutable_array_of.hh | 9 +- milena/mln/core/site_set/p_priority.hh | 12 +- milena/mln/core/site_set/p_queue.hh | 17 +- milena/mln/core/site_set/p_queue_fast.hh | 22 ++- milena/mln/core/site_set/p_run.hh | 20 +- milena/mln/core/site_set/p_set.hh | 10 +- milena/mln/core/site_set/p_vaccess.hh | 8 +- milena/mln/core/site_set/p_vertices.hh | 6 +- milena/mln/fun/i2v/all.hh | 20 +- milena/mln/fun/meta/inty.hh | 2 +- milena/mln/fun/meta/lum.hh | 2 +- milena/mln/pw/image.hh | 5 +- milena/mln/topo/is_n_face.hh | 3 +- milena/mln/util/array.hh | 5 +- milena/mln/util/couple.hh | 3 + milena/mln/util/fibonacci_heap.hh | 3 + milena/mln/util/graph.hh | 5 +- milena/mln/util/line_graph.hh | 5 +- milena/mln/util/ord_pair.hh | 9 +- milena/mln/util/set.hh | 7 +- milena/mln/util/site_pair.hh | 8 +- milena/mln/util/soft_heap.hh | 4 + milena/mln/win/backdiag2d.hh | 22 ++- milena/mln/win/ball.hh | 6 +- milena/mln/win/cube3d.hh | 28 ++-- milena/mln/win/cuboid3d.hh | 44 +++-- milena/mln/win/diag2d.hh | 22 ++- milena/mln/win/disk2d.hh | 6 +- milena/mln/win/hline2d.hh | 31 ++-- milena/mln/win/line.hh | 8 +- milena/mln/win/multiple.hh | 18 +- milena/mln/win/multiple_size.hh | 4 + milena/mln/win/octagon2d.hh | 22 ++- milena/mln/win/rectangle2d.hh | 26 ++- milena/mln/win/segment1d.hh | 22 ++- milena/mln/win/shift.hh | 10 +- milena/mln/win/sphere3d.hh | 7 +- milena/mln/win/vline2d.hh | 34 ++-- .../distance_and_closest_point_geodesic.cc | 2 +- milena/tests/util/graph.cc | 4 +- milena/tests/util/soft_heap.cc | 2 +- 137 files changed, 1430 insertions(+), 755 deletions(-) delete mode 100644 milena/doc/groups.hh create mode 100644 milena/doc/groups/accu.hh create mode 100644 milena/doc/groups/functions.hh create mode 100644 milena/doc/groups/graph.hh create mode 100644 milena/doc/groups/images.hh create mode 100644 milena/doc/groups/main.hh create mode 100644 milena/doc/groups/neighb.hh create mode 100644 milena/doc/groups/site_set.hh create mode 100644 milena/doc/groups/util.hh create mode 100644 milena/doc/groups/win.hh diff --git a/milena/ChangeLog b/milena/ChangeLog index b073efe..f27acb1 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,5 +1,149 @@ 2009-04-29 Guillaume Lazzara <lazzara@lrde.epita.fr> + Update doc. + + * doc/Doxyfile.in: add a new macro. + + * doc/Makefile.am: add new distributed files. + + * doc/examples/tuto3/first_routine.cc: add doxygen file tag. + + * doc/groups.hh, + * doc/groups/accu.hh, + * doc/groups/functions.hh, + * doc/groups/graph.hh, + * doc/groups/images.hh, + * doc/groups/main.hh, + * doc/groups/neighb.hh, + * doc/groups/site_set.hh, + * doc/groups/util.hh, + * doc/groups/win.hh, + * mln/accu/bbox.hh, + * mln/accu/center.hh, + * mln/accu/convolve.hh, + * mln/accu/count.hh, + * mln/accu/count_adjacent_vertices.hh, + * mln/accu/count_labels.hh, + * mln/accu/height.hh, + * mln/accu/histo.hh, + * mln/accu/inf.hh, + * mln/accu/internal/couple.hh, + * mln/accu/label_used.hh, + * mln/accu/land.hh, + * mln/accu/land_basic.hh, + * mln/accu/line.hh, + * mln/accu/lor.hh, + * mln/accu/lor_basic.hh, + * mln/accu/maj_h.hh, + * mln/accu/max.hh, + * mln/accu/max_h.hh, + * mln/accu/mean.hh, + * mln/accu/median_alt.hh, + * mln/accu/median_h.hh, + * mln/accu/min.hh, + * mln/accu/min_h.hh, + * mln/accu/min_max.hh, + * mln/accu/pair.hh, + * mln/accu/rank.hh, + * mln/accu/rank_bool.hh, + * mln/accu/rank_high_quant.hh, + * mln/accu/rms.hh, + * mln/accu/site_set/rectangularity.hh, + * mln/accu/stat/deviation.hh, + * mln/accu/stat/variance.hh, + * mln/accu/sum.hh, + * mln/accu/sup.hh, + * mln/accu/tuple.hh, + * mln/accu/volume.hh, + * mln/canvas/morpho/internal/find_root.hh, + * mln/convert/impl/from_image_to_site_set.hh, + * mln/core/alias/neighb1d.hh, + * mln/core/alias/neighb2d.hh, + * mln/core/alias/neighb3d.hh, + * mln/core/alias/window1d.hh, + * mln/core/alias/window2d.hh, + * mln/core/alias/window3d.hh, + * mln/core/concept/function.hh, + * mln/core/concept/object.hh, + * mln/core/concept/object_id.hh, + * mln/core/image/complex_image.hh, + * mln/core/image/decorated_image.hh, + * mln/core/image/edge_image.hh, + * mln/core/image/extended.hh, + * mln/core/image/extension_fun.hh, + * mln/core/image/extension_ima.hh, + * mln/core/image/extension_val.hh, + * mln/core/image/flat_image.hh, + * mln/core/image/fun_image.hh, + * mln/core/image/hexa.hh, + * mln/core/image/interpolated.hh, + * mln/core/image/lazy_image.hh, + * mln/core/image/plain.hh, + * mln/core/image/safe.hh, + * mln/core/image/slice_image.hh, + * mln/core/image/sub_image.hh, + * mln/core/image/sub_image_if.hh, + * mln/core/image/t_image.hh, + * mln/core/image/thru_morpher.hh, + * mln/core/image/thrubin_morpher.hh, + * mln/core/image/tr_image.hh, + * mln/core/image/unproject_image.hh, + * mln/core/image/vertex_image.hh, + * mln/core/image/violent_cast_image.hh, + * mln/core/site_set/box.hh, + * mln/core/site_set/p_array.hh, + * mln/core/site_set/p_centered.hh, + * mln/core/site_set/p_complex.hh, + * mln/core/site_set/p_edges.hh, + * mln/core/site_set/p_faces.hh, + * mln/core/site_set/p_if.hh, + * mln/core/site_set/p_image.hh, + * mln/core/site_set/p_key.hh, + * mln/core/site_set/p_line2d.hh, + * mln/core/site_set/p_mutable_array_of.hh, + * mln/core/site_set/p_priority.hh, + * mln/core/site_set/p_queue.hh, + * mln/core/site_set/p_queue_fast.hh, + * mln/core/site_set/p_run.hh, + * mln/core/site_set/p_set.hh, + * mln/core/site_set/p_vaccess.hh, + * mln/core/site_set/p_vertices.hh, + * mln/fun/i2v/all.hh, + * mln/fun/meta/inty.hh, + * mln/fun/meta/lum.hh, + * mln/pw/image.hh, + * mln/topo/is_n_face.hh, + * mln/util/array.hh, + * mln/util/couple.hh, + * mln/util/fibonacci_heap.hh, + * mln/util/graph.hh, + * mln/util/line_graph.hh, + * mln/util/ord_pair.hh, + * mln/util/set.hh, + * mln/util/site_pair.hh, + * mln/util/soft_heap.hh, + * mln/win/backdiag2d.hh, + * mln/win/ball.hh, + * mln/win/cube3d.hh, + * mln/win/cuboid3d.hh, + * mln/win/diag2d.hh, + * mln/win/disk2d.hh, + * mln/win/hline2d.hh, + * mln/win/line.hh, + * mln/win/multiple.hh, + * mln/win/multiple_size.hh, + * mln/win/octagon2d.hh, + * mln/win/rectangle2d.hh, + * mln/win/segment1d.hh, + * mln/win/shift.hh, + * mln/win/sphere3d.hh, + * mln/win/vline2d.hh: revamp doc and map types to doxygen modules. + + * tests/transform/distance_and_closest_point_geodesic.cc, + * tests/util/soft_heap.cc: fix doxygen file tag. + +2009-04-29 Guillaume Lazzara <lazzara@lrde.epita.fr> + Small fixes. * mln/algebra/all.hh: fix comments. diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in index 649ea2f..f088755 100644 --- a/milena/doc/Doxyfile.in +++ b/milena/doc/Doxyfile.in @@ -285,7 +285,8 @@ PREDEFINED = "mlc_unqualif(T)=typename mln::metal::unqualif<T>::ret" "mln_gradient_component(I)=typename mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret" \ "mln_gradient(I)=mln::value::stack_image< I::point::dim, mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret >" \ "mln_trait_value_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \ - "mln_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" + "mln_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \ + "mln_deduce(T, A1, A2)=typename T::A1::A2" diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am index 14da88f..f1025b3 100644 --- a/milena/doc/Makefile.am +++ b/milena/doc/Makefile.am @@ -99,6 +99,7 @@ include $(srcdir)/outputs/outputs.mk EXTRA_DIST += \ Doxyfile.in \ +groups \ user \ tools/sample_utils.hh \ tools/split_sample.sh \ diff --git a/milena/doc/examples/tuto3/first_routine.cc b/milena/doc/examples/tuto3/first_routine.cc index a0eb870..b4d3b58 100644 --- a/milena/doc/examples/tuto3/first_routine.cc +++ b/milena/doc/examples/tuto3/first_routine.cc @@ -1,3 +1,5 @@ +/// \file doc/examples/first_routine.cc + #include <mln/essential/2d.hh> #include <tests/data.hh> #include <doc/tools/sample_utils.hh> diff --git a/milena/doc/groups.hh b/milena/doc/groups.hh deleted file mode 100644 index 30d9b6f..0000000 --- a/milena/doc/groups.hh +++ /dev/null @@ -1,28 +0,0 @@ -/*! \defgroup modimage Image types. - * - * All the generic image types provided in Olena. - * - */ - -/*! \defgroup modimageconcrete Basic types. - * - * Concrete images. - * - * \ingroup modimage - */ - -/*! \defgroup modimagevaluemorpher Morpher on values. - * - * Morpher on image values. - * - * \ingroup modimage - */ - -/*! \defgroup modimagedomainmorpher Morpher on domain. - * - * Morpher on image domain. - * - * \ingroup modimage - */ - - diff --git a/milena/doc/groups/accu.hh b/milena/doc/groups/accu.hh new file mode 100644 index 0000000..bce4846 --- /dev/null +++ b/milena/doc/groups/accu.hh @@ -0,0 +1,29 @@ +/*! \defgroup modaccusiteset On site sets + * + * \brief Accumulators working on site sets. + * + * \ingroup modaccu + */ + +/*! \defgroup modaccuimages On images + * + * \brief Accumulators working on images. + * + * \ingroup modaccu + */ + +/*! \defgroup modaccuvalues On values + * + * \brief Accumulators working on image values. + * + * \ingroup modaccu + */ + +/*! \defgroup modaccumulti Multiple accumulators + * + * \brief Set of special accumulators for computing several accumulators + * at the same time. + * + * \ingroup modaccu + */ + diff --git a/milena/doc/groups/functions.hh b/milena/doc/groups/functions.hh new file mode 100644 index 0000000..e5ce340 --- /dev/null +++ b/milena/doc/groups/functions.hh @@ -0,0 +1,7 @@ +/*! \defgroup modfunconcept Concepts + * + * \brief All function concepts. + * + * \ingroup modfun + */ + diff --git a/milena/doc/groups/graph.hh b/milena/doc/groups/graph.hh new file mode 100644 index 0000000..5b5040e --- /dev/null +++ b/milena/doc/groups/graph.hh @@ -0,0 +1,7 @@ +/*! \defgroup modgraph Graphes + * + * \brief All graphes implementations. + * + * \ingroup modtypes + */ + diff --git a/milena/doc/groups/images.hh b/milena/doc/groups/images.hh new file mode 100644 index 0000000..c248cbb --- /dev/null +++ b/milena/doc/groups/images.hh @@ -0,0 +1,36 @@ +/*! \defgroup modimage Images + * + * \brief All the generic image types provided in Olena. + * + * \ingroup modtypes + */ + +/*! \defgroup modimageconcrete Basic types + * + * \brief Concrete images. + * + * \ingroup modimage + */ + +/*! \defgroup modimagevaluemorpher Values morphers + * + * \brief Morpher on image values. + * + * \ingroup modimage + */ + +/*! \defgroup modimagedomainmorpher Domain morphers + * + * \brief Morpher on image domain. + * + * \ingroup modimage + */ + +/*! \defgroup modimageidmorpher Identity morphers + * + * \brief Morpher adding new functionnalities. + * + * \ingroup modimage + */ + + diff --git a/milena/doc/groups/main.hh b/milena/doc/groups/main.hh new file mode 100644 index 0000000..80dc6a3 --- /dev/null +++ b/milena/doc/groups/main.hh @@ -0,0 +1,30 @@ +/*! \defgroup modtypes Types + * + * \brief Milena Object types. + * + */ + +/*! \defgroup modaccu Accumulators + * + * \brief All accumulator types. + * + */ + +/*! \defgroup modroutines Routines + * + * \brief All algorithms/routines provided in Milena. + * + */ + +/*! \defgroup modcanvas Canvas + * + * \brief All canvas. + * + */ + +/*! \defgroup modfun Functions + * + * \brief All predefined functions. + * + */ + diff --git a/milena/doc/groups/neighb.hh b/milena/doc/groups/neighb.hh new file mode 100644 index 0000000..ec9e07f --- /dev/null +++ b/milena/doc/groups/neighb.hh @@ -0,0 +1,28 @@ +/*! \defgroup modneighb Neighborhoods + * + * \brief All the predefined generic neighborhoods. + * + * \ingroup modtypes + */ + +/*! \defgroup modneighb1d 1D neighborhoods + * + * \brief Predefined 1D neighborhoods. + * + * \ingroup modneighb + */ + +/*! \defgroup modneighb2d 2D neighborhoods + * + * \brief Predefined 2D neighborhoods. + * + * \ingroup modneighb + */ + +/*! \defgroup modneighb3d 3D neighborhoods + * + * \brief Predefined 3D neighborhoods. + * + * \ingroup modneighb + */ + diff --git a/milena/doc/groups/site_set.hh b/milena/doc/groups/site_set.hh new file mode 100644 index 0000000..9589764 --- /dev/null +++ b/milena/doc/groups/site_set.hh @@ -0,0 +1,42 @@ +/*! \defgroup modsiteset Site sets + * + * \brief All Site set types. + * + * \ingroup modtypes + */ + +/*! \defgroup modsitesetbasic Basic types + * + * \brief Basic site sets. + * + * \ingroup modsiteset + */ + +/*! \defgroup modsitesetgraph Graph based + * + * \brief Site sets based on a graph. + * + * \ingroup modsiteset + */ + +/*! \defgroup modsitesetcomplex Complex based + * + * \brief Site sets based on a complexes. + * + * \ingroup modsiteset + */ + +/*! \defgroup modsitesetsparse Sparse types + * + * \brief Sparse site sets. + * + * \ingroup modsiteset + */ + +/*! \defgroup modsitesetqueue Queue based + * + * \brief Site sets based on a queue. + * + * \ingroup modsiteset + */ + diff --git a/milena/doc/groups/util.hh b/milena/doc/groups/util.hh new file mode 100644 index 0000000..0a9c9af --- /dev/null +++ b/milena/doc/groups/util.hh @@ -0,0 +1,8 @@ +/*! \defgroup modutil Utilities + * + * \brief Miscalleneous useful containers/structures. + * + * \ingroup modtypes + */ + + diff --git a/milena/doc/groups/win.hh b/milena/doc/groups/win.hh new file mode 100644 index 0000000..a7e9431 --- /dev/null +++ b/milena/doc/groups/win.hh @@ -0,0 +1,42 @@ +/*! \defgroup modwin Windows + * + * \brief All the predefined generic windows. + * + * \ingroup modtypes + */ + +/*! \defgroup modwin1d 1D windows + * + * \brief Predefined 1D windows. + * + * \ingroup modwin + */ + +/*! \defgroup modwin2d 2D windows + * + * \brief Predefined 2D windows. + * + * \ingroup modwin + */ + +/*! \defgroup modwin3d 3D windows + * + * \brief Predefined 3D windows. + * + * \ingroup modwin + */ + +/*! \defgroup modwinnd N-D windows + * + * \brief Predefined N-D windows. + * + * \ingroup modwin + */ + +/*! \defgroup modwinmulti Multiple windows + * + * \brief Generic multiple windows. + * + * \ingroup modwin + */ + diff --git a/milena/mln/accu/bbox.hh b/milena/mln/accu/bbox.hh index 1f8bfa5..35ecd4d 100644 --- a/milena/mln/accu/bbox.hh +++ b/milena/mln/accu/bbox.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -44,10 +45,12 @@ namespace mln { - /// Generic bbox accumulator class. + /// \brief Generic bounding box accumulator class. /// /// The parameter \c P is the type of points. /// + /// \ingroup modaccusiteset + // template <typename P> struct bbox : public mln::accu::internal::base< const box<P>& , bbox<P> > { diff --git a/milena/mln/accu/center.hh b/milena/mln/accu/center.hh index 92e870e..6715dc6 100644 --- a/milena/mln/accu/center.hh +++ b/milena/mln/accu/center.hh @@ -45,11 +45,14 @@ namespace mln { - /// Generic center accumulator class. + /// \brief Mass center accumulator. /// /// \tparam P the type of site. /// \tparam V the type of vector to be used as result. /// The default vector type is the one provided by P. + /// + /// \ingroup modaccusiteset + // template <typename P, typename V = typename P::vec> struct center : public mln::accu::internal::base<V, center<P,V> > diff --git a/milena/mln/accu/convolve.hh b/milena/mln/accu/convolve.hh index 0769f1a..750454c 100644 --- a/milena/mln/accu/convolve.hh +++ b/milena/mln/accu/convolve.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -44,11 +45,13 @@ namespace mln { - /// Generic convolution accumulator class. + /// \brief Generic convolution accumulator class. /// /// Parameters \c T1 and \c T2 are the type of values to be /// convolved. Parameter \c R is the result type. /// + /// \ingroup modaccuvalues + // template <typename T1, typename T2, typename R = mln_sum_product(T1, T2)> struct convolve : public mln::accu::internal::base< R, convolve<T1,T2,R> >, diff --git a/milena/mln/accu/count.hh b/milena/mln/accu/count.hh index 9d68fec..dddc5f2 100644 --- a/milena/mln/accu/count.hh +++ b/milena/mln/accu/count.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -43,8 +43,11 @@ namespace mln namespace accu { - /// Generic counter accumulator class. + /// \brief Generic counter accumulator. /// The parameter \a T is the type to be count. + /// + /// \ingroup modaccusiteset + // template <typename T> struct count : public mln::accu::internal::base< unsigned , count<T> > { diff --git a/milena/mln/accu/count_adjacent_vertices.hh b/milena/mln/accu/count_adjacent_vertices.hh index 9d1f7b3..155ad56 100644 --- a/milena/mln/accu/count_adjacent_vertices.hh +++ b/milena/mln/accu/count_adjacent_vertices.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,7 +45,7 @@ namespace mln namespace accu { - /// Accumulator class counting the number of vertices + /// \brief Accumulator class counting the number of vertices /// adjacent to a set of mln::p_edges_psite (i.e., a set of /// edges). /// @@ -54,6 +54,9 @@ namespace mln /// /// This accumulator is used by mln::closing_area_on_vertices and /// mln::opening_area_on_vertices. + /// + /// \ingroup modaccuimages + // template <typename F, typename S> struct count_adjacent_vertices : public mln::accu::internal::base< unsigned, diff --git a/milena/mln/accu/count_labels.hh b/milena/mln/accu/count_labels.hh index 533e736..f6c6b3d 100644 --- a/milena/mln/accu/count_labels.hh +++ b/milena/mln/accu/count_labels.hh @@ -46,8 +46,11 @@ namespace mln namespace accu { - /// Generic counter accumulator class. + /// \brief Count the number of different labels in an image. /// The parameter \a L is the label type to be count. + /// + /// \ingroup modaccuvalues + // template <typename L> struct count_labels : public mln::accu::internal::base< unsigned , count_labels<L> >, diff --git a/milena/mln/accu/height.hh b/milena/mln/accu/height.hh index 58f1569..6aca1a5 100644 --- a/milena/mln/accu/height.hh +++ b/milena/mln/accu/height.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -30,6 +30,7 @@ # define MLN_ACCU_HEIGHT_HH /// \file mln/accu/height.hh +/// /// Define an accumulator that computes the height of a /// component through one of its pixels. /* @@ -55,10 +56,13 @@ namespace mln namespace accu { - /// Height accumulator class. + /// \brief Height accumulator. /// /// The parameter \p I is the image type on which the accumulator /// of pixels is built. + /// + /// \ingroup modaccuimages + // template <typename I> struct height : public mln::accu::internal::base< unsigned , height<I> > diff --git a/milena/mln/accu/histo.hh b/milena/mln/accu/histo.hh index b66ed52..fbc3833 100644 --- a/milena/mln/accu/histo.hh +++ b/milena/mln/accu/histo.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -52,9 +52,9 @@ namespace mln { + /// \brief Generic histogram class over a value set with type \c V. /// - /// Generic histogram class over a value set with type \c V. - /// + /// \ingroup modaccuvalues template <typename V> struct histo : public mln::accu::internal::base<const std::vector<unsigned>& , diff --git a/milena/mln/accu/inf.hh b/milena/mln/accu/inf.hh index 0160069..a77c5aa 100644 --- a/milena/mln/accu/inf.hh +++ b/milena/mln/accu/inf.hh @@ -46,10 +46,12 @@ namespace mln { - /// Generic inf accumulator class. - /*! - * The parameter \c T is the type of values. - */ + /// \brief Generic inf accumulator class. + /// + /// The parameter \c T is the type of values. + /// + /// \ingroup modaccuvalues + // template <typename T> struct inf : public mln::accu::internal::base< const T&, inf<T> > { diff --git a/milena/mln/accu/internal/couple.hh b/milena/mln/accu/internal/couple.hh index d4678a6..86db654 100644 --- a/milena/mln/accu/internal/couple.hh +++ b/milena/mln/accu/internal/couple.hh @@ -29,7 +29,7 @@ #ifndef MLN_ACCU_INTERNAL_COUPLE_HH # define MLN_ACCU_INTERNAL_COUPLE_HH -/// \file mln/accu/couple.hh +/// \file mln/accu/internal/couple.hh /// /// Base implementation of a couple of accumulators. diff --git a/milena/mln/accu/label_used.hh b/milena/mln/accu/label_used.hh index fe3553f..d268512 100644 --- a/milena/mln/accu/label_used.hh +++ b/milena/mln/accu/label_used.hh @@ -45,8 +45,11 @@ namespace mln namespace accu { - /// Define an accumulator that references all the labels used. + /// \brief References all the labels used. /// The parameter \a L is the label type. + /// + /// \ingroup modaccuvalues + // template <typename L> struct label_used : public mln::accu::internal::base< const fun::i2v::array<bool>& , label_used<L> > { diff --git a/milena/mln/accu/land.hh b/milena/mln/accu/land.hh index 5a579a1..37161db 100644 --- a/milena/mln/accu/land.hh +++ b/milena/mln/accu/land.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,7 +45,10 @@ namespace mln namespace accu { - /// "Logical-and" accumulator class. + /// \brief "Logical-and" accumulator. + /// + /// \ingroup modaccuvalues + // struct land : public mln::accu::internal::base< bool, land > { typedef bool argument; diff --git a/milena/mln/accu/land_basic.hh b/milena/mln/accu/land_basic.hh index 1c5f700..416a78f 100644 --- a/milena/mln/accu/land_basic.hh +++ b/milena/mln/accu/land_basic.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,9 +45,12 @@ namespace mln namespace accu { - /// "Logical-and" accumulator class. Conversely to accu::land, - /// this version does not have the 'untake' method but features - /// the 'can_stop' method. + /// \brief "Logical-and" accumulator. + /// Conversely to accu::land, this version does not have the 'untake' + /// method but features the 'can_stop' method. + /// + /// \ingroup modaccuvalues + // struct land_basic : public mln::accu::internal::base< bool, land_basic > { typedef bool argument; diff --git a/milena/mln/accu/line.hh b/milena/mln/accu/line.hh index c8a440e..b4f30a7 100644 --- a/milena/mln/accu/line.hh +++ b/milena/mln/accu/line.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -60,7 +60,6 @@ namespace mln * accu::take(\p input, tmp) \n * return tmp.to_result() \n */ - template <typename Meta_Accu, unsigned Dir, // Free parameters. typename I, typename O> void diff --git a/milena/mln/accu/lor.hh b/milena/mln/accu/lor.hh index 2e49d75..8741e44 100644 --- a/milena/mln/accu/lor.hh +++ b/milena/mln/accu/lor.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,7 +45,10 @@ namespace mln namespace accu { - /// "Logical-or" accumulator class. + /// \brief "Logical-or" accumulator. + /// + /// \ingroup modaccuvalues + // struct lor : public mln::accu::internal::base< bool, lor > { typedef bool argument; diff --git a/milena/mln/accu/lor_basic.hh b/milena/mln/accu/lor_basic.hh index 3dedacc..9a10f7c 100644 --- a/milena/mln/accu/lor_basic.hh +++ b/milena/mln/accu/lor_basic.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,9 +45,12 @@ namespace mln namespace accu { - /// "Logical-or" accumulator class. Conversely to accu::lor, - /// this version does not have the 'untake' method but features - /// the 'can_stop' method. + /// \brief "Logical-or" accumulator class. + /// Conversely to accu::lor, this version does not have the 'untake' + /// method but features the 'can_stop' method. + /// + /// \ingroup modaccuvalues + // struct lor_basic : public mln::accu::internal::base< bool, lor_basic > { typedef bool argument; diff --git a/milena/mln/accu/maj_h.hh b/milena/mln/accu/maj_h.hh index 7d851bb..88e876d 100644 --- a/milena/mln/accu/maj_h.hh +++ b/milena/mln/accu/maj_h.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -48,9 +49,12 @@ namespace mln { - /// Generic maj_h accumulator class. + /// \brief Compute the majority value. /*! + * It is based on a histogram. * The parameter \c T is the type of values. + * + * \ingroup modaccuvalues */ template <typename T> struct maj_h : public mln::accu::internal::base< const T& , maj_h<T> > diff --git a/milena/mln/accu/max.hh b/milena/mln/accu/max.hh index 72cc698..dec02df 100644 --- a/milena/mln/accu/max.hh +++ b/milena/mln/accu/max.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,9 +46,11 @@ namespace mln { - /// Generic max accumulator class. + /// \brief Generic max accumulator class. /// /// The parameter \c T is the type of values. + /// + /// \ingroup modaccuvalues template <typename T> struct max : public mln::accu::internal::base< const T& , max<T> > { diff --git a/milena/mln/accu/max_h.hh b/milena/mln/accu/max_h.hh index 20be166..f639eac 100644 --- a/milena/mln/accu/max_h.hh +++ b/milena/mln/accu/max_h.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -44,8 +45,11 @@ namespace mln { - /// Generic max function based on histogram over a value set with + /// \brief Generic max function based on histogram over a value set with /// type \c V. + /// + /// \ingroup modaccuvalues + // template <typename V> struct max_h : public mln::accu::internal::base< const V&, max_h<V> > { diff --git a/milena/mln/accu/mean.hh b/milena/mln/accu/mean.hh index 6ef643d..129b042 100644 --- a/milena/mln/accu/mean.hh +++ b/milena/mln/accu/mean.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -47,13 +47,15 @@ namespace mln { - /// Generic mean accumulator class. + /// \brief Generic mean accumulator class. /*! * Parameter \c T is the type of values that we sum. Parameter \c * S is the type to store the sum of values; the default type of * \c S is the summation type (property) of \c T. Parameter \c M * is the type of the mean value; the default type of \c M is \c * S. + * + * \ingroup modaccuvalues */ template <typename T, typename S = mln_sum(T), diff --git a/milena/mln/accu/median_alt.hh b/milena/mln/accu/median_alt.hh index 7815c95..2a1719c 100644 --- a/milena/mln/accu/median_alt.hh +++ b/milena/mln/accu/median_alt.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -43,8 +44,11 @@ namespace mln { - /// Generic median_alt function based on histogram over a + /// \brief Generic median_alt function based on histogram over a /// value set with type \c S. + /// + /// \ingroup modaccuvalues + // template <typename S> struct median_alt : public mln::accu::internal::base< const mln_value(S)&, median_alt<S> > { diff --git a/milena/mln/accu/median_h.hh b/milena/mln/accu/median_h.hh index 9c368f8..2de9bc6 100644 --- a/milena/mln/accu/median_h.hh +++ b/milena/mln/accu/median_h.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,8 +45,10 @@ namespace mln { - /// Generic median function based on histogram over a value + /// \brief Generic median function based on histogram over a value /// set with type \c V. + /// + /// \ingroup modaccuvalues template <typename V> struct median_h : public mln::accu::internal::base< const V&, median_h<V> > { diff --git a/milena/mln/accu/min.hh b/milena/mln/accu/min.hh index 023b480..8291ef5 100644 --- a/milena/mln/accu/min.hh +++ b/milena/mln/accu/min.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -46,9 +46,11 @@ namespace mln { - /// Generic min accumulator class. + /// \brief Generic min accumulator class. /*! * The parameter \c T is the type of values. + * + * \ingroup modaccuvalues */ template <typename T> struct min : public mln::accu::internal::base< const T&, min<T> > diff --git a/milena/mln/accu/min_h.hh b/milena/mln/accu/min_h.hh index b18f4ba..d538e6a 100644 --- a/milena/mln/accu/min_h.hh +++ b/milena/mln/accu/min_h.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,8 +46,11 @@ namespace mln { - /// Generic min function based on histogram over a value + /// \brief Generic min function based on histogram over a value /// set with type \c V. + /// + /// \ingroup modaccuvalues + // template <typename V> struct min_h : public mln::accu::internal::base< const V& , min_h<V> > { diff --git a/milena/mln/accu/min_max.hh b/milena/mln/accu/min_max.hh index 6f90560..f62716f 100644 --- a/milena/mln/accu/min_max.hh +++ b/milena/mln/accu/min_max.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -49,9 +50,11 @@ namespace mln namespace accu { - /// Generic min and max accumulator class. + /// \brief Generic min and max accumulator class. /*! * The parameter \c V is the type of values. + * + * \ingroup modaccuvalues */ template <typename V> struct min_max : public pair< min<V>, max<V> > diff --git a/milena/mln/accu/pair.hh b/milena/mln/accu/pair.hh index 41b1fe3..c9e7f08 100644 --- a/milena/mln/accu/pair.hh +++ b/milena/mln/accu/pair.hh @@ -49,11 +49,14 @@ namespace mln { - /// Generic pair of accumulators. + /// \brief Generic pair of accumulators. /// /// The parameter \c T is the type of values. /// /// \todo Check that, when T is not provided, A1 and A2 have the same value. + /// + /// \ingroup modaccumulti + // template <typename A1, typename A2, typename T = mln_argument(A1)> struct pair : public mln::accu::internal::base< std::pair<mln_result(A1), mln_result(A2)>, pair<A1,A2,T> > diff --git a/milena/mln/accu/rank.hh b/milena/mln/accu/rank.hh index bd1999d..6b891c5 100644 --- a/milena/mln/accu/rank.hh +++ b/milena/mln/accu/rank.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -50,9 +51,11 @@ namespace mln { - /// Generic rank accumulator class. + /// \brief Generic rank accumulator class. /// /// The parameter \c T is the type of values. + /// + /// \ingroup modaccuvalues template <typename T> struct rank : public mln::accu::internal::base< const T&, rank<T> > { diff --git a/milena/mln/accu/rank_bool.hh b/milena/mln/accu/rank_bool.hh index 54c06ba..fb3c944 100644 --- a/milena/mln/accu/rank_bool.hh +++ b/milena/mln/accu/rank_bool.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -47,10 +47,13 @@ namespace mln namespace accu { - // Fwd declaration. + // Forward declaration. template <typename T> struct rank; - /// rank accumulator class for Boolean. + /// \brief rank accumulator class for Boolean. + /// + /// \ingroup modaccuvalues + // template <> struct rank<bool> : public mln::accu::internal::base< bool, rank<bool> > { diff --git a/milena/mln/accu/rank_high_quant.hh b/milena/mln/accu/rank_high_quant.hh index c05c6d4..80d5b23 100644 --- a/milena/mln/accu/rank_high_quant.hh +++ b/milena/mln/accu/rank_high_quant.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -47,9 +47,11 @@ namespace mln { - /// Generic rank accumulator class. + /// \brief Generic rank accumulator class. /*! * The parameter \c T is the type of values. + * + * \ingroup modaccuvalues */ template <typename T> struct rank : public mln::accu::internal::base< const T&, rank<T> > diff --git a/milena/mln/accu/rms.hh b/milena/mln/accu/rms.hh index 866ded1..8022ddc 100644 --- a/milena/mln/accu/rms.hh +++ b/milena/mln/accu/rms.hh @@ -44,10 +44,12 @@ namespace mln { - /// Generic rms accumulator class. + /// \brief Generic root mean square accumulator class. /// /// The parameter \c T is the type of the root mean square value. /// + /// \ingroup modaccuvalues + // template <typename T, typename V> struct rms : public mln::accu::internal::base<V, rms<T,V> > { diff --git a/milena/mln/accu/site_set/rectangularity.hh b/milena/mln/accu/site_set/rectangularity.hh index fef5b21..f0ced2c 100644 --- a/milena/mln/accu/site_set/rectangularity.hh +++ b/milena/mln/accu/site_set/rectangularity.hh @@ -47,7 +47,10 @@ namespace mln namespace site_set { - /// Compute the rectangularity of a site set. + /// \brief Compute the rectangularity of a site set. + /// + /// \ingroup modaccusiteset + // template <typename P> class rectangularity : public accu::internal::couple<accu::bbox<P>, diff --git a/milena/mln/accu/stat/deviation.hh b/milena/mln/accu/stat/deviation.hh index 890a93c..32277b1 100644 --- a/milena/mln/accu/stat/deviation.hh +++ b/milena/mln/accu/stat/deviation.hh @@ -49,13 +49,15 @@ namespace mln namespace stat { - /// Generic standard deviation accumulator class. + /// \brief Generic standard deviation accumulator class. /*! * Parameter \c T is the type of values that we sum. Parameter \c * S is the type to store the standard deviation; the default type of * \c S is the summation type (property) of \c T. Parameter \c M * is the type of the mean value; the default type of \c M is \c * S. + * + * \ingroup modaccuvalues */ template <typename T, typename S = mln_sum(T), diff --git a/milena/mln/accu/stat/variance.hh b/milena/mln/accu/stat/variance.hh index 0b4dc0b..388de2a 100644 --- a/milena/mln/accu/stat/variance.hh +++ b/milena/mln/accu/stat/variance.hh @@ -46,13 +46,16 @@ namespace mln namespace stat { - /// Variance accumulator class. + /// \brief Variance accumulator class. /*! * Parameter \c T is the type of values that we sum. Parameter * \c S is the type to store the value sum and the sum of value * * value; the default type of \c S is the summation type * (property) of \c T. Parameter \c R is the type of the mean * and variance values; the default type of \c R is \c S. + * + * \ingroup modaccuvalues + * */ template <typename T, typename S = mln_sum(T), diff --git a/milena/mln/accu/sum.hh b/milena/mln/accu/sum.hh index a0f11d9..2792438 100644 --- a/milena/mln/accu/sum.hh +++ b/milena/mln/accu/sum.hh @@ -50,11 +50,13 @@ namespace mln { - /// Generic sum accumulator class. + /// \brief Generic sum accumulator class. /*! * Parameter \c T is the type of values that we sum. Parameter \c * S is the type to store the value sum; the default type of * \c S is the summation type (property) of \c T. + * + * \ingroup modaccuvalues */ template <typename T, typename S = mln_sum(T)> struct sum : public mln::accu::internal::base< const S&, sum<T,S> > diff --git a/milena/mln/accu/sup.hh b/milena/mln/accu/sup.hh index ded89e1..e16fcf6 100644 --- a/milena/mln/accu/sup.hh +++ b/milena/mln/accu/sup.hh @@ -46,9 +46,11 @@ namespace mln { - /// Generic sup accumulator class. + /// \brief Generic sup accumulator class. /*! * The parameter \c T is the type of values. + * + * \ingroup modaccuvalues */ template <typename T> struct sup : public mln::accu::internal::base< const T&, sup<T> > diff --git a/milena/mln/accu/tuple.hh b/milena/mln/accu/tuple.hh index ae59bbc..f3befb5 100644 --- a/milena/mln/accu/tuple.hh +++ b/milena/mln/accu/tuple.hh @@ -1,4 +1,4 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory // (LRDE) // // This file is part of the Olena Library. This library is free @@ -66,9 +66,11 @@ namespace mln template <unsigned n, typename T> struct tuplehelper; } - /// Generic tuple of accumulators. + /// \brief Generic tuple of accumulators. /*! * The parameter \c T is the type of values. + * + * \ingroup modaccumulti */ template <typename A, unsigned n, BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(10, typename T, boost::tuples::null_type)> struct tuple diff --git a/milena/mln/accu/volume.hh b/milena/mln/accu/volume.hh index 5d25767..f60ee6b 100644 --- a/milena/mln/accu/volume.hh +++ b/milena/mln/accu/volume.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -55,10 +55,12 @@ namespace mln namespace accu { - /// Volume accumulator class. + /// \brief Volume accumulator class. /// /// The parameter \p I is the image type on which the accumulator /// of pixels is built. + /// + /// \ingroup modaccuimages template <typename I> struct volume : public mln::accu::internal::base< unsigned , volume<I> > diff --git a/milena/mln/canvas/morpho/internal/find_root.hh b/milena/mln/canvas/morpho/internal/find_root.hh index 958ac9c..a1ff6bb 100644 --- a/milena/mln/canvas/morpho/internal/find_root.hh +++ b/milena/mln/canvas/morpho/internal/find_root.hh @@ -28,7 +28,7 @@ #ifndef MLN_CANVAS_MORPHO_INTERNAL_FIND_ROOT_HH # define MLN_CANVAS_MORPHO_INTERNAL_FIND_ROOT_HH -/// \file mln/canvas/morpho/internal/find_root.hh.hh +/// \file mln/canvas/morpho/internal/find_root.hh /// /// Routines to handle parent image. /// diff --git a/milena/mln/convert/impl/from_image_to_site_set.hh b/milena/mln/convert/impl/from_image_to_site_set.hh index 2e79f7e..eb9a1a2 100644 --- a/milena/mln/convert/impl/from_image_to_site_set.hh +++ b/milena/mln/convert/impl/from_image_to_site_set.hh @@ -149,7 +149,7 @@ namespace mln void from_image_to_site_set(const Image<I>& from, Site_Set<S>& to) { - from_image_to_site_set(exact(from), mln_deduce(I, pset, element)(), + from_image_to_site_set(exact(from), mln_deduce(I, domain_t, element)(), exact(to), mln_i_element(S)()); } diff --git a/milena/mln/core/alias/neighb1d.hh b/milena/mln/core/alias/neighb1d.hh index 8c93466..3c32a21 100644 --- a/milena/mln/core/alias/neighb1d.hh +++ b/milena/mln/core/alias/neighb1d.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,11 +29,10 @@ #ifndef MLN_CORE_ALIAS_NEIGHB1D_HH # define MLN_CORE_ALIAS_NEIGHB1D_HH -/*! \file mln/core/alias/neighb1d.hh - * - * \brief Definition of the mln::neighb1d alias and of some classical - * 1D neighborhoods. - */ +/// \file mln/core/alias/neighb1d.hh +/// +/// Definition of the mln::neighb1d alias and of some classical +/// 1D neighborhoods. # include <cmath> # include <mln/core/neighb.hh> @@ -42,18 +42,25 @@ namespace mln { - /*! \brief Type alias for a neighborhood defined on the 1D square - * grid with integer coordinates. - */ + /// \brief Type alias for a neighborhood defined on the 1D square + /// grid with integer coordinates. + /// + /// \ingroup modneighb1d + // typedef neighb<window1d> neighb1d; - /*! \brief 2-connectivity neighborhood on the 1D grid. - * - * o x o - * - * \return A neighb1d. - */ + /// \brief 2-connectivity neighborhood on the 1D grid. + /*! + \verbatim + o x o + \endverbatim + + + \return A neighb1d. + + \ingroup modneighb1d + */ const neighb1d& c2(); diff --git a/milena/mln/core/alias/neighb2d.hh b/milena/mln/core/alias/neighb2d.hh index 09a6db2..704d7cc 100644 --- a/milena/mln/core/alias/neighb2d.hh +++ b/milena/mln/core/alias/neighb2d.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -48,6 +49,7 @@ namespace mln /// Type alias for a neighborhood defined on the 2D square /// grid with integer coordinates. /// + /// \ingroup modneighb2d typedef neighb<window2d> neighb2d; } @@ -56,47 +58,66 @@ namespace mln namespace mln { - /// 4-connectivity neighborhood on the 2D grid. - /// - /// - o - - /// o x o - /// - o - - /// - /// \return A neighb2d. - /// + /// \brief 4-connectivity neighborhood on the 2D grid. + /*! + \verbatim + - o - + o x o + - o - + \endverbatim + + + \return A neighb2d. + + \ingroup modneighb2d + */ const neighb2d& c4(); - /// 8-connectivity neighborhood on the 2D grid. - /// - /// o o o - /// o x o - /// o o o - /// - /// \return A neighb2d. - /// + /// \brief 8-connectivity neighborhood on the 2D grid. + /*! + \verbatim + o o o + o x o + o o o + \endverbatim + + + \return A neighb2d. + + \ingroup modneighb2d + */ const neighb2d& c8(); - /// Horizontal 2-connectivity neighborhood on the 2D grid. - /// - /// - - - - /// o x o - /// - - - - /// - /// \return A neighb2d. - /// + /// \brief Horizontal 2-connectivity neighborhood on the 2D grid. + /*! + \verbatim + - - - + o x o + - - - + \endverbatim + + \return A neighb2d. + + \ingroup modneighb2d + */ const neighb2d& c2_row(); - /// Vertical 2-connectivity neighborhood on the 2D grid. - /// - /// - o - - /// - x - - /// - o - - /// - /// \return A neighb2d. - /// + /// \brief Vertical 2-connectivity neighborhood on the 2D grid. + /*! + \verbatim + - o - + - x - + - o - + \endverbatim + + + \return A neighb2d. + + \ingroup modneighb2d + */ const neighb2d& c2_col(); diff --git a/milena/mln/core/alias/neighb3d.hh b/milena/mln/core/alias/neighb3d.hh index ad0545d..c7f4116 100644 --- a/milena/mln/core/alias/neighb3d.hh +++ b/milena/mln/core/alias/neighb3d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,100 +45,137 @@ namespace mln { - /*! \brief Type alias for a neighborhood defined on the 3D square - * grid with integer coordinates. - */ + /// \brief Type alias for a neighborhood defined on the 3D square + /// grid with integer coordinates. + /// + /// \ingroup modneighb3d + // typedef neighb<window3d> neighb3d; - /// 4-connectivity neighborhood on the 3D grid. - /// - /// . . . - /// . . . - /// . . . - /// - /// . o . - /// o x o - /// . o . - /// - /// . . . - /// . . . - /// . . . - /// - /// \return A neighb3d. - /// + /// \brief 4-connectivity neighborhood on the 3D grid. + /*! + \verbatim + + . . . + . . . + . . . + + . o . + o x o + . o . + + . . . + . . . + . . . + + \endverbatim + + + \return A neighb3d. + + \ingroup modneighb3d + */ const neighb3d& c4_3d(); - /// 8-connectivity neighborhood on the 3D grid. - /// - /// . . . - /// . . . - /// . . . - /// - /// o o o - /// o x o - /// o o o - /// - /// . . . - /// . . . - /// . . . - /// - /// \return A neighb3d. - /// + /// \brief 8-connectivity neighborhood on the 3D grid. + /*! + \verbatim + + . . . + . . . + . . . + + o o o + o x o + o o o + + . . . + . . . + . . . + + \endverbatim + + + \return A neighb3d. + + \ingroup modneighb3d + */ const neighb3d& c8_3d(); - /*! \brief 6-connectivity neighborhood on the 3D grid. - * - * . . . - * . o . - * . . . - * - * . o . - * o x o - * . o . - * - * . . . - * . o . - * . . . - * - * \return A neighb3d. - */ + /// \brief 6-connectivity neighborhood on the 3D grid. + /*! + \verbatim + + . . . + . o . + . . . + + . o . + o x o + . o . + + . . . + . o . + . . . + + \endverbatim + + + \return A neighb3d. + + \ingroup modneighb3d + */ const neighb3d& c6(); - /*! \brief 18-connectivity neighborhood on the 3D grid. - * - * . o . - * o o o - * . o . - * - * o o o - * o x o - * o o o - * - * . o . - * o o o - * . o . - * - * \return A neighb3d. - */ + /// \brief 18-connectivity neighborhood on the 3D grid. + /*! + \verbatim + + . o . + o o o + . o . + + o o o + o x o + o o o + + . o . + o o o + . o . + + \endverbatim + + + \return A neighb3d. + + \ingroup modneighb3d + */ const neighb3d& c18(); - /*! \brief 26-connectivity neighborhood on the 3D grid. - * - * o o o - * o o o - * o o o - * - * o o o - * o x o - * o o o - * - * o o o - * o o o - * o o o - * - * \return A neighb3d. - */ + /// \brief 26-connectivity neighborhood on the 3D grid. + /*! + \verbatim + + o o o + o o o + o o o + + o o o + o x o + o o o + + o o o + o o o + o o o + + \endverbatim + + + \return A neighb3d. + + \ingroup modneighb3d + */ const neighb3d& c26(); diff --git a/milena/mln/core/alias/window1d.hh b/milena/mln/core/alias/window1d.hh index eee53cc..178dc19 100644 --- a/milena/mln/core/alias/window1d.hh +++ b/milena/mln/core/alias/window1d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -30,7 +30,8 @@ # define MLN_CORE_ALIAS_WINDOW1D_HH /// \file mln/core/alias/window1d.hh -/// \brief Definition of the mln::window1d alias and of a construction +/// +/// Definition of the mln::window1d alias and of a construction /// routine. # include <mln/core/window.hh> @@ -43,6 +44,9 @@ namespace mln /// \brief Type alias for a window with arbitrary shape, defined on /// the 1D square grid with integer coordinates. + /// + /// \ingroup modwin1d + // typedef window<mln::dpoint1d> window1d; diff --git a/milena/mln/core/alias/window2d.hh b/milena/mln/core/alias/window2d.hh index f1acabe..e1479d4 100644 --- a/milena/mln/core/alias/window2d.hh +++ b/milena/mln/core/alias/window2d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -33,8 +33,6 @@ /// /// Definition of the mln::window2d alias and of a construction /// routine. -/// -/// \todo c8p etc. # include <mln/core/window.hh> # include <mln/core/alias/dpoint2d.hh> @@ -47,26 +45,41 @@ namespace mln /// \brief Type alias for a window with arbitrary shape, defined on /// the 2D square grid with integer coordinates. + /// + /// \ingroup modwin2d + // typedef window<mln::dpoint2d> window2d; /// \brief 4-connectivity window on the 2D grid, including the /// center. - /// - /// - o - - /// o x o - /// - o - - /// - /// \return A window2d. + /*! + \verbatim + - o - + o x o + - o - + \endverbatim + + + \return A window2d. + + \ingroup modwin2d + */ const window2d& win_c4p(); /// \brief 8-connectivity window on the 2D grid, including the /// center. - /// - /// o o o - /// o x o - /// o o o - /// - /// \return A window2d. + /*! + \verbatim + o o o + o x o + o o o + \endverbatim + + + \return A window2d. + + \ingroup modwin2d + */ const window2d& win_c8p(); diff --git a/milena/mln/core/alias/window3d.hh b/milena/mln/core/alias/window3d.hh index 5489fbd..1b5d57b 100644 --- a/milena/mln/core/alias/window3d.hh +++ b/milena/mln/core/alias/window3d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -43,45 +43,60 @@ namespace mln { - /// Type alias for a window with arbitrary shape, defined on + /// \brief Type alias for a window with arbitrary shape, defined on /// the 3D square grid with integer coordinates. + /// + /// \ingroup modwin3d + // typedef window<mln::dpoint3d> window3d; /// \brief 4-connectivity window on the 3D grid, including the /// center. - /// - /// - - - - /// - - - - /// - - - - /// - /// - o - - /// o x o - /// - o - - /// - /// - - - - /// - - - - /// - - - - /// - /// - /// \return A window3d. + /*! + \verbatim + + - - - + - - - + - - - + + - o - + o x o + - o - + + - - - + - - - + - - - + \endverbatim + + + \return A window3d. + + \ingroup modwin3d + */ const window3d& win_c4p_3d(); /// \brief 8-connectivity window on the 3D grid, including the /// center. - /// - /// - - - - /// - - - - /// - - - - /// - /// o o o - /// o x o - /// o o o - /// - /// - - - - /// - - - - /// - - - - /// - /// \return A window3d. + /*! + \verbatim + - - - + - - - + - - - + + o o o + o x o + o o o + + - - - + - - - + - - - + \endverbatim + + + \return A window3d. + + \ingroup modwin3d + */ const window3d& win_c8p_3d(); diff --git a/milena/mln/core/concept/function.hh b/milena/mln/core/concept/function.hh index 7cef23c..95742c5 100644 --- a/milena/mln/core/concept/function.hh +++ b/milena/mln/core/concept/function.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -51,8 +51,6 @@ namespace mln template <typename E> struct Function_p2b; template <typename E> struct Function_p2p; template <typename E> struct Function_x2x; - template <typename E> struct Function_l2b; - template <typename E> struct Function_l2l; template <typename E> struct Function_vv2v; template <typename E> struct Function_vv2b; @@ -92,11 +90,13 @@ namespace mln template <> struct Function_v2v<void> { typedef Function<void> super; }; - /// Base class for implementation of function-objects from + /// \brief Base class for implementation of function-objects from /// value to value. /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_v2v : public Function<E> { @@ -122,8 +122,9 @@ namespace mln * value V to value W and vice versa. * * The parameter \a E is the exact type. + * + * \ingroup modfun */ - template <typename E> struct Function_v2w2v : public Function<E> { @@ -158,8 +159,9 @@ namespace mln * * eg: f : x -> norm(x) * f_1: (x, n) -> x' := x / norm(x) * n + * + * \ingroup modfun */ - template <typename E> struct Function_v2w_w2v : public Function<E> { @@ -188,6 +190,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_i2b : public Function_v2b<E> { @@ -211,6 +215,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_i2v : public Function_v2v<E> { @@ -233,6 +239,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_p2v : public virtual Function_v2v<E> { @@ -255,6 +263,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_v2b : public virtual Function_v2v<E> { @@ -278,6 +288,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_p2b : public Function_p2v<E>, public Function_v2b<E> @@ -302,6 +314,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_p2p : public Function_p2v<E> { @@ -324,6 +338,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_x2x : public Function_v2v<E> { @@ -343,6 +359,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Bijection_x2x : public Function_x2x< E > { @@ -355,50 +373,6 @@ namespace mln }; - /*-----------------. - | Label -> Value. | - `-----------------*/ - - template <> - struct Function_l2b<void> { typedef Function_v2b<void> super; }; - - /// Base class for implementation of function-objects from - /// label to value. - /// - /// The parameter \a E is the exact type. - /// - template <typename E> - struct Function_l2b : public Function_v2b<E> - { - typedef Function_l2b<void> category; - protected: - Function_l2b(); - Function_l2b(const Function_l2b&); - }; - - - /*-----------------. - | Label -> Label. | - `-----------------*/ - - template <> - struct Function_l2l<void> { typedef Function_v2v<void> super; }; - - /// Base class for implementation of function-objects from - /// label to value. - /// - /// The parameter \a E is the exact type. - /// - template <typename E> - struct Function_l2l : public Function_v2v<E> - { - typedef Function_l2l<void> category; - protected: - Function_l2l(); - Function_l2l(const Function_l2l&); - }; - - /*------------------------. | Value, Value -> Value. | `------------------------*/ @@ -411,6 +385,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_vv2v : public Function<E> { @@ -432,6 +408,8 @@ namespace mln /// /// The parameter \a E is the exact type. /// + /// \ingroup modfun + // template <typename E> struct Function_vv2b : public Function<E> { @@ -605,33 +583,6 @@ namespace mln template <typename E> inline - Function_l2b<E>::Function_l2b() - { - } - - template <typename E> - inline - Function_l2b<E>::Function_l2b(const Function_l2b<E>& rhs) - : Function_v2v<E>(rhs), - Function_v2b<E>(rhs) - { - } - - template <typename E> - inline - Function_l2l<E>::Function_l2l() - { - } - - template <typename E> - inline - Function_l2l<E>::Function_l2l(const Function_l2l<E>& rhs) - : Function_v2v<E>(rhs) - { - } - - template <typename E> - inline Function_vv2v<E>::Function_vv2v() { } diff --git a/milena/mln/core/concept/object.hh b/milena/mln/core/concept/object.hh index 27ef2a4..aaae2ad 100644 --- a/milena/mln/core/concept/object.hh +++ b/milena/mln/core/concept/object.hh @@ -62,9 +62,6 @@ * * This is the documentation of Milena. * - * \section tools_subsec Tools required. - * FIXME. - * * \section mln_sec Overview of Milena. * * <UL> @@ -84,6 +81,7 @@ * <LI> \ref mln::extension * <LI> \ref mln::fun * <LI> \ref mln::geom + * <LI> \ref mln::graph * <LI> \ref mln::histo * <LI> \ref mln::io * <LI> \ref mln::labeling diff --git a/milena/mln/core/concept/object_id.hh b/milena/mln/core/concept/object_id.hh index 770098e..e8102df 100644 --- a/milena/mln/core/concept/object_id.hh +++ b/milena/mln/core/concept/object_id.hh @@ -30,7 +30,7 @@ #ifndef MLN_CORE_CONCEPT_OBJECT_ID_HH # define MLN_CORE_CONCEPT_OBJECT_ID_HH -/// \file mln/util/internal/element_id.hh +/// \file mln/core/concept/object_id.hh /// /// Base class of an object id. diff --git a/milena/mln/core/image/complex_image.hh b/milena/mln/core/image/complex_image.hh index 152c10e..98d00c5 100644 --- a/milena/mln/core/image/complex_image.hh +++ b/milena/mln/core/image/complex_image.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -114,13 +115,16 @@ namespace mln } // end of namespace mln::trait - /// Image based on a complex. + /// \brief Image based on a complex. /// /// Values attached to each face of the complex. /// /// \arg p D The dimension of the complex. /// \arg p G The geometry type of the complex. /// \arg p V The value type of the image. + /// + /// \ingroup modimageconcrete + // template <unsigned D, typename G, typename V> class complex_image : public internal::image_primary< V, p_complex<D, G>, diff --git a/milena/mln/core/image/decorated_image.hh b/milena/mln/core/image/decorated_image.hh index 1d8108f..1f19009 100644 --- a/milena/mln/core/image/decorated_image.hh +++ b/milena/mln/core/image/decorated_image.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -33,15 +33,15 @@ # include <mln/value/proxy.hh> -/*! \file mln/core/image/decorated_image.hh - * - * \brief Definition of an image that can have additional features. - */ +/// \file mln/core/image/decorated_image.hh +/// +/// Definition of an image that can have additional features. + namespace mln { - // Fwd decl. + // Forward declaration. template <typename I, typename D> struct decorated_image; @@ -76,10 +76,10 @@ namespace mln - /*! - * \brief Class of decorated image : FIXME Doc - * - */ + /// \brief Image that can have additional features. + /// + /// \ingroup modimageidmorpher + // template <typename I, typename D> struct decorated_image : public internal::decorated_image_impl_< I, decorated_image<I,D> >, diff --git a/milena/mln/core/image/edge_image.hh b/milena/mln/core/image/edge_image.hh index 4ea3ce2..9b5fb75 100644 --- a/milena/mln/core/image/edge_image.hh +++ b/milena/mln/core/image/edge_image.hh @@ -118,7 +118,9 @@ namespace mln } // end of namespace mln::internal - + /// \brief Image based on graph edges. + /// + /// \ingroup modimageconcrete template <typename P, typename V, typename G = util::graph> class edge_image : public pw::internal::image_base<fun::i2v::array<V>, diff --git a/milena/mln/core/image/extended.hh b/milena/mln/core/image/extended.hh index c6451a0..cde8009 100644 --- a/milena/mln/core/image/extended.hh +++ b/milena/mln/core/image/extended.hh @@ -86,8 +86,10 @@ namespace mln - // FIXME: Doc! - + /// \brief Makes an image become restricted by a point set. + /// + /// \ingroup modimagedomainmorpher + // template <typename I> struct extended : public internal::image_domain_morpher< I, box<mln_site(I)>, diff --git a/milena/mln/core/image/extension_fun.hh b/milena/mln/core/image/extension_fun.hh index dd67f04..9992e33 100644 --- a/milena/mln/core/image/extension_fun.hh +++ b/milena/mln/core/image/extension_fun.hh @@ -29,15 +29,13 @@ #ifndef MLN_CORE_IMAGE_EXTENSION_FUN_HH # define MLN_CORE_IMAGE_EXTENSION_FUN_HH -/*! - * \file mln/core/image/extension_fun.hh - * - * \brief Definition of a morpher that extends the domain of an image - * with a function. - * - * \todo Deal with two-ways functions... - * \todo Use an envelop as lvalue to test extension writing. - */ +/// \file mln/core/image/extension_fun.hh +/// +/// definition of a morpher that extends the domain of an image +/// with a function. +/// +/// \todo Deal with two-ways functions... +/// \todo Use an envelop as lvalue to test extension writing. # include <mln/core/internal/image_identity.hh> @@ -96,12 +94,13 @@ namespace mln - // FIXME: Doc! - + /// \brief Extends the domain of an image with a function. + /// + /// \ingroup modimagedomainmorpher + // template <typename I, typename F> - class extension_fun : - - public internal::image_identity< I, mln_domain(I), extension_fun<I, F> >, + class extension_fun + : public internal::image_identity< I, mln_domain(I), extension_fun<I, F> >, private mlc_converts_to(mln_result(F), mln_value(I))::check_t { public: diff --git a/milena/mln/core/image/extension_ima.hh b/milena/mln/core/image/extension_ima.hh index 72119a1..2a9f7d1 100644 --- a/milena/mln/core/image/extension_ima.hh +++ b/milena/mln/core/image/extension_ima.hh @@ -90,8 +90,10 @@ namespace mln - // FIXME: Doc! - + /// \brief Extends the domain of an image with an image. + /// + /// \ingroup modimagedomainmorpher + // template <typename I, typename J> class extension_ima diff --git a/milena/mln/core/image/extension_val.hh b/milena/mln/core/image/extension_val.hh index 82f0684..8a376fc 100644 --- a/milena/mln/core/image/extension_val.hh +++ b/milena/mln/core/image/extension_val.hh @@ -92,8 +92,10 @@ namespace mln - // FIXME: Doc! - + /// \brief Extends the domain of an image with a value. + /// + /// \ingroup modimagedomainmorpher + // template <typename I> class extension_val : public internal::image_identity< I, mln_domain(I), extension_val<I> > diff --git a/milena/mln/core/image/flat_image.hh b/milena/mln/core/image/flat_image.hh index 8de6465..5d5beab 100644 --- a/milena/mln/core/image/flat_image.hh +++ b/milena/mln/core/image/flat_image.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,13 +29,11 @@ #ifndef MLN_CORE_FLAT_IMAGE_HH # define MLN_CORE_FLAT_IMAGE_HH -/*! - * \file mln/core/image/flat_image.hh - * - * \brief Definition of a image with a signle value. - * - * \todo Zed: Address the values v. destination issue. - */ +/// \file mln/core/image/flat_image.hh +/// +/// \brief Definition of a image with a signle value. +/// +/// \todo Zed: Address the values v. destination issue. # include <mln/core/internal/image_primary.hh> # include <mln/value/set.hh> @@ -101,8 +100,10 @@ namespace mln - // FIXME: Doc! - + /// \brief Image with a single value. + /// + /// \ingroup modimageconcrete + // template <typename T, typename S> struct flat_image : public internal::image_primary< T, S, flat_image<T,S> > { diff --git a/milena/mln/core/image/fun_image.hh b/milena/mln/core/image/fun_image.hh index 0099dde..6a4c003 100644 --- a/milena/mln/core/image/fun_image.hh +++ b/milena/mln/core/image/fun_image.hh @@ -92,7 +92,10 @@ namespace mln - /// Class of image morpher which takes allow to view an image throught a morpher + /// \brief Image read through a function. + /// + /// \ingroup modimagevaluemorpher + // template <typename F, typename I> struct fun_image : public internal::image_value_morpher< I, mln_result(F), fun_image<F,I> > diff --git a/milena/mln/core/image/hexa.hh b/milena/mln/core/image/hexa.hh index 66ccdb1..498452e 100644 --- a/milena/mln/core/image/hexa.hh +++ b/milena/mln/core/image/hexa.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -44,7 +44,8 @@ namespace mln { - // Fwd decl. + + // Forward declaration. template <typename I> class hexa; @@ -113,7 +114,7 @@ namespace mln * 8 XX| | | | | | |XX * ------------------- * - * + * \ingroup modimagedomainmorpher */ template <typename I> struct hexa : diff --git a/milena/mln/core/image/interpolated.hh b/milena/mln/core/image/interpolated.hh index 91356db..25b1632 100644 --- a/milena/mln/core/image/interpolated.hh +++ b/milena/mln/core/image/interpolated.hh @@ -78,8 +78,9 @@ namespace mln } // end of namespace mln::trait - /// Morpher that makes underlaying image being accessed with floating coordinate. + /// \brief Makes the underlying image being accessed with floating coordinates. /// + /// \ingroup modimageidentity template <typename I, template <class> class F> struct interpolated : public mln::internal::image_identity< I, mln_domain(I), interpolated<I,F> > diff --git a/milena/mln/core/image/lazy_image.hh b/milena/mln/core/image/lazy_image.hh index 1316284..90f5385 100644 --- a/milena/mln/core/image/lazy_image.hh +++ b/milena/mln/core/image/lazy_image.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,10 +29,10 @@ #ifndef MLN_CORE_IMAGE_LAZY_IMAGE_HH # define MLN_CORE_IMAGE_LAZY_IMAGE_HH -/*! \file mln/core/image/lazy_image.hh - * - * \brief Definition of a lazy image. Values are computed on the fly - */ +/// \file mln/core/image/lazy_image.hh +/// +/// Definition of a lazy image. Values are computed on the fly. + # include <cmath> @@ -79,7 +80,7 @@ namespace mln - /*! \brief Lazy image class. + /*! \brief Image values are computed on the fly. * * The parameter \c I is the type of image. * The parameter \c F is the type of function. @@ -88,6 +89,7 @@ namespace mln * This image class tage a functor \p fun and a box \p box. * Access to ima(p) where \p p include \p box return fun(b) lazily. * + * \ingroup modimageidmorpher */ template <typename I, typename F, typename B> struct lazy_image : diff --git a/milena/mln/core/image/plain.hh b/milena/mln/core/image/plain.hh index c40544e..6073eb0 100644 --- a/milena/mln/core/image/plain.hh +++ b/milena/mln/core/image/plain.hh @@ -74,8 +74,12 @@ namespace mln - /// Morpher that prevents an image from sharing its data. + /// \brief Prevents an image from sharing its data. + /// /// While assigned to another image, its data is duplicated. + /// + /// \ingroup modimageidmorpher + // template <typename I> class plain diff --git a/milena/mln/core/image/safe.hh b/milena/mln/core/image/safe.hh index f04c2b3..953aac6 100644 --- a/milena/mln/core/image/safe.hh +++ b/milena/mln/core/image/safe.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -79,8 +79,10 @@ namespace mln - // FIXME: Doc! - + /// \brief Makes an image accessible at undefined location. + /// + /// \ingroup modimageidmorpher + // template <typename I> class safe_image : public internal::image_identity< I, mln_domain(I), safe_image<I> > { diff --git a/milena/mln/core/image/slice_image.hh b/milena/mln/core/image/slice_image.hh index b9db296..65160d9 100644 --- a/milena/mln/core/image/slice_image.hh +++ b/milena/mln/core/image/slice_image.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -30,7 +31,7 @@ /// \file mln/core/image/slice_image.hh /// -/// Definition of an image FIXME: Doc! +/// Definition of a 2D image extracted from a slice of a 3D image. /// /// \todo Write init_. @@ -89,7 +90,10 @@ namespace mln - /// FIXME: Doc! + /// \brief 2D image extracted from a slice of a 3D image. + /// + /// \ingroup modimagedomainmorpher + // template <typename I> struct slice_image : public internal::image_domain_morpher< I, box2d, diff --git a/milena/mln/core/image/sub_image.hh b/milena/mln/core/image/sub_image.hh index df4c7ba..09ba8b5 100644 --- a/milena/mln/core/image/sub_image.hh +++ b/milena/mln/core/image/sub_image.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,15 +29,15 @@ #ifndef MLN_CORE_IMAGE_SUB_IMAGE_HH # define MLN_CORE_IMAGE_SUB_IMAGE_HH -/*! - * \file mln/core/image/sub_image.hh - * - * \brief Definition of morpher that makes an image become restricted - * given by a point set. - * - * \todo Add a special case for "ima | box"; think about some other - * special cases... - */ + +/// \file mln/core/image/sub_image.hh +/// +/// Definition of morpher that makes an image become restricted +/// given by a point set. +/// +/// \todo Add a special case for "ima | box"; think about some other +/// special cases... + # include <mln/core/internal/image_domain_morpher.hh> @@ -97,8 +98,10 @@ namespace mln - // FIXME: Doc! - + /// \brief Image having its domain restricted by a site set. + /// + /// \ingroup modimagedomainmorpher + // template <typename I, typename S> struct sub_image : public internal::image_domain_morpher< I, S, diff --git a/milena/mln/core/image/sub_image_if.hh b/milena/mln/core/image/sub_image_if.hh index 820d618..f987330 100644 --- a/milena/mln/core/image/sub_image_if.hh +++ b/milena/mln/core/image/sub_image_if.hh @@ -28,13 +28,13 @@ #ifndef MLN_CORE_IMAGE_SUB_IMAGE_IF_HH # define MLN_CORE_IMAGE_SUB_IMAGE_IF_HH -/*! - * \file mln/core/image/sub_image_if.hh - * - * \brief FIXME DOC! - * - * \todo Activate preconditions. - */ + +/// \file mln/core/image/sub_image_if.hh +/// +/// Image having its domain restricted by a site set and a function. +/// +/// \todo Activate preconditions. + # include <mln/core/internal/image_domain_morpher.hh> # include <mln/core/site_set/p_if.hh> @@ -95,8 +95,9 @@ namespace mln - // FIXME: Doc! - + /// \brief Image having its domain restricted by a site set and a function. + /// + /// \ingroup modimagedomainmorpher template <typename I, typename S> struct sub_image_if : public internal::image_domain_morpher< I, p_if< S, fun::p2b::has<I> >, diff --git a/milena/mln/core/image/t_image.hh b/milena/mln/core/image/t_image.hh index 34e5992..0ff50a1 100644 --- a/milena/mln/core/image/t_image.hh +++ b/milena/mln/core/image/t_image.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,10 +29,9 @@ #ifndef MLN_CORE_IMAGE_T_IMAGE_HH # define MLN_CORE_IMAGE_T_IMAGE_HH -/*! \file mln/core/image/t_image.hh - * - * \brief Definition of the "transposed" image class mln::t_image. - */ +/// \file mln/core/image/t_image.hh +/// +/// Definition of the "transposed" image class mln::t_image. # include <mln/core/internal/image_morpher.hh> # include <mln/core/site_set/box.hh> @@ -73,12 +73,14 @@ namespace mln } // end of namespace mln::internal - /*! \brief Transposed image class. - * - * Swap a couple of coordinates. - * - * \warning This class only works on images whose domain is a box. - */ + /// \brief Transposed image. + /// + /// Swap a couple of coordinates. + /// + /// \warning This class only works on images whose domain is a box. + /// + /// \ingroup modimagedomainmorpher + // template <typename I> class t_image : public internal::image_morpher<I, mln_value(I), mln_domain(I), t_image<I> > diff --git a/milena/mln/core/image/thru_morpher.hh b/milena/mln/core/image/thru_morpher.hh index 368bf61..c86d918 100644 --- a/milena/mln/core/image/thru_morpher.hh +++ b/milena/mln/core/image/thru_morpher.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -148,6 +148,10 @@ namespace mln }; } + /// \brief Morph image values through a function. + /// + /// \ingroup modimagevaluemorpher + // template <typename I, typename F> class thru_image : public internal::thru_find_impl<I, F>::ret { diff --git a/milena/mln/core/image/thrubin_morpher.hh b/milena/mln/core/image/thrubin_morpher.hh index c8d7696..05611d2 100644 --- a/milena/mln/core/image/thrubin_morpher.hh +++ b/milena/mln/core/image/thrubin_morpher.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +/// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -34,11 +34,10 @@ # include <mln/metal/bexpr.hh> # include <mln/trait/fun.hh> -/// /// \file mln/core/image/thrubin_morpher.hh /// -/// \brief Definition of a morpher that morph values from two images through a binary function. -/// +/// \brief Definition of a morpher that morph values from two images +/// through a binary function. namespace mln { @@ -121,6 +120,9 @@ namespace mln }; } + /// \brief Morphes values from two images through a binary function. + /// + /// \ingroup modimagevaluemorpher template <typename I, typename F> class thrubin_image : public internal::thrubin_find_impl<I, F>::ret { diff --git a/milena/mln/core/image/tr_image.hh b/milena/mln/core/image/tr_image.hh index 753f666..b73654c 100644 --- a/milena/mln/core/image/tr_image.hh +++ b/milena/mln/core/image/tr_image.hh @@ -76,8 +76,11 @@ namespace mln } // end of namespace mln::trait - /// Morpher that makes an image become transformed by a given - /// transformation. + + /// \brief Transform an image by a given transformation. + /// + /// \ingroup modimageidmorpher + // template <typename S, typename I, typename T> struct tr_image : public mln::internal::image_identity< I, mln_domain(I), tr_image<S,I,T> > diff --git a/milena/mln/core/image/unproject_image.hh b/milena/mln/core/image/unproject_image.hh index 31f069f..13ca285 100644 --- a/milena/mln/core/image/unproject_image.hh +++ b/milena/mln/core/image/unproject_image.hh @@ -90,7 +90,9 @@ namespace mln - /// FIXME: Doc! + /// \brief Un-projects an image. + /// + /// \ingroup modimagedomainmorpher template <typename I, typename D, typename F> struct unproject_image : public internal::image_domain_morpher< I, D, diff --git a/milena/mln/core/image/vertex_image.hh b/milena/mln/core/image/vertex_image.hh index 333750a..8184e3f 100644 --- a/milena/mln/core/image/vertex_image.hh +++ b/milena/mln/core/image/vertex_image.hh @@ -120,7 +120,10 @@ namespace mln } // end of namespace mln::internal - + /// \brief Image based on graph vertices. + /// + /// \ingroup modimageconcrete + // template <typename P, typename V, typename G = util::graph> class vertex_image : public pw::internal::image_base<fun::i2v::array<V>, diff --git a/milena/mln/core/image/violent_cast_image.hh b/milena/mln/core/image/violent_cast_image.hh index b9808f0..8f381e2 100644 --- a/milena/mln/core/image/violent_cast_image.hh +++ b/milena/mln/core/image/violent_cast_image.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,11 +29,10 @@ #ifndef MLN_CORE_IMAGE_VIOLENT_CAST_IMAGE_HH # define MLN_CORE_IMAGE_VIOLENT_CAST_IMAGE_HH -/*! \file mln/core/image/violent_cast_image.hh - * - * \brief Definition of an image morpher that make the user see the - * same image but with another data type. - */ +/// \file mln/core/image/violent_cast_image.hh +/// +/// definition of an image morpher that make the user see the +/// same image but with another data type. # include <mln/core/internal/image_value_morpher.hh> # include <mln/value/set.hh> @@ -107,10 +107,10 @@ namespace mln - /*! \brief Class of image morpher which takes an image to change its - * data type. - * - */ + /// \brief Violently cast image values to a given type. + /// + /// \ingroup modimagevaluemorpher + // template <typename T, typename I> struct violent_cast_image : public internal::image_value_morpher< I, T, violent_cast_image<T,I> > diff --git a/milena/mln/core/site_set/box.hh b/milena/mln/core/site_set/box.hh index 349b1f9..2d143c2 100644 --- a/milena/mln/core/site_set/box.hh +++ b/milena/mln/core/site_set/box.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -72,11 +72,13 @@ namespace mln } // end of namespace mln::trait - /*! \brief Generic box class: site set containing points of a - * regular grid. - * - * Parameter \c P is the corresponding type of point. - */ + /// \brief Generic box class: site set containing points of a + /// regular grid. + /// + /// Parameter \c P is the corresponding type of point. + /// + /// \ingroup modsitesetbasic + // template <typename P> struct box : public Box< box<P> >, public internal::box_impl_< P::dim, mln_coord(P), box<P> >, diff --git a/milena/mln/core/site_set/p_array.hh b/milena/mln/core/site_set/p_array.hh index ccb04fa..1cdc692 100644 --- a/milena/mln/core/site_set/p_array.hh +++ b/milena/mln/core/site_set/p_array.hh @@ -74,10 +74,12 @@ namespace mln - /// Site set class based on std::vector. + /// \brief Multi-set of sites. /// - /// This is a multi-set of sites. + /// Site set class based on std::vector. /// + /// \ingroup modsitesetsparse + // template <typename P> class p_array : public internal::site_set_base_< P, p_array<P> > { diff --git a/milena/mln/core/site_set/p_centered.hh b/milena/mln/core/site_set/p_centered.hh index ec75518..6ae6519 100644 --- a/milena/mln/core/site_set/p_centered.hh +++ b/milena/mln/core/site_set/p_centered.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,14 +29,14 @@ #ifndef MLN_CORE_SITE_SET_P_CENTERED_HH # define MLN_CORE_SITE_SET_P_CENTERED_HH -/*! \file mln/core/site_set/p_centered.hh - * - * \brief This file defines the site set corresponding to a window - * centered on a site. - * - * \todo Add the bkd iter. - * \todo Code is_valid() and change_target() for the site set. - */ +/// \file mln/core/site_set/p_centered.hh +/// +/// This file defines the site set corresponding to a window +/// centered on a site. +/// +/// \todo Add the bkd iter. +/// \todo Code is_valid() and change_target() for the site set. + # include <mln/core/internal/site_set_base.hh> # include <mln/core/internal/site_set_iterator_base.hh> @@ -71,6 +72,10 @@ namespace mln } // end of namespace mln::trait + /// \brief Site set corresponding to a window centered on a site. + /// + /// \ingroup modsitesetsparse + // template <typename W> class p_centered : public internal::site_set_base_< mln_psite(W), p_centered<W> >, private mlc_is_a(W, Window)::check_t @@ -120,7 +125,7 @@ namespace mln /// Give the window this site set is defined upon. const W& window() const; - + protected: W win_; diff --git a/milena/mln/core/site_set/p_complex.hh b/milena/mln/core/site_set/p_complex.hh index cfeb0c2..6c0c6a0 100644 --- a/milena/mln/core/site_set/p_complex.hh +++ b/milena/mln/core/site_set/p_complex.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -111,6 +112,9 @@ namespace mln \arg \p G A function object type, associating localization information (geometry) to each face of the complex. \see mln::geom::complex_geometry. */ + /// \brief A complex psite set based on the N-faces of a complex. + /// + /// \ingroup modsitesetcomplex template <unsigned D, typename G> class p_complex : public internal::site_set_base_< complex_psite<D, G>, p_complex<D, G> > diff --git a/milena/mln/core/site_set/p_edges.hh b/milena/mln/core/site_set/p_edges.hh index 06af1d3..f0c60da 100644 --- a/milena/mln/core/site_set/p_edges.hh +++ b/milena/mln/core/site_set/p_edges.hh @@ -65,6 +65,10 @@ namespace mln } // end of namespace mln::trait + /// \brief Site set mapping graph edges and image sites. + /// + /// \ingroup modsitesetgraph + // template <typename G, typename F = util::internal::id2element<G,util::edge<G> > > class p_edges : public internal::site_set_base_< mln_result(F), p_edges<G, F> > diff --git a/milena/mln/core/site_set/p_faces.hh b/milena/mln/core/site_set/p_faces.hh index a3c8cae..2b387b2 100644 --- a/milena/mln/core/site_set/p_faces.hh +++ b/milena/mln/core/site_set/p_faces.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2008,2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -29,7 +30,8 @@ # define MLN_CORE_SITE_SET_P_FACES_HH /// \file mln/core/site_set/p_faces.hh -/// \brief Definition of a point set based on the set of n-faces of a +/// +/// definition of a point set based on the set of n-faces of a /// complex. # include <mln/core/internal/site_set_base.hh> @@ -70,8 +72,10 @@ namespace mln } // end of namespace mln::trait - /// A complex psite set based on a the \tparam N -faces of a complex of - /// dimension \tparam D (a \p D-complex). + /// \brief A complex psite set based on a the N-faces of a complex of + /// dimension D (a D-complex). + /// + /// \ingroup modsitesetgraph template <unsigned N, unsigned D, typename P> struct p_faces : public internal::site_set_base_< faces_psite<N, D, P>, diff --git a/milena/mln/core/site_set/p_if.hh b/milena/mln/core/site_set/p_if.hh index 988ea4a..d55cc40 100644 --- a/milena/mln/core/site_set/p_if.hh +++ b/milena/mln/core/site_set/p_if.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,12 +29,11 @@ #ifndef MLN_CORE_SITE_SET_P_IF_HH # define MLN_CORE_SITE_SET_P_IF_HH -/*! \file mln/core/site_set/p_if.hh - * - * \brief Definition of the restriction of a site set w.r.t. a predicate. - * - * \todo Change s_ attribute type to S*. - */ +/// \file mln/core/site_set/p_if.hh +/// +/// Definition of the restriction of a site set w.r.t. a predicate. +/// +/// \todo Change s_ attribute type to S*. # include <mln/core/internal/site_set_base.hh> # include <mln/core/concept/function.hh> @@ -42,7 +42,7 @@ namespace mln { - // Fwd decls. + // Forward declarations. template <typename S, typename F> struct p_if; template <typename Pi, typename S, typename F> struct p_if_piter_; @@ -74,8 +74,10 @@ namespace mln - /*! \brief Generic subset class. - * + /// \brief Site set restricted w.r.t. a predicate. + /// + /// \ingroup modsitesetsparse + /*! * Parameter \c S is a site set type; parameter F is a function * from point to Boolean. */ diff --git a/milena/mln/core/site_set/p_image.hh b/milena/mln/core/site_set/p_image.hh index ca0d64f..b52a6b3 100644 --- a/milena/mln/core/site_set/p_image.hh +++ b/milena/mln/core/site_set/p_image.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -29,13 +30,13 @@ # define MLN_CORE_SITE_SET_P_IMAGE_HH -/*! \file mln/core/site_set/p_image.hh - * - * \brief Definition of a site set class based on an image of - * Booleans. - * - * \todo Add an init method (deferred initialization). - */ +/// \file mln/core/site_set/p_image.hh +/// +/// Definition of a site set class based on an image of +/// Booleans. +/// +/// \todo Add an init method (deferred initialization). + # include <mln/core/site_set/p_if.hh> # include <mln/fun/ops.hh> @@ -67,7 +68,9 @@ namespace mln } // end of namespace trait - + /// \brief Site set based on an image of Booleans. + /// + /// \ingroup modsitesetsparse template <typename I> class p_image : public internal::site_set_base_< mln_psite(I), p_image<I> > { diff --git a/milena/mln/core/site_set/p_key.hh b/milena/mln/core/site_set/p_key.hh index a265a92..befd39e 100644 --- a/milena/mln/core/site_set/p_key.hh +++ b/milena/mln/core/site_set/p_key.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,12 +29,11 @@ #ifndef MLN_CORE_SITE_SET_P_KEY_HH # define MLN_CORE_SITE_SET_P_KEY_HH -/*! \file mln/core/site_set/p_key.hh - * - * \brief Definition of a FIXME - * - * \todo Be more verbose in run_(). - */ +/// \file mln/core/site_set/p_key.hh +/// +/// Definition of a priority queue class. +/// +/// \todo Be more verbose in run_(). # include <map> # include <mln/core/concept/function.hh> @@ -68,10 +68,9 @@ namespace mln - /*! \brief Priority queue class. - * - * FIXME - */ + /// \brief Priority queue class. + /// + /// \ingroup modsitesetqueue template <typename K, typename P> class p_key : public internal::site_set_base_< P, p_key<K,P> > diff --git a/milena/mln/core/site_set/p_line2d.hh b/milena/mln/core/site_set/p_line2d.hh index 5b0a228..4594a1a 100644 --- a/milena/mln/core/site_set/p_line2d.hh +++ b/milena/mln/core/site_set/p_line2d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -74,7 +74,11 @@ namespace mln - /// 2D line point set class. + /// \brief 2D discrete line of points. + /// It is based on p_array. + /// + /// \ingroup modsitesetbasic + // class p_line2d : public internal::site_set_base_< point2d, p_line2d > { typedef p_line2d self_; diff --git a/milena/mln/core/site_set/p_mutable_array_of.hh b/milena/mln/core/site_set/p_mutable_array_of.hh index 627279a..7dd481f 100644 --- a/milena/mln/core/site_set/p_mutable_array_of.hh +++ b/milena/mln/core/site_set/p_mutable_array_of.hh @@ -69,10 +69,11 @@ namespace mln - /*! \brief p_mutable_array_of is a mutable array of site sets. - * - * Parameter \c S is the type of the contained site sets. - */ + /// \brief p_mutable_array_of is a mutable array of site sets. + /// + /// Parameter \c S is the type of the contained site sets. + /// + /// \ingroup modsitesetbasic template <typename S> class p_mutable_array_of : public internal::site_set_base_< mln_site(S), p_mutable_array_of<S> >, diff --git a/milena/mln/core/site_set/p_priority.hh b/milena/mln/core/site_set/p_priority.hh index 0e4b7fa..cb490fc 100644 --- a/milena/mln/core/site_set/p_priority.hh +++ b/milena/mln/core/site_set/p_priority.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -65,8 +65,10 @@ namespace mln - /*! \brief Priority queue class. - * + /// \brief Priority queue. + /// + /// \ingroup modsitesetqueue + /*! * The parameter \p P is the type of the priorities (for instance * unsigned). * @@ -76,7 +78,7 @@ namespace mln template <typename P, typename Q> class p_priority : public internal::site_set_base_< mln_site(Q), p_priority<P,Q> >, - private mlc_is_a(Q, Site_Set)::check_t + private mlc_is_a(Q, Site_Set)::check_t { typedef p_priority<P,Q> self_; public: diff --git a/milena/mln/core/site_set/p_queue.hh b/milena/mln/core/site_set/p_queue.hh index d6fc400..920f9ba 100644 --- a/milena/mln/core/site_set/p_queue.hh +++ b/milena/mln/core/site_set/p_queue.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,10 +29,10 @@ #ifndef MLN_CORE_SITE_SET_P_QUEUE_HH # define MLN_CORE_SITE_SET_P_QUEUE_HH -/*! \file mln/core/site_set/p_queue.hh - * - * \brief Definition of a site set based on std::deque. - * +/// \file mln/core/site_set/p_queue.hh +/// +/// Definition of a site set based on std::deque. +/*! * \todo Rename 'front' because it is ambiguous for C++ users; we * have: * - 'p_queue::pop' means 'deque::pop_front' @@ -66,8 +67,10 @@ namespace mln - /*! \brief Queue of sites (based on std::deque). - * + /// \brief Queue of sites (based on std::deque). + /// + /// \ingroup modsitesetqueue + /*! * The parameter \c P shall be a site or pseudo-site type. */ template <typename P> diff --git a/milena/mln/core/site_set/p_queue_fast.hh b/milena/mln/core/site_set/p_queue_fast.hh index 97aab6e..ed3d2eb 100644 --- a/milena/mln/core/site_set/p_queue_fast.hh +++ b/milena/mln/core/site_set/p_queue_fast.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,13 +29,12 @@ #ifndef MLN_CORE_SITE_SET_P_QUEUE_FAST_HH # define MLN_CORE_SITE_SET_P_QUEUE_FAST_HH -/*! \file mln/core/site_set/p_queue_fast.hh - * - * \brief Definition of a queue of sites that is fast but uses extra - * memory w.r.t. a simple queue. - * - * \todo Add insert. - */ +/// \file mln/core/site_set/p_queue_fast.hh +/// +/// Definition of a queue of sites that is fast but uses extra +/// memory w.r.t. a simple queue. +/// +/// \todo Add insert. # include <mln/core/site_set/p_array.hh> @@ -63,8 +63,10 @@ namespace mln - /*! \brief Queue of sites class (based on p_array<P>). - * + /// \brief Queue of sites class (based on p_array<P>). + /// + /// \ingroup modsitesetqueue + /*! * This container is efficient; FIXME: explain... * * The parameter \c P shall be a site or pseudo-site type. diff --git a/milena/mln/core/site_set/p_run.hh b/milena/mln/core/site_set/p_run.hh index af7588f..a50b74a 100644 --- a/milena/mln/core/site_set/p_run.hh +++ b/milena/mln/core/site_set/p_run.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,12 +29,11 @@ #ifndef MLN_CORE_SITE_SET_P_RUN_HH # define MLN_CORE_SITE_SET_P_RUN_HH -/*! \file mln/core/site_set/p_run.hh - * - * \brief Definition of a run of points. - * - * \todo Use a lazy approach (in subj) like in p_array psite. - */ +/// \file mln/core/site_set/p_run.hh +/// +/// Definition of a run of points. +/// +/// \todo Use a lazy approach (in subj) like in p_array psite. # include <mln/core/internal/site_set_base.hh> # include <mln/core/site_set/box.hh> @@ -76,8 +76,10 @@ namespace mln - /*! \brief Point set class in run. - * + /// \brief Point set class in run. + /// + /// \ingroup modsitesetbasic + /*! * This is a mathematical set of points (not a multi-set). The * parameter \p P shall be a Point type. * diff --git a/milena/mln/core/site_set/p_set.hh b/milena/mln/core/site_set/p_set.hh index 8461171..7c473e0 100644 --- a/milena/mln/core/site_set/p_set.hh +++ b/milena/mln/core/site_set/p_set.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -61,8 +61,10 @@ namespace mln - /*! \brief Point set class based on util::set. - * + /// \brief Mathematical set of sites (based on util::set). + /// + /// \ingroup modsitesetsparse + /*! * This is a mathematical set of sites (not a multi-set). * * The parameter \c P shall be a site or pseudo-site type. diff --git a/milena/mln/core/site_set/p_vaccess.hh b/milena/mln/core/site_set/p_vaccess.hh index 25b8e5c..1ca999f 100644 --- a/milena/mln/core/site_set/p_vaccess.hh +++ b/milena/mln/core/site_set/p_vaccess.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -66,7 +66,9 @@ namespace mln - /// FIXME + /// \brief Site set in which sites are grouped by their associated value. + /// + /// \ingroup modsitesetsparse template <typename V, typename S> class p_vaccess : public internal::site_set_base_< mln_site(S), p_vaccess<V,S> >, diff --git a/milena/mln/core/site_set/p_vertices.hh b/milena/mln/core/site_set/p_vertices.hh index f158626..aacf419 100644 --- a/milena/mln/core/site_set/p_vertices.hh +++ b/milena/mln/core/site_set/p_vertices.hh @@ -31,7 +31,7 @@ /// \file mln/core/site_set/p_vertices.hh /// -/// Definition of a point set based on a graph. +/// Definition of a point set based on graph vertices. # include <mln/core/concept/function.hh> # include <mln/core/internal/site_set_base.hh> @@ -65,6 +65,10 @@ namespace mln } // end of namespace mln::trait + /// \brief Site set based mapping graph vertices to sites. + /// + /// \ingroup modsitesetgraph + // template <typename G, typename F = util::internal::id2element<G,util::vertex<G> > > class p_vertices : public internal::site_set_base_< mln_result(F), p_vertices<G,F> > diff --git a/milena/mln/fun/i2v/all.hh b/milena/mln/fun/i2v/all.hh index cc52d88..ec0c65d 100644 --- a/milena/mln/fun/i2v/all.hh +++ b/milena/mln/fun/i2v/all.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,10 +29,9 @@ #ifndef MLN_FUN_I2V_ALL_HH # define MLN_FUN_I2V_ALL_HH -/*! \file mln/fun/i2v/all.hh - * - * \brief File that includes all functions from index to value. - */ +/// \file mln/fun/i2v/all.hh +/// +/// File that includes all functions from index to value. namespace mln @@ -40,10 +40,12 @@ namespace mln namespace fun { - /// Namespace of functions from index to value. - namespace i2v - { - } + /// \brief Functions from index to value. + /// + /// \ingroup modfun + // + namespace i2v {} + } } diff --git a/milena/mln/fun/meta/inty.hh b/milena/mln/fun/meta/inty.hh index 100641d..4f370a9 100644 --- a/milena/mln/fun/meta/inty.hh +++ b/milena/mln/fun/meta/inty.hh @@ -29,7 +29,7 @@ #ifndef MLN_FUN_META_INTY_HH # define MLN_FUN_META_INTY_HH -/// \file mln/fun/meta/infy.hh +/// \file mln/fun/meta/inty.hh /// /// Meta function to retrieve/modify the color intensity. diff --git a/milena/mln/fun/meta/lum.hh b/milena/mln/fun/meta/lum.hh index 2c987b9..9378c48 100644 --- a/milena/mln/fun/meta/lum.hh +++ b/milena/mln/fun/meta/lum.hh @@ -29,7 +29,7 @@ #ifndef MLN_FUN_META_LUM_HH # define MLN_FUN_META_LUM_HH -/// \file mln/fun/meta/infy.hh +/// \file mln/fun/meta/lum.hh /// /// Meta function to retrieve/modify the color luminosity. diff --git a/milena/mln/pw/image.hh b/milena/mln/pw/image.hh index d01ff32..9bd6b87 100644 --- a/milena/mln/pw/image.hh +++ b/milena/mln/pw/image.hh @@ -84,9 +84,12 @@ namespace mln namespace pw { - /// A generic point-wise image implementation. + /// \brief A generic point-wise image implementation. /// Parameter \p F is a function restricting the domain. /// Parameter \p S is the domain type. + /// + /// \ingroup modimageconcrete + // template <typename F, typename S> class image : public pw::internal::image_base< F, S, image<F,S> > diff --git a/milena/mln/topo/is_n_face.hh b/milena/mln/topo/is_n_face.hh index 33bce33..a43f072 100644 --- a/milena/mln/topo/is_n_face.hh +++ b/milena/mln/topo/is_n_face.hh @@ -29,6 +29,7 @@ # define MLN_TOPO_IS_N_FACE_HH /// \file mln/topo/is_facet.hh +/// /// \brief Testing whether an mln::complex_psite is an n-face. # include <mln/core/site_set/complex_psite.hh> @@ -44,7 +45,7 @@ namespace mln // Forward declaration. template <unsigned N> struct is_n_face; - /// A functor testing wheter a mln::complex_psite is an \N-face. + /// A functor testing wheter a mln::complex_psite is an \p N -face. template <unsigned N> struct is_n_face : public mln::Function_p2b< is_n_face<N> > { diff --git a/milena/mln/util/array.hh b/milena/mln/util/array.hh index f48d242..fd1f85b 100644 --- a/milena/mln/util/array.hh +++ b/milena/mln/util/array.hh @@ -83,12 +83,15 @@ namespace mln template <typename T> class array_bkd_iter; - /// A dynamic array class. + /// \brief A dynamic array class. /// /// Elements are stored by copy. Implementation is lazy. /// /// The parameter \c T is the element type, which shall not be /// const-qualified. + /// + /// \ingroup modutil + // template <typename T> class array : public Function_i2v< mln::util::array<T> > { diff --git a/milena/mln/util/couple.hh b/milena/mln/util/couple.hh index 5f43c27..33ba8e0 100644 --- a/milena/mln/util/couple.hh +++ b/milena/mln/util/couple.hh @@ -44,6 +44,9 @@ namespace mln namespace util { + /// \brief Definition of a couple. + /// + /// \ingroup modutil template <typename T, typename U> class couple : public mln::Object< couple<T,U> > { diff --git a/milena/mln/util/fibonacci_heap.hh b/milena/mln/util/fibonacci_heap.hh index 597d87a..e3b1345 100644 --- a/milena/mln/util/fibonacci_heap.hh +++ b/milena/mln/util/fibonacci_heap.hh @@ -131,6 +131,9 @@ namespace mln | Fibonacci Heap Class | `---------------------*/ + /// \brief Fibonacci heap. + /// + /// \ingroup modutil template <typename P, typename T> class fibonacci_heap : public Object< fibonacci_heap<P,T> > { diff --git a/milena/mln/util/graph.hh b/milena/mln/util/graph.hh index 0614b61..fb0425f 100644 --- a/milena/mln/util/graph.hh +++ b/milena/mln/util/graph.hh @@ -82,7 +82,10 @@ namespace mln namespace util { - /// Undirected graph. + /// \brief Undirected graph. + /// + /// \ingroup modgraph + // class graph : public internal::graph_base<graph> { /// The super class. diff --git a/milena/mln/util/line_graph.hh b/milena/mln/util/line_graph.hh index 8ecf7b2..686a24f 100644 --- a/milena/mln/util/line_graph.hh +++ b/milena/mln/util/line_graph.hh @@ -77,7 +77,10 @@ namespace mln namespace util { - /// Undirected line graph of a graph of type \tparam G. + /// \brief Undirected line graph of a graph of type \tparam G. + /// + /// \ingroup modgraph + // template <typename G> class line_graph : public internal::graph_base< line_graph<G> > { diff --git a/milena/mln/util/ord_pair.hh b/milena/mln/util/ord_pair.hh index 674b98a..bdb5f94 100644 --- a/milena/mln/util/ord_pair.hh +++ b/milena/mln/util/ord_pair.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -43,9 +43,12 @@ namespace mln namespace util { - /// Ordered pair structure s.a. this->first <= this->second; + /// \brief Ordered pair structure s.a. this->first <= this->second; /// ordered pairs are partially ordered using lexicographical /// ordering. + /// + /// \ingroup modutil + // template <typename T> struct ord_pair : public mln::Object< ord_pair<T> > { diff --git a/milena/mln/util/set.hh b/milena/mln/util/set.hh index 0401c69..929b77d 100644 --- a/milena/mln/util/set.hh +++ b/milena/mln/util/set.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -76,6 +76,9 @@ namespace mln /// mechanism. /// /// \see mln::util::ord + /// + /// \ingroup modutil + // template <typename T> class set : public Object< mln::util::set<T> > { diff --git a/milena/mln/util/site_pair.hh b/milena/mln/util/site_pair.hh index 0dbc531..b322290 100644 --- a/milena/mln/util/site_pair.hh +++ b/milena/mln/util/site_pair.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,6 +46,11 @@ namespace mln types to have a `coord' typedef, but util::ord_pair has none. Hence this small workaround. Use ord_pair directly as soon as image_base is refurbished. */ + /// \brief A pair of sites. + /// It can be used as site. + /// + /// \ingroup modutil + // template <typename P> class site_pair : public mln::Object< site_pair<P> > { diff --git a/milena/mln/util/soft_heap.hh b/milena/mln/util/soft_heap.hh index e0f8768..116c781 100644 --- a/milena/mln/util/soft_heap.hh +++ b/milena/mln/util/soft_heap.hh @@ -170,8 +170,12 @@ namespace mln + /// \brief Soft heap. /// T key, the data to store in the heap. For instance a point 2d. /// R rank, for instance int_u8 + /// + /// \ingroup modutil + // template <typename T, typename R> class soft_heap : public Object< soft_heap<T,R> > { diff --git a/milena/mln/win/backdiag2d.hh b/milena/mln/win/backdiag2d.hh index ecea98e..38e9948 100644 --- a/milena/mln/win/backdiag2d.hh +++ b/milena/mln/win/backdiag2d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,19 +45,23 @@ namespace mln namespace win { - + /*! \brief Diagonal line window defined on the 2D square grid. * * An backdiag2d is centered and symmetric. * its width (length) is odd. * - * For instance: \n - * o \n - * o \n - * x \n - * o \n - * o \n + * For instance: + * \verbatim + * o + * o + * x + * o + * o + * \endverbatim * is defined with length = 5. + * + * \ingroup modwin2d */ struct backdiag2d : public internal::classical_window_base< dpoint2d, backdiag2d > { diff --git a/milena/mln/win/ball.hh b/milena/mln/win/ball.hh index 4dd4807..ba14475 100644 --- a/milena/mln/win/ball.hh +++ b/milena/mln/win/ball.hh @@ -59,13 +59,15 @@ namespace mln namespace win { - + /*! \brief Generic ball window defined on a given grid. * * A ball is centered and symmetric; so its diameter is odd. * * G is the given grid on which the ball is defined and C is the * type of coordinates. + * + * \ingroup modwinnd */ template <typename G, typename C> struct ball : public internal::classical_window_base< dpoint<G,C>, ball<G,C> > @@ -75,7 +77,7 @@ namespace mln /// \param[in] diameter Diameter of the ball. /// \pre \p diameter is odd. ball(unsigned diameter); - + /// Give the ball diameter. unsigned diameter() const; diff --git a/milena/mln/win/cube3d.hh b/milena/mln/win/cube3d.hh index c3863b6..e2802c1 100644 --- a/milena/mln/win/cube3d.hh +++ b/milena/mln/win/cube3d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -51,19 +51,23 @@ namespace mln * An cube3d is centered and symmetric; so * its height (length) is odd. * - * For instance: \n - * o o o \n - * o o o \n - * o o o \n - - * o o o \n - * o x o \n - * o o o \n - - * o o o \n - * o o o \n - * o o o \n + * For instance: + * \verbatim + * o o o + * o o o + * o o o + + * o o o + * o x o + * o o o + + * o o o + * o o o + * o o o + * \endverbatim * is defined with length = 3. + * + * \ingroup modwin3d */ struct cube3d : public internal::classical_window_base< dpoint3d, cube3d > { diff --git a/milena/mln/win/cuboid3d.hh b/milena/mln/win/cuboid3d.hh index b642dfd..990c239 100644 --- a/milena/mln/win/cuboid3d.hh +++ b/milena/mln/win/cuboid3d.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -51,30 +52,33 @@ namespace mln rectangular prism or rectangular parallelepiped) shape. It is centered and symmetric. - For instance: \n - - o o o o o o o\n - o o o o o o o\n - o o o o o o o\n - o o o o o o o\n - o o o o o o o\n - - o o o o o o o\n - o o o o o o o\n - o o o x o o o\n - o o o o o o o\n - o o o o o o o\n - - o o o o o o o\n - o o o o o o o\n - o o o o o o o\n - o o o o o o o\n - o o o o o o o\n + For instance: + \verbatim + o o o o o o o + o o o o o o o + o o o o o o o + o o o o o o o + o o o o o o o + + o o o o o o o + o o o o o o o + o o o x o o o + o o o o o o o + o o o o o o o + + o o o o o o o + o o o o o o o + o o o o o o o + o o o o o o o + o o o o o o o + \endverbatim is defined with depth = 3, height = 5 and width = 7. Reference: http://en.wikipedia.org/wiki/Cuboid + + \ingroup modwin3d */ struct cuboid3d : public internal::classical_window_base< dpoint3d, cuboid3d > { diff --git a/milena/mln/win/diag2d.hh b/milena/mln/win/diag2d.hh index 41dcd6f..d4432af 100644 --- a/milena/mln/win/diag2d.hh +++ b/milena/mln/win/diag2d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -45,19 +45,23 @@ namespace mln namespace win { - + /*! \brief Diagonal line window defined on the 2D square grid. * * An diag2d is centered and symmetric. * its width (length) is odd. * - * For instance: \n - * o \n - * o \n - * x \n - * o \n - * o \n + * For instance: + * \verbatim + * o + * o + * x + * o + * o + * \endverbatim * is defined with length = 5. + * + * \ingroup modwin2d */ struct diag2d : public internal::classical_window_base< dpoint2d, diag2d > { diff --git a/milena/mln/win/disk2d.hh b/milena/mln/win/disk2d.hh index 877d526..f388ad3 100644 --- a/milena/mln/win/disk2d.hh +++ b/milena/mln/win/disk2d.hh @@ -43,9 +43,11 @@ namespace mln namespace win { - - /// 2D disk window; precisely, ball-shaped window defined on the + + /// \brief 2D disk window; precisely, ball-shaped window defined on the /// 2D square grid. + /// + /// \ingroup modwin2d // typedef ball<grid::square, def::coord> disk2d; diff --git a/milena/mln/win/hline2d.hh b/milena/mln/win/hline2d.hh index 18c7546..27e9d61 100644 --- a/milena/mln/win/hline2d.hh +++ b/milena/mln/win/hline2d.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,10 +29,10 @@ #ifndef MLN_WIN_HLINE2D_HH # define MLN_WIN_HLINE2D_HH -/*! \file mln/win/hline2d.hh - * - * \brief Definition of the mln::win::hline2d window. - */ +/// \file mln/win/hline2d.hh +/// +/// Definition of the mln::win::hline2d window. + # include <mln/win/line.hh> # include <mln/core/grids.hh> @@ -42,15 +43,19 @@ namespace mln namespace win { - + /*! \brief Horizontal line window defined on the 2D square grid. - * - * An hline2d is centered and symmetric; so its height is 1 and - * its width (length) is odd. - * - * For instance: \n - * o o x o o \n - * is defined with length = 5. + + An hline2d is centered and symmetric; so its height is 1 and + its width (length) is odd. + + For instance: + \verbatim + o o x o o + \endverbatim + is defined with length = 5. + + \ingroup modwin2d */ typedef line<grid::square, 1, def::coord> hline2d; diff --git a/milena/mln/win/line.hh b/milena/mln/win/line.hh index eab37cf..15f9fb7 100644 --- a/milena/mln/win/line.hh +++ b/milena/mln/win/line.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -58,7 +58,7 @@ namespace mln namespace win { - + /*! \brief Generic line window defined on a given grid in the * given dimension. * @@ -69,6 +69,8 @@ namespace mln * coordinates. * * \see mln::win::hline2d for an exemple of his use. + * + * \ingroup modwinnd */ template <typename M, unsigned i, typename C> struct line : public internal::classical_window_base< dpoint<M, C>, line<M,i,C> > diff --git a/milena/mln/win/multiple.hh b/milena/mln/win/multiple.hh index 138f8f3..53b88bc 100644 --- a/milena/mln/win/multiple.hh +++ b/milena/mln/win/multiple.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2008 EPITA Research and Development Laboratory +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory +// (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,12 +29,11 @@ #ifndef MLN_WIN_MULTIPLE_HH # define MLN_WIN_MULTIPLE_HH -/*! \file mln/win/multiple.hh - * - * \brief Definition of a multiple window. - * - * \todo Implementation of the bkd_qiter (see FIXME). - */ +/// \file mln/win/multiple.hh +/// +/// Definition of a multiple window. +/// +/// \todo Implementation of the bkd_qiter (see FIXME). # include <mln/core/internal/window_base.hh> # include <mln/core/internal/site_relative_iterator_base.hh> @@ -71,6 +71,10 @@ namespace mln namespace win { + + /// \brief Multiple window. + /// + /// \ingroup modwinmulti template <typename W, typename F> class multiple diff --git a/milena/mln/win/multiple_size.hh b/milena/mln/win/multiple_size.hh index 8760b9c..efd8dc5 100644 --- a/milena/mln/win/multiple_size.hh +++ b/milena/mln/win/multiple_size.hh @@ -72,6 +72,10 @@ namespace mln namespace win { + /// \brief Definition of a multiple-size window. + /// + /// \ingroup modwinmulti + // template <unsigned n, typename W, typename F> class multiple_size diff --git a/milena/mln/win/octagon2d.hh b/milena/mln/win/octagon2d.hh index b839010..98a9048 100644 --- a/milena/mln/win/octagon2d.hh +++ b/milena/mln/win/octagon2d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -54,14 +54,18 @@ namespace mln * where l >= 0. * * For instance: \n - * o o o \n - * o o o o o \n - * o o o o o o o \n - * o o o x o o o \n - * o o o o o o o \n - * o o o o o \n - * o o o \n + * \verbatim + * o o o + * o o o o o + * o o o o o o o + * o o o x o o o + * o o o o o o o + * o o o o o + * o o o + * \endverbatim * is defined with L = 7 (l = 1). + * + * \ingroup modwin2d */ struct octagon2d : public internal::classical_window_base< dpoint2d, octagon2d > { diff --git a/milena/mln/win/rectangle2d.hh b/milena/mln/win/rectangle2d.hh index dd807ac..311c49d 100644 --- a/milena/mln/win/rectangle2d.hh +++ b/milena/mln/win/rectangle2d.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,12 +29,11 @@ #ifndef MLN_WIN_RECTANGLE2D_HH # define MLN_WIN_RECTANGLE2D_HH -/*! \file mln/win/rectangle2d.hh - * - * \brief Definition of the mln::win::rectangle2d window. - * - * \todo Reactivate includes at EOF. - */ +/// \file mln/win/rectangle2d.hh +/// +/// Definition of the mln::win::rectangle2d window. +/// +/// \todo Reactivate includes at EOF. # include <mln/core/internal/classical_window_base.hh> # include <mln/core/alias/dpoint2d.hh> @@ -54,11 +54,15 @@ namespace mln * A rectangle2d is a 2D window with rectangular shape. It is * centered and symmetric. * - * For instance: \n - * o o o o o \n - * o o x o o \n - * o o o o o \n + * For instance: + * \verbatim + * o o o o o + * o o x o o + * o o o o o + * \endverbatim * is defined with height = 3 and width = 5. + * + * \ingroup modwin2d */ struct rectangle2d : public internal::classical_window_base< dpoint2d, rectangle2d > { diff --git a/milena/mln/win/segment1d.hh b/milena/mln/win/segment1d.hh index 8d992ed..bc67e54 100644 --- a/milena/mln/win/segment1d.hh +++ b/milena/mln/win/segment1d.hh @@ -1,5 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory -// (LRDE) +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -44,13 +44,17 @@ namespace mln { /*! \brief Segment window defined on the 1D grid. - * - * An segment1d is centered and symmetric; so - * its height (length) is odd. - * - * For instance: \n - * o x o \n - * is defined with length = 3. + + An segment1d is centered and symmetric; so + its height (length) is odd. + + For instance: + \verbatim + o x o + \endverbatim + is defined with length = 3. + + \ingroup modwin1d */ typedef line<grid::tick, 0, def::coord> segment1d; diff --git a/milena/mln/win/shift.hh b/milena/mln/win/shift.hh index ef127ff..1b38e35 100644 --- a/milena/mln/win/shift.hh +++ b/milena/mln/win/shift.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,10 +29,9 @@ #ifndef MLN_WIN_SHIFT_HH # define MLN_WIN_SHIFT_HH -/*! \file mln/win/shift.hh - * - * \brief Define a function which shifts a window with a delta-point. - */ +/// \file mln/win/shift.hh +/// +/// Define a function which shifts a window with a delta-point. # include <mln/core/window.hh> diff --git a/milena/mln/win/sphere3d.hh b/milena/mln/win/sphere3d.hh index 3767f4d..1a9c2a2 100644 --- a/milena/mln/win/sphere3d.hh +++ b/milena/mln/win/sphere3d.hh @@ -42,10 +42,11 @@ namespace mln namespace win { - - /// 3D sphere window; precisely, ball-shaped window defined on the + + /// \brief 3D sphere window; precisely, ball-shaped window defined on the /// 3D cubic grid. - // + /// + /// \ingroup modwin3d typedef ball<grid::cube, def::coord> sphere3d; diff --git a/milena/mln/win/vline2d.hh b/milena/mln/win/vline2d.hh index a1c43fb..8282d12 100644 --- a/milena/mln/win/vline2d.hh +++ b/milena/mln/win/vline2d.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,10 +29,9 @@ #ifndef MLN_WIN_VLINE2D_HH # define MLN_WIN_VLINE2D_HH -/*! \file mln/win/vline2d.hh - * - * \brief Definition of the mln::win::vline2d window. - */ +/// \file mln/win/vline2d.hh +/// +/// Definition of the mln::win::vline2d window. # include <mln/win/line.hh> # include <mln/core/grids.hh> @@ -42,17 +42,21 @@ namespace mln namespace win { - + /*! \brief Vertical line window defined on the 2D square grid. - * - * An vline2d is centered and symmetric; so its width is 1 and - * its height (length) is odd. - * - * For instance: \n - * o \n - * x \n - * o \n - * is defined with length = 3. + + An vline2d is centered and symmetric; so its width is 1 and + its height (length) is odd. + + For instance: + \verbatim + o + x + o + \endverbatim + is defined with length = 3. + + \ingroup modwin2d */ typedef line<grid::square, 0, def::coord> vline2d; diff --git a/milena/tests/transform/distance_and_closest_point_geodesic.cc b/milena/tests/transform/distance_and_closest_point_geodesic.cc index 368256b..0f2fccd 100644 --- a/milena/tests/transform/distance_and_closest_point_geodesic.cc +++ b/milena/tests/transform/distance_and_closest_point_geodesic.cc @@ -26,7 +26,7 @@ // reasons why the executable file might be covered by the GNU General // Public License. -/// \file tests/transform/closest_point_geodesic.cc +/// \file tests/transform/distance_and_closest_point_geodesic.cc /// /// Test on mln::transform::closest_point_geodesic. diff --git a/milena/tests/util/graph.cc b/milena/tests/util/graph.cc index 7e3910e..e40fbdb 100644 --- a/milena/tests/util/graph.cc +++ b/milena/tests/util/graph.cc @@ -84,7 +84,7 @@ int main () { unsigned i = 0; for_all(n) - mln_assertion(i++ == n.id()); + mln_assertion(i++ == n.index()); mln_assertion(i != 0); } } @@ -95,7 +95,7 @@ int main () { unsigned i = v.nmax_nbh_edges(); for_all(e) - mln_assertion(--i == e.id()); + mln_assertion(--i == e.index()); mln_assertion((v.nmax_nbh_edges() == 0 && i == 0) || i != v.nmax_nbh_edges()); } } diff --git a/milena/tests/util/soft_heap.cc b/milena/tests/util/soft_heap.cc index 86ce8eb..9850b12 100644 --- a/milena/tests/util/soft_heap.cc +++ b/milena/tests/util/soft_heap.cc @@ -25,7 +25,7 @@ // reasons why the executable file might be covered by the GNU General // Public License. -/// \file mln/util/soft_heap.cc +/// \file tests/util/soft_heap.cc /// /// Test for the soft heap (approximate priority queue). -- 1.5.6.5