2014-07-08  Roland Levillain  <roland@lrde.epita.fr>

	Swilena 2.1.

	* swilena/NEWS: Update version number.

2014-07-02  Roland Levillain  <roland@lrde.epita.fr>

	Add a NEWS file to Swilena.

	* NEWS: New.

2014-06-26  Roland Levillain  <roland@lrde.epita.fr>

	Make Swilena more compatible with BSD Make.

	* python/Makefile.am: Do not use `$<' outside suffix rules.

2014-06-25  Roland Levillain  <roland@lrde.epita.fr>

	Remove extended characters from Swilena.

	* box2d_piter.i,
	* complex.ixx,
	* dynamic_image2d.i,
	* python/complex2-misc.py:
	Here, to convert these files to plain ASCII.

2014-05-23  Roland Levillain  <roland@lrde.epita.fr>

	Improve Swilena's max-tree.py output.

	* println.ixx: Include std_string.i to help SWIG wrap
	mln::debug::println(const std::string&, const Image<I>&) and use
	it...
	* python/max-tree.py: ...here.

2014-05-23  Roland Levillain  <roland@lrde.epita.fr>

	Make Swilena's max-tree.py test fully work with SWIG 2.0.7.

	* morpho.ixx: Give names to wrapped traits, to let SWIG properly
	deduce the return types of wrapped functions templates.
	* python/max-tree.py: Reenable a previously disabled println
	statement.

2014-05-23  Roland Levillain  <roland@lrde.epita.fr>

	Make Swilena compatible with SWIG 2.0.9+.

	* image2d.ixx,
	* neighb2d.i,
	* window2d.i:
	Give names to wrapped base classes, so that recent version of SWIG
	actually considers them and allows upcasts.

2014-05-22  Roland Levillain  <roland@lrde.epita.fr>

	Address Clang warnings in Swilena.

	* dynamic_image2d.i: Here.

2013-09-10  Roland Levillain  <roland@lrde.epita.fr>

	Swilena: Remove lines `VARIABLE = @VARIABLE@' from Makefile.am's.

	* python/Makefile.am: Here, as Automake 1.11+ already takes care
	of this.

2013-09-09  Roland Levillain  <roland@lrde.epita.fr>

	Swilena: Remove Milena's build dir from the file inclusion path.

	* python/Makefile.am (AM_CPPFLAGS): Here.

2013-08-29  Roland Levillain  <roland@lrde.epita.fr>

	Fix inclusion paths in Swilena.

	* python/Makefile.am (AM_CPPFLAGS): Add -I$(top_builddir)/milena.

2013-04-12  Roland Levillain  <roland@lrde.epita.fr>

	Adjust Swilena to Automake parallel tests.

	* python/Makefile.am: s/TESTS_ENVIRONMENT/LOG_COMPILER/.

2013-04-12  Roland Levillain  <roland@lrde.epita.fr>

	Enable verbose messages in Swilena Python tests.

	* run.in: Here.
	Convert to UTF-8.

2013-04-09  Roland Levillain  <roland@lrde.epita.fr>

	Simplify Swilena's python/Makefile.am.

	* python/Makefile.am (data.py): Here.

2013-04-09  Roland Levillain  <roland@lrde.epita.fr>

	Simplify some Swilena Python test cases.

	* python/data.py.in (lena): Use small.pgm instead of lena.pgm.
	* python/max-tree.py: Disable a no longer working statement (needs
	further investigation).

2013-04-09  Roland Levillain  <roland@lrde.epita.fr>

	Fix Makefile pattern rules generating several tests outputs.

	* python/Makefile.am (%-wrap.cc %.py): Do not use `$@' in the
	action block to represent the first output, as `$@' may stand for
	any target of the rule; instead, rely on an explicit pattern based
	on `$*'.

2013-04-09  Roland Levillain  <roland@lrde.epita.fr>

	Help SWIG 2.0.9 wrap a ctor added as an extension.

	* box2d.i: Here.
	Drop the namespace qualifier before the class name (see
	http://sourceforge.net/p/swig/bugs/1291/).

2012-08-28  Roland Levillain  <roland@lrde.epita.fr>

	Aesthetic changes in Swilena.

	* box.ixx,
	* box2d.i,
	* image2d.ixx,
	* image2d_point2d.i,
	* morpho.ixx:
	Here.

2012-08-28  Roland Levillain  <roland@lrde.epita.fr>

	Add sps-gdb-local, a script to run the Swilena Python Shell in GDB.

	* python/sps-gdb-local.in: New.
	* python/Makefile.am (edit): Also substitute @LIBTOOL@.
	(noinst_SCRIPTS): Add sps-gdb-local.
	(EXTRA_DIST): Add sps-gdb-local.in.
	(sps-gdb-local): Add a dependency on $(srcdir)/sps-gdb-local.in.

2012-08-28  Roland Levillain  <roland@lrde.epita.fr>

	Fix build dependencies in Swilena.

	* python/Makefile.am (image2d_point2d-wrap.cc): Depend on
	$(top_srcdir)/swilena/concat.ixx.

2012-08-28  Roland Levillain  <roland@lrde.epita.fr>

	Comment on an issue of Swilena highlighted by max-tree.py.

	* python/max-tree.py: Here.

2012-08-28  Roland Levillain  <roland@lrde.epita.fr>

	Update the local (build-time) Swilena Python Shell.

	* python/sps-local.in (PYTHONPATH): Add `@abs_builddir@/.libs'.

2012-07-27  Roland Levillain  <roland@lrde.epita.fr>

	Get rid of `ltihooks' in Swilena.

	* python/ltihooks.py: Remove.
	* python/Makefile.am (python_PYTHON): Remove ltihooks.py.
	* python/swilena.py: No longer import `ltihooks'.
	* run.in: Help Python find actual dynamic modules in directory
	`.libs', as suggested by Alexandre Duret-Lutz in
	http://stackoverflow.com/a/5125879/1551751.

2010-12-03  Roland Levillain  <roland@lrde.epita.fr>

	Perform install tests in Swilena.

	* python/installcheck.mk: New.
	Include it...
	* python/Makefile.am: ...here.
	(run_install_test_verbose, run_install_test_verbose_)
	(run_install_test_verbose_0)
	(INSTALL_TESTS_ENVIRONMENT, INSTALL_TESTS):
	New variables.

2010-06-02  Roland Levillain  <roland@lrde.epita.fr>

	Fix cleaning rules.

	* python/Makefile.am (CLEANFILES): Add data.py[co].

2010-01-06  Roland Levillain  <roland@lrde.epita.fr>

	Fix the generation of the sps scripts.

	* python/Makefile.am (sps, sps-local): Remove a stray slash.
	Fix permissions.

2010-05-28  Roland Levillain  <roland@lrde.epita.fr>

	Generate python/data.py.

	* python/data.py: Rename as...
	* python/data.py.in: ...this.
	Adjust.
	Turn top_srcdir into a variable substituted by configure.
	* python/Makefile.am (EXTRA_DIST): s/data.py/data.py.in/.
	* python/Makefile.am (all-local): New rule.
	Depend on data.py.
	(edit): Substitute top_srcdir.
	(data.py): New rule.
	(CLEANFILES): Add data.py.
	(TESTS_ENVIRONMENT): No longer set top_srcdir and top_builddir.
	* python/complex2-misc.py, python/max-tree.py:
	Do not import `data', as it is not used.

2010-04-08  Roland Levillain  <roland@lrde.epita.fr>

	Simplify python/max-tree.py using Python's itertools.

	* python/max-tree.py (values): Use itertools.izip to shorten the
	parallel iterations on sites and values.

2010-04-08  Roland Levillain  <roland@lrde.epita.fr>

	Clean up Swilena a bit.

	* python-utils.ixx (generate__str__):
	Do not include C++ header `string'.
	* image2d_int.i,
	* image2d_int_u8.i,
	* image2d_rgb8.i:
	Fix the Swilena documentation headers.
	* int_u.ixx,
	* rgb.ixx,
	* image2d.ixx:
	More Doxygen documentation.
	* concat.ixx: Typo in comment.
	* box_piter.ixx: Remove a blank line.

2010-04-08  Roland Levillain  <roland@lrde.epita.fr>

	Wrap a subset of complexes' features.

	* complex.ixx, complex2.i: New.
	* Makefile.am (meta_wrappers): Add complex.ixx.
	(wrappers): Add complex2.i.
	* python/Makefile.am (pyexec_LTLIBRARIES): Add _complex2.la.
	(nodist__complex2_la_SOURCES, _complex2_la_LIBADD): New.
	(CLEANFILES): Add $(nodist__complex2_la_SOURCES) complex2.py
	complex2.py[co].
	(nodist_python_PYTHON): Add complex2.py.
	(complex_ixx_deps): New.
	(complex2-wrap.cc): Add dependencies on
	$(top_srcdir)/swilena/complex.ixx $(complex_ixx_deps).
	(TESTS): Add complex2-misc.py.
	* python/complex2-misc.py: New.
	* python/swilena.py: Import the contents of module complex2.

2010-04-01  Roland Levillain  <roland@lrde.epita.fr>

	Wrap function mln::morpho::tree::max<I, N>.

	* morpho.ixx (instantiate_max_tree): New macro.
	Call it...
	(instantiate_morpho): ...here.
	* python/max-tree.py: New test.
	* python/Makefile.am (TESTS): Add max-tree.py.

2010-04-01  Roland Levillain  <roland@lrde.epita.fr>

	Add a Swilena wrapper for mln::image2d<mln::point2d>.

	* image2d_point2d.i: New.
	* Makefile.am (wrappers): Add image2d_point2d.i.
	* python/Makefile.am (pyexec_LTLIBRARIES):
	Add _image2d_point2d.la.
	(nodist__image2d_point2d_la_SOURCES, _image2d_point2d_la_LIBADD):
	New.
	(CLEANFILES): Add $(nodist__image2d_point2d_la_SOURCES)
	image2d_point2d.py image2d_point2d.py[co].
	(nodist_python_PYTHON): Add image2d_point2d.py.
	(image2d_point2d-wrap.cc): Add dependencies.
	* python/swilena.py: Import image2d_point2d.

2010-04-01  Roland Levillain  <roland@lrde.epita.fr>

	Have Make generate the Swilena Python Shell (sps).

	* python/Makefile.am (EXTRA_DIST): Add sps-common.in, sps.in and
	sps-local.in.
	(edit): New.
	(sps, sps-local): New rules.

2010-02-08  Roland Levillain  <roland@lrde.epita.fr>

	Add a Swilena wrapper for mln::image2d<mln::value::rgb8>.

	* image2d_rgb8.i: New file.
	* Makefile.am (wrappers): Add image2d_rgb8.i.
	* python/swilena.py: Import the contents of module image2d_rgb8.
	* python/Makefile.am (pyexec_LTLIBRARIES): Add _image2d_rgb8.la.
	(nodist__image2d_rgb8_la_SOURCES, _image2d_rgb8_la_LIBADD): New.
	(CLEANFILES): Add $(nodist__image2d_rgb8_la_SOURCES)
	image2d_rgb8.py image2d_rgb8.py[co].
	(nodist_python_PYTHON): Add image2d_rgb8.py.
	(image2d_rgb8-wrap.cc): Add dependencies.

2010-02-08  Roland Levillain  <roland@lrde.epita.fr>

	Add a Swilena meta-wrapper for PPM I/O.

	* ppm.ixx: New file.
	* Makefile.am (meta_wrappers): Add ppm.ixx.

2010-02-08  Roland Levillain  <roland@lrde.epita.fr>

	Add a setter in the mln::image2d<T> meta-wrapper.

	* image2d.ixx (mln::image2d<T>::set): New method (extension).

2010-02-08  Roland Levillain  <roland@lrde.epita.fr>

	Add a Swilena wrapper for mln::value::rgb8.

	* rgb8.i: New file.
	* Makefile.am (wrappers): Add rgb8.i.
	* python/swilena.py: Import the contents of module rgb8.
	* python/Makefile.am (pyexec_LTLIBRARIES): Add _rgb8.la.
	(nodist__rgb8_la_SOURCES, _rgb8_la_LIBADD): New.
	(CLEANFILES): Add $(nodist__rgb8_la_SOURCES) rgb8.py rgb8.py[co].
	(nodist_python_PYTHON): Add rgb8.py.
	(rgb8-wrap.cc): Add dependencies.

2010-02-08  Roland Levillain  <roland@lrde.epita.fr>

	Add a Swilena meta-wrapper for mln::value::rgb<n>.

	* rgb.ixx: New file.
	* Makefile.am (meta_wrappers): Add rgb.ixx.
	* python/Makefile.am (rgb_ixx_deps): New variable.

2010-02-08  Roland Levillain  <roland@lrde.epita.fr>

	Improve dependency management in Swilena/Python.

	* python/Makefile.am (int_u_ixx_deps, box_ixx_deps)
	(morpho_ixx_deps):
	New variables.
	(int_u8-wrap.cc, int_u32-wrap.cc, box2d-wrap.cc)
	(box2d_piter-wrap.cc, point2d-wrap.cc, dynamic_image2d-wrap.cc)
	(image2d_int-wrap.cc, image2d_int_u8-wrap.cc):
	Add dependencies.

2009-11-17  Roland Levillain  <roland@lrde.epita.fr>

	* python/morpho-segm.py: Remove a superfluous semi-colon.

2013-03-05  Roland Levillain  <roland@lrde.epita.fr>

	Replace remaining uses of mln::morpho::meyer_wst in Swilena.

	* morpho.ixx: Here, by mln::morpho::watershed::flooding.
	* image2d_int_u8.i,
	* python/swilena.py,
	* python/morpho-segm.py:
	Adjust.

2012-10-05  Roland Levillain  <roland@lrde.epita.fr>

	No longer wrap mln::value::int_u32.

	* int_u24.i: Remove.
	* Makefile.am (wrappers): Remove int_u32.i.
	* python/Makefile.am: No longer generate Python wrapper from
	int_u32.i.

2012-10-05  Roland Levillain  <roland@lrde.epita.fr>

	Fix Swilena's build.

	* image2d_int_u8.i: Use int_u24 instead of int_u32 to avoid
	overflow problems in mln::metal::math::pow.

2012-10-05  Roland Levillain  <roland@lrde.epita.fr>

	Wrap mln::value::int_u24.

	* int_u24.i: New.
	* Makefile.am (wrappers): Add int_u24.i.
	* python/Makefile.am: Generate Python wrapper from int_u24.i.

2009-10-27  Roland Levillain  <roland@lrde.epita.fr>

	Clean up Swilena Makefiles.

	* Makefile.am: Here.
	* python/Makefile.am: Likewise.
	(python_PYTHON): Move data.py...
	(EXTRA_DIST): ...here.

2010-10-25  Roland Levillain  <roland@lrde.epita.fr>

	Fix Swilena's dependency tracking.

	* python/Makefile.am (%-wrap.cc %.py): Honor Automake's `AMDEP'
	internal conditional.

2010-04-26  Roland Levillain  <roland@lrde.epita.fr>

	Canonize Swilena's tests' output file names.

	* python/morpho-fun.py,
	* python/morpho-segm.py:
	Add the name of the test as prefix of its output file names.
	* python/Makefile.am (CLEANFILES): Adjust.
	Add morpho-segm-gradient.pgm.
	Rename as...
	(MOSTLYCLEANFILES): ...this.

2010-06-03  Roland Levillain  <roland@lrde.epita.fr>

	Clean up a bit Swilena's Makefiles.

	* Makefile.am, python/Makefile.am: Here.

2009-09-12  Roland Levillain  <roland@lrde.epita.fr>

	* neighb2d.i: Aesthetic changes.

2009-09-12  Roland Levillain  <roland@lrde.epita.fr>

	Fix Swilena w.r.t. mln::internal::neighb_base.

	* neighb2d.i: Wrap base class internal::neighb_base<W, neighb<W> >.

2009-07-13  Roland Levillain  <roland@lrde.epita.fr>

	Fix the Swilena distribution.

	* python/Makefile.am (nodist__dynamic_image2d_la_SOURCES): Add
	dynamic_image2d-wrap.h.
	(CLEANFILES): Add closing.pgm, closing_area.pgm, dilation.pgm,
	erosion.pgm, gradient.pgm, gradient_external.pgm,
	gradient_internal.pgm, opening.pgm, opening_area.pgm and segm.pgm.

2009-06-10  Roland Levillain  <roland@lrde.epita.fr>

	* Makefile.am (wrappers): Add config.i.

2009-06-10  Roland Levillain  <roland@lrde.epita.fr>

	Update copyright headers in Swilena/Python.

	* python/box2d-misc.py,
	* python/data.py,
	* python/dynamic-image2d-misc.py,
	* python/image2d-misc.py,
	* python/morpho-fun.py,
	* python/morpho-segm.py,
	* python/sps-common.in,
	* python/sps.py,
	* python/swilena.py:
	Here.

2009-06-10  Roland Levillain  <roland@lrde.epita.fr>

	Update copyright headers in Swilena.

	* box.ixx,
	* box2d.i,
	* box2d_piter.i,
	* box_piter.ixx,
	* ch_value.ixx,
	* concat.ixx,
	* concrete.ixx,
	* config.i,
	* coord.ixx,
	* dpoint2d.i,
	* dynamic_image2d.i,
	* fill.ixx,
	* image2d.ixx,
	* image2d_int.i,
	* image2d_int_u8.i,
	* int_u.ixx,
	* int_u32.i,
	* int_u8.i,
	* intp.ixx,
	* morpho.ixx,
	* neighb2d.i,
	* pgm.ixx,
	* point2d.i,
	* println.ixx,
	* python-utils.ixx,
	* window2d.i:
	Here.

2009-06-09  Guillaume Lazzara  <lazzara@lrde.epita.fr>

	Add missing license headers in Swilena.

	* Makefile.am,
	* python/Makefile.am,
	* run.mk: add missing license headers.

2009-06-09  Roland Levillain  <roland@lrde.epita.fr>

	No longer handle SWIG < 1.3.39 specifically.

	* python/image2d-misc.py: Always get the domain of an image by
	calling it domain() method.
	* python/Makefile.am (TESTS): Remove conditional HAVE_SWIG_1_3_39
	and always exercise dynamic-image2d-misc.py.

2009-06-08  Roland Levillain  <roland@lrde.epita.fr>

	Fix a bug in Swilena's wrapper of box2d.

	* box2d.i: Include box.ixx earlier than mln/core/alias/box2d.hh to
	generate working headers.

2009-06-08  Roland Levillain  <roland@lrde.epita.fr>

	Disable test python/dynamic-image2d-misc.py with SWIG < 1.3.39.

	* python/Makefile.am (TESTS) [!HAVE_SWIG_1_3_39]: Remove
	dynamic-image2d-misc.py.

2009-06-08  Roland Levillain  <roland@lrde.epita.fr>

	* python/image2d-misc.py: Have this test pass with SWIG < 1.3.39.

2009-06-08  Roland Levillain  <roland@lrde.epita.fr>

	New Swilena module: config.

	* config.i: New.
	* python/Makefile.am (pyexec_LTLIBRARIES): Add _config.la.
	(nodist__config_la_SOURCES, _config_la_LIBADD): New.
	(CLEANFILES): Add $(nodist__config_la_SOURCES), config.py,
	config.pyc and config.pyo.
	(nodist_python_PYTHON): Add config.py.
	* python/swilena.py: Import config.

2009-06-08  Roland Levillain  <roland@lrde.epita.fr>

	Fix Swilena's copyright headers.

	* box.ixx,
	* box2d.i,
	* box2d_piter.i,
	* box_piter.ixx,
	* ch_value.ixx,
	* concat.ixx,
	* concrete.ixx,
	* coord.ixx,
	* dpoint2d.i,
	* dynamic_image2d.i,
	* fill.ixx,
	* image2d.ixx,
	* image2d_int.i,
	* image2d_int_u8.i,
	* int_u.ixx,
	* int_u32.i,
	* int_u8.i,
	* intp.ixx,
	* morpho.ixx,
	* neighb2d.i,
	* pgm.ixx,
	* point2d.i,
	* println.ixx,
	* python-utils.ixx,
	* window2d.i,
	* python/box2d-misc.py,
	* python/data.py,
	* python/dynamic-image2d-misc.py,
	* python/image2d-misc.py,
	* python/morpho-fun.py,
	* python/morpho-segm.py,
	* python/sps-common.in,
	* python/sps.py,
	* python/swilena.py:
	Remove the special exception (irrelevant for Swilena).

2009-06-02  Roland Levillain  <roland@lrde.epita.fr>

	Factor box2d.i using box.ixx.

	* box2d.i: Include box.ixx.
	Use macro instantiate_box and remove redundant Swig directives.

2009-06-01  Roland Levillain  <roland@lrde.epita.fr>

	Wrap mln::box as box.ixx to factor dependent types.

	* box.ixx: New.
	* Makefile.am (meta_wrappers): Add box.ixx.

2009-06-01  Roland Levillain  <roland@lrde.epita.fr>

	Introduce a variadic version of mln_coord in Swilena.

	* coord.ixx: New.
	* Makefile.am (meta_wrappers): Add coord.ixx.

2009-06-01  Roland Levillain  <roland@lrde.epita.fr>

	* Makefile.am (meta_wrappers, wrappers): Unwrap.

2009-05-29  Guillaume Lazzara  <lazzara@lrde.epita.fr>

	Fix swilena distributed file list.

	* Makefile.am: change box_piter.i to box_piter.ixx.

2009-05-27  Roland Levillain  <roland@lrde.epita.fr>

	Update dates in Swilena's copyright headers.

	* ch_value.ixx, dpoint2d.i, dynamic_image2d.i, fill.ixx,
	* image2d.ixx, image2d_int.i, image2d_int_u8.i, int_u.ixx,
	* intp.ixx, morpho.ixx, neighb2d.i, window2d.i,
	* python/morpho-fun.py, python/morpho-segm.py:
	Here.

2009-05-27  Roland Levillain  <roland@lrde.epita.fr>

	Exercise Swilena/Python iterators.

	* python/box2d-misc.py: New test.
	* python/Makefile.am (TESTS): Add box2d-misc.py.

2009-05-27  Roland Levillain  <roland@lrde.epita.fr>

	Have Swilena/Python make use of iterators.

	* python/dynamic-image2d-misc.py, python/image2d-misc.py:
	Simplify constructions.
	Use iterators on domain instead of ad hoc iterations.

2009-05-27  Roland Levillain  <roland@lrde.epita.fr>

	Add conversion to string to point2d.

	* point2d.i (__str__): New method (extension).

2009-05-26  Roland Levillain  <roland@lrde.epita.fr>

	Factor some Swilena code using Python conversion helper generators.

	* int_u.ixx, point2d.i: Here.

2009-05-26  Roland Levillain  <roland@lrde.epita.fr>

	Add Python conversion helper generators to Swilena.

	* python-utils.ixx: New file.
	* Makefile.am (meta_wrappers): Add python-utils.ixx.

2009-05-26  Roland Levillain  <roland@lrde.epita.fr>

	Add concatenating macros to Swilena.

	* concat.ixx: New file.
	* Makefile.am (meta_wrappers): Add concat.ixx

2009-05-26  Roland Levillain  <roland@lrde.epita.fr>

	Wrap iterators on mln::box2d.

	* box_piter.ixx, box2d_piter.i: New.
	* box2d.i (__iter__): New method (extension).
	* Makefile.am (meta_wrappers): Add box_piter.i
	(wrappers): Add box2d_piter.i.
	* python/swilena.py: Import module `box2d' before `point2d'.
	* python/Makefile.am (pyexec_LTLIBRARIES): Add _box2d.la.
	(nodist__box2d_la_SOURCES, _box2d_la_LIBADD): New variables.
	(CLEANFILES): Add $(nodist__box2d_la_SOURCES) box2d.py box2d.py[co]
	(nodist_python_PYTHON): Add box2d.py.

2009-05-26  Roland Levillain  <roland@lrde.epita.fr>

	* box2d.i: Add a ctor taking two `int's as argument.

2009-05-26  Roland Levillain  <roland@lrde.epita.fr>

	* python/sps-local.in (PYTHONPATH): Fix paths.

2009-05-14  Roland Levillain  <roland@lrde.epita.fr>

	Improve Swilena.

	* int_u.ixx (__int__, __str__): New methods (extensions).
	* python/dynamic-image2d-misc.py: Revive dead code.

2009-05-14  Roland Levillain  <roland@lrde.epita.fr>

	Revive Swilena (again).

	* box2d.i, dpoint2d.i, dynamic_image2d.i, fill.ixx, image2d.ixx,
	* image2d_int.i, image2d_int_u8, morpho.ixx, neighb2d.i,
	* point2d.i, window2d.i: Catch up with current path, names and
	definitions from Milena.
	* python/morpho-fun.py, python/morpho-segm.py: Likewise.
	* morpho.ixx: Use inlined signatures of functions
	mln::morpho::dilation and mln::morpho::erosion to be wrapped,
	instead of inclusions of mln/morpho/dilation.hh and
	mln/morpho/erosion.hh.
	* neighb2d.i: Instantiate base classes of mln::neighb2d.
	* window2d.i: Instantiate bases classes of mln::window2d.
	(insert(int, int)): New method (extension).
	* point2d.i (row, col): Restrict this method (extension) to
	mln::point2d.
	(point<grid::square, def::coord>(int, int)): New ctor (extension).
	* ch_value.ixx (mln): Aesthetic change.
	* python/dynamic-image2d-misc.py (simple_image.is_valid):
	New method.
	* Makefile.am: Remove dead code.

2009-05-15  Guillaume Lazzara  <lazzara@lrde.epita.fr>

	window2d.i: restore the previous version of this file.

2008-08-13  Roland Levillain  <roland@lrde.epita.fr>

	Fix the use of int_u8 in image2d_int_u8.i.

	* image2d_int_u8.i: Inject #include "mln/value/int_u8.hh" into the
	header of the generated wrapper.

2008-08-13  Roland Levillain  <roland@lrde.epita.fr>

	Add a C++ image type extensible in Python.

	* dynamic_image2d.i: New.
	* Makefile.am: Add dynamic_image2d.i.
	* point2d.i: Add row() and col() accessors.
	* box2d.i: Add nrows() and ncols() accessors.
	* python/dynamic-image2d-misc.py: New test.
	* python/Makefile.am (AM_SWIGFLAGS): Add `-Wall'
	Handle module dynamic_image2d.
	(TESTS): Add dynamic-image2d-misc.py.

2008-08-11  Roland Levillain  <roland@lrde.epita.fr>

	Wrap more morphological filters.

	* 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/

2008-08-11  Roland Levillain  <roland@lrde.epita.fr>

	Provide instantiation macros for module `morpho'.

	* 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.

2008-08-11  Roland Levillain  <roland@lrde.epita.fr>

	Wrap morphological gradient and area closing.

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

2008-08-11  Roland Levillain  <roland@lrde.epita.fr>

	Simplify the wrappings of mln::neighb2d and mln::window2d.

	* neighb2d.i, window2d.i: Wrap the classes directly, instead of
	using simplified, inlined declarations.
	* box2d.i: Aesthetic changes.

2008-08-11  Roland Levillain  <roland@lrde.epita.fr>

	Clean up Swilena a bit.

	* 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.

2008-08-09  Roland Levillain  <roland@lrde.epita.fr>

	Simplify the wrapping of mln::image2d and make it (more) generic.

	* box2d.i: New.
	* image2d.ixx: Import dpoint2d.i and box2d.i.
	Wrap mln::image2d directly, instead of using a simplified,
	inlined declaration.
	(instantiate_image2d): New macro.
	Use it...
	* image2d_int.i, image2d_int_u8.i: ...here.
	* Makefile.am (wrappers): Add box2d.i.
	* python/swilena.py: Import box2d.
	* python/Makefile.am: Build module box2d.

2008-08-09  Roland Levillain  <roland@lrde.epita.fr>

	Add support for mln_concrete in Swilena.

	* concrete.ixx: New.
	Use it...
	* morpho.ixx: ...here.
	Wrap mln::morpho::dilation.hh and mln::morpho::erosion directly,
	instead of using a simplified declaration (previously used to
	circumvent the lack of support of mln_concrete).
	Fix documentation.
	* image2d_int.i, image2d_int_u8.i: Instantiate
	mln::trait::concrete to have swig understand the return types of
	mln::morpho::dilation.hh and mln::morpho::erosion.
	* ch_value.ixx: Adjust documentation.
	* Makefile.am (meta_wrappers, wrappers): New variables.
	Use them...
	(EXTRA_DIST): ...here.
	(meta_wrappers): Add concrete.ixx.

2008-08-08  Roland Levillain  <roland@lrde.epita.fr>

	Wrap meyer_wst for image2d<int_u8>.

	* 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.

2008-07-28  Roland Levillain  <roland@lrde.epita.fr>

	Speed up Swilena.

	* python/Makefile.am (TOOLS_CXXFLAGS, AM_CXXFLAGS): New.
	Use flags for tools, that use optimization options.

2008-07-28  Roland Levillain  <roland@lrde.epita.fr>

	Wrap mln::morpho::dilation.

	* morpho.ixx: Wrap mln::morpho::dilation.
	* image2d_int.i, image2d_int_u8.i: Instantiate it.
	* python/lena.py: Exercise it.

2008-07-27  Roland Levillain  <roland@lrde.epita.fr>

	Wrap mln::image2d<int_u8> as well as I/O routines.

	* 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.

2008-07-24  Roland Levillain  <roland@lrde.epita.fr>

	Add preliminary support for windows and morpho in Swilena.

	* dpoint2d.i, window2d.i, morpho.ixx: New wrappers.
	* image2d.ixx, point2d.i, fill.ixx: Aesthetic changes.
	* image2d_int.i: Likewise.
	Use window2d and morpho::erosion.
	* python/swilena.py: Inject the contents of modules dpoint2d and
	window2d.
	* python/test.py: Exercise window2d and morpho::erosion.
	* python/Makefile.am: Handle modules dpoint2d and window2d.
	* Makefile.am (EXTRA_DIST): Remove image2d.i
	Add fill.ixx, image2d.ixx, intp.ixx, morpho.ixx, println.ixx,
	dpoint2d.i, image2d_int.i, point2d.i and window2d.i.

2008-07-23  Roland Levillain  <roland@lrde.epita.fr>

	Break Swilena's image2d into modules.

	* image2d.i: Rename as...
	* image2d.ixx: ...this.
	Move parts not directly related to mln::image2d<T>...
	* intpx.ixx, point2d.ixx, fill.ixx, println.ixx, image2d_int.i:
	...here (new files).
	* python/swilena.py: Adjust.
	Inject the contents of module point2d.
	* python/sps.py, python/test.py: Adjust.
	* python/Makefile.am: Handle module point2d.

2008-07-22  Roland Levillain  <roland@lrde.epita.fr>

	Improve sps.

	* python/sps-common.in: Move the lines printing information at
	the startup of the shell...
	* python/sps.py: ...here (new file).
	Use this script instead of swilena.py for sps...
	* python/sps.in, python/sps-local.in: ...here.
	* python/Makefile.am (python_PYTHON): Add sps.py.

2008-07-22  Roland Levillain  <roland@lrde.epita.fr>

	Add the Swilena Python Shell (sps).

	* python/sps-common.in, python/sps.in, python/sps-local.in: New.
	* python/swilena.py: New.
	Use it...
	* python/test.py: ...here, to factor imports.
	* python/Makefile.am (python_PYTHON): Add swilena.py.
	(bin_SCRIPTS): New.  Add sps
	(noinst_SCRIPTS): New.  Add sps-local.
	(CLEANFILES): Add $(bin_SCRIPTS) and $(noinst_SCRIPTS).

2008-07-22  Roland Levillain  <roland@lrde.epita.fr>

	Revive Swilena.

	* image2d.i: New SWIG wrapper.
	* run.in: New helper, imported from TC.
	* Makefile.am: New.
	* run.mk: New, imported from TC and adjusted.

	* python/: New directory.
	* python/ltihooks.py: New, imported.
	* python/test.py: New test.
	* python/Makefile.am: New.


Local Variables:
ispell-local-dictionary: "american"
coding: utf-8
End:
