1. 12 Aug, 2008 1 commit
  2. 11 Aug, 2008 9 commits
    • Roland Levillain's avatar
      Add a complex-base image type. · 0a619acf
      Roland Levillain authored
      	* mln/core/complex_image.hh: New.
      	* mln/trait/ch_value.hh
      	(mln::trait::impl::ch_value_<M<D, tag::psite_<P>, tag::value_<T> >, V>):
      	New specialization for mln::complex_image<D, P, T>.
      	* mln/core/p_complex.hh (mln::p_complex<D, P>::cplx):
      	New mutable accessor.
      	* mln/core/complex_psite.hh
      	(mln::complex_psite<D, P>::n)
      	(mln::complex_psite<D, P>::face_id):
      	New accessors.
      	* mln/core/face.hh
      	(any_face_handle<D>::any_face_handle(const face_handle<N, D>&)):
      	New ctor.
      	(any_face_handle<D>::any_face_handle(const any_face_handle<D>&)):
      	Don't forget to initialize n_.
      	(any_face_handle<D>::any_face_handle(complex<D>&, unsigned, unsigned)):
      	Ensure N is compatible with D.
      	* tests/core/complex_image.cc: Exercise mln::complex_image.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2143 4aad255d-cdde-0310-9447-f3009e2ae8c0
      0a619acf
    • Roland Levillain's avatar
      Aesthetic changes w.r.t. domain names in graph-based images. · f601a073
      Roland Levillain authored
      	* mln/core/graph_image.hh: s/g/pg/.
      	* mln/core/line_graph_image.hh: s/g/plg/.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2142 4aad255d-cdde-0310-9447-f3009e2ae8c0
      f601a073
    • Roland Levillain's avatar
      Follow g++ 4.3 advice w.r.t. nested `if' statements. · ccf89b17
      Roland Levillain authored
      	* mln/canvas/labeling.hh (mln::canvas::labeling<F>::pass_1())
      	* mln/morpho/meyer_wst.hh (mln::morpho::meyer_wst<I, N, L>):
      	Add braces around inner `if' to avoid (visual) ambiguity w.r.t. a
      	dangling `else'.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2141 4aad255d-cdde-0310-9447-f3009e2ae8c0
      ccf89b17
    • Roland Levillain's avatar
      * build-aux/with-swilena.m4: Require SWIG 1.3.31. · 59471945
      Roland Levillain authored
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2140 4aad255d-cdde-0310-9447-f3009e2ae8c0
      59471945
    • Roland Levillain's avatar
      Wrap more morphological filters. · 0076aae9
      Roland Levillain authored
      	* morpho.ixx: Wrap mln::morpho::closing, mln::morpho::opening
      	mln::morpho::gradient_internal, mln::morpho::gradient_external,
      	mln::morpho::opening_area.
      	(instantiate_closing, instantiate_opening)
      	(instantiate_gradient_internal, instantiate_gradient_external)
      	(instantiate_opening_area):
      	New macros.
      	Use them...
      	(instantiate_morpho): ...here.
      	Deduce the previous `L' parameter from `mln_value(I)', and remove
      	it from the list of parameters of the macro.
      	* image2d_int_u8.i: Adjust.
      	* image2d_int.i: Use macros instantiate_erosion and
      	instantiate_dilation.
      
      	* python/data.py: New.
      	* python/test.py: Rename as...
      	* python/image2d-misc.py: ...this.
      	* python/lena.py: Rename as...
      	* python/morpho-fun.py: ...this.
      	Exercise more morphological filters.
      	Move WST-based segmentation tests...
      	* python/morpho-segm.py: ...here (new test).
      	* python/swilena.py: Add documentation header.
      	* python/Makefile.am (python_PYTHON): Add data.py.
      	(TESTS): Add morpho-segm.py.
      	s/test.py/image2d-misc.py/
      	s/lena.py/morpho-fun.py/
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2139 4aad255d-cdde-0310-9447-f3009e2ae8c0
      0076aae9
    • Roland Levillain's avatar
      Provide instantiation macros for module `morpho'. · bdf45d1c
      Roland Levillain authored
      	* morpho.ixx (instantiate_dilation, instantiate_erosion)
      	(instantiate_gradient, instantiate_closing_area)
      	(instantiate_meyer_wst):
      	New SWIG macros.
      	(instantiate_morpho): Likewise.
      	Use it...
      	* image2d_int_u8.i: ...here, to simplify the wrapping of morpho
      	routines.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2138 4aad255d-cdde-0310-9447-f3009e2ae8c0
      bdf45d1c
    • Roland Levillain's avatar
      Wrap morphological gradient and area closing. · 9b2770de
      Roland Levillain authored
      	* morpho.ixx: Wrap mln::morpho::gradient and
      	mln::morpho::closing_area.
      	* image2d_int_u8.i (meyer_wst): Rename as...
      	(meyer_wst32): ...this.
      	(gradient, closing_area, meyer_wst): New wrappings.
      	* python/lena.py: Exercise gradient and area closing (along with
      	Meyer's watershed transform).
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2137 4aad255d-cdde-0310-9447-f3009e2ae8c0
      9b2770de
    • Roland Levillain's avatar
      Simplify the wrappings of mln::neighb2d and mln::window2d. · 70877a7d
      Roland Levillain authored
      	* neighb2d.i, window2d.i: Wrap the classes directly, instead of
      	using simplified, inlined declarations.
      	* box2d.i: Aesthetic changes.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2136 4aad255d-cdde-0310-9447-f3009e2ae8c0
      70877a7d
    • Roland Levillain's avatar
      Clean up Swilena a bit. · 74196224
      Roland Levillain authored
      	* box2d.i, dpoint2d.i: Remove dead code.
      	* image2d.ixx: Likewise.
      	(instantiate_image2d): Indent.
      	* intp.ixx: Add missing `module' statement.
      	* fill.ixx: Use macro mln_value() in fill()'s signature, as in the
      	original one.
      	* ch_value.ixx
      	(ch_value< image2d< int_u<8> >, int_u<32> >): Turn into...
      	(ch_value< image2d< int_u<8> >, V >): ...this.
      	Adjust documentation.
      	* image2d_int.i: Add a FIXME.
      	* point2d.i: Aesthetic change.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2135 4aad255d-cdde-0310-9447-f3009e2ae8c0
      74196224
  3. 09 Aug, 2008 4 commits
  4. 08 Aug, 2008 2 commits
    • Roland Levillain's avatar
      Wrap meyer_wst for image2d<int_u8>. · d6ddc76a
      Roland Levillain authored
      	* int_u.ixx: New.
      	Use it...
      	* int_u8.i: ...here.
      	Actually instantiate and wrap int_u8.
      	* int_u32.i: New.
      	* ch_value.ixx: New.
      	Use it...
      	* morpho.ixx: ...here.
      	Wrap meyer_wst for image2d<int_u8>.
      	* neighb2d.i: New.
      	* image2d_int_u8.i: Add support for meyer_wst.
      	* window2d.i: Aesthetic changes.
      	* Makefile.am (EXTRA_DIST): Add ch_value.ixx, int_u.ixx, int_u32.i
      	and neighb2d.i.
      	* python/lena.py: Exercise meyer_wst.
      	* python/Makefile.am: Handle modules int_u32 and neighb2d.
      	* python/swilena.py: Import neighb2d, int_u8 and int_u32.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2130 4aad255d-cdde-0310-9447-f3009e2ae8c0
      d6ddc76a
    • Roland Levillain's avatar
      Misc clean up in mln::value::. · 98dc28d3
      Roland Levillain authored
      	* mln/value/graylevel.hh, mln/value/graylevel_f.hh,
      	* mln/value/int_s.hh, mln/value/int_u.hh,
      	* mln/value/rgb.hh:
      	Use fully qualified type names to help swig wrap typedefs (later).
      	* mln/value/int_s8.hh, mln/value/int_s16.hh,
      	* mln/value/int_u8.hh, mln/value/int_u16.hh:
      	Typos in comments.
      	* mln/value/int_s32.hh, mln/value/int_u32.hh: New files.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2129 4aad255d-cdde-0310-9447-f3009e2ae8c0
      98dc28d3
  5. 07 Aug, 2008 4 commits
    • Roland Levillain's avatar
      Add actual complex-based psite and pset and give new names to · 39c60202
      Roland Levillain authored
      	faces-related entities.
      
      	* mln/core/complex_psite.hh: Rename as...
      	* mln/core/faces_psite.hh: ...this.
      	(mln::complex_psite<P, N, D>): Turn into...
      	(mln::faces_psite<N, D, P>): ...this.
      	* mln/core/p_complex.hh: Rename as...
      	* mln/core/p_faces.hh: ...this.
      	(mln::p_complex<P, N, D>): Turn into...
      	(mln::p_faces<N, D, P>): ...this.
      	* mln/core/complex_psite.hh, mln/core/p_complex.hh: New.
      	* tests/core/complex.cc: Exercise the variants of
      	mln::complex<D>::nfaces().
      	* tests/core/p_complex.cc: Rename as...
      	* tests/core/complex_image.cc: ...this.
      	Exercise mln::p_complex, mln::complex_psite, and mln::faces_psite.
      	* tests/core/Makefile.am (check_PROGRAMS):
      	s/p_complex/complex_image/.
      	(p_complex_SOURCES): Likewise.
      	Rename as...
      	(complex_image_SOURCES): ...this.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2128 4aad255d-cdde-0310-9447-f3009e2ae8c0
      39c60202
    • Roland Levillain's avatar
      Add a dimension-agnostic face handle. · b487e18c
      Roland Levillain authored
      	* mln/core/face.hh (mln::any_face_handle<D>): New class.
      	(operator==(const any_face_handle<D>&, const any_face_handle<D>&))
      	(operator< (const any_face_handle<D>&, const any_face_handle<D>&)):
      	New.
      	(mln::face_handle<N, D>::face_handle): Use std::numeric_limits
      	instead of UINT_MAX.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2127 4aad255d-cdde-0310-9447-f3009e2ae8c0
      b487e18c
    • Roland Levillain's avatar
      Add more services to complexes. · 44f094a4
      Roland Levillain authored
      	* mln/core/complex.hh
      	(mln::complex<D>::nfaces())
      	(mln::complex<D>::nfaces(unsigned)):
      	New methods.
      	(mln::complex<D>::fold_left_)
      	(mln::complex<D>::apply_if_dim_matches_)
      	(mln::internal::faces_set_mixin<N, D>::fold_left_):
      	(mln::internal::faces_set_mixin<N, D>::apply_if_dim_matches_):
      	New methods.
      	(mln::internal::add_size)
      	(mln::internal::get_size):
      	New meta-functors.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2126 4aad255d-cdde-0310-9447-f3009e2ae8c0
      44f094a4
    • Roland Levillain's avatar
      Follow g++ 4.3 advice w.r.t. ignored type qualifiers on function · 998a0b88
      Roland Levillain authored
      	return types.
      
      	* mln/util/tracked_ptr.hh
      	(mln::util::tracked_ptr<T>::operator->() const)
      	(mln::util::tracked_ptr<T>::operator->()):
      	Remove useless `const' qualifier on return type.
      	* mln/value/builtin/floatings.hh
      	(mln::trait::value_<float>::min)
      	(mln::trait::value_<float>::max)
      	(mln::trait::value_<float>::epsilon)
      	(mln::trait::value_<double>::min)
      	(mln::trait::value_<double>::max)
      	(mln::trait::value_<double>::epsilon):
      	Likewise.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2125 4aad255d-cdde-0310-9447-f3009e2ae8c0
      998a0b88
  6. 06 Aug, 2008 6 commits
    • Roland Levillain's avatar
      Fix duplicate entry in ChangeLog. · 099718da
      Roland Levillain authored
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2124 4aad255d-cdde-0310-9447-f3009e2ae8c0
      099718da
    • Roland Levillain's avatar
      Misc. fixes in graph and line graph entities. · 09e6eae7
      Roland Levillain authored
      	* mln/core/graph_psite.hh, mln/core/line_graph_psite.hh,
      	* mln/core/p_graph_piter.hh, mln/core/p_line_graph_piter.hh:
      	Fix spacing in template definitions.
      	* mln/core/p_graph.hh, mln/core/p_line_graph.hh: Likewise.
      	Fix documentation.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2123 4aad255d-cdde-0310-9447-f3009e2ae8c0
      09e6eae7
    • Roland Levillain's avatar
      Add complex-based psite and pset. · 3ddba94e
      Roland Levillain authored
      	* mln/core/complex_psite.hh, mln/core/p_complex.hh: New.
      	* mln/core/face.hh: s/mln_assertion/mln_precondition/.
      	(mln::face_handle<N, D>::face_handle): Statically ensure N is
      	compatible with D in ctors.
      	* tests/core/p_complex.cc: New test.
      	* tests/core/Makefile.am (check_PROGRAMS): Add p_complex.
      	(p_complex_SOURCES): New.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2122 4aad255d-cdde-0310-9447-f3009e2ae8c0
      3ddba94e
    • Roland Levillain's avatar
      Check more preconditions in mln::complex<D>. · d1433673
      Roland Levillain authored
      	* mln/core/complex.hh
      	(mln::complex<D>::add_face(const faces_set<N, D>&)): Ensure
      	arguments are consistent with the complex.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2121 4aad255d-cdde-0310-9447-f3009e2ae8c0
      d1433673
    • Roland Levillain's avatar
      Add more services to complexes and faces. · d0036f1d
      Roland Levillain authored
      	* mln/core/complex.hh (mln::complex<D>::nfaces<N>): New.
      	Use it...
      	(mln::complex<D>::add_face): ...here.
      	* mln/core/face.hh
      	(mln::face_handle<N, D>::c, mln::face_handle<N, D>::c_):
      	Rename as...
      	(mln::face_handle<N, D>::cplx, mln::face_handle<N, D>::cplx_):
      	...these.
      	Adjust users.
      	(operator==(const face_handle<N, D>&, const face_handle<N, D>&))
      	(operator< (const face_handle<N, D>&, const face_handle<N, D>&)):
      	New.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2120 4aad255d-cdde-0310-9447-f3009e2ae8c0
      d0036f1d
    • Roland Levillain's avatar
      Allow non-initialized faces. · 04d7cc8a
      Roland Levillain authored
      	* mln/core/face.hh (mln::face_handle<N, D>::face_handle): New ctor.
      	(mln::face_handle<N, D>::is_valid): New method.
      	Use it...
      	(mln::face_handle<N, D>::get): ...here.
      	Rename as...
      	(mln::face_handle<N, D>::to_face): ...this.
      	(mln::face_handle<N, D>::face_id_): Make this attribute private.
      	(mln::face_handle<N, D>::c_): Likewise.
      	Turn this reference into a pointer.
      	(mln::face_handle<N, D>::face_handle)
      	(mln::face_handle<N, D>::to_face)
      	(mln::make_face_handle<N, D>):
      	Adjust.
      	(mln::faces_set<N, D>::add): Likewise.
      	Remove spurious FIXME.
      	(mln::face_handle<N, D>::c, mln::face_handle<N, D>::face_id):
      	New accessors.
      	* mln/core/complex.hh (mln::complex<D>::connect_)
      	(mln::internal::lower_dim_faces_set_mixin<N, D>::print)
      	(mln::internal::higher_dim_faces_set_mixin<N, D>::print):
      	Adjust.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2119 4aad255d-cdde-0310-9447-f3009e2ae8c0
      04d7cc8a
  7. 31 Jul, 2008 4 commits
  8. 30 Jul, 2008 6 commits
  9. 28 Jul, 2008 2 commits
  10. 27 Jul, 2008 2 commits
    • Roland Levillain's avatar
      Wrap mln::image2d<int_u8> as well as I/O routines. · fe117fa4
      Roland Levillain authored
      	* pgm.ixx, int_u8.i, image2d_int_u8.i: New.
      	* Makefile.am (EXTRA_DIST): Add pgm.ixx, image2d_int_u8.i and
      	int_u8.i.
      	* fill.ixx, println.ixx: Fix doxygen headers.
      	* image2d_int.i: Typo.
      	* python/lena.py: New test.
      	* python/Makefile.am: Handle modules int_u8 and image2d_int_u8.
      	(top_srcdir): Add top_srcdir and top_builddir into the
      	environment.
      	(TESTS): Add lena.py.
      	* python/swilena.py: Import image2d_int_u8.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2106 4aad255d-cdde-0310-9447-f3009e2ae8c0
      fe117fa4
    • Roland Levillain's avatar
      Add the ability to load images of built-in (POD) values. · 6ade8b29
      Roland Levillain authored
      	* mln/io/pnm/load.hh
      	(mln::io::pnm::read_value(std::ifstream&, V&): Turn into...
      	(mln::io::pnm::read_value(std::ifstream&, value::Scalar<V>&)):
      	...this.
      	(mln::io::pnm::read_value(std::ifstream&, V&): New overload.
      	* mln/value/int_u8.hh (mln::io::pnm::int_u8): Use a fully
      	qualified type name to help swig wrap this typedef.
      	* mln/io/pgm/save.hh: Typo in comment.
      
      
      git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@2105 4aad255d-cdde-0310-9447-f3009e2ae8c0
      6ade8b29