Olena-patches
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 9625 discussions
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
ChangeLog:
2008-12-10 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
[Markov] Speed up the algorithm.
* markov/approx_exp.hh: New, exp using a lookup table.
* markov/markov.hh: compute delta u directly.
* markov/random.hh,
* markov/random.hxx: speed up random using a lookup table.
---
approx_exp.hh | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
markov.hh | 76 +++++++++++++++++++++++++--------------------------------
random.hh | 6 +++-
random.hxx | 22 ++++++++++++++--
4 files changed, 135 insertions(+), 46 deletions(-)
Index: trunk/milena/sandbox/markov/approx_exp.hh
===================================================================
--- trunk/milena/sandbox/markov/approx_exp.hh (revision 0)
+++ trunk/milena/sandbox/markov/approx_exp.hh (revision 3022)
@@ -0,0 +1,77 @@
+// Copyright (C) 2008 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
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+
+
+#ifndef MLN_APPROX_EXP_HH
+# define MLN_APPROX_EXP_HH
+
+class approx_exp
+{
+public:
+
+ approx_exp(float min, float max, unsigned nvalues)
+ : min_(min),
+ max_(max),
+ nvalues_(nvalues),
+ values_(nvalues),
+ step_((max - min) / float(nvalues))
+ {
+
+ for (unsigned i = 0; i < nvalues_; ++i)
+ values_[i] = exp(min_ + i * step_);
+ }
+
+ inline
+ float
+ get(float x)
+ {
+ if (x < min_)
+ return values_[0];
+ if (x > max_)
+ return values_[nvalues_ - 1];
+
+ return values_[unsigned(float(x - min_) / step_)];
+ }
+
+ inline
+ float
+ operator() (float x)
+ {
+ return get(x);
+ }
+
+private:
+ const float min_;
+ const float max_;
+ const unsigned nvalues_;
+ const float step_;
+
+ std::vector<float> values_;
+};
+
+#endif // ! MLN_APPROX_EXP_HH
Index: trunk/milena/sandbox/markov/random.hxx
===================================================================
--- trunk/milena/sandbox/markov/random.hxx (revision 3021)
+++ trunk/milena/sandbox/markov/random.hxx (revision 3022)
@@ -11,26 +11,42 @@
template <typename T>
Random<T>::Random (T inf, T sup)
- : inf_ (inf), sup_ (sup)
+ : inf_ (inf),
+ sup_ (sup),
+ i_ (0)
{
assert (sup >= inf);
srand (time (0));
+ for (int i = 0; i < size_; i++)
+ values_[i] = gen();
}
template <typename T>
+inline
T
-Random<T>::get () const
+Random<T>::gen () const
{
double res = (sup_ - inf_) * (((double) rand ()) / RAND_MAX) + inf_;
return res;
}
template <>
+inline
bool
-Random<bool>::get () const
+Random<bool>::gen () const
{
bool res = rand () > (RAND_MAX / 2);
+ return res;
+}
+
+template <typename T>
+inline
+T
+Random<T>::get ()
+{
+ T res = values_[i_ % size_];
+ ++i_;
return res;
}
Index: trunk/milena/sandbox/markov/markov.hh
===================================================================
--- trunk/milena/sandbox/markov/markov.hh (revision 3021)
+++ trunk/milena/sandbox/markov/markov.hh (revision 3022)
@@ -4,6 +4,7 @@
# include <cmath>
# include <iomanip>
# include <random.hh>
+# include <approx_exp.hh>
# include <T_gen.hh>
# include <mln/binarization/threshold.hh>
# include <mln/core/routine/clone.hh>
@@ -11,36 +12,36 @@
namespace mln
{
- template <typename I, typename O, typename N>
- double compute_energy(const I& ima, const O& out, const N& nbh, bool xi, const mln_site(I) &p)
+ template <typename I, typename N>
+ inline
+ float compute_du(const I& ima, const I& out, const mln_site(I)& p, const N& nbh)
{
+ // Compute du : energy of clique with the new value minus with the
+ // old value (p_out.val())
+
+ bool old_val = out(p);
// Compute u(x,y)
- double u;
- if (xi == ima(p))
- u = 0;
+ float du = 0;
+ if (old_val == ima(p))
+ du += 1;
else
- u = 1;
-
+ du -= 1;
// u(x) is cst so we don't care
- double diff_sum = 0;
- double coeff = 0;
+ // sum the differences between new_val and the neighboors.
+ int diff_sum = 0;
mln_niter(N) n(nbh, p);
for_all(n)
- if (ima.domain().has(n))
- {
- diff_sum += abs(xi - out(n));
- coeff ++;
- }
-
- diff_sum /= coeff;
+ if (old_val != out(n))
+ ++diff_sum;
-// std::cout << "energy : " << (u + diff_sum) << std::endl;
+ du -= float(5 * (2 * diff_sum - int(nbh.size()))) / nbh.size();
- return (u + diff_sum * 5);
+ return du;
}
+
template <typename I>
void dump(const Image<I>& ima)
{
@@ -58,50 +59,42 @@
const I &ima = exact(ima_);
const N &nbh = exact(nbh_);
- mln_ch_value(I, bool) bin = binarization::threshold(ima, 255 / 2); // FIXME : max
- mln_ch_value(I, bool) out(bin.domain());
-
- io::pbm::save(out, "threshold.pbm");
+ typedef mln_ch_value(I, bool) O;
+ O bin = binarization::threshold(ima, 255 / 2); // FIXME : max
+ O out(bin.domain());
temperature_generator gtemp(start_temp, 0.8);
- double temp = start_temp;
+ approx_exp my_exp(-1000, 5, 100000);
+ float temp = start_temp;
Random<bool> v_random(0, 1); // mettre max et min ?
- Random<double> p_random(0., 1.); // idem
+ Random<float> p_random(0., 1.); // idem
unsigned modifications = 42;
unsigned turn = 1;
bool gradient = false;
- int diffneg = 0;
+
while (!gradient || modifications)
{
// Trace.
// dump(out);
- mln_piter(I) p(bin.domain());
modifications = 0;
-
- for_all(p)
+ mln_piter(O) p_out(out.domain());
+ for_all(p_out) if (v_random.get())
{
- bool v = v_random.get();
+ float d_u = compute_du(bin, out, p_out, nbh);
- double u = compute_energy(bin, out, nbh, out(p), p);
- double up = compute_energy(bin, out, nbh, v, p);
-
- double d_u = up - u;
- double proba = exp(-d_u / temp);
-
- if ((d_u < 0 || !gradient && (p_random.get() < proba)) && out(p) != v)
+ if ((d_u < 0 || !gradient && (p_random.get() < my_exp(-d_u / temp))))
{
- if (d_u < 0)
- diffneg ++;
- out(p) = v;
- modifications ++;
+ out(p_out) = !out(p_out);
+ ++modifications;
}
}
temp = gtemp;
- std::cout << "Turn : " << turn << " Modifs : " << modifications << " DiffNeg : " << diffneg << " Temp : " << temp << std::endl;
+
+ std::cout << "Turn : " << turn << " Temp : " << temp << " Modifications : " << modifications << std::endl;
turn ++;
if (!gradient && !modifications)
{
@@ -109,7 +102,6 @@
modifications = 1;
gradient = true;
}
- diffneg = 0;
}
return out;
Index: trunk/milena/sandbox/markov/random.hh
===================================================================
--- trunk/milena/sandbox/markov/random.hh (revision 3021)
+++ trunk/milena/sandbox/markov/random.hh (revision 3022)
@@ -9,11 +9,15 @@
public:
Random (T inf, T sup);
- T get () const;
+ T get ();
+ T gen () const;
public:
+ static const unsigned size_ = 10000;
T inf_;
T sup_;
+ int i_;
+ T values_[size_];
};
1
0
* tests/unit_test/build_unit_test.sh: Fix non-compatible sed
expressions.
---
milena/ChangeLog | 7 +++++++
milena/tests/unit_test/build_unit_test.sh | 11 ++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 29ad76c..d678bd8 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,10 @@
+2008-12-10 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix unit test generation on mac.
+
+ * tests/unit_test/build_unit_test.sh: Fix non-compatible sed
+ expressions.
+
2008-12-09 Guillaume Lazzara <z(a)lrde.epita.fr>
Update tutorial.
diff --git a/milena/tests/unit_test/build_unit_test.sh b/milena/tests/unit_test/build_unit_test.sh
index 2d6ad0d..037a2cd 100755
--- a/milena/tests/unit_test/build_unit_test.sh
+++ b/milena/tests/unit_test/build_unit_test.sh
@@ -4,7 +4,7 @@ if [ $# -ne 1 ]; then
echo "Usage: $0 <mln_path>"
fi
-HEADERS=`find $1 -name "*.hh" | grep -vE "*.spe.hh" | grep -v "mln/core/doc" | sed -e 's/.*\/mln\/\(.*\)/mln\/\1/g' | sed s/"\.\.\/\.\.\/"//g`
+HEADERS=`find $1 -name "*.hh" | grep -vE "*.spe.hh" | grep -v "mln/core/doc" | sed -e 's/.*\/mln\/\(.*\)/mln\/\1/g' | sed 's/\.\.\/\.\.\///g'`
rm -f Makefile.am
rm -f *.hh *.cc
@@ -17,7 +17,7 @@ echo "" >> Makefile.am
echo -n "check_PROGRAMS = " >> Makefile.am
for i in $HEADERS; do
- FILE_CC=`echo $i | sed s/"\(\/\|\.\)"/_/g | sed s/_hh/\.cc/g`
+ FILE_CC=`echo $i | sed 's/[/.]/_/g' | sed 's/_hh/\.cc/g'`
#Build .cc
echo "// Unit test for $i." >> $FILE_CC
echo "// Generated file, do not modify." >> $FILE_CC
@@ -29,16 +29,17 @@ for i in $HEADERS; do
echo "}" >> $FILE_CC
#build Makefile.am
+ TARGET=`echo "${FILE_CC}" | sed 's/\.cc//'`
echo " \\" >> Makefile.am
- echo -n "${FILE_CC}" | sed s/"\.cc"// >> Makefile.am
+ echo -n "${TARGET}" >> Makefile.am
done
#build Makefile.am
echo "" >> Makefile.am
echo "" >> Makefile.am
for i in $HEADERS; do
- FILE_CC=`echo $i | sed s/"\(\/\|\.\)"/_/g | sed s/_hh/\.cc/g`
- NAME=`echo $FILE_CC | sed s/"\.cc"//`
+ FILE_CC=`echo $i | sed 's/[/.]/_/g' | sed 's/_hh/\.cc/g'`
+ NAME=`echo $FILE_CC | sed 's/\.cc//g'`
echo "${NAME}_SOURCES = $FILE_CC" >> Makefile.am
done
echo "" >> Makefile.am
--
1.5.6.5
1
0
#87: Add unit (sanity) tests to Milena
-----------------------+----------------------------------------------------
Reporter: levill_r | Owner: jardonnet
Type: task | Status: closed
Priority: major | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Resolution: fixed | Keywords:
-----------------------+----------------------------------------------------
Changes (by jardonnet):
* status: assigned => closed
* resolution: => fixed
Comment:
Generated at bootstrap
--
Ticket URL: <https://trac.lrde.org/olena/ticket/87#comment:5>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
1
0
Guillaume Lazzara wrote:
> * bootstrap: update here.
Thank you. Sorry should have do it myself.
I can close the corresponding ticket now ;)
1
0
* bootstrap: update here.
---
ChangeLog | 6 ++++++
bootstrap | 2 +-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f78d6f4..64a4638 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2008-12-09 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Update call to build_unit_test.sh
+
+ * bootstrap: update here.
+
+2008-12-09 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Cleanup and fix bootstrap.
* bootstrap: cleanup and fix.
diff --git a/bootstrap b/bootstrap
index 52ffabf..f0ebe78 100755
--- a/bootstrap
+++ b/bootstrap
@@ -133,7 +133,7 @@ require autoconf 2.59
require automake 1.9.4
# Generate unit test files.
-run milena/tests/unit_test ./build_unit_test.sh
+run milena/tests/unit_test ./build_unit_test.sh $PWD/milena/mln
# Generate headers distribution config file.
dist_headers
--
1.5.6.5
1
0
* doc/tutorial/Makefile.am: resize converted images.
* doc/tutorial/figures/tuto1_first_image-1.pbm,
* doc/tutorial/outputs/tuto1_first_image.txt: new reference files.
* doc/tutorial/samples/Makefile.am,
* doc/tutorial/samples/tuto1_first_image.cc: add new sample.
* doc/tutorial/tools/todoxygen.sh: Improve output layout.
* doc/tutorial/tutorial.tex: add new chapters.
* tests/unit_test/Makefile.am,
* tests/unit_test/build_unit_test.sh: Avoid relative paths.
---
milena/ChangeLog | 19 +
milena/doc/tutorial/Makefile.am | 2 +-
.../doc/tutorial/figures/tuto1_first_image-1.pbm | 5 +
milena/doc/tutorial/outputs/tuto1_first_image.txt | 14 +
milena/doc/tutorial/samples/Makefile.am | 5 +
milena/doc/tutorial/samples/tuto1_first_image.cc | 35 +
milena/doc/tutorial/tools/todoxygen.sh | 10 +-
milena/doc/tutorial/tutorial.tex | 120 ++-
milena/tests/unit_test/Makefile.am | 1988 ++++++++++----------
milena/tests/unit_test/build_unit_test.sh | 8 +-
10 files changed, 1198 insertions(+), 1008 deletions(-)
create mode 100644 milena/doc/tutorial/figures/tuto1_first_image-1.pbm
create mode 100644 milena/doc/tutorial/outputs/tuto1_first_image.txt
create mode 100644 milena/doc/tutorial/samples/tuto1_first_image.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index f319d62..29ad76c 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,22 @@
+2008-12-09 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Update tutorial.
+
+ * doc/tutorial/Makefile.am: resize converted images.
+
+ * doc/tutorial/figures/tuto1_first_image-1.pbm,
+ * doc/tutorial/outputs/tuto1_first_image.txt: new reference files.
+
+ * doc/tutorial/samples/Makefile.am,
+ * doc/tutorial/samples/tuto1_first_image.cc: add new sample.
+
+ * doc/tutorial/tools/todoxygen.sh: Improve output layout.
+
+ * doc/tutorial/tutorial.tex: add new chapters.
+
+ * tests/unit_test/Makefile.am,
+ * tests/unit_test/build_unit_test.sh: Avoid relative paths.
+
2008-12-09 Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
Fix bug in p_array.
diff --git a/milena/doc/tutorial/Makefile.am b/milena/doc/tutorial/Makefile.am
index 2b93111..1ce13a1 100644
--- a/milena/doc/tutorial/Makefile.am
+++ b/milena/doc/tutorial/Makefile.am
@@ -26,7 +26,7 @@ fig-convert:
echo "Converting $$img to png"; \
name=`basename $$img` \
ext=`echo $$name | cut -d '.' -f 2`; \
- convert $$img $(FIGURES_BUILDDIR)/`basename $$img $$ext`png \
+ convert -scale 250 $$img $(FIGURES_BUILDDIR)/`basename $$img $$ext`png\
|| eval $$failcom; \
done;
diff --git a/milena/doc/tutorial/figures/tuto1_first_image-1.pbm b/milena/doc/tutorial/figures/tuto1_first_image-1.pbm
new file mode 100644
index 0000000..03baef0
--- /dev/null
+++ b/milena/doc/tutorial/figures/tuto1_first_image-1.pbm
@@ -0,0 +1,5 @@
+P4
+# Generated by Milena 1.0 http://olena.lrde.epita.fr
+# EPITA Research and Development Laboratory (LRDE)
+21 13
+ÿÿøš»Ø«»šˆ»š«»ššˆØÿÿøÂ›˜ª«šª›šŠ«šÂš˜ÿÿø
\ No newline at end of file
diff --git a/milena/doc/tutorial/outputs/tuto1_first_image.txt b/milena/doc/tutorial/outputs/tuto1_first_image.txt
new file mode 100644
index 0000000..42a59f9
--- /dev/null
+++ b/milena/doc/tutorial/outputs/tuto1_first_image.txt
@@ -0,0 +1,14 @@
+- - - - - - - - - - - - - - - - - - - - -
+- | - | - | | | - | - - - | - - - - | - -
+- | - | - | - - - | - - - | - - - | - | -
+- | | | - | | | - | - - - | - - - | - | -
+- | - | - | - - - | - - - | - - - | - | -
+- | - | - | | | - | | | - | | | - - | - -
+- - - - - - - - - - - - - - - - - - - - -
+- | - | - - | - - | | - - | - - - | | - -
+- | - | - | - | - | - | - | - - - | - | -
+- | - | - | - | - | | - - | - - - | - | -
+- | | | - | - | - | - | - | - - - | - | -
+- | - | - - | - - | - | - | | | - | | - -
+- - - - - - - - - - - - - - - - - - - - -
+
diff --git a/milena/doc/tutorial/samples/Makefile.am b/milena/doc/tutorial/samples/Makefile.am
index afa1cff..6e61992 100644
--- a/milena/doc/tutorial/samples/Makefile.am
+++ b/milena/doc/tutorial/samples/Makefile.am
@@ -44,6 +44,9 @@ bin_PROGRAMS = \
win-create-1 \
win-create-2
+bin_PROGRAMS += \
+tuto1_first_image
+
accu_right_instanciation_SOURCES = accu-right-instanciation.cc
borderthickness_SOURCES = borderthickness.cc
box2d_bbox_SOURCES = box2d-bbox.cc
@@ -84,6 +87,8 @@ predicate_1_SOURCES = predicate-1.cc
win_create_1_SOURCES = win-create-1.cc
win_create_2_SOURCES = win-create-2.cc
+tuto1_first_image_SOURCES = tuto1_first_image.cc
+
all: clean-figures
mkdir -p $(OUTPUTS_BUILDDIR)
mkdir -p $(FIGURES_BUILDDIR)
diff --git a/milena/doc/tutorial/samples/tuto1_first_image.cc b/milena/doc/tutorial/samples/tuto1_first_image.cc
new file mode 100644
index 0000000..ecc995f
--- /dev/null
+++ b/milena/doc/tutorial/samples/tuto1_first_image.cc
@@ -0,0 +1,35 @@
+#include <mln/essential/2d.hh>
+int main()
+{
+ using namespace mln;
+
+ // \{
+ bool vals[13][21] = {
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ {0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0},
+ {0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0},
+ {0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0},
+ {0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0},
+ {0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0},
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ {0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0},
+ {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0},
+ {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0},
+ {0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0},
+ {0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0},
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+ };
+ // \}
+
+ // \{
+ image2d<bool> ima = make::image(vals);
+ // \}
+
+ // \{
+ debug::println(ima);
+ // \}
+
+ // \{
+ io::pbm::save(ima, "../figures/tuto1_first_image-1.pbm");
+ // \}
+}
diff --git a/milena/doc/tutorial/tools/todoxygen.sh b/milena/doc/tutorial/tools/todoxygen.sh
index 5442cc4..0d2aae5 100755
--- a/milena/doc/tutorial/tools/todoxygen.sh
+++ b/milena/doc/tutorial/tools/todoxygen.sh
@@ -29,7 +29,9 @@ sed -i -e 's/”/\&rdquo/g' $out
sed -i -e 's/≡/\&equiv/g' $out
#Doxygen wants us to preserve '\n' after commands.
-sed -i -e 's/\\endhtmlonly/\\endhtmlonly\n/g' $out
-sed -i -e 's/\\htmlonly/\n\\htmlonly\n/g' $out
-sed -i -e 's/\\endhtmlonly/\\endhtmlonly\n/g' $out
-sed -i -e 's/\\htmlonly/\n\\htmlonly\n/g' $out
+#\ref and \see do not need that extra new line.
+for keyword in include section page subpage subsection image; do
+ sed -i -e "s/\\\\endhtmlonly\\\\$keyword/\\\\endhtmlonly\n\n\\\\$keyword/g" $out
+ sed -i -e "s/\\\\$keyword \(.*\)\\\\htmlonly/\\\\$keyword \1\n\n\\\\htmlonly\n/g" $out
+done
+
diff --git a/milena/doc/tutorial/tutorial.tex b/milena/doc/tutorial/tutorial.tex
index 8b69fcf..5e36f28 100644
--- a/milena/doc/tutorial/tutorial.tex
+++ b/milena/doc/tutorial/tutorial.tex
@@ -17,8 +17,7 @@
\end{figure}
}
-\title{Olena - Tutorial
-}
+\title{Olena - Quick Reference Guide}
\author{LRDE}
\date{}
@@ -100,6 +99,22 @@ showstringspaces=false,linewidth=14cm}
\backslash htmlonly%
}
+\newcommand{\doxyref}[1]{
+\backslash endhtmlonly%
+\backslash ref #1%
+\backslash htmlonly%
+}
+
+\newcommand{\doxysee}[1]{
+\backslash endhtmlonly%
+\backslash see #1%
+\backslash htmlonly%
+}
+
+\newcommand{\tutotoc}[2]{%
+\longleftarrow ~Go to \doxyref{#1} Go to \doxyref{#2}~ \longrightarrow%
+}
+
\newenvironment{doxymath}
{
%\backslash endhtmlonly%
@@ -126,6 +141,9 @@ $$
\pgfimage[width=#3]{figures/#2-#1}%
\label{#1}%
}
+\renewcommand{\doxyref}[1]{\ref{#1}}
+\renewcommand{\doxysee}[1]{\ref{#1}}
+\renewcommand{\tutotoc}[2]{}
\renewenvironment{doxymath}
{
$$
@@ -136,12 +154,16 @@ $$
%\end{latexonly}
+
\newcommand{\code}[1]{%
\textit{#1}%
}
\newcommand{\var}[1]{%
\textit{$#1$}%
}
+\newcommand{\val}[1]{%
+\textit{#1}%
+}
\newcommand{\type}[1]{%
\textit{#1}%
}
@@ -257,9 +279,20 @@ $$
\begin{document}
% Doxygen use only - Generate the left menu.
+%Write foreword below.
\begin{htmlonly}
\backslash endhtmlonly
+
\backslash page tutorial Tutorial
+- \backslash subpage tutoforeword
+- \backslash subpage tutofirstimage
+- \backslash subpage tutochangeimage
+- \backslash subpage tutoconvimage
+- \backslash subpage tutodataimage
+- \backslash subpage tutowinneighb
+- \backslash subpage tutograph
+
+\backslash page quickref Quick Reference Guide
- \backslash subpage installation
- \backslash subpage foreword
- \backslash subpage site
@@ -283,6 +316,72 @@ $$
\end{latexonly}
%====================================
+\doxychapter{tutoforeword}{Step 0: Foreword}
+
+- image2d
+- typical use case
+
+%====================================
+\doxychapter{tutofirstimage}{Step 1: Your first image}
+
+After this step you should know how to:
+\begin{itemize}
+\item create an image,
+\item display an image in console mode,
+\item save an image.
+\end{itemize}
+
+The full example can be found in \doxyref{tuto1_first_image.cc}.
+
+
+First, declare an array of bool which will represent the image grid. Each each
+cell in this grid is a site and each cell contains a value, \val{true} or
+\val{false}.
+\doxycode[1]{tuto1_first_image}
+
+From that grid, simply call make::image to get an image initialized with that
+data.
+\doxycode[2]{tuto1_first_image}
+This way of initializing an image is the most common one. However, there are
+several other ways described in section \doxyref{imacreate}.
+
+
+To be sure that the data is correctly initialized, it is possible to display the
+image in the standard output using debug::println.
+\doxycode[3]{tuto1_first_image}
+
+Finally, you may want to save the image. Since we use bool as image value, the
+PBM format is the best choice. Therefore, we use io::pbm::save.
+\doxycode[4]{tuto1_first_image}
+
+The output image looks like the following:
+\doxyfigure{tuto1_first_image}{3cm}
+
+In this first step we used a boolean image. Many other value types are available
+though. A more detailed description can be found in section
+\doxyref{imapossvalues}.
+Likewise, according to the value type, the proper file format must be chosen.
+The supported file formats are listed in section \doxyref{imaio}.
+
+\tutotoc{tutoforeword}{tutochangeimage}
+
+%====================================
+\doxychapter{tutochangeimage}{Step 2: Read and write images}
+
+%====================================
+\doxychapter{tutoconvimage}{Step 3: Conversion between image values}
+
+%====================================
+\doxychapter{tutodataimage}{Step 4: Fill and paste data}
+
+%====================================
+\doxychapter{tutowinneighb}{Step 5: Using structural elements with algorithms}
+
+%====================================
+\doxychapter{tutograph}{Step 6: Handle graphes with an image}
+
+
+%====================================
\doxychapter{installation}{Installation}
%**************************
@@ -487,7 +586,7 @@ p\_vertices & set of graph vertices associated to sites.\\
\hline
\end{tabular}
-All site sets are iterable. More detailed explanations are available in section \ref{iterators}.
+All site sets are iterable. More detailed explanations are available in section \doxyref{iterators}.
%**************************
\doxysection{sitesetinterface}{Basic interface}
@@ -742,7 +841,7 @@ resize & Set image border to a specific size.\\
\end{tabular} \\
-On morphed images, decribed in section \ref{imamorphed}, the border concept
+On morphed images, decribed in section \doxyref{imamorphed}, the border concept
does not exist and is generalized to the extension concept.
A simple example of a morphed image is a sub-image. A sub image does not have
border nor extension by default.
@@ -897,13 +996,20 @@ processing, or another image. Trying to access the site value from an empty
image leads to an error at run-time.
Img1b is defined on a domain but does not have data yet.\\
+An image can also be created and initialized at the same time:
+\doxycode[1]{labeling-compute}
+It constructs the following image: \\
+\begin{center}
+\doxyfigure[1]{labeling-compute}{3cm}
+\end{center}
+
Sometimes, you may want to initialize an image from another one:
\doxycode{ima2d-7}
\var{img2b} is declared without specifying a domain. Its border size is set to
the default one, e.g 0. By using \code{initialize} \var{img2b} is initialized
with the same domain and border/extension as \var{img2a}. The data is not
copied though. Other routines like \code{level::fill} can be called in order to
- do so (See also \ref{fillop}).
+ do so (See also \doxyref{fillop}).
%================================================
@@ -923,7 +1029,7 @@ Output:
Usually, you will want to use the functional way, ``\code{ima(Site)}'', more
particularly while iterating over all the sites through an iterator. This use
-case will be detailed further in section \ref{iterators}.
+case will be detailed further in section \doxyref{iterators}.
@@ -1288,7 +1394,7 @@ first version \must be used in templated function whereas the second one \must b
used in non templated functions.
If you want a list of all the macros available in Olena, please refert to
-section \ref{macros}.
+section \doxyref{macros}.
%================================================
diff --git a/milena/tests/unit_test/Makefile.am b/milena/tests/unit_test/Makefile.am
index d17cd67..893238e 100644
--- a/milena/tests/unit_test/Makefile.am
+++ b/milena/tests/unit_test/Makefile.am
@@ -2,1000 +2,1000 @@
include $(top_srcdir)/milena/tests/tests.mk
-check_PROGRAMS = \
-mln_histo_all\
-mln_histo_data\
-mln_histo_compute\
-mln_histo_essential\
-mln_geom_pmin_pmax\
-mln_geom_max_row\
-mln_geom_chamfer\
-mln_geom_min_row\
-mln_geom_seeds2tiling\
-mln_geom_size1d\
-mln_geom_all\
-mln_geom_size2d\
-mln_geom_max_ind\
-mln_geom_max_col\
-mln_geom_size3d\
-mln_geom_ninds\
-mln_geom_nslis\
-mln_geom_delta\
-mln_geom_resize\
-mln_geom_nsites\
-mln_geom_min_col\
-mln_geom_complex_geometry\
-mln_geom_ncols\
-mln_geom_nrows\
-mln_geom_min_ind\
-mln_geom_bbox\
-mln_geom_seeds2tiling_roundness\
-mln_geom_min_sli\
-mln_geom_essential\
-mln_geom_max_sli\
-mln_draw_box\
-mln_draw_all\
-mln_draw_plot\
-mln_draw_line\
-mln_draw_essential\
-mln_pw_image\
-mln_pw_all\
-mln_pw_value\
-mln_pw_cst\
-mln_pw_var\
-mln_pw_essential\
-mln_literal_zero\
-mln_literal_ops\
-mln_literal_origin\
-mln_literal_grays\
-mln_literal_all\
-mln_literal_colors\
-mln_literal_black\
-mln_literal_one\
-mln_literal_white\
-mln_literal_essential\
-mln_registration_get_rtransf\
-mln_registration_internal_rms\
-mln_registration_get_rot\
-mln_registration_all\
-mln_registration_multiscale\
-mln_registration_registration\
-mln_registration_essential\
-mln_registration_icp\
-mln_util_graph\
-mln_util_max\
-mln_util_lazy_set\
-mln_util_set\
-mln_util_tree_to_image\
-mln_util_lemmings\
-mln_util_greater_point\
-mln_util_internal_graph_iter_base\
-mln_util_internal_boost_graph_access\
-mln_util_internal_boost_graph_structure\
-mln_util_internal_graph_iter\
-mln_util_internal_graph_nbh_iter\
-mln_util_internal_vertex_impl\
-mln_util_internal_edge_impl\
-mln_util_internal_graph_base\
-mln_util_internal_boost_graph\
-mln_util_internal_graph_nbh_iter_base\
-mln_util_internal_boost_graph_property\
-mln_util_ord_pair\
-mln_util_edge\
-mln_util_all\
-mln_util_dindex\
-mln_util_tracked_ptr\
-mln_util_ignore\
-mln_util_greater_psite\
-mln_util_timer\
-mln_util_yes\
-mln_util_line_graph\
-mln_util_ord\
-mln_util_tree_fast_to_image\
-mln_util_tree\
-mln_util_index\
-mln_util_multi_site\
-mln_util_branch_iter\
-mln_util_branch_iter_ind\
-mln_util_tree_to_fast\
-mln_util_array\
-mln_util_vertex\
-mln_util_pix\
-mln_util_tree_fast\
-mln_util_site_pair\
-mln_util_nil\
-mln_util_eat\
-mln_util_essential\
-mln_tag_init\
-mln_tag_skeleton\
-mln_tag_all\
-mln_tag_essential\
-mln_trace_entering\
-mln_trace_all\
-mln_trace_warning\
-mln_trace_exiting\
-mln_trace_resume\
-mln_trace_quiet\
-mln_trace_stop\
-mln_trace_essential\
-mln_make_graph\
-mln_make_double_neighb2d\
-mln_make_dpoint2d_h\
-mln_make_w_window\
-mln_make_image\
-mln_make_vec\
-mln_make_all\
-mln_make_dual_neighb\
-mln_make_w_window3d\
-mln_make_mat\
-mln_make_win_chamfer\
-mln_make_w_window2d_int\
-mln_make_box1d\
-mln_make_voronoi\
-mln_make_box2d\
-mln_make_w_window2d\
-mln_make_box3d\
-mln_make_relabelfun\
-mln_make_pixel\
-mln_make_pix\
-mln_make_box2d_h\
-mln_make_w_window1d\
-mln_make_image2d\
-mln_make_w_window_directional\
-mln_make_w_window3d_int\
-mln_make_essential\
-mln_make_w_window1d_int\
-mln_make_point2d_h\
-mln_display_all\
-mln_display_essential\
-mln_extension_adjust\
-mln_extension_duplicate\
-mln_extension_adjust_duplicate\
-mln_extension_all\
-mln_extension_adjust_fill\
-mln_extension_fill\
-mln_extension_essential\
-mln_fun_p2b_chess\
-mln_fun_p2b_all\
-mln_fun_p2b_has\
-mln_fun_p2b_big_chess\
-mln_fun_p2b_essential\
-mln_fun_p2p_mirror\
-mln_fun_x2p_closest_point\
-mln_fun_x2p_all\
-mln_fun_x2p_essential\
-mln_fun_ops\
-mln_fun_c\
-mln_fun_vv2v_max\
-mln_fun_vv2v_lor\
-mln_fun_vv2v_land_not\
-mln_fun_vv2v_vec\
-mln_fun_vv2v_all\
-mln_fun_vv2v_macros\
-mln_fun_vv2v_lxor\
-mln_fun_vv2v_diff_abs\
-mln_fun_vv2v_land\
-mln_fun_vv2v_min\
-mln_fun_vv2v_essential\
-mln_fun_internal_array_base\
-mln_fun_internal_x2x_linear_impl\
-mln_fun_internal_selector\
-mln_fun_p2v_ternary\
-mln_fun_p2v_iota\
-mln_fun_p2v_elifs\
-mln_fun_p2v_all\
-mln_fun_p2v_essential\
-mln_fun_all\
-mln_fun_v2b_lnot\
-mln_fun_v2b_all\
-mln_fun_v2b_threshold\
-mln_fun_v2b_essential\
-mln_fun_v2v_norm\
-mln_fun_v2v_linear\
-mln_fun_v2v_id\
-mln_fun_v2v_saturate\
-mln_fun_v2v_inc\
-mln_fun_v2v_all\
-mln_fun_v2v_dec\
-mln_fun_v2v_abs\
-mln_fun_v2v_cast\
-mln_fun_v2v_rgb_to_hsi\
-mln_fun_v2v_enc\
-mln_fun_v2v_convert\
-mln_fun_v2v_essential\
-mln_fun_cast\
-mln_fun_i2v_all\
-mln_fun_i2v_array\
-mln_fun_i2v_all_to\
-mln_fun_i2v_essential\
-mln_fun_l2l_relabel\
-mln_fun_l2l_all\
-mln_fun_l2l_essential\
-mln_fun_x2x_composed\
-mln_fun_x2x_all\
-mln_fun_x2x_translation\
-mln_fun_x2x_rotation\
-mln_fun_x2x_essential\
-mln_fun_x2v_linear\
-mln_fun_x2v_bilinear\
-mln_fun_x2v_all\
-mln_fun_x2v_l1_norm\
-mln_fun_x2v_nneighbor\
-mln_fun_x2v_essential\
-mln_fun_essential\
-mln_all\
-mln_convert_to_p_set\
-mln_convert_to\
-mln_convert_to_upper_window\
-mln_convert_to_image\
-mln_convert_to_fun\
-mln_convert_all\
-mln_convert_to_window\
-mln_convert_from_to\
-mln_convert_impl_from_value_to_value\
-mln_convert_impl_all\
-mln_convert_impl_from_image_to_site_set\
-mln_convert_to_dpoint\
-mln_convert_to_p_array\
-mln_convert_to_rgb\
-mln_convert_essential\
-mln_value_float01_f\
-mln_value_float01_16\
-mln_value_lut_vec\
-mln_value_glf\
-mln_value_other\
-mln_value_graylevel_f\
-mln_value_aliases\
-mln_value_label_16\
-mln_value_ops\
-mln_value_set\
-mln_value_int_u_sat\
-mln_value_float01_8\
-mln_value_int_u8\
-mln_value_equiv\
-mln_value_internal_integer\
-mln_value_internal_gray_f\
-mln_value_internal_all\
-mln_value_internal_value_like\
-mln_value_internal_iterable_set\
-mln_value_internal_encoding\
-mln_value_internal_convert\
-mln_value_internal_gray_\
-mln_value_internal_essential\
-mln_value_proxy\
-mln_value_viter\
-mln_value_graylevel\
-mln_value_all\
-mln_value_super_value\
-mln_value_builtin_symbolics\
-mln_value_builtin_ops\
-mln_value_builtin_all\
-mln_value_builtin_promotions\
-mln_value_builtin_integers\
-mln_value_builtin_floatings\
-mln_value_builtin_essential\
-mln_value_sign\
-mln_value_hsi\
-mln_value_interval\
-mln_value_gl16\
-mln_value_scalar\
-mln_value_float01\
-mln_value_cast\
-mln_value_int_u\
-mln_value_int_s8\
-mln_value_int_s16\
-mln_value_int_u16\
-mln_value_label\
-mln_value_rgb\
-mln_value_stack\
-mln_value_concept_integer\
-mln_value_concept_structured\
-mln_value_concept_built_in\
-mln_value_concept_all\
-mln_value_concept_scalar\
-mln_value_concept_data\
-mln_value_concept_floating\
-mln_value_concept_symbolic\
-mln_value_concept_vectorial\
-mln_value_concept_essential\
-mln_value_int_s\
-mln_value_rgb8\
-mln_value_int_s32\
-mln_value_float01_\
-mln_value_rgb16\
-mln_value_int_u32\
-mln_value_gl8\
-mln_value_label_8\
-mln_value_essential\
-mln_accu_tuple\
-mln_accu_min_h\
-mln_accu_max\
-mln_accu_lor\
-mln_accu_rank\
-mln_accu_transform_stop\
-mln_accu_maj_h\
-mln_accu_min_max\
-mln_accu_internal_base\
-mln_accu_transform_snake\
-mln_accu_rank_high_quant\
-mln_accu_count\
-mln_accu_median_h\
-mln_accu_all\
-mln_accu_land_basic\
-mln_accu_p\
-mln_accu_transform\
-mln_accu_median_alt\
-mln_accu_volume\
-mln_accu_sum\
-mln_accu_height\
-mln_accu_land\
-mln_accu_take\
-mln_accu_histo\
-mln_accu_pair\
-mln_accu_count_adjacent_vertices\
-mln_accu_convolve\
-mln_accu_v\
-mln_accu_rank_bool\
-mln_accu_min\
-mln_accu_transform_directional\
-mln_accu_compute\
-mln_accu_mean\
-mln_accu_lor_basic\
-mln_accu_transform_diagonal\
-mln_accu_nil\
-mln_accu_bbox\
-mln_accu_center\
-mln_accu_line\
-mln_accu_essential\
-mln_accu_max_h\
-mln_level_compare\
-mln_level_memset_\
-mln_level_transform_inplace\
-mln_level_replace\
-mln_level_memcpy_\
-mln_level_apply\
-mln_level_approx_all\
-mln_level_approx_essential\
-mln_level_approx_median\
-mln_level_saturate\
-mln_level_all\
-mln_level_paste\
-mln_level_fast_median\
-mln_level_abs\
-mln_level_fill_with_image\
-mln_level_transform\
-mln_level_fill_with_value\
-mln_level_stretch\
-mln_level_was_median\
-mln_level_compute\
-mln_level_convert\
-mln_level_to_enc\
-mln_level_naive_all\
-mln_level_naive_essential\
-mln_level_naive_median\
-mln_level_sort_psites\
-mln_level_update\
-mln_level_fill\
-mln_level_essential\
-mln_level_assign\
-mln_level_median\
-mln_math_jacobi\
-mln_math_max\
-mln_math_sqr\
-mln_math_all\
-mln_math_sign\
-mln_math_abs\
-mln_math_diff_abs\
-mln_math_round\
-mln_math_min\
-mln_math_sqrt\
-mln_math_essential\
-mln_math_round_sat\
-mln_binarization_includes\
-mln_binarization_all\
-mln_binarization_binarization\
-mln_binarization_threshold\
-mln_binarization_essential\
-mln_trait_site_set_props\
-mln_trait_site_set_print\
-mln_trait_promote\
-mln_trait_solve_binary\
-mln_trait_value_\
-mln_trait_all\
-mln_trait_value_all\
-mln_trait_value_nature\
-mln_trait_value_quant\
-mln_trait_value_kind\
-mln_trait_value_print\
-mln_trait_value_essential\
-mln_trait_images\
-mln_trait_window_props\
-mln_trait_window_print\
-mln_trait_ch_value\
-mln_trait_solve\
-mln_trait_solve_unary\
-mln_trait_op_postdec\
-mln_trait_op_mod\
-mln_trait_op_lor\
-mln_trait_op_neq\
-mln_trait_op_plus\
-mln_trait_op_xor\
-mln_trait_op_all\
-mln_trait_op_geq\
-mln_trait_op_uminus\
-mln_trait_op_not\
-mln_trait_op_times\
-mln_trait_op_less\
-mln_trait_op_decl\
-mln_trait_op_ord\
-mln_trait_op_and\
-mln_trait_op_or\
-mln_trait_op_predec\
-mln_trait_op_minus\
-mln_trait_op_div\
-mln_trait_op_leq\
-mln_trait_op_preinc\
-mln_trait_op_greater\
-mln_trait_op_postinc\
-mln_trait_op_uplus\
-mln_trait_op_essential\
-mln_trait_op_eq\
-mln_trait_concrete\
-mln_trait_windows\
-mln_trait_site_sets\
-mln_trait_image_from_grid\
-mln_trait_undef\
-mln_trait_image_props\
-mln_trait_image_print\
-mln_trait_neighborhood\
-mln_trait_essential\
-mln_canvas_labeling\
-mln_canvas_browsing_hyper_directional\
-mln_canvas_browsing_snake_generic\
-mln_canvas_browsing_backdiagonal2d\
-mln_canvas_browsing_snake_vert\
-mln_canvas_browsing_snake_fwd\
-mln_canvas_browsing_all\
-mln_canvas_browsing_diagonal2d\
-mln_canvas_browsing_fwd\
-mln_canvas_browsing_dir_struct_elt_incr_update\
-mln_canvas_browsing_directional\
-mln_canvas_browsing_essential\
-mln_canvas_chamfer\
-mln_canvas_distance_geodesic\
-mln_canvas_all\
-mln_canvas_distance_front\
-mln_canvas_morpho_all\
-mln_canvas_morpho_algebraic_union_find\
-mln_canvas_morpho_essential\
-mln_canvas_essential\
-mln_metal_is_const\
-mln_metal_none\
-mln_metal_equal\
-mln_metal_unptr\
-mln_metal_not_equal\
-mln_metal_is_ref\
-mln_metal_ret\
-mln_metal_unqualif\
-mln_metal_is_not\
-mln_metal_vec\
-mln_metal_is\
-mln_metal_bool\
-mln_metal_all\
-mln_metal_math_pow\
-mln_metal_math_max\
-mln_metal_math_all\
-mln_metal_math_root\
-mln_metal_math_sqrt\
-mln_metal_mat\
-mln_metal_is_not_const\
-mln_metal_fix_return\
-mln_metal_ands\
-mln_metal_const\
-mln_metal_is_unqualif\
-mln_metal_unconst\
-mln_metal_bexpr\
-mln_metal_array2d\
-mln_metal_is_not_a\
-mln_metal_is_a\
-mln_metal_array1d\
-mln_metal_if\
-mln_metal_unref\
-mln_metal_array\
-mln_metal_ref\
-mln_metal_same_point\
-mln_metal_int\
-mln_metal_abort\
-mln_metal_same_coord\
-mln_metal_templated_by\
-mln_metal_has_neighborhood\
-mln_metal_goes_to\
-mln_metal_is_not_ref\
-mln_metal_converts_to\
-mln_metal_essential\
-mln_metal_array3d\
-mln_algebra_vec\
-mln_algebra_all\
-mln_algebra_h_vec\
-mln_algebra_mat\
-mln_algebra_h_mat\
-mln_algebra_quat\
-mln_algebra_essential\
-mln_linear_convolve_2x1d\
-mln_linear_all\
-mln_linear_ch_convolve\
-mln_linear_gaussian\
-mln_linear_convolve\
-mln_linear_sobel_2d\
-mln_linear_local_convolve\
-mln_linear_lap\
-mln_linear_convolve_directional\
-mln_linear_log\
-mln_linear_essential\
-mln_morpho_thinning\
-mln_morpho_meyer_wst\
-mln_morpho_opening\
-mln_morpho_includes\
-mln_morpho_elementary_opening\
-mln_morpho_elementary_gradient_internal\
-mln_morpho_elementary_dilation\
-mln_morpho_elementary_laplacian\
-mln_morpho_elementary_all\
-mln_morpho_elementary_gradient_external\
-mln_morpho_elementary_like_ero_fun\
-mln_morpho_elementary_gradient\
-mln_morpho_elementary_like_ero_set\
-mln_morpho_elementary_closing\
-mln_morpho_elementary_top_hat\
-mln_morpho_elementary_erosion\
-mln_morpho_elementary_essential\
-mln_morpho_thin_fit\
-mln_morpho_skeleton_constrained\
-mln_morpho_complementation\
-mln_morpho_line_gradient\
-mln_morpho_hit_or_miss\
-mln_morpho_closing_height\
-mln_morpho_plus\
-mln_morpho_general\
-mln_morpho_internal_elementary\
-mln_morpho_contrast\
-mln_morpho_opening_area\
-mln_morpho_opening_height\
-mln_morpho_thickening\
-mln_morpho_dilation\
-mln_morpho_laplacian\
-mln_morpho_all\
-mln_morpho_opening_attribute\
-mln_morpho_opening_volume\
-mln_morpho_closing_area_on_vertices\
-mln_morpho_closing_volume\
-mln_morpho_minus\
-mln_morpho_gradient\
-mln_morpho_tree_max\
-mln_morpho_tree_compute_parent\
-mln_morpho_tree_all\
-mln_morpho_tree_utils\
-mln_morpho_tree_data\
-mln_morpho_tree_compute_attribute_image\
-mln_morpho_opening_area_on_vertices\
-mln_morpho_min\
-mln_morpho_closing\
-mln_morpho_top_hat\
-mln_morpho_erosion\
-mln_morpho_Rd\
-mln_morpho_closing_area\
-mln_morpho_thick_miss\
-mln_morpho_closing_attribute\
-mln_morpho_rank_filter\
-mln_morpho_essential\
-mln_topo_n_face_iter\
-mln_topo_face_iter\
-mln_topo_is_simple_2d\
-mln_topo_centered_iter_adapter\
-mln_topo_internal_complex_set_iterator_base\
-mln_topo_internal_complex_iterator_base\
-mln_topo_internal_complex_relative_iterator_base\
-mln_topo_internal_complex_relative_iterator_sequence\
-mln_topo_algebraic_n_face\
-mln_topo_attic_faces_iter\
-mln_topo_adj_lower_dim_connected_n_face_iter\
-mln_topo_n_face\
-mln_topo_adj_lower_higher_face_iter\
-mln_topo_all\
-mln_topo_face_data\
-mln_topo_static_n_face_iter\
-mln_topo_face\
-mln_topo_adj_m_face_iter\
-mln_topo_complex\
-mln_topo_adj_higher_face_iter\
-mln_topo_adj_lower_face_iter\
-mln_topo_complex_iterators\
-mln_topo_center_only_iter\
-mln_topo_adj_higher_dim_connected_n_face_iter\
-mln_topo_algebraic_face\
-mln_topo_n_faces_set\
-mln_topo_essential\
-mln_essential_1d\
-mln_essential_routine\
-mln_essential_3d\
-mln_essential_2d\
-mln_win_inter\
-mln_win_backdiag2d\
-mln_win_segment1d\
-mln_win_cuboid3d\
-mln_win_vline2d\
-mln_win_octagon2d\
-mln_win_all\
-mln_win_multiple_size\
-mln_win_cube3d\
-mln_win_shift\
-mln_win_sym\
-mln_win_diff\
-mln_win_multiple\
-mln_win_diag2d\
-mln_win_disk2d\
-mln_win_rectangle2d\
-mln_win_hline2d\
-mln_win_line\
-mln_win_essential\
-mln_core_clock_neighb\
-mln_core_pixter2d\
-mln_core_def_low_quant_nbits\
-mln_core_def_all\
-mln_core_def_coordf\
-mln_core_def_coord\
-mln_core_def_essential\
-mln_core_site_set_box\
-mln_core_site_set_p_vertices\
-mln_core_site_set_p_vaccess\
-mln_core_site_set_p_if_piter\
-mln_core_site_set_p_run_piter\
-mln_core_site_set_p_key\
-mln_core_site_set_p_double\
-mln_core_site_set_p_complex_piter\
-mln_core_site_set_p_complex\
-mln_core_site_set_p_image\
-mln_core_site_set_attic_p_complex_faces_piter\
-mln_core_site_set_attic_p_faces_piter\
-mln_core_site_set_p_priority\
-mln_core_site_set_p_set_of\
-mln_core_site_set_all\
-mln_core_site_set_p_edges\
-mln_core_site_set_box_piter\
-mln_core_site_set_p_faces\
-mln_core_site_set_p_set\
-mln_core_site_set_p_queue\
-mln_core_site_set_p_if\
-mln_core_site_set_operators\
-mln_core_site_set_p_mutable_array_of\
-mln_core_site_set_p_edges_psite\
-mln_core_site_set_complex_psite\
-mln_core_site_set_p_run\
-mln_core_site_set_p_n_faces_piter\
-mln_core_site_set_p_centered\
-mln_core_site_set_p_bgraph\
-mln_core_site_set_p_bgraph_piter\
-mln_core_site_set_p_array\
-mln_core_site_set_p_vertices_psite\
-mln_core_site_set_p_line2d\
-mln_core_site_set_p_queue_fast\
-mln_core_site_set_p_graph_piter\
-mln_core_site_set_essential\
-mln_core_dpsites_piter\
-mln_core_w_window\
-mln_core_grids\
-mln_core_dpoints_pixter\
-mln_core_internal_graph_psite_base\
-mln_core_internal_run_image\
-mln_core_internal_pixel_impl\
-mln_core_internal_site_set_base\
-mln_core_internal_image_value_morpher\
-mln_core_internal_site_iterator_base\
-mln_core_internal_complex_neighborhood_base\
-mln_core_internal_site_relative_iterator_base\
-mln_core_internal_site_set_impl\
-mln_core_internal_exact\
-mln_core_internal_p_complex_piter_base\
-mln_core_internal_neighb_niter_impl\
-mln_core_internal_pixel_iterator_base\
-mln_core_internal_classical_window_base\
-mln_core_internal_data\
-mln_core_internal_force_exact\
-mln_core_internal_image_base\
-mln_core_internal_check_image_fastest\
-mln_core_internal_check_image_all\
-mln_core_internal_fixme\
-mln_core_internal_morpher_lvalue\
-mln_core_internal_image_domain_morpher\
-mln_core_internal_image_primary\
-mln_core_internal_set_of\
-mln_core_internal_complex_window_p_base\
-mln_core_internal_graph_window_base\
-mln_core_internal_piter_adaptor\
-mln_core_internal_weighted_window_base\
-mln_core_internal_neighborhood_base\
-mln_core_internal_image_morpher\
-mln_core_internal_coord_impl\
-mln_core_internal_geom_bbox\
-mln_core_internal_image_identity\
-mln_core_internal_pseudo_site_base\
-mln_core_internal_window_base\
-mln_core_internal_box_impl\
-mln_core_internal_site_set_iterator_base\
-mln_core_contract\
-mln_core_all\
-mln_core_point\
-mln_core_neighb\
-mln_core_routine_initialize\
-mln_core_routine_primary\
-mln_core_routine_init\
-mln_core_routine_ops\
-mln_core_routine_all\
-mln_core_routine_clone\
-mln_core_routine_exact\
-mln_core_routine_extend\
-mln_core_routine_essential\
-mln_core_trait_op_mult\
-mln_core_trait_all\
-mln_core_trait_pixter\
-mln_core_trait_qlf_value\
-mln_core_trait_essential\
-mln_core_pixter1d\
-mln_core_category\
-mln_core_macros\
-mln_core_box_runstart_piter\
-mln_core_tags\
-mln_core_dpoint\
-mln_core_alias_dpoint2d_h\
-mln_core_alias_p_run2d\
-mln_core_alias_point3d\
-mln_core_alias_neighb3d\
-mln_core_alias_window3d\
-mln_core_alias_neighb2d\
-mln_core_alias_complex_image\
-mln_core_alias_w_window1d_float\
-mln_core_alias_neighb1d\
-mln_core_alias_w_window2d_float\
-mln_core_alias_w_window2d_int\
-mln_core_alias_box1d\
-mln_core_alias_box2d\
-mln_core_alias_window1d\
-mln_core_alias_point1d\
-mln_core_alias_box3d\
-mln_core_alias_dpoint3d\
-mln_core_alias_complex_geometry\
-mln_core_alias_w_window3d_float\
-mln_core_alias_box2d_h\
-mln_core_alias_point2d\
-mln_core_alias_window2d\
-mln_core_alias_p_runs2d\
-mln_core_alias_point3df\
-mln_core_alias_dpoint1d\
-mln_core_alias_w_window3d_int\
-mln_core_alias_dpoint2d\
-mln_core_alias_w_window1d_int\
-mln_core_alias_point2d_h\
-mln_core_window\
-mln_core_concept_site_proxy\
-mln_core_concept_point_site\
-mln_core_concept_box\
-mln_core_concept_generalized_pixel\
-mln_core_concept_graph\
-mln_core_concept_iterator\
-mln_core_concept_doc_point_site\
-mln_core_concept_doc_box\
-mln_core_concept_doc_generalized_pixel\
-mln_core_concept_doc_iterator\
-mln_core_concept_doc_image_fastest\
-mln_core_concept_doc_image\
-mln_core_concept_doc_value_set\
-mln_core_concept_doc_weighted_window\
-mln_core_concept_doc_pixel_iterator\
-mln_core_concept_doc_value_iterator\
-mln_core_concept_doc_dpoint\
-mln_core_concept_doc_window\
-mln_core_concept_doc_accumulator\
-mln_core_concept_doc_site_set\
-mln_core_concept_doc_object\
-mln_core_concept_doc_neighborhood\
-mln_core_concept_doc_point_iterator\
-mln_core_concept_pseudo_site\
-mln_core_concept_image\
-mln_core_concept_value_set\
-mln_core_concept_proxy\
-mln_core_concept_site\
-mln_core_concept_weighted_window\
-mln_core_concept_all\
-mln_core_concept_gpoint\
-mln_core_concept_site_iterator\
-mln_core_concept_point\
-mln_core_concept_literal\
-mln_core_concept_pixel_iterator\
-mln_core_concept_value_iterator\
-mln_core_concept_meta_accumulator\
-mln_core_concept_gdpoint\
-mln_core_concept_regular_grid\
-mln_core_concept_mesh\
-mln_core_concept_dpoint\
-mln_core_concept_function\
-mln_core_concept_window\
-mln_core_concept_value\
-mln_core_concept_accumulator\
-mln_core_concept_site_set\
-mln_core_concept_object\
-mln_core_concept_delta_point_site\
-mln_core_concept_neighborhood\
-mln_core_concept_browsing\
-mln_core_pixel\
-mln_core_clock_neighb2d\
-mln_core_pixter3d\
-mln_core_image_obased_rle_encode\
-mln_core_image_plain\
-mln_core_image_graph_image\
-mln_core_image_image3d\
-mln_core_image_decorated_image\
-mln_core_image_extension_ima\
-mln_core_image_flat_image\
-mln_core_image_complex_neighborhood_piter\
-mln_core_image_tr_mesh\
-mln_core_image_graph_elt_window\
-mln_core_image_obased_rle_image\
-mln_core_image_mono_obased_rle_image\
-mln_core_image_interpolated\
-mln_core_image_lazy_image\
-mln_core_image_t_image\
-mln_core_image_hexa_piter\
-mln_core_image_value_enc_image\
-mln_core_image_sub_image_if\
-mln_core_image_all\
-mln_core_image_mono_rle_image\
-mln_core_image_complex_image\
-mln_core_image_cast_image\
-mln_core_image_rle_encode\
-mln_core_image_complex_window_piter\
-mln_core_image_tr_image\
-mln_core_image_sub_image\
-mln_core_image_rle_image\
-mln_core_image_line_graph_elt_window\
-mln_core_image_mono_rle_encode\
-mln_core_image_bgraph_psite\
-mln_core_image_sparse_image\
-mln_core_image_bgraph_image\
-mln_core_image_complex_neighborhoods\
-mln_core_image_graph_window_piter\
-mln_core_image_sparse_encode\
-mln_core_image_safe\
-mln_core_image_extension_fun\
-mln_core_image_image1d\
-mln_core_image_extension_val\
-mln_core_image_image_if\
-mln_core_image_hexa\
-mln_core_image_extended\
-mln_core_image_image2d_h\
-mln_core_image_image2d\
-mln_core_image_ch_piter\
-mln_core_image_complex_windows\
-mln_core_image_fi_adaptor\
-mln_core_image_mono_obased_rle_encode\
-mln_core_image_line_graph_image\
-mln_core_image_value_encode\
-mln_core_image_essential\
-mln_core_a_point_of\
-mln_core_var\
-mln_core_essential\
-mln_core_faces_psite\
-mln_labeling_blobs\
-mln_labeling_background\
-mln_labeling_relabel\
-mln_labeling_all\
-mln_labeling_level\
-mln_labeling_flat_zones\
-mln_labeling_foreground\
-mln_labeling_regional_maxima\
-mln_labeling_compute\
-mln_labeling_regional_minima\
-mln_labeling_essential\
-mln_test_predicate\
-mln_test_all\
-mln_test_positive\
-mln_test_essential\
-mln_transform_distance_geodesic\
-mln_transform_internal_all\
-mln_transform_internal_distance_functor\
-mln_transform_internal_influence_zone_functor\
-mln_transform_all\
-mln_transform_influence_zone_front\
-mln_transform_distance_front\
-mln_transform_influence_zone_geodesic\
-mln_transform_essential\
-mln_arith_includes\
-mln_arith_plus\
-mln_arith_all\
-mln_arith_times\
-mln_arith_diff_abs\
-mln_arith_minus\
-mln_arith_min\
-mln_arith_revert\
-mln_arith_essential\
-mln_io_pgm_load\
-mln_io_pgm_all\
-mln_io_pgm_save\
-mln_io_ppm_load\
-mln_io_ppm_all\
-mln_io_ppm_save\
-mln_io_pfm_load\
-mln_io_pfm_all\
-mln_io_pfm_save\
-mln_io_all\
-mln_io_pbm_load\
-mln_io_pbm_all\
-mln_io_pbm_save\
-mln_io_pnm_max_component\
-mln_io_pnm_load\
-mln_io_pnm_load_header\
-mln_io_pnm_all\
-mln_io_pnm_macros\
-mln_io_pnm_save\
-mln_io_pnm_save_header\
-mln_io_txt_all\
-mln_io_txt_save\
-mln_io_abort\
-mln_io_fits_load\
-mln_io_fits_all\
-mln_io_off_load\
-mln_io_off_all\
-mln_io_off_save\
-mln_io_essential\
-mln_logical_includes\
-mln_logical_and_not\
-mln_logical_xor\
-mln_logical_all\
-mln_logical_not\
-mln_logical_and\
-mln_logical_or\
-mln_logical_essential\
-mln_norm_all\
-mln_norm_l1\
-mln_norm_l2\
-mln_norm_linfty\
-mln_norm_essential\
-mln_debug_iota\
-mln_debug_all\
-mln_debug_println_with_border\
-mln_debug_colorize\
-mln_debug_draw_graph\
-mln_debug_put_word\
-mln_debug_format\
-mln_debug_println\
-mln_debug_essential\
-mln_estim_min_max\
-mln_estim_all\
-mln_estim_sum\
-mln_estim_mean\
-mln_estim_essential\
-mln_set_uni\
-mln_set_inter\
-mln_set_all\
-mln_set_get\
-mln_set_sym_diff\
-mln_set_has\
-mln_set_diff\
-mln_set_compute\
-mln_set_essential\
-mln_border_adjust\
-mln_border_duplicate\
-mln_border_find\
-mln_border_thickness\
-mln_border_all\
-mln_border_mirror\
-mln_border_get\
-mln_border_equalize\
-mln_border_resize\
-mln_border_fill\
-mln_border_essential\
-mln_subsampling_gaussian_subsampling\
-mln_subsampling_all\
-mln_subsampling_subsampling\
+check_PROGRAMS = \
+mln_histo_all \
+mln_histo_data \
+mln_histo_compute \
+mln_histo_essential \
+mln_geom_pmin_pmax \
+mln_geom_max_row \
+mln_geom_chamfer \
+mln_geom_min_row \
+mln_geom_seeds2tiling \
+mln_geom_size1d \
+mln_geom_all \
+mln_geom_size2d \
+mln_geom_max_ind \
+mln_geom_max_col \
+mln_geom_size3d \
+mln_geom_ninds \
+mln_geom_nslis \
+mln_geom_delta \
+mln_geom_resize \
+mln_geom_nsites \
+mln_geom_min_col \
+mln_geom_complex_geometry \
+mln_geom_ncols \
+mln_geom_nrows \
+mln_geom_min_ind \
+mln_geom_bbox \
+mln_geom_seeds2tiling_roundness \
+mln_geom_min_sli \
+mln_geom_essential \
+mln_geom_max_sli \
+mln_draw_box \
+mln_draw_all \
+mln_draw_plot \
+mln_draw_line \
+mln_draw_essential \
+mln_pw_image \
+mln_pw_all \
+mln_pw_value \
+mln_pw_cst \
+mln_pw_var \
+mln_pw_essential \
+mln_literal_zero \
+mln_literal_ops \
+mln_literal_origin \
+mln_literal_grays \
+mln_literal_all \
+mln_literal_colors \
+mln_literal_black \
+mln_literal_one \
+mln_literal_white \
+mln_literal_essential \
+mln_registration_get_rtransf \
+mln_registration_internal_rms \
+mln_registration_get_rot \
+mln_registration_all \
+mln_registration_multiscale \
+mln_registration_registration \
+mln_registration_essential \
+mln_registration_icp \
+mln_util_graph \
+mln_util_max \
+mln_util_lazy_set \
+mln_util_set \
+mln_util_tree_to_image \
+mln_util_lemmings \
+mln_util_greater_point \
+mln_util_internal_graph_iter_base \
+mln_util_internal_boost_graph_access \
+mln_util_internal_boost_graph_structure \
+mln_util_internal_graph_iter \
+mln_util_internal_graph_nbh_iter \
+mln_util_internal_vertex_impl \
+mln_util_internal_edge_impl \
+mln_util_internal_graph_base \
+mln_util_internal_boost_graph \
+mln_util_internal_graph_nbh_iter_base \
+mln_util_internal_boost_graph_property \
+mln_util_ord_pair \
+mln_util_edge \
+mln_util_all \
+mln_util_dindex \
+mln_util_tracked_ptr \
+mln_util_ignore \
+mln_util_greater_psite \
+mln_util_timer \
+mln_util_yes \
+mln_util_line_graph \
+mln_util_ord \
+mln_util_tree_fast_to_image \
+mln_util_tree \
+mln_util_index \
+mln_util_multi_site \
+mln_util_branch_iter \
+mln_util_branch_iter_ind \
+mln_util_tree_to_fast \
+mln_util_array \
+mln_util_vertex \
+mln_util_pix \
+mln_util_tree_fast \
+mln_util_site_pair \
+mln_util_nil \
+mln_util_eat \
+mln_util_essential \
+mln_tag_init \
+mln_tag_skeleton \
+mln_tag_all \
+mln_tag_essential \
+mln_trace_entering \
+mln_trace_all \
+mln_trace_warning \
+mln_trace_exiting \
+mln_trace_resume \
+mln_trace_quiet \
+mln_trace_stop \
+mln_trace_essential \
+mln_make_graph \
+mln_make_double_neighb2d \
+mln_make_dpoint2d_h \
+mln_make_w_window \
+mln_make_image \
+mln_make_vec \
+mln_make_all \
+mln_make_dual_neighb \
+mln_make_w_window3d \
+mln_make_mat \
+mln_make_win_chamfer \
+mln_make_w_window2d_int \
+mln_make_box1d \
+mln_make_voronoi \
+mln_make_box2d \
+mln_make_w_window2d \
+mln_make_box3d \
+mln_make_relabelfun \
+mln_make_pixel \
+mln_make_pix \
+mln_make_box2d_h \
+mln_make_w_window1d \
+mln_make_image2d \
+mln_make_w_window_directional \
+mln_make_w_window3d_int \
+mln_make_essential \
+mln_make_w_window1d_int \
+mln_make_point2d_h \
+mln_display_all \
+mln_display_essential \
+mln_extension_adjust \
+mln_extension_duplicate \
+mln_extension_adjust_duplicate \
+mln_extension_all \
+mln_extension_adjust_fill \
+mln_extension_fill \
+mln_extension_essential \
+mln_fun_p2b_chess \
+mln_fun_p2b_all \
+mln_fun_p2b_has \
+mln_fun_p2b_big_chess \
+mln_fun_p2b_essential \
+mln_fun_p2p_mirror \
+mln_fun_x2p_closest_point \
+mln_fun_x2p_all \
+mln_fun_x2p_essential \
+mln_fun_ops \
+mln_fun_c \
+mln_fun_vv2v_max \
+mln_fun_vv2v_lor \
+mln_fun_vv2v_land_not \
+mln_fun_vv2v_vec \
+mln_fun_vv2v_all \
+mln_fun_vv2v_macros \
+mln_fun_vv2v_lxor \
+mln_fun_vv2v_diff_abs \
+mln_fun_vv2v_land \
+mln_fun_vv2v_min \
+mln_fun_vv2v_essential \
+mln_fun_internal_array_base \
+mln_fun_internal_x2x_linear_impl \
+mln_fun_internal_selector \
+mln_fun_p2v_ternary \
+mln_fun_p2v_iota \
+mln_fun_p2v_elifs \
+mln_fun_p2v_all \
+mln_fun_p2v_essential \
+mln_fun_all \
+mln_fun_v2b_lnot \
+mln_fun_v2b_all \
+mln_fun_v2b_threshold \
+mln_fun_v2b_essential \
+mln_fun_v2v_norm \
+mln_fun_v2v_linear \
+mln_fun_v2v_id \
+mln_fun_v2v_saturate \
+mln_fun_v2v_inc \
+mln_fun_v2v_all \
+mln_fun_v2v_dec \
+mln_fun_v2v_abs \
+mln_fun_v2v_cast \
+mln_fun_v2v_rgb_to_hsi \
+mln_fun_v2v_enc \
+mln_fun_v2v_convert \
+mln_fun_v2v_essential \
+mln_fun_cast \
+mln_fun_i2v_all \
+mln_fun_i2v_array \
+mln_fun_i2v_all_to \
+mln_fun_i2v_essential \
+mln_fun_l2l_relabel \
+mln_fun_l2l_all \
+mln_fun_l2l_essential \
+mln_fun_x2x_composed \
+mln_fun_x2x_all \
+mln_fun_x2x_translation \
+mln_fun_x2x_rotation \
+mln_fun_x2x_essential \
+mln_fun_x2v_linear \
+mln_fun_x2v_bilinear \
+mln_fun_x2v_all \
+mln_fun_x2v_l1_norm \
+mln_fun_x2v_nneighbor \
+mln_fun_x2v_essential \
+mln_fun_essential \
+mln_all \
+mln_convert_to_p_set \
+mln_convert_to \
+mln_convert_to_upper_window \
+mln_convert_to_image \
+mln_convert_to_fun \
+mln_convert_all \
+mln_convert_to_window \
+mln_convert_from_to \
+mln_convert_impl_from_value_to_value \
+mln_convert_impl_all \
+mln_convert_impl_from_image_to_site_set \
+mln_convert_to_dpoint \
+mln_convert_to_p_array \
+mln_convert_to_rgb \
+mln_convert_essential \
+mln_value_float01_f \
+mln_value_float01_16 \
+mln_value_lut_vec \
+mln_value_glf \
+mln_value_other \
+mln_value_graylevel_f \
+mln_value_aliases \
+mln_value_label_16 \
+mln_value_ops \
+mln_value_set \
+mln_value_int_u_sat \
+mln_value_float01_8 \
+mln_value_int_u8 \
+mln_value_equiv \
+mln_value_internal_integer \
+mln_value_internal_gray_f \
+mln_value_internal_all \
+mln_value_internal_value_like \
+mln_value_internal_iterable_set \
+mln_value_internal_encoding \
+mln_value_internal_convert \
+mln_value_internal_gray_ \
+mln_value_internal_essential \
+mln_value_proxy \
+mln_value_viter \
+mln_value_graylevel \
+mln_value_all \
+mln_value_super_value \
+mln_value_builtin_symbolics \
+mln_value_builtin_ops \
+mln_value_builtin_all \
+mln_value_builtin_promotions \
+mln_value_builtin_integers \
+mln_value_builtin_floatings \
+mln_value_builtin_essential \
+mln_value_sign \
+mln_value_hsi \
+mln_value_interval \
+mln_value_gl16 \
+mln_value_scalar \
+mln_value_float01 \
+mln_value_cast \
+mln_value_int_u \
+mln_value_int_s8 \
+mln_value_int_s16 \
+mln_value_int_u16 \
+mln_value_label \
+mln_value_rgb \
+mln_value_stack \
+mln_value_concept_integer \
+mln_value_concept_structured \
+mln_value_concept_built_in \
+mln_value_concept_all \
+mln_value_concept_scalar \
+mln_value_concept_data \
+mln_value_concept_floating \
+mln_value_concept_symbolic \
+mln_value_concept_vectorial \
+mln_value_concept_essential \
+mln_value_int_s \
+mln_value_rgb8 \
+mln_value_int_s32 \
+mln_value_float01_ \
+mln_value_rgb16 \
+mln_value_int_u32 \
+mln_value_gl8 \
+mln_value_label_8 \
+mln_value_essential \
+mln_accu_tuple \
+mln_accu_min_h \
+mln_accu_max \
+mln_accu_lor \
+mln_accu_rank \
+mln_accu_transform_stop \
+mln_accu_maj_h \
+mln_accu_min_max \
+mln_accu_internal_base \
+mln_accu_transform_snake \
+mln_accu_rank_high_quant \
+mln_accu_count \
+mln_accu_median_h \
+mln_accu_all \
+mln_accu_land_basic \
+mln_accu_p \
+mln_accu_transform \
+mln_accu_median_alt \
+mln_accu_volume \
+mln_accu_sum \
+mln_accu_height \
+mln_accu_land \
+mln_accu_take \
+mln_accu_histo \
+mln_accu_pair \
+mln_accu_count_adjacent_vertices \
+mln_accu_convolve \
+mln_accu_v \
+mln_accu_rank_bool \
+mln_accu_min \
+mln_accu_transform_directional \
+mln_accu_compute \
+mln_accu_mean \
+mln_accu_lor_basic \
+mln_accu_transform_diagonal \
+mln_accu_nil \
+mln_accu_bbox \
+mln_accu_center \
+mln_accu_line \
+mln_accu_essential \
+mln_accu_max_h \
+mln_level_compare \
+mln_level_memset_ \
+mln_level_transform_inplace \
+mln_level_replace \
+mln_level_memcpy_ \
+mln_level_apply \
+mln_level_approx_all \
+mln_level_approx_essential \
+mln_level_approx_median \
+mln_level_saturate \
+mln_level_all \
+mln_level_paste \
+mln_level_fast_median \
+mln_level_abs \
+mln_level_fill_with_image \
+mln_level_transform \
+mln_level_fill_with_value \
+mln_level_stretch \
+mln_level_was_median \
+mln_level_compute \
+mln_level_convert \
+mln_level_to_enc \
+mln_level_naive_all \
+mln_level_naive_essential \
+mln_level_naive_median \
+mln_level_sort_psites \
+mln_level_update \
+mln_level_fill \
+mln_level_essential \
+mln_level_assign \
+mln_level_median \
+mln_math_jacobi \
+mln_math_max \
+mln_math_sqr \
+mln_math_all \
+mln_math_sign \
+mln_math_abs \
+mln_math_diff_abs \
+mln_math_round \
+mln_math_min \
+mln_math_sqrt \
+mln_math_essential \
+mln_math_round_sat \
+mln_binarization_includes \
+mln_binarization_all \
+mln_binarization_binarization \
+mln_binarization_threshold \
+mln_binarization_essential \
+mln_trait_site_set_props \
+mln_trait_site_set_print \
+mln_trait_promote \
+mln_trait_solve_binary \
+mln_trait_value_ \
+mln_trait_all \
+mln_trait_value_all \
+mln_trait_value_nature \
+mln_trait_value_quant \
+mln_trait_value_kind \
+mln_trait_value_print \
+mln_trait_value_essential \
+mln_trait_images \
+mln_trait_window_props \
+mln_trait_window_print \
+mln_trait_ch_value \
+mln_trait_solve \
+mln_trait_solve_unary \
+mln_trait_op_postdec \
+mln_trait_op_mod \
+mln_trait_op_lor \
+mln_trait_op_neq \
+mln_trait_op_plus \
+mln_trait_op_xor \
+mln_trait_op_all \
+mln_trait_op_geq \
+mln_trait_op_uminus \
+mln_trait_op_not \
+mln_trait_op_times \
+mln_trait_op_less \
+mln_trait_op_decl \
+mln_trait_op_ord \
+mln_trait_op_and \
+mln_trait_op_or \
+mln_trait_op_predec \
+mln_trait_op_minus \
+mln_trait_op_div \
+mln_trait_op_leq \
+mln_trait_op_preinc \
+mln_trait_op_greater \
+mln_trait_op_postinc \
+mln_trait_op_uplus \
+mln_trait_op_essential \
+mln_trait_op_eq \
+mln_trait_concrete \
+mln_trait_windows \
+mln_trait_site_sets \
+mln_trait_image_from_grid \
+mln_trait_undef \
+mln_trait_image_props \
+mln_trait_image_print \
+mln_trait_neighborhood \
+mln_trait_essential \
+mln_canvas_labeling \
+mln_canvas_browsing_hyper_directional \
+mln_canvas_browsing_snake_generic \
+mln_canvas_browsing_backdiagonal2d \
+mln_canvas_browsing_snake_vert \
+mln_canvas_browsing_snake_fwd \
+mln_canvas_browsing_all \
+mln_canvas_browsing_diagonal2d \
+mln_canvas_browsing_fwd \
+mln_canvas_browsing_dir_struct_elt_incr_update \
+mln_canvas_browsing_directional \
+mln_canvas_browsing_essential \
+mln_canvas_chamfer \
+mln_canvas_distance_geodesic \
+mln_canvas_all \
+mln_canvas_distance_front \
+mln_canvas_morpho_all \
+mln_canvas_morpho_algebraic_union_find \
+mln_canvas_morpho_essential \
+mln_canvas_essential \
+mln_metal_is_const \
+mln_metal_none \
+mln_metal_equal \
+mln_metal_unptr \
+mln_metal_not_equal \
+mln_metal_is_ref \
+mln_metal_ret \
+mln_metal_unqualif \
+mln_metal_is_not \
+mln_metal_vec \
+mln_metal_is \
+mln_metal_bool \
+mln_metal_all \
+mln_metal_math_pow \
+mln_metal_math_max \
+mln_metal_math_all \
+mln_metal_math_root \
+mln_metal_math_sqrt \
+mln_metal_mat \
+mln_metal_is_not_const \
+mln_metal_fix_return \
+mln_metal_ands \
+mln_metal_const \
+mln_metal_is_unqualif \
+mln_metal_unconst \
+mln_metal_bexpr \
+mln_metal_array2d \
+mln_metal_is_not_a \
+mln_metal_is_a \
+mln_metal_array1d \
+mln_metal_if \
+mln_metal_unref \
+mln_metal_array \
+mln_metal_ref \
+mln_metal_same_point \
+mln_metal_int \
+mln_metal_abort \
+mln_metal_same_coord \
+mln_metal_templated_by \
+mln_metal_has_neighborhood \
+mln_metal_goes_to \
+mln_metal_is_not_ref \
+mln_metal_converts_to \
+mln_metal_essential \
+mln_metal_array3d \
+mln_algebra_vec \
+mln_algebra_all \
+mln_algebra_h_vec \
+mln_algebra_mat \
+mln_algebra_h_mat \
+mln_algebra_quat \
+mln_algebra_essential \
+mln_linear_convolve_2x1d \
+mln_linear_all \
+mln_linear_ch_convolve \
+mln_linear_gaussian \
+mln_linear_convolve \
+mln_linear_sobel_2d \
+mln_linear_local_convolve \
+mln_linear_lap \
+mln_linear_convolve_directional \
+mln_linear_log \
+mln_linear_essential \
+mln_morpho_thinning \
+mln_morpho_meyer_wst \
+mln_morpho_opening \
+mln_morpho_includes \
+mln_morpho_elementary_opening \
+mln_morpho_elementary_gradient_internal \
+mln_morpho_elementary_dilation \
+mln_morpho_elementary_laplacian \
+mln_morpho_elementary_all \
+mln_morpho_elementary_gradient_external \
+mln_morpho_elementary_like_ero_fun \
+mln_morpho_elementary_gradient \
+mln_morpho_elementary_like_ero_set \
+mln_morpho_elementary_closing \
+mln_morpho_elementary_top_hat \
+mln_morpho_elementary_erosion \
+mln_morpho_elementary_essential \
+mln_morpho_thin_fit \
+mln_morpho_skeleton_constrained \
+mln_morpho_complementation \
+mln_morpho_line_gradient \
+mln_morpho_hit_or_miss \
+mln_morpho_closing_height \
+mln_morpho_plus \
+mln_morpho_general \
+mln_morpho_internal_elementary \
+mln_morpho_contrast \
+mln_morpho_opening_area \
+mln_morpho_opening_height \
+mln_morpho_thickening \
+mln_morpho_dilation \
+mln_morpho_laplacian \
+mln_morpho_all \
+mln_morpho_opening_attribute \
+mln_morpho_opening_volume \
+mln_morpho_closing_area_on_vertices \
+mln_morpho_closing_volume \
+mln_morpho_minus \
+mln_morpho_gradient \
+mln_morpho_tree_max \
+mln_morpho_tree_compute_parent \
+mln_morpho_tree_all \
+mln_morpho_tree_utils \
+mln_morpho_tree_data \
+mln_morpho_tree_compute_attribute_image \
+mln_morpho_opening_area_on_vertices \
+mln_morpho_min \
+mln_morpho_closing \
+mln_morpho_top_hat \
+mln_morpho_erosion \
+mln_morpho_Rd \
+mln_morpho_closing_area \
+mln_morpho_thick_miss \
+mln_morpho_closing_attribute \
+mln_morpho_rank_filter \
+mln_morpho_essential \
+mln_topo_n_face_iter \
+mln_topo_face_iter \
+mln_topo_is_simple_2d \
+mln_topo_centered_iter_adapter \
+mln_topo_internal_complex_set_iterator_base \
+mln_topo_internal_complex_iterator_base \
+mln_topo_internal_complex_relative_iterator_base \
+mln_topo_internal_complex_relative_iterator_sequence \
+mln_topo_algebraic_n_face \
+mln_topo_attic_faces_iter \
+mln_topo_adj_lower_dim_connected_n_face_iter \
+mln_topo_n_face \
+mln_topo_adj_lower_higher_face_iter \
+mln_topo_all \
+mln_topo_face_data \
+mln_topo_static_n_face_iter \
+mln_topo_face \
+mln_topo_adj_m_face_iter \
+mln_topo_complex \
+mln_topo_adj_higher_face_iter \
+mln_topo_adj_lower_face_iter \
+mln_topo_complex_iterators \
+mln_topo_center_only_iter \
+mln_topo_adj_higher_dim_connected_n_face_iter \
+mln_topo_algebraic_face \
+mln_topo_n_faces_set \
+mln_topo_essential \
+mln_essential_1d \
+mln_essential_routine \
+mln_essential_3d \
+mln_essential_2d \
+mln_win_inter \
+mln_win_backdiag2d \
+mln_win_segment1d \
+mln_win_cuboid3d \
+mln_win_vline2d \
+mln_win_octagon2d \
+mln_win_all \
+mln_win_multiple_size \
+mln_win_cube3d \
+mln_win_shift \
+mln_win_sym \
+mln_win_diff \
+mln_win_multiple \
+mln_win_diag2d \
+mln_win_disk2d \
+mln_win_rectangle2d \
+mln_win_hline2d \
+mln_win_line \
+mln_win_essential \
+mln_core_clock_neighb \
+mln_core_pixter2d \
+mln_core_def_low_quant_nbits \
+mln_core_def_all \
+mln_core_def_coordf \
+mln_core_def_coord \
+mln_core_def_essential \
+mln_core_site_set_box \
+mln_core_site_set_p_vertices \
+mln_core_site_set_p_vaccess \
+mln_core_site_set_p_if_piter \
+mln_core_site_set_p_run_piter \
+mln_core_site_set_p_key \
+mln_core_site_set_p_double \
+mln_core_site_set_p_complex_piter \
+mln_core_site_set_p_complex \
+mln_core_site_set_p_image \
+mln_core_site_set_attic_p_complex_faces_piter \
+mln_core_site_set_attic_p_faces_piter \
+mln_core_site_set_p_priority \
+mln_core_site_set_p_set_of \
+mln_core_site_set_all \
+mln_core_site_set_p_edges \
+mln_core_site_set_box_piter \
+mln_core_site_set_p_faces \
+mln_core_site_set_p_set \
+mln_core_site_set_p_queue \
+mln_core_site_set_p_if \
+mln_core_site_set_operators \
+mln_core_site_set_p_mutable_array_of \
+mln_core_site_set_p_edges_psite \
+mln_core_site_set_complex_psite \
+mln_core_site_set_p_run \
+mln_core_site_set_p_n_faces_piter \
+mln_core_site_set_p_centered \
+mln_core_site_set_p_bgraph \
+mln_core_site_set_p_bgraph_piter \
+mln_core_site_set_p_array \
+mln_core_site_set_p_vertices_psite \
+mln_core_site_set_p_line2d \
+mln_core_site_set_p_queue_fast \
+mln_core_site_set_p_graph_piter \
+mln_core_site_set_essential \
+mln_core_dpsites_piter \
+mln_core_w_window \
+mln_core_grids \
+mln_core_dpoints_pixter \
+mln_core_internal_graph_psite_base \
+mln_core_internal_run_image \
+mln_core_internal_pixel_impl \
+mln_core_internal_site_set_base \
+mln_core_internal_image_value_morpher \
+mln_core_internal_site_iterator_base \
+mln_core_internal_complex_neighborhood_base \
+mln_core_internal_site_relative_iterator_base \
+mln_core_internal_site_set_impl \
+mln_core_internal_exact \
+mln_core_internal_p_complex_piter_base \
+mln_core_internal_neighb_niter_impl \
+mln_core_internal_pixel_iterator_base \
+mln_core_internal_classical_window_base \
+mln_core_internal_data \
+mln_core_internal_force_exact \
+mln_core_internal_image_base \
+mln_core_internal_check_image_fastest \
+mln_core_internal_check_image_all \
+mln_core_internal_fixme \
+mln_core_internal_morpher_lvalue \
+mln_core_internal_image_domain_morpher \
+mln_core_internal_image_primary \
+mln_core_internal_set_of \
+mln_core_internal_complex_window_p_base \
+mln_core_internal_graph_window_base \
+mln_core_internal_piter_adaptor \
+mln_core_internal_weighted_window_base \
+mln_core_internal_neighborhood_base \
+mln_core_internal_image_morpher \
+mln_core_internal_coord_impl \
+mln_core_internal_geom_bbox \
+mln_core_internal_image_identity \
+mln_core_internal_pseudo_site_base \
+mln_core_internal_window_base \
+mln_core_internal_box_impl \
+mln_core_internal_site_set_iterator_base \
+mln_core_contract \
+mln_core_all \
+mln_core_point \
+mln_core_neighb \
+mln_core_routine_initialize \
+mln_core_routine_primary \
+mln_core_routine_init \
+mln_core_routine_ops \
+mln_core_routine_all \
+mln_core_routine_clone \
+mln_core_routine_exact \
+mln_core_routine_extend \
+mln_core_routine_essential \
+mln_core_trait_op_mult \
+mln_core_trait_all \
+mln_core_trait_pixter \
+mln_core_trait_qlf_value \
+mln_core_trait_essential \
+mln_core_pixter1d \
+mln_core_category \
+mln_core_macros \
+mln_core_box_runstart_piter \
+mln_core_tags \
+mln_core_dpoint \
+mln_core_alias_dpoint2d_h \
+mln_core_alias_p_run2d \
+mln_core_alias_point3d \
+mln_core_alias_neighb3d \
+mln_core_alias_window3d \
+mln_core_alias_neighb2d \
+mln_core_alias_complex_image \
+mln_core_alias_w_window1d_float \
+mln_core_alias_neighb1d \
+mln_core_alias_w_window2d_float \
+mln_core_alias_w_window2d_int \
+mln_core_alias_box1d \
+mln_core_alias_box2d \
+mln_core_alias_window1d \
+mln_core_alias_point1d \
+mln_core_alias_box3d \
+mln_core_alias_dpoint3d \
+mln_core_alias_complex_geometry \
+mln_core_alias_w_window3d_float \
+mln_core_alias_box2d_h \
+mln_core_alias_point2d \
+mln_core_alias_window2d \
+mln_core_alias_p_runs2d \
+mln_core_alias_point3df \
+mln_core_alias_dpoint1d \
+mln_core_alias_w_window3d_int \
+mln_core_alias_dpoint2d \
+mln_core_alias_w_window1d_int \
+mln_core_alias_point2d_h \
+mln_core_window \
+mln_core_concept_site_proxy \
+mln_core_concept_point_site \
+mln_core_concept_box \
+mln_core_concept_generalized_pixel \
+mln_core_concept_graph \
+mln_core_concept_iterator \
+mln_core_concept_doc_point_site \
+mln_core_concept_doc_box \
+mln_core_concept_doc_generalized_pixel \
+mln_core_concept_doc_iterator \
+mln_core_concept_doc_image_fastest \
+mln_core_concept_doc_image \
+mln_core_concept_doc_value_set \
+mln_core_concept_doc_weighted_window \
+mln_core_concept_doc_pixel_iterator \
+mln_core_concept_doc_value_iterator \
+mln_core_concept_doc_dpoint \
+mln_core_concept_doc_window \
+mln_core_concept_doc_accumulator \
+mln_core_concept_doc_site_set \
+mln_core_concept_doc_object \
+mln_core_concept_doc_neighborhood \
+mln_core_concept_doc_point_iterator \
+mln_core_concept_pseudo_site \
+mln_core_concept_image \
+mln_core_concept_value_set \
+mln_core_concept_proxy \
+mln_core_concept_site \
+mln_core_concept_weighted_window \
+mln_core_concept_all \
+mln_core_concept_gpoint \
+mln_core_concept_site_iterator \
+mln_core_concept_point \
+mln_core_concept_literal \
+mln_core_concept_pixel_iterator \
+mln_core_concept_value_iterator \
+mln_core_concept_meta_accumulator \
+mln_core_concept_gdpoint \
+mln_core_concept_regular_grid \
+mln_core_concept_mesh \
+mln_core_concept_dpoint \
+mln_core_concept_function \
+mln_core_concept_window \
+mln_core_concept_value \
+mln_core_concept_accumulator \
+mln_core_concept_site_set \
+mln_core_concept_object \
+mln_core_concept_delta_point_site \
+mln_core_concept_neighborhood \
+mln_core_concept_browsing \
+mln_core_pixel \
+mln_core_clock_neighb2d \
+mln_core_pixter3d \
+mln_core_image_obased_rle_encode \
+mln_core_image_plain \
+mln_core_image_graph_image \
+mln_core_image_image3d \
+mln_core_image_decorated_image \
+mln_core_image_extension_ima \
+mln_core_image_flat_image \
+mln_core_image_complex_neighborhood_piter \
+mln_core_image_tr_mesh \
+mln_core_image_graph_elt_window \
+mln_core_image_obased_rle_image \
+mln_core_image_mono_obased_rle_image \
+mln_core_image_interpolated \
+mln_core_image_lazy_image \
+mln_core_image_t_image \
+mln_core_image_hexa_piter \
+mln_core_image_value_enc_image \
+mln_core_image_sub_image_if \
+mln_core_image_all \
+mln_core_image_mono_rle_image \
+mln_core_image_complex_image \
+mln_core_image_cast_image \
+mln_core_image_rle_encode \
+mln_core_image_complex_window_piter \
+mln_core_image_tr_image \
+mln_core_image_sub_image \
+mln_core_image_rle_image \
+mln_core_image_line_graph_elt_window \
+mln_core_image_mono_rle_encode \
+mln_core_image_bgraph_psite \
+mln_core_image_sparse_image \
+mln_core_image_bgraph_image \
+mln_core_image_complex_neighborhoods \
+mln_core_image_graph_window_piter \
+mln_core_image_sparse_encode \
+mln_core_image_safe \
+mln_core_image_extension_fun \
+mln_core_image_image1d \
+mln_core_image_extension_val \
+mln_core_image_image_if \
+mln_core_image_hexa \
+mln_core_image_extended \
+mln_core_image_image2d_h \
+mln_core_image_image2d \
+mln_core_image_ch_piter \
+mln_core_image_complex_windows \
+mln_core_image_fi_adaptor \
+mln_core_image_mono_obased_rle_encode \
+mln_core_image_line_graph_image \
+mln_core_image_value_encode \
+mln_core_image_essential \
+mln_core_a_point_of \
+mln_core_var \
+mln_core_essential \
+mln_core_faces_psite \
+mln_labeling_blobs \
+mln_labeling_background \
+mln_labeling_relabel \
+mln_labeling_all \
+mln_labeling_level \
+mln_labeling_flat_zones \
+mln_labeling_foreground \
+mln_labeling_regional_maxima \
+mln_labeling_compute \
+mln_labeling_regional_minima \
+mln_labeling_essential \
+mln_test_predicate \
+mln_test_all \
+mln_test_positive \
+mln_test_essential \
+mln_transform_distance_geodesic \
+mln_transform_internal_all \
+mln_transform_internal_distance_functor \
+mln_transform_internal_influence_zone_functor \
+mln_transform_all \
+mln_transform_influence_zone_front \
+mln_transform_distance_front \
+mln_transform_influence_zone_geodesic \
+mln_transform_essential \
+mln_arith_includes \
+mln_arith_plus \
+mln_arith_all \
+mln_arith_times \
+mln_arith_diff_abs \
+mln_arith_minus \
+mln_arith_min \
+mln_arith_revert \
+mln_arith_essential \
+mln_io_pgm_load \
+mln_io_pgm_all \
+mln_io_pgm_save \
+mln_io_ppm_load \
+mln_io_ppm_all \
+mln_io_ppm_save \
+mln_io_pfm_load \
+mln_io_pfm_all \
+mln_io_pfm_save \
+mln_io_all \
+mln_io_pbm_load \
+mln_io_pbm_all \
+mln_io_pbm_save \
+mln_io_pnm_max_component \
+mln_io_pnm_load \
+mln_io_pnm_load_header \
+mln_io_pnm_all \
+mln_io_pnm_macros \
+mln_io_pnm_save \
+mln_io_pnm_save_header \
+mln_io_txt_all \
+mln_io_txt_save \
+mln_io_abort \
+mln_io_fits_load \
+mln_io_fits_all \
+mln_io_off_load \
+mln_io_off_all \
+mln_io_off_save \
+mln_io_essential \
+mln_logical_includes \
+mln_logical_and_not \
+mln_logical_xor \
+mln_logical_all \
+mln_logical_not \
+mln_logical_and \
+mln_logical_or \
+mln_logical_essential \
+mln_norm_all \
+mln_norm_l1 \
+mln_norm_l2 \
+mln_norm_linfty \
+mln_norm_essential \
+mln_debug_iota \
+mln_debug_all \
+mln_debug_println_with_border \
+mln_debug_colorize \
+mln_debug_draw_graph \
+mln_debug_put_word \
+mln_debug_format \
+mln_debug_println \
+mln_debug_essential \
+mln_estim_min_max \
+mln_estim_all \
+mln_estim_sum \
+mln_estim_mean \
+mln_estim_essential \
+mln_set_uni \
+mln_set_inter \
+mln_set_all \
+mln_set_get \
+mln_set_sym_diff \
+mln_set_has \
+mln_set_diff \
+mln_set_compute \
+mln_set_essential \
+mln_border_adjust \
+mln_border_duplicate \
+mln_border_find \
+mln_border_thickness \
+mln_border_all \
+mln_border_mirror \
+mln_border_get \
+mln_border_equalize \
+mln_border_resize \
+mln_border_fill \
+mln_border_essential \
+mln_subsampling_gaussian_subsampling \
+mln_subsampling_all \
+mln_subsampling_subsampling \
mln_subsampling_essential
mln_histo_all_SOURCES = mln_histo_all.cc
diff --git a/milena/tests/unit_test/build_unit_test.sh b/milena/tests/unit_test/build_unit_test.sh
index 495d332..2d6ad0d 100755
--- a/milena/tests/unit_test/build_unit_test.sh
+++ b/milena/tests/unit_test/build_unit_test.sh
@@ -1,6 +1,10 @@
#!/bin/sh
-HEADERS=`find ../../mln -name "*.hh" | grep -vE "*.spe.hh" | grep -v "mln/core/doc" | sed s/"\.\.\/\.\.\/"//g`
+if [ $# -ne 1 ]; then
+ echo "Usage: $0 <mln_path>"
+fi
+
+HEADERS=`find $1 -name "*.hh" | grep -vE "*.spe.hh" | grep -v "mln/core/doc" | sed -e 's/.*\/mln\/\(.*\)/mln\/\1/g' | sed s/"\.\.\/\.\.\/"//g`
rm -f Makefile.am
rm -f *.hh *.cc
@@ -25,7 +29,7 @@ for i in $HEADERS; do
echo "}" >> $FILE_CC
#build Makefile.am
- echo "\\" >> Makefile.am
+ echo " \\" >> Makefile.am
echo -n "${FILE_CC}" | sed s/"\.cc"// >> Makefile.am
done
--
1.5.6.5
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog
from Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
Fix bug in p_array.
This bug arises when we write:
for_all(p) // in a p_array
for_all(n) // around p
here n has a direct access to the p_array::psite::p_
which needs to be updated when p moves.
unfortunatly there was a (too) lazy update.
* mln/core/site_set/p_array.hh (update_): New.
(subj_, start_, next_): Use update_.
p_array.hh | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
Index: mln/core/site_set/p_array.hh
--- mln/core/site_set/p_array.hh (revision 3017)
+++ mln/core/site_set/p_array.hh (working copy)
@@ -208,6 +208,8 @@
operator util::index() const;
+ void update_() const;
+
private:
const S* s_;
@@ -560,10 +562,17 @@
const mln_element(S)&
p_indexed_psite<S>::subj_()
{
+ update_(); // In case of...
+ return p_;
+ }
+
+ template <typename S>
+ inline
+ void
+ p_indexed_psite<S>::update_() const
+ {
if (is_valid())
- // Lazy update.
p_ = (*s_)[i_];
- return p_;
}
template <typename S>
@@ -612,6 +621,7 @@
p_indexed_fwd_piter<S>::start_()
{
p_.change_index(0);
+ p_.update_();
}
template <typename S>
@@ -620,6 +630,7 @@
p_indexed_fwd_piter<S>::next_()
{
p_.inc_index();
+ p_.update_();
}
template <typename S>
@@ -669,6 +680,7 @@
p_indexed_bkd_piter<S>::start_()
{
p_.change_index(s_->nsites() - 1);
+ p_.update_();
}
template <typename S>
@@ -677,6 +689,7 @@
p_indexed_bkd_piter<S>::next_()
{
p_.dec_index();
+ p_.update_();
}
template <typename S>
1
0
* headers.mk: Update distributed headers list.
* mln/make/image.hh,
* mln/make/image2d.hh,
* mln/fun/v2v/convert.hh,
* mln/core/image/interpolated.hh,
* mln/convert/from_to.hh: update comments.
* mln/core/image/graph_window_piter.hh,
* mln/core/internal/graph_psite_base.hh,
* mln/core/site_set/p_graph_piter.hh: unify the hook returning the
underlying element of these piters/psite.
* mln/fun/x2v/bilinear.hh: Fix a wrong namespace.
* mln/value/stack.hh: add missing init_ member.
* tests/core/image/Makefile.am: re-enable interpolated test.
* tests/fun/x2x/rotation.cc,
* tests/core/image/interpolated.cc: Fix wrong template arguments.
* tests/core/other/graph_elt_neighborhood.cc,
* tests/core/other/graph_elt_window.cc,
* tests/core/other/line_graph_elt_neighborhood.cc,
* tests/core/other/line_graph_elt_window.cc: make them compile and
write a real test.
* tests/fun/x2x/Makefile.am: re-enable rotation test.
* tests/labeling/compute.cc: rename label type.
* tests/unit_test/Makefile.am,
* tests/unit_test/mln_core_concept_all.cc,
* tests/unit_test/mln_core_site_set_operators.cc: update unit tests.
---
milena/ChangeLog | 40 +
milena/headers.mk | 4 +-
milena/mln/convert/from_to.hh | 20 +-
milena/mln/core/image/graph_window_piter.hh | 2 +-
milena/mln/core/image/interpolated.hh | 26 +-
milena/mln/core/internal/graph_psite_base.hh | 13 +-
milena/mln/core/site_set/p_graph_piter.hh | 4 +-
milena/mln/fun/v2v/convert.hh | 14 +-
milena/mln/fun/x2v/bilinear.hh | 24 +-
milena/mln/make/image.hh | 36 +-
milena/mln/make/image2d.hh | 12 +-
milena/mln/value/stack.hh | 51 +-
milena/tests/core/image/Makefile.am | 4 +-
milena/tests/core/image/interpolated.cc | 21 +-
milena/tests/core/other/graph_elt_neighborhood.cc | 30 +-
milena/tests/core/other/graph_elt_window.cc | 24 +-
.../core/other/line_graph_elt_neighborhood.cc | 31 +-
milena/tests/core/other/line_graph_elt_window.cc | 19 +-
milena/tests/fun/x2x/Makefile.am | 4 +-
milena/tests/fun/x2x/rotation.cc | 7 +-
milena/tests/labeling/compute.cc | 8 +-
milena/tests/unit_test/Makefile.am | 3698 ++++++++++----------
milena/tests/unit_test/mln_core_concept_all.cc | 8 +
.../tests/unit_test/mln_core_site_set_operators.cc | 8 +
24 files changed, 2090 insertions(+), 2018 deletions(-)
create mode 100644 milena/tests/unit_test/mln_core_concept_all.cc
create mode 100644 milena/tests/unit_test/mln_core_site_set_operators.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 700adb2..6a90c97 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,45 @@
2008-12-09 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Fix various tests.
+
+ * headers.mk: Update distributed headers list.
+
+ * mln/make/image.hh,
+ * mln/make/image2d.hh,
+ * mln/fun/v2v/convert.hh,
+ * mln/core/image/interpolated.hh,
+ * mln/convert/from_to.hh: update comments.
+
+ * mln/core/image/graph_window_piter.hh,
+ * mln/core/internal/graph_psite_base.hh,
+ * mln/core/site_set/p_graph_piter.hh: unify the hook returning the
+ underlying element of these piters/psite.
+
+ * mln/fun/x2v/bilinear.hh: Fix a wrong namespace.
+
+ * mln/value/stack.hh: add missing init_ member.
+
+ * tests/core/image/Makefile.am: re-enable interpolated test.
+
+ * tests/fun/x2x/rotation.cc,
+ * tests/core/image/interpolated.cc: Fix wrong template arguments.
+
+ * tests/core/other/graph_elt_neighborhood.cc,
+ * tests/core/other/graph_elt_window.cc,
+ * tests/core/other/line_graph_elt_neighborhood.cc,
+ * tests/core/other/line_graph_elt_window.cc: make them compile and
+ write a real test.
+
+ * tests/fun/x2x/Makefile.am: re-enable rotation test.
+
+ * tests/labeling/compute.cc: rename label type.
+
+ * tests/unit_test/Makefile.am,
+ * tests/unit_test/mln_core_concept_all.cc,
+ * tests/unit_test/mln_core_site_set_operators.cc: update unit tests.
+
+2008-12-09 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Fix a warning during configure.
* Makefile.am: use = instead of +=.
diff --git a/milena/headers.mk b/milena/headers.mk
index e87c752..f88845e 100644
--- a/milena/headers.mk
+++ b/milena/headers.mk
@@ -229,7 +229,6 @@ mln/convert/to_fun.hh \
mln/convert/all.hh \
mln/convert/to_window.hh \
mln/convert/from_to.hh \
-mln/convert/to_std_set.hh \
mln/convert/impl/from_value_to_value.hh \
mln/convert/impl/all.hh \
mln/convert/impl/from_image_to_site_set.hh \
@@ -673,6 +672,7 @@ mln/core/site_set/p_faces.hh \
mln/core/site_set/p_set.hh \
mln/core/site_set/p_queue.hh \
mln/core/site_set/p_if.hh \
+mln/core/site_set/operators.hh \
mln/core/site_set/p_mutable_array_of.hh \
mln/core/site_set/p_edges_psite.hh \
mln/core/site_set/complex_psite.hh \
@@ -812,6 +812,7 @@ mln/core/concept/value_set.hh \
mln/core/concept/proxy.hh \
mln/core/concept/site.hh \
mln/core/concept/weighted_window.hh \
+mln/core/concept/all.hh \
mln/core/concept/gpoint.hh \
mln/core/concept/site_iterator.hh \
mln/core/concept/point.hh \
@@ -997,7 +998,6 @@ mln/set/all.hh \
mln/set/get.hh \
mln/set/sym_diff.hh \
mln/set/has.hh \
-mln/set/is_subset_of.hh \
mln/set/diff.hh \
mln/set/compute.hh \
mln/set/essential.hh \
diff --git a/milena/mln/convert/from_to.hh b/milena/mln/convert/from_to.hh
index 95af453..877ac7a 100644
--- a/milena/mln/convert/from_to.hh
+++ b/milena/mln/convert/from_to.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008 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 +28,14 @@
#ifndef MLN_CONVERT_FROM_TO_HH
# define MLN_CONVERT_FROM_TO_HH
-/*! \file mln/convert/from_to.hh
- *
- * \brief General conversion procedure between two objects.
- *
- * \todo Test the effectiveness of guards.
- * \todo Add fwd decls.
- * \todo Dispatch code in appropriate files.
- */
+/// \file mln/convert/from_to.hh
+///
+/// General conversion procedure between two objects.
+///
+/// \todo Test the effectiveness of guards.
+/// \todo Add fwd decls.
+/// \todo Dispatch code in appropriate files.
+
# include <mln/core/concept/object.hh>
# include <mln/core/concept/gpoint.hh>
@@ -61,7 +61,6 @@ namespace mln
void
from_to(const Object<F>& from, Object<T>& to);
-
template <typename T>
void
from_to(const float& from, Object<T>& to);
@@ -110,7 +109,6 @@ namespace mln
mln::convert::impl::from_value_to_value(from, to);
}
-
// float -> Object
template <typename T>
inline
diff --git a/milena/mln/core/image/graph_window_piter.hh b/milena/mln/core/image/graph_window_piter.hh
index 16213e8..e4186f3 100644
--- a/milena/mln/core/image/graph_window_piter.hh
+++ b/milena/mln/core/image/graph_window_piter.hh
@@ -165,7 +165,7 @@ namespace mln
graph_window_piter<S, W, I>::center_at(const Pref& c)
{
super_::center_at(c);
- iter_.center_at(c.hook_iter_());
+ iter_.center_at(c.hook_elt_());
}
template <typename S, typename W, typename I>
diff --git a/milena/mln/core/image/interpolated.hh b/milena/mln/core/image/interpolated.hh
index f3e85d8..1d6dff1 100644
--- a/milena/mln/core/image/interpolated.hh
+++ b/milena/mln/core/image/interpolated.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 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,13 @@
#ifndef MLN_CORE_IMAGE_INTERPOLATED_HH
# define MLN_CORE_IMAGE_INTERPOLATED_HH
-/*! \file mln/core/image/interpolated.hh
- *
- * \brief Definition of a morpher that makes an image become readable
- * with floating coordinates.
- *
- * \todo think having has(algebra::vec v) as a method
- */
+/// \file mln/core/image/interpolated.hh
+///
+/// Definition of a morpher that makes an image become readable
+/// with floating coordinates.
+///
+/// \todo think having has(algebra::vec v) as a method
+
# include <cmath>
@@ -45,13 +46,13 @@
namespace mln
{
- // Fwd decl.
+ // Forward declaration.
template <typename I, template <class> class F> struct interpolated;
namespace internal
{
- /// Data structure for \c mln::interpolated<I>.
+ /// Data structure for \c mln::interpolated<I, F>.
template <typename I, template <class> class F>
struct data< interpolated<I,F> >
{
@@ -77,9 +78,8 @@ namespace mln
} // end of namespace mln::trait
- /*! \brief Morpher that makes underlaying image being accessed with floating coordinate.
- *
- */
+ /// Morpher that makes underlaying image being accessed with floating coordinate.
+ ///
template <typename I, template <class> class F>
struct interpolated :
public mln::internal::image_identity< I, mln_pset(I), interpolated<I,F> >
diff --git a/milena/mln/core/internal/graph_psite_base.hh b/milena/mln/core/internal/graph_psite_base.hh
index c1fe14d..cbff5f0 100644
--- a/milena/mln/core/internal/graph_psite_base.hh
+++ b/milena/mln/core/internal/graph_psite_base.hh
@@ -99,6 +99,9 @@ namespace mln
/// Explicit conversion towards the graph element (vertex or edge).
const typename S::graph_element& element() const;
+ /// Return the underlying element.
+ const typename S::graph_element& hook_elt_() const;
+
protected:
/// Constructors.
@@ -121,7 +124,7 @@ namespace mln
/* FIXME: Shouldn't those comparisons be part of a much general
mechanism? */
-
+
/// Comparison of two mln::graph_psite_base<S,E> instances.
/// \{
/// \brief Is \a lhs equal to \a rhs?
@@ -280,6 +283,14 @@ namespace mln
return elt_;
}
+ template <typename S, typename E>
+ inline
+ const typename S::graph_element&
+ graph_psite_base<S,E>::hook_elt_() const
+ {
+ return elt_;
+ }
+
/*--------------.
| Comparisons. |
diff --git a/milena/mln/core/site_set/p_graph_piter.hh b/milena/mln/core/site_set/p_graph_piter.hh
index 2b02ed4..d91a2cb 100644
--- a/milena/mln/core/site_set/p_graph_piter.hh
+++ b/milena/mln/core/site_set/p_graph_piter.hh
@@ -86,7 +86,7 @@ namespace mln
const typename S::graph_t& graph() const;
/// Return the underlying iterator.
- const iter& hook_iter_() const;
+ const iter& hook_elt_() const;
/// Convert towards the graph element id.
operator unsigned() const;
@@ -185,7 +185,7 @@ namespace mln
template <typename S, typename I>
inline
const I&
- p_graph_piter<S,I>::hook_iter_() const
+ p_graph_piter<S,I>::hook_elt_() const
{
return iter_;
}
diff --git a/milena/mln/fun/v2v/convert.hh b/milena/mln/fun/v2v/convert.hh
index 1b014e3..1b2dcdf 100644
--- a/milena/mln/fun/v2v/convert.hh
+++ b/milena/mln/fun/v2v/convert.hh
@@ -1,4 +1,5 @@
// Copyright (C) 2008 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_FUN_V2V_CONVERT_HH
# define MLN_FUN_V2V_CONVERT_HH
-/*! \file mln/fun/v2v/convert.hh
- *
- * \brief FIXME.
- *
- * \todo The function is intrisically meta; how to handle that
- * particular case?
- */
+/// \file mln/fun/v2v/convert.hh
+///
+/// FIXME.
+///
+/// \todo The function is intrisically meta; how to handle that
+/// particular case?
# include <mln/core/concept/function.hh>
# include <mln/convert/to.hh>
diff --git a/milena/mln/fun/x2v/bilinear.hh b/milena/mln/fun/x2v/bilinear.hh
index e1e577b..b997da2 100644
--- a/milena/mln/fun/x2v/bilinear.hh
+++ b/milena/mln/fun/x2v/bilinear.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008 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
@@ -25,8 +25,8 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_FUN_X2X_BILINEAR_HH
-# define MLN_FUN_X2X_BILINEAR_HH
+#ifndef MLN_FUN_X2V_BILINEAR_HH
+# define MLN_FUN_X2V_BILINEAR_HH
# include <mln/core/image/image2d.hh>
# include <mln/core/concept/function.hh>
@@ -34,10 +34,9 @@
# include <mln/convert/to.hh>
# include <mln/algebra/vec.hh>
-/*! \file mln/fun/x2v/bilinear.hh
- *
- * \brief Define a bilinear interpolation of values from an underlying image
- */
+/// \file mln/fun/x2v/bilinear.hh
+///
+/// Define a bilinear interpolation of values from an underlying image
namespace mln
{
@@ -45,12 +44,11 @@ namespace mln
namespace fun
{
- namespace x2x
+ namespace x2v
{
- /*! \brief Represent a bilinear interolation of values from an underlying image
- *
- */
+ /// Represent a bilinear interolation of values from an underlying image
+ ///
template < typename I >
struct bilinear
: public fun::internal::selector_<const algebra::vec<3,float>,
@@ -125,11 +123,11 @@ namespace mln
# endif // ! MLN_INCLUDE_ONLY
- } // end of namespace mln::fun::x2x
+ } // end of namespace mln::fun::x2v
} // end of namespace mln::fun
} // end of namespace mln
-#endif // ! MLN_FUN_X2X_BILINEAR_HH
+#endif // ! MLN_FUN_X2V_BILINEAR_HH
diff --git a/milena/mln/make/image.hh b/milena/mln/make/image.hh
index 4aa7817..d846170 100644
--- a/milena/mln/make/image.hh
+++ b/milena/mln/make/image.hh
@@ -45,32 +45,32 @@ namespace mln
namespace make
{
- /*! \brief Create an image1d from an 1D array of values.
- *
- * \param[in] values 1D array.
- *
- * \return A 1D image.
- */
+ /// Create an image1d from an 1D array of values.
+ ///
+ /// \param[in] values 1D array.
+ ///
+ /// \return A 1D image.
+ ///
template <typename V, unsigned L>
mln::image1d<V> image(V (&values)[L]);
- /*! \brief Create an image2d from an 2D array of values.
- *
- * \param[in] values 2D array.
- *
- * \return A 2D image.
- */
+ /// Create an image2d from an 2D array of values.
+ ///
+ /// \param[in] values 2D array.
+ ///
+ /// \return A 2D image.
+ ///
template <typename V, unsigned R, unsigned C>
mln::image2d<V> image(V (&values)[R][C]);
- /*! \brief Create an image3d from an 3D array of values.
- *
- * \param[in] values 3D array.
- *
- * \return A 3D image.
- */
+ /// Create an image3d from an 3D array of values.
+ ///
+ /// \param[in] values 3D array.
+ ///
+ /// \return A 3D image.
+ ///
template <typename V, unsigned S, unsigned R, unsigned C>
mln::image3d<V> image(V (&values)[S][R][C]);
diff --git a/milena/mln/make/image2d.hh b/milena/mln/make/image2d.hh
index 43bb3b5..4a03100 100644
--- a/milena/mln/make/image2d.hh
+++ b/milena/mln/make/image2d.hh
@@ -41,12 +41,12 @@ namespace mln
namespace make
{
- /*! \brief Create an image2d from an 2D array of values.
- *
- * \param[in] values 2D array.
- *
- * \return A 2D image.
- */
+ /// Create an image2d from an 2D array of values.
+ ///
+ /// \param[in] values 2D array.
+ ///
+ /// \return A 2D image.
+ ///
template <typename V, unsigned S>
mln::image2d<V>
image2d(V (&values)[S]);
diff --git a/milena/mln/value/stack.hh b/milena/mln/value/stack.hh
index 882a3b2..877f74c 100644
--- a/milena/mln/value/stack.hh
+++ b/milena/mln/value/stack.hh
@@ -29,10 +29,9 @@
#ifndef MLN_VALUE_STACK_HH
# define MLN_VALUE_STACK_HH
-/*! \file mln/value/stack.hh
- *
- * \brief Definition of the stack image type.
- */
+/// \file mln/value/stack.hh
+///
+/// Definition of the stack image type.
# include <mln/core/internal/image_value_morpher.hh>
@@ -44,16 +43,15 @@
namespace mln
{
- // Fwd decl.
+ // Forward declaration.
namespace value { template <unsigned n, typename I> struct stack_image; }
namespace internal
{
- /*! data structure for stack_image.
- *
- */
+ /// data structure for stack_image.
+ ///
template <unsigned n, typename I>
struct data< value::stack_image<n, I> >
{
@@ -132,19 +130,19 @@ namespace mln
namespace value
{
- /*! \brief Stack image class.
- *
- * mln::value::stack_image stores a vector of n images of the same
- * domain.
- *
- * The parameter \c n is the number of images, \c I is the type of
- * a stack element. Acces a value will compute a vector which
- * contains n coordinates :
- * [stack[0](p),
- * stack[1](p),
- * ... ,
- * stack[n](p)]
- */
+ /// Stack image class.
+ ///
+ /// mln::value::stack_image stores a vector of n images of the same
+ /// domain.
+ ///
+ /// The parameter \c n is the number of images, \c I is the type of
+ /// a stack element. Acces a value will compute a vector which
+ /// contains n coordinates :
+ /// [stack[0](p),
+ /// stack[1](p),
+ /// ... ,
+ /// stack[n](p)]
+ ///
template <unsigned n, typename I>
struct stack_image
: public mln::internal::image_value_morpher< I,
@@ -180,6 +178,8 @@ namespace mln
stack_image();
/// \}
+ /// Initialize an empty image.
+ void init_(const algebra::vec<n,I>& imas);
/// Test if this image has been initialized.
bool has_data() const;
@@ -193,7 +193,6 @@ namespace mln
void write_(const psite& p, const value& v);
};
-
/// \{ Shortcut to build a stack with two images.
template <typename I>
stack_image<2, const I>
@@ -238,6 +237,14 @@ namespace mln
inline
stack_image<n,I>::stack_image(const algebra::vec<n,I>& imas)
{
+ init_(imas);
+ }
+
+ template <unsigned n, typename I>
+ inline
+ void
+ stack_image<n,I>::init_(const algebra::vec<n,I>& imas)
+ {
this->data_ = new mln::internal::data< stack_image<n, I> >(imas);
for (unsigned i = 0; i < n; ++i)
{
diff --git a/milena/tests/core/image/Makefile.am b/milena/tests/core/image/Makefile.am
index 0e8f84b..7d60304 100644
--- a/milena/tests/core/image/Makefile.am
+++ b/milena/tests/core/image/Makefile.am
@@ -16,7 +16,7 @@ check_PROGRAMS = \
## image2d_h \
image3d \
image_if \
-## interpolated \
+ interpolated \
line_graph_image \
## mono_obased_rle_image \
## mono_rle_image \
@@ -42,7 +42,7 @@ image2d_SOURCES = image2d.cc
##image2d_h_SOURCES = image2d_h.cc
image3d_SOURCES = image3d.cc
image_if_SOURCES = image_if.cc
-##interpolated_SOURCES = interpolated.cc
+interpolated_SOURCES = interpolated.cc
line_graph_image_SOURCES = line_graph_image.cc
##mono_obased_rle_image_SOURCES = mono_obased_rle_image.cc
##mono_rle_image_SOURCES = mono_rle_image.cc
diff --git a/milena/tests/core/image/interpolated.cc b/milena/tests/core/image/interpolated.cc
index e05f07f..e4333f9 100644
--- a/milena/tests/core/image/interpolated.cc
+++ b/milena/tests/core/image/interpolated.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 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
@@ -25,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/image/interpolated.cc
- *
- * \brief Tests on mln::interpolated.
- */
+/// \file tests/core/image/interpolated.cc
+///
+/// Tests on mln::interpolated.
#include <iostream>
@@ -41,24 +41,21 @@
#include <mln/debug/println.hh>
+#include <mln/fun/x2v/bilinear.hh>
+
int main()
{
using namespace mln;
- const unsigned nrows = 4;
- const unsigned ncols = 4;
- const unsigned border = 4;
-
- image2d<float> f(nrows, ncols, border);
float tab[] = {1., 3., 5., 7.,
4., 7., 10., 13.,
7., 11., 15., 19.,
10., 15., 20., 25.};
- level::fill(f, tab);
+ image2d<float> f = make::image2d(tab);
- interpolated< image2d<float> > inter(f);
+ interpolated<image2d<float>, fun::x2v::bilinear> inter(f);
algebra::vec<2, float> v1 = make::vec(2.3, 0.6);
algebra::vec<2, float> v2 = make::vec(3.2, 1.8);
diff --git a/milena/tests/core/other/graph_elt_neighborhood.cc b/milena/tests/core/other/graph_elt_neighborhood.cc
index 54d6b94..4de2216 100644
--- a/milena/tests/core/other/graph_elt_neighborhood.cc
+++ b/milena/tests/core/other/graph_elt_neighborhood.cc
@@ -26,21 +26,22 @@
// Public License.
/// \file tests/core/other/graph_elt_neighborhood.cc
-/// \brief Tests on mln::graph_elt_neighborhood.
+///
+/// Tests on mln::graph_elt_neighborhood.
#include <iostream>
#include <vector>
+#include <mln/core/neighb.hh>
#include <mln/core/alias/point2d.hh>
-#include <mln/core/image/graph_elt_neighborhood.hh>
+#include <mln/core/image/graph_elt_window.hh>
#include <mln/core/site_set/p_vertices.hh>
#include <mln/util/graph.hh>
-#include <mln/debug/iota.hh>
-#include <mln/debug/println.hh>
-
+unsigned fwd_neighb[] = { 0, 2, 3 };
+unsigned bkd_neighb[] = { 3, 2, 0 };
int main()
{
@@ -77,9 +78,11 @@ int main()
// Edges.
typedef mln::util::graph G;
G g;
+
// Populate the graph with vertices.
for (unsigned i = 0; i < points.size(); ++i)
g.add_vertex ();
+
// Populate the graph with edges.
g.add_edge(0, 1);
g.add_edge(1, 2);
@@ -92,20 +95,23 @@ int main()
`-------------------------*/
// Graph psite set.
- p_vertices<G, F> pg(g, points);
+ typedef p_vertices<G, F> pv_t;
+ pv_t pg(g, points);
+
// Graph point site.
- p_vertices_psite<G, F> p(pg, 1);
+ mln_psite_(pv_t) p(pg, 1);
+
// ``Sliding'' neighborhood of a psite of PG.
- typedef graph_elt_neighborhood<G, F> nbh_t;
+ typedef neighb< graph_elt_window<G, F> > nbh_t;
nbh_t nbh;
+ unsigned i = 0;
mln_fwd_niter_(nbh_t) fq(nbh, p);
for_all(fq)
- std::cout << fq << " ";
- std::cout << std::endl;
+ mln_assertion(fq.element().id() == fwd_neighb[i++]);
+ i = 0;
mln_bkd_niter_(nbh_t) bq(nbh, p);
for_all(bq)
- std::cout << bq << " ";
- std::cout << std::endl;
+ mln_assertion(bq.element().id() == bkd_neighb[i++]);
}
diff --git a/milena/tests/core/other/graph_elt_window.cc b/milena/tests/core/other/graph_elt_window.cc
index a006543..46da228 100644
--- a/milena/tests/core/other/graph_elt_window.cc
+++ b/milena/tests/core/other/graph_elt_window.cc
@@ -26,7 +26,8 @@
// Public License.
/// \file tests/core/other/graph_elt_window.cc
-/// \brief Tests on mln::graph_elt_window.
+///
+/// Tests on mln::graph_elt_window.
#include <iostream>
@@ -38,8 +39,8 @@
#include <mln/util/graph.hh>
-#include <mln/debug/iota.hh>
-#include <mln/debug/println.hh>
+unsigned fwd_neighb[] = { 0, 2, 3 };
+unsigned bkd_neighb[] = { 3, 2, 0 };
int main()
@@ -77,9 +78,11 @@ int main()
// Edges.
typedef mln::util::graph G;
G g;
+
// Populate the graph with vertices.
for (unsigned i = 0; i < points.size(); ++i)
g.add_vertex ();
+
// Populate the graph with edges.
g.add_edge(0, 1);
g.add_edge(1, 2);
@@ -92,20 +95,23 @@ int main()
`------------------*/
// Graph psite set.
- p_vertices<G, F> pg(g, points);
+ typedef p_vertices<G, F> pg_t;
+ pg_t pg(g, points);
+
// Graph point site.
- p_vertices_psite<G, F> p(pg, 1);
+ mln_psite_(pg_t) p(pg, 1);
+
// ``Sliding'' window of a psite of PG.
typedef graph_elt_window<G, F> win_t;
win_t win;
+ unsigned i = 0;
mln_fwd_qiter_(win_t) fq(win, p);
for_all(fq)
- std::cout << fq << " ";
- std::cout << std::endl;
+ mln_assertion(fq.element().id() == fwd_neighb[i++]);
+ i = 0;
mln_bkd_qiter_(win_t) bq(win, p);
for_all(bq)
- std::cout << bq << " ";
- std::cout << std::endl;
+ mln_assertion(bq.element().id() == bkd_neighb[i++]);
}
diff --git a/milena/tests/core/other/line_graph_elt_neighborhood.cc b/milena/tests/core/other/line_graph_elt_neighborhood.cc
index 0b70ae8..2564c7d 100644
--- a/milena/tests/core/other/line_graph_elt_neighborhood.cc
+++ b/milena/tests/core/other/line_graph_elt_neighborhood.cc
@@ -26,18 +26,20 @@
// Public License.
/// \file tests/core/other/line_graph_elt_neighborhood.cc
-/// \brief Tests on mln::line_graph_elt_neighborhood.
+///
+/// Tests on mln::line_graph_elt_neighborhood.
#include <vector>
#include <mln/core/alias/point2d.hh>
-#include <mln/core/image/line_graph_elt_neighborhood.hh>
+#include <mln/core/neighb.hh>
#include <mln/core/site_set/p_edges.hh>
+#include <mln/core/image/line_graph_elt_window.hh>
#include <mln/util/graph.hh>
-#include <mln/debug/iota.hh>
-#include <mln/debug/println.hh>
+unsigned fwd_neighb[] = { 0, 2, 4 };
+unsigned bkd_neighb[] = { 4, 2, 0 };
int main()
@@ -54,7 +56,7 @@ int main()
0 1 2 3 4 0 1 2 3 4
.----------- .-----------
- | |
+ | |
0 | 0 2 0 | * *
1 | \ / | 1 | 0 1 |
2 | 1 | 2 | * 4
@@ -75,9 +77,11 @@ int main()
// Edges.
typedef mln::util::graph G;
G g;
+
// Populate the graph with vertices.
for (unsigned i = 0; i < points.size(); ++i)
g.add_vertex ();
+
// Populate the graph with edges.
g.add_edge(0, 1);
g.add_edge(1, 2);
@@ -90,20 +94,23 @@ int main()
`-------------------------*/
// Line graph psite set.
- p_edges<G, F> pe(g, points);
+ typedef p_edges<G, F> pe_t;
+ pe_t pe(g, points);
+
// Line graph point site.
- p_edges_psite<G, F> p(pe, 1);
+ mln_psite_(pe_t) p(pe, 1);
+
// ``Sliding'' neighborhood of a psite of PLG.
- typedef line_graph_elt_neighborhood<G, F> nbh_t;
+ typedef neighb< line_graph_elt_window<G, F> > nbh_t;
nbh_t nbh;
+ unsigned i = 0;
mln_fwd_niter_(nbh_t) fq(nbh, p);
for_all(fq)
- std::cout << fq << " ";
- std::cout << std::endl;
+ mln_assertion(fq.element().id() == fwd_neighb[i++]);
+ i = 0;
mln_bkd_niter_(nbh_t) bq(nbh, p);
for_all(bq)
- std::cout << bq << " ";
- std::cout << std::endl;
+ mln_assertion(bq.element().id() == bkd_neighb[i++]);
}
diff --git a/milena/tests/core/other/line_graph_elt_window.cc b/milena/tests/core/other/line_graph_elt_window.cc
index 81a0fa5..4792d67 100644
--- a/milena/tests/core/other/line_graph_elt_window.cc
+++ b/milena/tests/core/other/line_graph_elt_window.cc
@@ -26,18 +26,20 @@
// Public License.
/// \file tests/core/other/line_graph_elt_window.cc
-/// \brief Tests on mln::line_graph_elt_window.
+///
+/// Tests on mln::line_graph_elt_window.
#include <vector>
#include <mln/core/alias/point2d.hh>
-#include <mln/core/image/line_graph_elt_window.hh>
+#include <mln/core/neighb.hh>
#include <mln/core/site_set/p_edges.hh>
+#include <mln/core/image/line_graph_elt_window.hh>
#include <mln/util/graph.hh>
-#include <mln/debug/iota.hh>
-#include <mln/debug/println.hh>
+unsigned fwd_neighb[] = { 0, 2, 4 };
+unsigned bkd_neighb[] = { 4, 2, 0 };
int main()
@@ -97,13 +99,14 @@ int main()
typedef line_graph_elt_window<G, F> win_t;
win_t win;
+ unsigned i = 0;
mln_fwd_qiter_(win_t) fq(win, p);
for_all(fq)
- std::cout << fq << " ";
- std::cout << std::endl;
+ mln_assertion(fq.element().id() == fwd_neighb[i++]);
+ i = 0;
mln_bkd_qiter_(win_t) bq(win, p);
for_all(bq)
- std::cout << bq << " ";
- std::cout << std::endl;
+ mln_assertion(bq.element().id() == bkd_neighb[i++]);
+
}
diff --git a/milena/tests/fun/x2x/Makefile.am b/milena/tests/fun/x2x/Makefile.am
index 84d915e..a56a762 100644
--- a/milena/tests/fun/x2x/Makefile.am
+++ b/milena/tests/fun/x2x/Makefile.am
@@ -4,11 +4,11 @@ include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
composed \
-## rotation \
+ rotation \
translation
composed_SOURCES = composed.cc
-##rotation_SOURCES = rotation.cc
+rotation_SOURCES = rotation.cc
translation_SOURCES = translation.cc
TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/fun/x2x/rotation.cc b/milena/tests/fun/x2x/rotation.cc
index 900bb96..85b9619 100644
--- a/milena/tests/fun/x2x/rotation.cc
+++ b/milena/tests/fun/x2x/rotation.cc
@@ -38,6 +38,7 @@
#include <mln/io/pgm/save.hh>
#include <mln/core/image/interpolated.hh>
#include <mln/make/vec.hh>
+#include <mln/fun/x2v/bilinear.hh>
#include "tests/data.hh"
@@ -55,15 +56,15 @@ int main()
io::pgm::load(lena, MLN_IMG_DIR "/lena.pgm");
image2d<int_u8> out(lena.domain());
- interpolated<image2d<int_u8> > inter(lena);
+ interpolated<image2d<int_u8>, fun::x2x::bilinear> inter(lena);
fun::x2x::rotation<2,float> rot1(0.1, axis);
- image2d<int_u8>::fwd_piter p(out.domain());
+ mln_piter_(image2d<int_u8>) p(out.domain());
for_all(p)
{
- algebra::vec<2,float> v = rot1.inv()((point2d::vec_t)(point2d)p);
+ algebra::vec<2,float> v = rot1.inv()(p.to_site().to_vec());
if (inter.has(v))
out(p) = inter(v);
else
diff --git a/milena/tests/labeling/compute.cc b/milena/tests/labeling/compute.cc
index 1d26ab1..ff3f549 100644
--- a/milena/tests/labeling/compute.cc
+++ b/milena/tests/labeling/compute.cc
@@ -42,7 +42,7 @@
int main()
{
using namespace mln;
- using value::label8;
+ using value::label_8;
using value::int_u8;
int_u8 vals[6][5] = {
@@ -55,7 +55,7 @@ int main()
};
image2d<int_u8> ima = make::image(vals);
- label8 lblvals[6][5] = {
+ label_8 lblvals[6][5] = {
{0, 1, 1, 0, 0},
{0, 1, 1, 0, 0},
{0, 0, 0, 0, 0},
@@ -63,8 +63,8 @@ int main()
{2, 0, 3, 3, 3},
{2, 0, 0, 0, 0}
};
- image2d<label8> lbl = make::image(lblvals);
- label8 nlabels = 3;
+ image2d<label_8> lbl = make::image(lblvals);
+ label_8 nlabels = 3;
accu::sum<int_u8> sum;
util::array<float> sums = labeling::compute(sum, ima, lbl, nlabels);
diff --git a/milena/tests/unit_test/Makefile.am b/milena/tests/unit_test/Makefile.am
index 408e5c2..d17cd67 100644
--- a/milena/tests/unit_test/Makefile.am
+++ b/milena/tests/unit_test/Makefile.am
@@ -3,2012 +3,1994 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
-mln_trace_quiet\
-mln_trace_resume\
+mln_histo_all\
+mln_histo_data\
+mln_histo_compute\
+mln_histo_essential\
+mln_geom_pmin_pmax\
+mln_geom_max_row\
+mln_geom_chamfer\
+mln_geom_min_row\
+mln_geom_seeds2tiling\
+mln_geom_size1d\
+mln_geom_all\
+mln_geom_size2d\
+mln_geom_max_ind\
+mln_geom_max_col\
+mln_geom_size3d\
+mln_geom_ninds\
+mln_geom_nslis\
+mln_geom_delta\
+mln_geom_resize\
+mln_geom_nsites\
+mln_geom_min_col\
+mln_geom_complex_geometry\
+mln_geom_ncols\
+mln_geom_nrows\
+mln_geom_min_ind\
+mln_geom_bbox\
+mln_geom_seeds2tiling_roundness\
+mln_geom_min_sli\
+mln_geom_essential\
+mln_geom_max_sli\
+mln_draw_box\
+mln_draw_all\
+mln_draw_plot\
+mln_draw_line\
+mln_draw_essential\
+mln_pw_image\
+mln_pw_all\
+mln_pw_value\
+mln_pw_cst\
+mln_pw_var\
+mln_pw_essential\
+mln_literal_zero\
+mln_literal_ops\
+mln_literal_origin\
+mln_literal_grays\
+mln_literal_all\
+mln_literal_colors\
+mln_literal_black\
+mln_literal_one\
+mln_literal_white\
+mln_literal_essential\
+mln_registration_get_rtransf\
+mln_registration_internal_rms\
+mln_registration_get_rot\
+mln_registration_all\
+mln_registration_multiscale\
+mln_registration_registration\
+mln_registration_essential\
+mln_registration_icp\
+mln_util_graph\
+mln_util_max\
+mln_util_lazy_set\
+mln_util_set\
+mln_util_tree_to_image\
+mln_util_lemmings\
+mln_util_greater_point\
+mln_util_internal_graph_iter_base\
+mln_util_internal_boost_graph_access\
+mln_util_internal_boost_graph_structure\
+mln_util_internal_graph_iter\
+mln_util_internal_graph_nbh_iter\
+mln_util_internal_vertex_impl\
+mln_util_internal_edge_impl\
+mln_util_internal_graph_base\
+mln_util_internal_boost_graph\
+mln_util_internal_graph_nbh_iter_base\
+mln_util_internal_boost_graph_property\
+mln_util_ord_pair\
+mln_util_edge\
+mln_util_all\
+mln_util_dindex\
+mln_util_tracked_ptr\
+mln_util_ignore\
+mln_util_greater_psite\
+mln_util_timer\
+mln_util_yes\
+mln_util_line_graph\
+mln_util_ord\
+mln_util_tree_fast_to_image\
+mln_util_tree\
+mln_util_index\
+mln_util_multi_site\
+mln_util_branch_iter\
+mln_util_branch_iter_ind\
+mln_util_tree_to_fast\
+mln_util_array\
+mln_util_vertex\
+mln_util_pix\
+mln_util_tree_fast\
+mln_util_site_pair\
+mln_util_nil\
+mln_util_eat\
+mln_util_essential\
+mln_tag_init\
+mln_tag_skeleton\
+mln_tag_all\
+mln_tag_essential\
mln_trace_entering\
mln_trace_all\
-mln_trace_stop\
-mln_trace_essential\
mln_trace_warning\
mln_trace_exiting\
-mln_tag_all\
-mln_tag_essential\
-mln_tag_init\
-mln_tag_skeleton\
+mln_trace_resume\
+mln_trace_quiet\
+mln_trace_stop\
+mln_trace_essential\
+mln_make_graph\
+mln_make_double_neighb2d\
+mln_make_dpoint2d_h\
mln_make_w_window\
+mln_make_image\
+mln_make_vec\
mln_make_all\
+mln_make_dual_neighb\
+mln_make_w_window3d\
+mln_make_mat\
mln_make_win_chamfer\
-mln_make_image\
-mln_make_box2d_h\
-mln_make_w_window_directional\
-mln_make_point2d_h\
-mln_make_+win_multiple\
+mln_make_w_window2d_int\
+mln_make_box1d\
mln_make_voronoi\
-mln_make_pix\
+mln_make_box2d\
mln_make_w_window2d\
+mln_make_box3d\
+mln_make_relabelfun\
+mln_make_pixel\
+mln_make_pix\
+mln_make_box2d_h\
mln_make_w_window1d\
-mln_make_graph\
-mln_make_dpoint2d_h\
-mln_make_w_window2d_int\
mln_make_image2d\
+mln_make_w_window_directional\
mln_make_w_window3d_int\
-mln_make_w_window3d\
mln_make_essential\
-mln_make_box1d\
-mln_make_relabelfun\
-mln_make_double_neighb2d\
mln_make_w_window1d_int\
-mln_make_dual_neighb\
-mln_make_pixel\
-mln_make_vec\
-mln_make_mat\
-mln_make_box2d\
-mln_make_box3d\
-mln_histo_all\
-mln_histo_data\
-mln_histo_essential\
-mln_histo_compute\
-mln_essential_2d\
+mln_make_point2d_h\
+mln_display_all\
+mln_display_essential\
+mln_extension_adjust\
+mln_extension_duplicate\
+mln_extension_adjust_duplicate\
+mln_extension_all\
+mln_extension_adjust_fill\
+mln_extension_fill\
+mln_extension_essential\
+mln_fun_p2b_chess\
+mln_fun_p2b_all\
+mln_fun_p2b_has\
+mln_fun_p2b_big_chess\
+mln_fun_p2b_essential\
+mln_fun_p2p_mirror\
+mln_fun_x2p_closest_point\
+mln_fun_x2p_all\
+mln_fun_x2p_essential\
+mln_fun_ops\
+mln_fun_c\
+mln_fun_vv2v_max\
+mln_fun_vv2v_lor\
+mln_fun_vv2v_land_not\
+mln_fun_vv2v_vec\
+mln_fun_vv2v_all\
+mln_fun_vv2v_macros\
+mln_fun_vv2v_lxor\
+mln_fun_vv2v_diff_abs\
+mln_fun_vv2v_land\
+mln_fun_vv2v_min\
+mln_fun_vv2v_essential\
+mln_fun_internal_array_base\
+mln_fun_internal_x2x_linear_impl\
+mln_fun_internal_selector\
+mln_fun_p2v_ternary\
+mln_fun_p2v_iota\
+mln_fun_p2v_elifs\
+mln_fun_p2v_all\
+mln_fun_p2v_essential\
+mln_fun_all\
+mln_fun_v2b_lnot\
+mln_fun_v2b_all\
+mln_fun_v2b_threshold\
+mln_fun_v2b_essential\
+mln_fun_v2v_norm\
+mln_fun_v2v_linear\
+mln_fun_v2v_id\
+mln_fun_v2v_saturate\
+mln_fun_v2v_inc\
+mln_fun_v2v_all\
+mln_fun_v2v_dec\
+mln_fun_v2v_abs\
+mln_fun_v2v_cast\
+mln_fun_v2v_rgb_to_hsi\
+mln_fun_v2v_enc\
+mln_fun_v2v_convert\
+mln_fun_v2v_essential\
+mln_fun_cast\
+mln_fun_i2v_all\
+mln_fun_i2v_array\
+mln_fun_i2v_all_to\
+mln_fun_i2v_essential\
+mln_fun_l2l_relabel\
+mln_fun_l2l_all\
+mln_fun_l2l_essential\
+mln_fun_x2x_composed\
+mln_fun_x2x_all\
+mln_fun_x2x_translation\
+mln_fun_x2x_rotation\
+mln_fun_x2x_essential\
+mln_fun_x2v_linear\
+mln_fun_x2v_bilinear\
+mln_fun_x2v_all\
+mln_fun_x2v_l1_norm\
+mln_fun_x2v_nneighbor\
+mln_fun_x2v_essential\
+mln_fun_essential\
+mln_all\
+mln_convert_to_p_set\
+mln_convert_to\
+mln_convert_to_upper_window\
+mln_convert_to_image\
+mln_convert_to_fun\
+mln_convert_all\
+mln_convert_to_window\
+mln_convert_from_to\
+mln_convert_impl_from_value_to_value\
+mln_convert_impl_all\
+mln_convert_impl_from_image_to_site_set\
+mln_convert_to_dpoint\
+mln_convert_to_p_array\
+mln_convert_to_rgb\
+mln_convert_essential\
+mln_value_float01_f\
+mln_value_float01_16\
+mln_value_lut_vec\
+mln_value_glf\
+mln_value_other\
+mln_value_graylevel_f\
+mln_value_aliases\
+mln_value_label_16\
+mln_value_ops\
+mln_value_set\
+mln_value_int_u_sat\
+mln_value_float01_8\
+mln_value_int_u8\
+mln_value_equiv\
+mln_value_internal_integer\
+mln_value_internal_gray_f\
+mln_value_internal_all\
+mln_value_internal_value_like\
+mln_value_internal_iterable_set\
+mln_value_internal_encoding\
+mln_value_internal_convert\
+mln_value_internal_gray_\
+mln_value_internal_essential\
+mln_value_proxy\
+mln_value_viter\
+mln_value_graylevel\
+mln_value_all\
+mln_value_super_value\
+mln_value_builtin_symbolics\
+mln_value_builtin_ops\
+mln_value_builtin_all\
+mln_value_builtin_promotions\
+mln_value_builtin_integers\
+mln_value_builtin_floatings\
+mln_value_builtin_essential\
+mln_value_sign\
+mln_value_hsi\
+mln_value_interval\
+mln_value_gl16\
+mln_value_scalar\
+mln_value_float01\
+mln_value_cast\
+mln_value_int_u\
+mln_value_int_s8\
+mln_value_int_s16\
+mln_value_int_u16\
+mln_value_label\
+mln_value_rgb\
+mln_value_stack\
+mln_value_concept_integer\
+mln_value_concept_structured\
+mln_value_concept_built_in\
+mln_value_concept_all\
+mln_value_concept_scalar\
+mln_value_concept_data\
+mln_value_concept_floating\
+mln_value_concept_symbolic\
+mln_value_concept_vectorial\
+mln_value_concept_essential\
+mln_value_int_s\
+mln_value_rgb8\
+mln_value_int_s32\
+mln_value_float01_\
+mln_value_rgb16\
+mln_value_int_u32\
+mln_value_gl8\
+mln_value_label_8\
+mln_value_essential\
+mln_accu_tuple\
+mln_accu_min_h\
+mln_accu_max\
+mln_accu_lor\
+mln_accu_rank\
+mln_accu_transform_stop\
+mln_accu_maj_h\
+mln_accu_min_max\
+mln_accu_internal_base\
+mln_accu_transform_snake\
+mln_accu_rank_high_quant\
+mln_accu_count\
+mln_accu_median_h\
+mln_accu_all\
+mln_accu_land_basic\
+mln_accu_p\
+mln_accu_transform\
+mln_accu_median_alt\
+mln_accu_volume\
+mln_accu_sum\
+mln_accu_height\
+mln_accu_land\
+mln_accu_take\
+mln_accu_histo\
+mln_accu_pair\
+mln_accu_count_adjacent_vertices\
+mln_accu_convolve\
+mln_accu_v\
+mln_accu_rank_bool\
+mln_accu_min\
+mln_accu_transform_directional\
+mln_accu_compute\
+mln_accu_mean\
+mln_accu_lor_basic\
+mln_accu_transform_diagonal\
+mln_accu_nil\
+mln_accu_bbox\
+mln_accu_center\
+mln_accu_line\
+mln_accu_essential\
+mln_accu_max_h\
+mln_level_compare\
+mln_level_memset_\
+mln_level_transform_inplace\
+mln_level_replace\
+mln_level_memcpy_\
+mln_level_apply\
+mln_level_approx_all\
+mln_level_approx_essential\
+mln_level_approx_median\
+mln_level_saturate\
+mln_level_all\
+mln_level_paste\
+mln_level_fast_median\
+mln_level_abs\
+mln_level_fill_with_image\
+mln_level_transform\
+mln_level_fill_with_value\
+mln_level_stretch\
+mln_level_was_median\
+mln_level_compute\
+mln_level_convert\
+mln_level_to_enc\
+mln_level_naive_all\
+mln_level_naive_essential\
+mln_level_naive_median\
+mln_level_sort_psites\
+mln_level_update\
+mln_level_fill\
+mln_level_essential\
+mln_level_assign\
+mln_level_median\
+mln_math_jacobi\
+mln_math_max\
+mln_math_sqr\
+mln_math_all\
+mln_math_sign\
+mln_math_abs\
+mln_math_diff_abs\
+mln_math_round\
+mln_math_min\
+mln_math_sqrt\
+mln_math_essential\
+mln_math_round_sat\
+mln_binarization_includes\
+mln_binarization_all\
+mln_binarization_binarization\
+mln_binarization_threshold\
+mln_binarization_essential\
+mln_trait_site_set_props\
+mln_trait_site_set_print\
+mln_trait_promote\
+mln_trait_solve_binary\
+mln_trait_value_\
+mln_trait_all\
+mln_trait_value_all\
+mln_trait_value_nature\
+mln_trait_value_quant\
+mln_trait_value_kind\
+mln_trait_value_print\
+mln_trait_value_essential\
+mln_trait_images\
+mln_trait_window_props\
+mln_trait_window_print\
+mln_trait_ch_value\
+mln_trait_solve\
+mln_trait_solve_unary\
+mln_trait_op_postdec\
+mln_trait_op_mod\
+mln_trait_op_lor\
+mln_trait_op_neq\
+mln_trait_op_plus\
+mln_trait_op_xor\
+mln_trait_op_all\
+mln_trait_op_geq\
+mln_trait_op_uminus\
+mln_trait_op_not\
+mln_trait_op_times\
+mln_trait_op_less\
+mln_trait_op_decl\
+mln_trait_op_ord\
+mln_trait_op_and\
+mln_trait_op_or\
+mln_trait_op_predec\
+mln_trait_op_minus\
+mln_trait_op_div\
+mln_trait_op_leq\
+mln_trait_op_preinc\
+mln_trait_op_greater\
+mln_trait_op_postinc\
+mln_trait_op_uplus\
+mln_trait_op_essential\
+mln_trait_op_eq\
+mln_trait_concrete\
+mln_trait_windows\
+mln_trait_site_sets\
+mln_trait_image_from_grid\
+mln_trait_undef\
+mln_trait_image_props\
+mln_trait_image_print\
+mln_trait_neighborhood\
+mln_trait_essential\
+mln_canvas_labeling\
+mln_canvas_browsing_hyper_directional\
+mln_canvas_browsing_snake_generic\
+mln_canvas_browsing_backdiagonal2d\
+mln_canvas_browsing_snake_vert\
+mln_canvas_browsing_snake_fwd\
+mln_canvas_browsing_all\
+mln_canvas_browsing_diagonal2d\
+mln_canvas_browsing_fwd\
+mln_canvas_browsing_dir_struct_elt_incr_update\
+mln_canvas_browsing_directional\
+mln_canvas_browsing_essential\
+mln_canvas_chamfer\
+mln_canvas_distance_geodesic\
+mln_canvas_all\
+mln_canvas_distance_front\
+mln_canvas_morpho_all\
+mln_canvas_morpho_algebraic_union_find\
+mln_canvas_morpho_essential\
+mln_canvas_essential\
+mln_metal_is_const\
+mln_metal_none\
+mln_metal_equal\
+mln_metal_unptr\
+mln_metal_not_equal\
+mln_metal_is_ref\
+mln_metal_ret\
+mln_metal_unqualif\
+mln_metal_is_not\
+mln_metal_vec\
+mln_metal_is\
+mln_metal_bool\
+mln_metal_all\
+mln_metal_math_pow\
+mln_metal_math_max\
+mln_metal_math_all\
+mln_metal_math_root\
+mln_metal_math_sqrt\
+mln_metal_mat\
+mln_metal_is_not_const\
+mln_metal_fix_return\
+mln_metal_ands\
+mln_metal_const\
+mln_metal_is_unqualif\
+mln_metal_unconst\
+mln_metal_bexpr\
+mln_metal_array2d\
+mln_metal_is_not_a\
+mln_metal_is_a\
+mln_metal_array1d\
+mln_metal_if\
+mln_metal_unref\
+mln_metal_array\
+mln_metal_ref\
+mln_metal_same_point\
+mln_metal_int\
+mln_metal_abort\
+mln_metal_same_coord\
+mln_metal_templated_by\
+mln_metal_has_neighborhood\
+mln_metal_goes_to\
+mln_metal_is_not_ref\
+mln_metal_converts_to\
+mln_metal_essential\
+mln_metal_array3d\
+mln_algebra_vec\
+mln_algebra_all\
+mln_algebra_h_vec\
+mln_algebra_mat\
+mln_algebra_h_mat\
+mln_algebra_quat\
+mln_algebra_essential\
+mln_linear_convolve_2x1d\
+mln_linear_all\
+mln_linear_ch_convolve\
+mln_linear_gaussian\
+mln_linear_convolve\
+mln_linear_sobel_2d\
+mln_linear_local_convolve\
+mln_linear_lap\
+mln_linear_convolve_directional\
+mln_linear_log\
+mln_linear_essential\
+mln_morpho_thinning\
+mln_morpho_meyer_wst\
+mln_morpho_opening\
+mln_morpho_includes\
+mln_morpho_elementary_opening\
+mln_morpho_elementary_gradient_internal\
+mln_morpho_elementary_dilation\
+mln_morpho_elementary_laplacian\
+mln_morpho_elementary_all\
+mln_morpho_elementary_gradient_external\
+mln_morpho_elementary_like_ero_fun\
+mln_morpho_elementary_gradient\
+mln_morpho_elementary_like_ero_set\
+mln_morpho_elementary_closing\
+mln_morpho_elementary_top_hat\
+mln_morpho_elementary_erosion\
+mln_morpho_elementary_essential\
+mln_morpho_thin_fit\
+mln_morpho_skeleton_constrained\
+mln_morpho_complementation\
+mln_morpho_line_gradient\
+mln_morpho_hit_or_miss\
+mln_morpho_closing_height\
+mln_morpho_plus\
+mln_morpho_general\
+mln_morpho_internal_elementary\
+mln_morpho_contrast\
+mln_morpho_opening_area\
+mln_morpho_opening_height\
+mln_morpho_thickening\
+mln_morpho_dilation\
+mln_morpho_laplacian\
+mln_morpho_all\
+mln_morpho_opening_attribute\
+mln_morpho_opening_volume\
+mln_morpho_closing_area_on_vertices\
+mln_morpho_closing_volume\
+mln_morpho_minus\
+mln_morpho_gradient\
+mln_morpho_tree_max\
+mln_morpho_tree_compute_parent\
+mln_morpho_tree_all\
+mln_morpho_tree_utils\
+mln_morpho_tree_data\
+mln_morpho_tree_compute_attribute_image\
+mln_morpho_opening_area_on_vertices\
+mln_morpho_min\
+mln_morpho_closing\
+mln_morpho_top_hat\
+mln_morpho_erosion\
+mln_morpho_Rd\
+mln_morpho_closing_area\
+mln_morpho_thick_miss\
+mln_morpho_closing_attribute\
+mln_morpho_rank_filter\
+mln_morpho_essential\
+mln_topo_n_face_iter\
+mln_topo_face_iter\
+mln_topo_is_simple_2d\
+mln_topo_centered_iter_adapter\
+mln_topo_internal_complex_set_iterator_base\
+mln_topo_internal_complex_iterator_base\
+mln_topo_internal_complex_relative_iterator_base\
+mln_topo_internal_complex_relative_iterator_sequence\
+mln_topo_algebraic_n_face\
+mln_topo_attic_faces_iter\
+mln_topo_adj_lower_dim_connected_n_face_iter\
+mln_topo_n_face\
+mln_topo_adj_lower_higher_face_iter\
+mln_topo_all\
+mln_topo_face_data\
+mln_topo_static_n_face_iter\
+mln_topo_face\
+mln_topo_adj_m_face_iter\
+mln_topo_complex\
+mln_topo_adj_higher_face_iter\
+mln_topo_adj_lower_face_iter\
+mln_topo_complex_iterators\
+mln_topo_center_only_iter\
+mln_topo_adj_higher_dim_connected_n_face_iter\
+mln_topo_algebraic_face\
+mln_topo_n_faces_set\
+mln_topo_essential\
+mln_essential_1d\
mln_essential_routine\
mln_essential_3d\
-mln_essential_1d\
-mln_set_get\
-mln_set_uni\
-mln_set_all\
-mln_set_sym_diff\
-mln_set_essential\
-mln_set_diff\
-mln_set_compute\
-mln_set_has\
-mln_set_inter\
-mln_transform_all\
-mln_transform_internal_influence_zone_functor\
-mln_transform_internal_all\
-mln_transform_internal_distance_functor\
-mln_transform_distance_geodesic\
-mln_transform_+old_distance\
-mln_transform_essential\
-mln_transform_influence_zone_geodesic\
-mln_transform_distance_front\
-mln_transform_influence_zone_front\
-mln_core_alias_neighb2d\
-mln_core_alias_point3df\
-mln_core_alias_w_window3d_float\
-mln_core_alias_point2d\
-mln_core_alias_w_window1d_float\
-mln_core_alias_box2d_h\
-mln_core_alias_point2d_h\
-mln_core_alias_neighb1d\
-mln_core_alias_p_run2d\
-mln_core_alias_window2d\
-mln_core_alias_window3d\
-mln_core_alias_dpoint2d_h\
-mln_core_alias_p_runs2d\
-mln_core_alias_w_window2d_int\
-mln_core_alias_w_window3d_int\
-mln_core_alias_box1d\
-mln_core_alias_w_window2d_float\
-mln_core_alias_w_window1d_int\
-mln_core_alias_dpoint1d\
-mln_core_alias_point1d\
-mln_core_alias_complex_image\
-mln_core_alias_window1d\
-mln_core_alias_dpoint2d\
-mln_core_alias_neighb3d\
-mln_core_alias_point3d\
-mln_core_alias_dpoint3d\
-mln_core_alias_complex_geometry\
-mln_core_alias_box2d\
-mln_core_alias_box3d\
-mln_core_clock_neighb2d\
-mln_core_macros\
-mln_core_w_window\
-mln_core_all\
-mln_core_category\
-mln_core_faces_psite\
-mln_core_trait_all\
-mln_core_trait_pixter\
-mln_core_trait_op_mult\
-mln_core_trait_essential\
-mln_core_trait_qlf_value\
+mln_essential_2d\
+mln_win_inter\
+mln_win_backdiag2d\
+mln_win_segment1d\
+mln_win_cuboid3d\
+mln_win_vline2d\
+mln_win_octagon2d\
+mln_win_all\
+mln_win_multiple_size\
+mln_win_cube3d\
+mln_win_shift\
+mln_win_sym\
+mln_win_diff\
+mln_win_multiple\
+mln_win_diag2d\
+mln_win_disk2d\
+mln_win_rectangle2d\
+mln_win_hline2d\
+mln_win_line\
+mln_win_essential\
+mln_core_clock_neighb\
+mln_core_pixter2d\
+mln_core_def_low_quant_nbits\
+mln_core_def_all\
+mln_core_def_coordf\
+mln_core_def_coord\
+mln_core_def_essential\
+mln_core_site_set_box\
+mln_core_site_set_p_vertices\
+mln_core_site_set_p_vaccess\
+mln_core_site_set_p_if_piter\
+mln_core_site_set_p_run_piter\
+mln_core_site_set_p_key\
+mln_core_site_set_p_double\
+mln_core_site_set_p_complex_piter\
+mln_core_site_set_p_complex\
+mln_core_site_set_p_image\
+mln_core_site_set_attic_p_complex_faces_piter\
+mln_core_site_set_attic_p_faces_piter\
+mln_core_site_set_p_priority\
+mln_core_site_set_p_set_of\
+mln_core_site_set_all\
+mln_core_site_set_p_edges\
+mln_core_site_set_box_piter\
+mln_core_site_set_p_faces\
+mln_core_site_set_p_set\
+mln_core_site_set_p_queue\
mln_core_site_set_p_if\
-mln_core_site_set_complex_psite\
+mln_core_site_set_operators\
mln_core_site_set_p_mutable_array_of\
-mln_core_site_set_p_complex_piter\
-mln_core_site_set_box\
mln_core_site_set_p_edges_psite\
-mln_core_site_set_all\
+mln_core_site_set_complex_psite\
+mln_core_site_set_p_run\
+mln_core_site_set_p_n_faces_piter\
+mln_core_site_set_p_centered\
+mln_core_site_set_p_bgraph\
mln_core_site_set_p_bgraph_piter\
mln_core_site_set_p_array\
mln_core_site_set_p_vertices_psite\
-mln_core_site_set_box_piter\
-mln_core_site_set_attic_p_faces_piter\
-mln_core_site_set_attic_p_complex_faces_piter\
-mln_core_site_set_p_complex\
-mln_core_site_set_p_image\
-mln_core_site_set_p_edges\
mln_core_site_set_p_line2d\
-mln_core_site_set_p_vertices\
-mln_core_site_set_p_double\
-mln_core_site_set_p_graph_piter\
mln_core_site_set_p_queue_fast\
-mln_core_site_set_p_priority\
-mln_core_site_set_p_centered\
+mln_core_site_set_p_graph_piter\
mln_core_site_set_essential\
-mln_core_site_set_p_faces\
-mln_core_site_set_p_bgraph\
-mln_core_site_set_p_run_piter\
-mln_core_site_set_p_run\
-mln_core_site_set_p_n_faces_piter\
-mln_core_site_set_p_if_piter\
-mln_core_site_set_p_set\
-mln_core_site_set_p_vaccess\
-mln_core_site_set_p_queue\
-mln_core_site_set_p_set_of\
-mln_core_site_set_operators\
-mln_core_site_set_p_key\
+mln_core_dpsites_piter\
+mln_core_w_window\
+mln_core_grids\
+mln_core_dpoints_pixter\
+mln_core_internal_graph_psite_base\
+mln_core_internal_run_image\
+mln_core_internal_pixel_impl\
+mln_core_internal_site_set_base\
+mln_core_internal_image_value_morpher\
+mln_core_internal_site_iterator_base\
+mln_core_internal_complex_neighborhood_base\
+mln_core_internal_site_relative_iterator_base\
+mln_core_internal_site_set_impl\
+mln_core_internal_exact\
+mln_core_internal_p_complex_piter_base\
+mln_core_internal_neighb_niter_impl\
+mln_core_internal_pixel_iterator_base\
+mln_core_internal_classical_window_base\
+mln_core_internal_data\
+mln_core_internal_force_exact\
+mln_core_internal_image_base\
+mln_core_internal_check_image_fastest\
+mln_core_internal_check_image_all\
+mln_core_internal_fixme\
+mln_core_internal_morpher_lvalue\
+mln_core_internal_image_domain_morpher\
+mln_core_internal_image_primary\
+mln_core_internal_set_of\
+mln_core_internal_complex_window_p_base\
+mln_core_internal_graph_window_base\
+mln_core_internal_piter_adaptor\
+mln_core_internal_weighted_window_base\
+mln_core_internal_neighborhood_base\
+mln_core_internal_image_morpher\
+mln_core_internal_coord_impl\
+mln_core_internal_geom_bbox\
+mln_core_internal_image_identity\
+mln_core_internal_pseudo_site_base\
+mln_core_internal_window_base\
+mln_core_internal_box_impl\
+mln_core_internal_site_set_iterator_base\
+mln_core_contract\
+mln_core_all\
+mln_core_point\
+mln_core_neighb\
+mln_core_routine_initialize\
+mln_core_routine_primary\
+mln_core_routine_init\
+mln_core_routine_ops\
+mln_core_routine_all\
+mln_core_routine_clone\
+mln_core_routine_exact\
+mln_core_routine_extend\
+mln_core_routine_essential\
+mln_core_trait_op_mult\
+mln_core_trait_all\
+mln_core_trait_pixter\
+mln_core_trait_qlf_value\
+mln_core_trait_essential\
+mln_core_pixter1d\
+mln_core_category\
+mln_core_macros\
mln_core_box_runstart_piter\
-mln_core_var\
-mln_core_concept_browsing\
-mln_core_concept_regular_grid\
-mln_core_concept_pixel_iterator\
+mln_core_tags\
+mln_core_dpoint\
+mln_core_alias_dpoint2d_h\
+mln_core_alias_p_run2d\
+mln_core_alias_point3d\
+mln_core_alias_neighb3d\
+mln_core_alias_window3d\
+mln_core_alias_neighb2d\
+mln_core_alias_complex_image\
+mln_core_alias_w_window1d_float\
+mln_core_alias_neighb1d\
+mln_core_alias_w_window2d_float\
+mln_core_alias_w_window2d_int\
+mln_core_alias_box1d\
+mln_core_alias_box2d\
+mln_core_alias_window1d\
+mln_core_alias_point1d\
+mln_core_alias_box3d\
+mln_core_alias_dpoint3d\
+mln_core_alias_complex_geometry\
+mln_core_alias_w_window3d_float\
+mln_core_alias_box2d_h\
+mln_core_alias_point2d\
+mln_core_alias_window2d\
+mln_core_alias_p_runs2d\
+mln_core_alias_point3df\
+mln_core_alias_dpoint1d\
+mln_core_alias_w_window3d_int\
+mln_core_alias_dpoint2d\
+mln_core_alias_w_window1d_int\
+mln_core_alias_point2d_h\
+mln_core_window\
+mln_core_concept_site_proxy\
mln_core_concept_point_site\
-mln_core_concept_iterator\
mln_core_concept_box\
-mln_core_concept_site_proxy\
-mln_core_concept_object\
-mln_core_concept_all\
-mln_core_concept_image\
mln_core_concept_generalized_pixel\
-mln_core_concept_value_iterator\
-mln_core_concept_value_set\
-mln_core_concept_site_set\
-mln_core_concept_point\
-mln_core_concept_weighted_window\
mln_core_concept_graph\
-mln_core_concept_function\
-mln_core_concept_site_iterator\
-mln_core_concept_gpoint\
-mln_core_concept_meta_accumulator\
-mln_core_concept_gdpoint\
-mln_core_concept_doc_pixel_iterator\
+mln_core_concept_iterator\
mln_core_concept_doc_point_site\
-mln_core_concept_doc_iterator\
mln_core_concept_doc_box\
-mln_core_concept_doc_object\
-mln_core_concept_doc_image\
mln_core_concept_doc_generalized_pixel\
-mln_core_concept_doc_value_iterator\
+mln_core_concept_doc_iterator\
+mln_core_concept_doc_image_fastest\
+mln_core_concept_doc_image\
mln_core_concept_doc_value_set\
-mln_core_concept_doc_site_set\
mln_core_concept_doc_weighted_window\
-mln_core_concept_doc_image_fastest\
+mln_core_concept_doc_pixel_iterator\
+mln_core_concept_doc_value_iterator\
mln_core_concept_doc_dpoint\
-mln_core_concept_doc_accumulator\
-mln_core_concept_doc_point_iterator\
mln_core_concept_doc_window\
+mln_core_concept_doc_accumulator\
+mln_core_concept_doc_site_set\
+mln_core_concept_doc_object\
mln_core_concept_doc_neighborhood\
-mln_core_concept_delta_point_site\
-mln_core_concept_literal\
-mln_core_concept_value\
-mln_core_concept_dpoint\
+mln_core_concept_doc_point_iterator\
mln_core_concept_pseudo_site\
-mln_core_concept_accumulator\
+mln_core_concept_image\
+mln_core_concept_value_set\
mln_core_concept_proxy\
mln_core_concept_site\
+mln_core_concept_weighted_window\
+mln_core_concept_all\
+mln_core_concept_gpoint\
+mln_core_concept_site_iterator\
+mln_core_concept_point\
+mln_core_concept_literal\
+mln_core_concept_pixel_iterator\
+mln_core_concept_value_iterator\
+mln_core_concept_meta_accumulator\
+mln_core_concept_gdpoint\
+mln_core_concept_regular_grid\
+mln_core_concept_mesh\
+mln_core_concept_dpoint\
+mln_core_concept_function\
mln_core_concept_window\
+mln_core_concept_value\
+mln_core_concept_accumulator\
+mln_core_concept_site_set\
+mln_core_concept_object\
+mln_core_concept_delta_point_site\
mln_core_concept_neighborhood\
-mln_core_concept_mesh\
-mln_core_dpoints_pixter\
-mln_core_internal_graph_window_base\
-mln_core_internal_complex_window_p_base\
-mln_core_internal_pixel_iterator_base\
-mln_core_internal_weighted_window_base\
-mln_core_internal_neighborhood_base\
-mln_core_internal_complex_neighborhood_base\
-mln_core_internal_data\
-mln_core_internal_run_image\
-mln_core_internal_window_base\
-mln_core_internal_graph_psite_base\
-mln_core_internal_site_relative_iterator_base\
-mln_core_internal_image_base\
-mln_core_internal_set_of\
-mln_core_internal_exact\
-mln_core_internal_p_complex_piter_base\
-mln_core_internal_morpher_lvalue\
-mln_core_internal_site_iterator_base\
-mln_core_internal_pseudo_site_base\
-mln_core_internal_pixel_impl\
-mln_core_internal_force_exact\
-mln_core_internal_site_set_iterator_base\
-mln_core_internal_geom_bbox\
-mln_core_internal_site_set_base\
-mln_core_internal_classical_window_base\
-mln_core_internal_image_value_morpher\
-mln_core_internal_coord_impl\
-mln_core_internal_check_image_all\
-mln_core_internal_check_image_fastest\
-mln_core_internal_fixme\
-mln_core_internal_piter_adaptor\
-mln_core_internal_image_domain_morpher\
-mln_core_internal_neighb_niter_impl\
-mln_core_internal_image_morpher\
-mln_core_internal_image_primary\
-mln_core_internal_image_identity\
-mln_core_internal_site_set_impl\
-mln_core_internal_box_impl\
-mln_core_pixter2d\
-mln_core_point\
-mln_core_a_point_of\
-mln_core_clock_neighb\
-mln_core_grids\
-mln_core_tags\
-mln_core_routine_all\
-mln_core_routine_initialize\
-mln_core_routine_exact\
-mln_core_routine_essential\
-mln_core_routine_init\
-mln_core_routine_extend\
-mln_core_routine_primary\
-mln_core_routine_clone\
-mln_core_routine_ops\
-mln_core_contract\
-mln_core_essential\
-mln_core_pixter1d\
-mln_core_neighb\
+mln_core_concept_browsing\
mln_core_pixel\
-mln_core_dpoint\
-mln_core_+memo_dpoints_piter\
+mln_core_clock_neighb2d\
+mln_core_pixter3d\
+mln_core_image_obased_rle_encode\
mln_core_image_plain\
-mln_core_image_image_if\
-mln_core_image_t_image\
-mln_core_image_complex_window_piter\
-mln_core_image_interpolated\
-mln_core_image_sparse_image\
+mln_core_image_graph_image\
+mln_core_image_image3d\
+mln_core_image_decorated_image\
+mln_core_image_extension_ima\
+mln_core_image_flat_image\
mln_core_image_complex_neighborhood_piter\
-mln_core_image_ch_piter\
-mln_core_image_tr_image\
-mln_core_image_extension_val\
-mln_core_image_value_enc_image\
-mln_core_image_all\
-mln_core_image_fi_adaptor\
-mln_core_image_extended\
-mln_core_image_rle_encode\
-mln_core_image_graph_window_piter\
+mln_core_image_tr_mesh\
+mln_core_image_graph_elt_window\
+mln_core_image_obased_rle_image\
+mln_core_image_mono_obased_rle_image\
+mln_core_image_interpolated\
mln_core_image_lazy_image\
-mln_core_image_bgraph_image\
-mln_core_image_image2d_h\
-mln_core_image_bgraph_psite\
+mln_core_image_t_image\
mln_core_image_hexa_piter\
-mln_core_image_image2d\
-mln_core_image_decorated_image\
-mln_core_image_hexa\
-mln_core_image_essential\
-mln_core_image_mono_obased_rle_encode\
-mln_core_image_graph_image\
-mln_core_image_image1d\
+mln_core_image_value_enc_image\
+mln_core_image_sub_image_if\
+mln_core_image_all\
mln_core_image_mono_rle_image\
-mln_core_image_mono_obased_rle_image\
-mln_core_image_flat_image\
-mln_core_image_graph_elt_window\
+mln_core_image_complex_image\
mln_core_image_cast_image\
-mln_core_image_sparse_encode\
-mln_core_image_tr_mesh\
-mln_core_image_extension_fun\
-mln_core_image_safe\
-mln_core_image_extension_ima\
-mln_core_image_obased_rle_encode\
+mln_core_image_rle_encode\
+mln_core_image_complex_window_piter\
+mln_core_image_tr_image\
+mln_core_image_sub_image\
mln_core_image_rle_image\
-mln_core_image_complex_image\
-mln_core_image_line_graph_image\
mln_core_image_line_graph_elt_window\
-mln_core_image_sub_image_if\
-mln_core_image_sub_image\
mln_core_image_mono_rle_encode\
-mln_core_image_obased_rle_image\
-mln_core_image_value_encode\
+mln_core_image_bgraph_psite\
+mln_core_image_sparse_image\
+mln_core_image_bgraph_image\
mln_core_image_complex_neighborhoods\
-mln_core_image_image3d\
+mln_core_image_graph_window_piter\
+mln_core_image_sparse_encode\
+mln_core_image_safe\
+mln_core_image_extension_fun\
+mln_core_image_image1d\
+mln_core_image_extension_val\
+mln_core_image_image_if\
+mln_core_image_hexa\
+mln_core_image_extended\
+mln_core_image_image2d_h\
+mln_core_image_image2d\
+mln_core_image_ch_piter\
mln_core_image_complex_windows\
-mln_core_dpsites_piter\
-mln_core_window\
-mln_core_def_coordf\
-mln_core_def_all\
-mln_core_def_low_quant_nbits\
-mln_core_def_essential\
-mln_core_def_coord\
-mln_core_pixter3d\
-mln_all\
-mln_estim_all\
-mln_estim_sum\
-mln_estim_min_max\
-mln_estim_essential\
-mln_estim_mean\
-mln_math_sqrt\
-mln_math_round_sat\
-mln_math_sqr\
-mln_math_all\
-mln_math_round\
-mln_math_min\
-mln_math_diff_abs\
-mln_math_essential\
-mln_math_abs\
-mln_math_jacobi\
-mln_math_max\
-mln_math_sign\
-mln_morpho_closing\
-mln_morpho_opening_volume\
-mln_morpho_closing_attribute\
-mln_morpho_minus\
-mln_morpho_complementation\
-mln_morpho_top_hat\
-mln_morpho_skeleton_constrained\
-mln_morpho_laplacian\
-mln_morpho_opening_area_on_vertices\
-mln_morpho_thinning\
-mln_morpho_dilation\
-mln_morpho_all\
-mln_morpho_general\
-mln_morpho_includes\
-mln_morpho_thick_miss\
-mln_morpho_tree_compute_parent\
-mln_morpho_tree_all\
-mln_morpho_tree_data\
-mln_morpho_tree_utils\
-mln_morpho_tree_compute_attribute_image\
-mln_morpho_tree_max\
-mln_morpho_internal_elementary\
-mln_morpho_meyer_wst\
-mln_morpho_elementary_closing\
-mln_morpho_elementary_top_hat\
-mln_morpho_elementary_laplacian\
-mln_morpho_elementary_dilation\
-mln_morpho_elementary_all\
-mln_morpho_elementary_like_ero_set\
-mln_morpho_elementary_gradient_internal\
-mln_morpho_elementary_gradient\
-mln_morpho_elementary_essential\
-mln_morpho_elementary_opening\
-mln_morpho_elementary_erosion\
-mln_morpho_elementary_gradient_external\
-mln_morpho_elementary_like_ero_fun\
-mln_morpho_opening_height\
-mln_morpho_gradient\
-mln_morpho_min\
-mln_morpho_closing_area\
-mln_morpho_essential\
-mln_morpho_line_gradient\
-mln_morpho_opening\
-mln_morpho_erosion\
-mln_morpho_thin_fit\
-mln_morpho_Rd\
-mln_morpho_hit_or_miss\
-mln_morpho_closing_area_on_vertices\
-mln_morpho_closing_height\
-mln_morpho_plus\
-mln_morpho_opening_area\
-mln_morpho_rank_filter\
-mln_morpho_contrast\
-mln_morpho_thickening\
-mln_morpho_opening_attribute\
-mln_morpho_closing_volume\
-mln_trait_concrete\
-mln_trait_promote\
-mln_trait_all\
-mln_trait_site_set_props\
-mln_trait_site_set_print\
-mln_trait_value_\
-mln_trait_image_from_grid\
-mln_trait_ch_value\
-mln_trait_solve_unary\
-mln_trait_site_sets\
-mln_trait_essential\
-mln_trait_value_all\
-mln_trait_value_print\
-mln_trait_value_kind\
-mln_trait_value_nature\
-mln_trait_value_essential\
-mln_trait_value_quant\
-mln_trait_windows\
-mln_trait_window_props\
-mln_trait_window_print\
-mln_trait_image_props\
-mln_trait_image_print\
-mln_trait_images\
-mln_trait_undef\
-mln_trait_op_postdec\
-mln_trait_op_div\
-mln_trait_op_uplus\
-mln_trait_op_minus\
-mln_trait_op_less\
-mln_trait_op_predec\
-mln_trait_op_eq\
-mln_trait_op_all\
-mln_trait_op_leq\
-mln_trait_op_preinc\
-mln_trait_op_and\
-mln_trait_op_greater\
-mln_trait_op_lor\
-mln_trait_op_or\
-mln_trait_op_not\
-mln_trait_op_uminus\
-mln_trait_op_essential\
-mln_trait_op_times\
-mln_trait_op_neq\
-mln_trait_op_ord\
-mln_trait_op_postinc\
-mln_trait_op_xor\
-mln_trait_op_mod\
-mln_trait_op_plus\
-mln_trait_op_decl\
-mln_trait_op_geq\
-mln_trait_solve_binary\
-mln_trait_neighborhood\
-mln_trait_solve\
-mln_draw_box\
-mln_draw_line\
-mln_draw_all\
-mln_draw_essential\
-mln_draw_plot\
-mln_labeling_foreground\
-mln_labeling_all\
-mln_labeling_+old_level\
-mln_labeling_regional_maxima\
-mln_labeling_flat_zones\
+mln_core_image_fi_adaptor\
+mln_core_image_mono_obased_rle_encode\
+mln_core_image_line_graph_image\
+mln_core_image_value_encode\
+mln_core_image_essential\
+mln_core_a_point_of\
+mln_core_var\
+mln_core_essential\
+mln_core_faces_psite\
mln_labeling_blobs\
-mln_labeling_essential\
-mln_labeling_relabel\
-mln_labeling_regional_minima\
mln_labeling_background\
-mln_labeling_compute\
+mln_labeling_relabel\
+mln_labeling_all\
mln_labeling_level\
-mln_binarization_all\
-mln_binarization_includes\
-mln_binarization_essential\
-mln_binarization_binarization\
-mln_binarization_threshold\
-mln_topo_adj_lower_dim_connected_n_face_iter\
-mln_topo_face_iter\
-mln_topo_adj_lower_face_iter\
-mln_topo_complex\
-mln_topo_n_face_iter\
-mln_topo_adj_lower_higher_face_iter\
-mln_topo_centered_iter_adapter\
-mln_topo_all\
-mln_topo_complex_iterators\
-mln_topo_attic_faces_iter\
-mln_topo_internal_complex_set_iterator_base\
-mln_topo_internal_complex_iterator_base\
-mln_topo_internal_complex_relative_iterator_base\
-mln_topo_internal_complex_relative_iterator_sequence\
-mln_topo_face_data\
-mln_topo_adj_m_face_iter\
-mln_topo_algebraic_face\
-mln_topo_algebraic_n_face\
-mln_topo_is_simple_2d\
-mln_topo_n_faces_set\
-mln_topo_essential\
-mln_topo_face\
-mln_topo_static_n_face_iter\
-mln_topo_center_only_iter\
-mln_topo_adj_higher_dim_connected_n_face_iter\
-mln_topo_n_face\
-mln_topo_adj_higher_face_iter\
-mln_canvas_all\
-mln_canvas_morpho_all\
-mln_canvas_morpho_algebraic_union_find\
-mln_canvas_morpho_essential\
-mln_canvas_distance_geodesic\
-mln_canvas_essential\
-mln_canvas_labeling\
-mln_canvas_+old_labeling\
-mln_canvas_chamfer\
-mln_canvas_browsing_directional\
-mln_canvas_browsing_snake_fwd\
-mln_canvas_browsing_snake_generic\
-mln_canvas_browsing_all\
-mln_canvas_browsing_fwd\
-mln_canvas_browsing_backdiagonal2d\
-mln_canvas_browsing_snake_vert\
-mln_canvas_browsing_dir_struct_elt_incr_update\
-mln_canvas_browsing_essential\
-mln_canvas_browsing_diagonal2d\
-mln_canvas_browsing_hyper_directional\
-mln_canvas_distance_front\
-mln_util_line_graph\
-mln_util_lazy_set\
-mln_util_eat\
-mln_util_ignore\
-mln_util_timer\
-mln_util_all\
-mln_util_tracked_ptr\
-mln_util_internal_graph_nbh_iter\
-mln_util_internal_boost_graph_structure\
-mln_util_internal_edge_impl\
-mln_util_internal_graph_base\
-mln_util_internal_vertex_impl\
-mln_util_internal_graph_iter\
-mln_util_internal_graph_nbh_iter_base\
-mln_util_internal_boost_graph_access\
-mln_util_internal_graph_iter_base\
-mln_util_internal_boost_graph_property\
-mln_util_internal_boost_graph\
-mln_util_pix\
-mln_util_greater_point\
-mln_util_edge\
-mln_util_multi_site\
-mln_util_tree_fast_to_image\
-mln_util_graph\
-mln_util_site_pair\
-mln_util_yes\
-mln_util_essential\
-mln_util_tree_to_fast\
-mln_util_ord\
-mln_util_greater_psite\
-mln_util_vertex\
-mln_util_branch_iter\
-mln_util_tree_fast\
-mln_util_dindex\
-mln_util_branch_iter_ind\
-mln_util_tree\
-mln_util_set\
-mln_util_index\
-mln_util_tree_to_image\
-mln_util_max\
-mln_util_ord_pair\
-mln_util_array\
-mln_util_lemmings\
-mln_util_nil\
-mln_test_all\
+mln_labeling_flat_zones\
+mln_labeling_foreground\
+mln_labeling_regional_maxima\
+mln_labeling_compute\
+mln_labeling_regional_minima\
+mln_labeling_essential\
mln_test_predicate\
-mln_test_essential\
+mln_test_all\
mln_test_positive\
-mln_border_get\
-mln_border_equalize\
-mln_border_all\
-mln_border_duplicate\
-mln_border_essential\
-mln_border_find\
-mln_border_adjust\
-mln_border_resize\
-mln_border_fill\
-mln_border_thickness\
-mln_border_mirror\
-mln_accu_histo\
-mln_accu_max_h\
-mln_accu_take\
-mln_accu_center\
-mln_accu_bbox\
-mln_accu_median_alt\
-mln_accu_line\
-mln_accu_all\
-mln_accu_volume\
-mln_accu_min_h\
-mln_accu_land_basic\
-mln_accu_convolve\
-mln_accu_lor_basic\
-mln_accu_sum\
-mln_accu_internal_base\
-mln_accu_min_max\
-mln_accu_rank\
-mln_accu_lor\
-mln_accu_min\
-mln_accu_rank_high_quant\
-mln_accu_transform_directional\
-mln_accu_pair\
-mln_accu_essential\
-mln_accu_median_h\
-mln_accu_transform\
-mln_accu_maj_h\
-mln_accu_p\
-mln_accu_v\
-mln_accu_tuple\
-mln_accu_mean\
-mln_accu_rank_bool\
-mln_accu_compute\
-mln_accu_max\
-mln_accu_land\
-mln_accu_transform_stop\
-mln_accu_count_adjacent_vertices\
-mln_accu_count\
-mln_accu_transform_diagonal\
-mln_accu_transform_snake\
-mln_accu_height\
-mln_accu_nil\
-mln_extension_adjust_duplicate\
-mln_extension_all\
-mln_extension_duplicate\
-mln_extension_essential\
-mln_extension_adjust\
-mln_extension_fill\
-mln_extension_adjust_fill\
-mln_io_pnm_load\
-mln_io_pnm_macros\
-mln_io_pnm_max_component\
-mln_io_pnm_all\
-mln_io_pnm_load_header\
-mln_io_pnm_save\
-mln_io_pnm_save_header\
-mln_io_off_load\
-mln_io_off_all\
-mln_io_off_save\
+mln_test_essential\
+mln_transform_distance_geodesic\
+mln_transform_internal_all\
+mln_transform_internal_distance_functor\
+mln_transform_internal_influence_zone_functor\
+mln_transform_all\
+mln_transform_influence_zone_front\
+mln_transform_distance_front\
+mln_transform_influence_zone_geodesic\
+mln_transform_essential\
+mln_arith_includes\
+mln_arith_plus\
+mln_arith_all\
+mln_arith_times\
+mln_arith_diff_abs\
+mln_arith_minus\
+mln_arith_min\
+mln_arith_revert\
+mln_arith_essential\
+mln_io_pgm_load\
+mln_io_pgm_all\
+mln_io_pgm_save\
+mln_io_ppm_load\
+mln_io_ppm_all\
+mln_io_ppm_save\
+mln_io_pfm_load\
+mln_io_pfm_all\
+mln_io_pfm_save\
mln_io_all\
mln_io_pbm_load\
mln_io_pbm_all\
mln_io_pbm_save\
-mln_io_pfm_load\
-mln_io_pfm_all\
-mln_io_pfm_save\
-mln_io_fits_load\
-mln_io_fits_all\
+mln_io_pnm_max_component\
+mln_io_pnm_load\
+mln_io_pnm_load_header\
+mln_io_pnm_all\
+mln_io_pnm_macros\
+mln_io_pnm_save\
+mln_io_pnm_save_header\
mln_io_txt_all\
mln_io_txt_save\
mln_io_abort\
+mln_io_fits_load\
+mln_io_fits_all\
+mln_io_off_load\
+mln_io_off_all\
+mln_io_off_save\
mln_io_essential\
-mln_io_ppm_load\
-mln_io_ppm_all\
-mln_io_ppm_save\
-mln_io_pgm_load\
-mln_io_pgm_all\
-mln_io_pgm_save\
-mln_arith_minus\
-mln_arith_all\
-mln_arith_includes\
-mln_arith_min\
-mln_arith_diff_abs\
-mln_arith_essential\
-mln_arith_times\
-mln_arith_revert\
-mln_arith_plus\
-mln_convert_to_p_array\
-mln_convert_to\
-mln_convert_to_dpoint\
-mln_convert_all\
-mln_convert_to_upper_window\
-mln_convert_impl_all\
-mln_convert_impl_from_value_to_value\
-mln_convert_impl_from_image_to_site_set\
-mln_convert_essential\
-mln_convert_from_to\
-mln_convert_to_fun\
-mln_convert_to_image\
-mln_convert_to_window\
-mln_convert_to_rgb\
-mln_convert_to_p_set\
-mln_win_backdiag2d\
-mln_win_cube3d\
-mln_win_line\
-mln_win_all\
-mln_win_rectangle2d\
-mln_win_disk2d\
-mln_win_cuboid3d\
-mln_win_diag2d\
-mln_win_shift\
-mln_win_essential\
-mln_win_octagon2d\
-mln_win_sym\
-mln_win_hline2d\
-mln_win_segment1d\
-mln_win_diff\
-mln_win_vline2d\
-mln_win_inter\
-mln_win_multiple_size\
-mln_win_multiple\
-mln_algebra_all\
-mln_algebra_h_mat\
-mln_algebra_essential\
-mln_algebra_h_vec\
-mln_algebra_vec\
-mln_algebra_quat\
-mln_algebra_mat\
-mln_debug_colorize\
+mln_logical_includes\
+mln_logical_and_not\
+mln_logical_xor\
+mln_logical_all\
+mln_logical_not\
+mln_logical_and\
+mln_logical_or\
+mln_logical_essential\
+mln_norm_all\
+mln_norm_l1\
+mln_norm_l2\
+mln_norm_linfty\
+mln_norm_essential\
mln_debug_iota\
-mln_debug_draw_graph\
-mln_debug_format\
mln_debug_all\
-mln_debug_essential\
mln_debug_println_with_border\
-mln_debug_println\
+mln_debug_colorize\
+mln_debug_draw_graph\
mln_debug_put_word\
-mln_value_int_u8\
-mln_value_viter\
-mln_value_glf\
-mln_value_label\
-mln_value_int_u_sat\
-mln_value_float01_8\
-mln_value_all\
-mln_value_rgb\
-mln_value_int_s16\
-mln_value_concept_vectorial\
-mln_value_concept_floating\
-mln_value_concept_all\
-mln_value_concept_data\
-mln_value_concept_built_in\
-mln_value_concept_integer\
-mln_value_concept_essential\
-mln_value_concept_symbolic\
-mln_value_concept_structured\
-mln_value_concept_scalar\
-mln_value_internal_all\
-mln_value_internal_value_like\
-mln_value_internal_gray_f\
-mln_value_internal_integer\
-mln_value_internal_essential\
-mln_value_internal_convert\
-mln_value_internal_gray_\
-mln_value_internal_encoding\
-mln_value_internal_iterable_set\
-mln_value_int_s32\
-mln_value_int_s\
-mln_value_float01_\
-mln_value_label_16\
-mln_value_int_u16\
-mln_value_int_u\
-mln_value_hsi\
-mln_value_essential\
-mln_value_gl16\
-mln_value_label_8\
-mln_value_int_u32\
-mln_value_interval\
-mln_value_builtin_floatings\
-mln_value_builtin_all\
-mln_value_builtin_symbolics\
-mln_value_builtin_promotions\
-mln_value_builtin_essential\
-mln_value_builtin_integers\
-mln_value_builtin_ops\
-mln_value_rgb16\
-mln_value_graylevel_f\
-mln_value_gl8\
-mln_value_super_value\
-mln_value_lut_vec\
-mln_value_float01\
-mln_value_aliases\
-mln_value_proxy\
-mln_value_set\
-mln_value_cast\
-mln_value_rgb8\
-mln_value_stack\
-mln_value_float01_f\
-mln_value_other\
-mln_value_scalar\
-mln_value_equiv\
-mln_value_float01_16\
-mln_value_graylevel\
-mln_value_sign\
-mln_value_ops\
-mln_value_int_s8\
-mln_fun_x2x_all\
-mln_fun_x2x_translation\
-mln_fun_x2x_essential\
-mln_fun_x2x_rotation\
-mln_fun_x2x_composed\
-mln_fun_x2p_all\
-mln_fun_x2p_essential\
-mln_fun_x2p_closest_point\
-mln_fun_v2b_all\
-mln_fun_v2b_essential\
-mln_fun_v2b_threshold\
-mln_fun_v2b_lnot\
-mln_fun_p2v_iota\
-mln_fun_p2v_elifs\
-mln_fun_p2v_all\
-mln_fun_p2v_essential\
-mln_fun_p2v_ternary\
-mln_fun_all\
-mln_fun_internal_array_base\
-mln_fun_internal_selector\
-mln_fun_internal_x2x_linear_impl\
-mln_fun_vv2v_macros\
-mln_fun_vv2v_all\
-mln_fun_vv2v_lor\
-mln_fun_vv2v_min\
-mln_fun_vv2v_diff_abs\
-mln_fun_vv2v_essential\
-mln_fun_vv2v_land_not\
-mln_fun_vv2v_vec\
-mln_fun_vv2v_lxor\
-mln_fun_vv2v_max\
-mln_fun_vv2v_land\
-mln_fun_p2p_mirror\
-mln_fun_v2v_norm\
-mln_fun_v2v_all\
-mln_fun_v2v_inc\
-mln_fun_v2v_essential\
-mln_fun_v2v_abs\
-mln_fun_v2v_linear\
-mln_fun_v2v_convert\
-mln_fun_v2v_rgb_to_hsi\
-mln_fun_v2v_dec\
-mln_fun_v2v_cast\
-mln_fun_v2v_id\
-mln_fun_v2v_enc\
-mln_fun_v2v_saturate\
-mln_fun_essential\
-mln_fun_p2b_all\
-mln_fun_p2b_big_chess\
-mln_fun_p2b_essential\
-mln_fun_p2b_has\
-mln_fun_p2b_chess\
-mln_fun_c\
-mln_fun_i2v_all_to\
-mln_fun_i2v_all\
-mln_fun_i2v_essential\
-mln_fun_i2v_array\
-mln_fun_x2v_all\
-mln_fun_x2v_l1_norm\
-mln_fun_x2v_essential\
-mln_fun_x2v_linear\
-mln_fun_x2v_bilinear\
-mln_fun_x2v_nneighbor\
-mln_fun_cast\
-mln_fun_l2l_all\
-mln_fun_l2l_essential\
-mln_fun_l2l_relabel\
-mln_fun_ops\
-mln_norm_all\
-mln_norm_essential\
-mln_norm_linfty\
-mln_norm_l1\
-mln_norm_l2\
-mln_metal_is\
-mln_metal_is_a\
-mln_metal_array3d\
-mln_metal_if\
-mln_metal_same_coord\
-mln_metal_ands\
-mln_metal_goes_to\
-mln_metal_is_not_ref\
-mln_metal_has_neighborhood\
-mln_metal_equal\
-mln_metal_all\
-mln_metal_unref\
-mln_metal_math_sqrt\
-mln_metal_math_root\
-mln_metal_math_all\
-mln_metal_math_pow\
-mln_metal_math_max\
-mln_metal_unqualif\
-mln_metal_array2d\
-mln_metal_bool\
-mln_metal_is_unqualif\
-mln_metal_not_equal\
-mln_metal_templated_by\
-mln_metal_is_const\
-mln_metal_same_point\
-mln_metal_is_not_a\
-mln_metal_int\
-mln_metal_abort\
-mln_metal_essential\
-mln_metal_ref\
-mln_metal_array1d\
-mln_metal_unconst\
-mln_metal_none\
-mln_metal_is_not_const\
-mln_metal_vec\
-mln_metal_is_not\
-mln_metal_const\
-mln_metal_converts_to\
-mln_metal_fix_return\
-mln_metal_bexpr\
-mln_metal_array\
-mln_metal_ret\
-mln_metal_mat\
-mln_metal_is_ref\
-mln_metal_unptr\
-mln_+__proto___fake_run\
-mln_+__proto___fake_utils\
-mln_+__proto___fake_array\
-mln_level_+memo_fill\
-mln_level_assign\
-mln_level_stretch\
-mln_level_to_enc\
-mln_level_all\
-mln_level_median\
-mln_level_compare\
-mln_level_approx_all\
-mln_level_approx_median\
-mln_level_approx_essential\
-mln_level_paste\
-mln_level_fast_median\
-mln_level_replace\
-mln_level_essential\
-mln_level_transform\
-mln_level_abs\
-mln_level_sort_psites\
-mln_level_memcpy_\
-mln_level_update\
-mln_level_was_median\
-mln_level_fill\
-mln_level_fill_with_image\
-mln_level_convert\
-mln_level_fill_with_value\
-mln_level_naive_all\
-mln_level_naive_median\
-mln_level_naive_essential\
-mln_level_compute\
-mln_level_memset_\
-mln_level_apply\
-mln_level_transform_inplace\
-mln_level_saturate\
-mln_subsampling_all\
+mln_debug_format\
+mln_debug_println\
+mln_debug_essential\
+mln_estim_min_max\
+mln_estim_all\
+mln_estim_sum\
+mln_estim_mean\
+mln_estim_essential\
+mln_set_uni\
+mln_set_inter\
+mln_set_all\
+mln_set_get\
+mln_set_sym_diff\
+mln_set_has\
+mln_set_diff\
+mln_set_compute\
+mln_set_essential\
+mln_border_adjust\
+mln_border_duplicate\
+mln_border_find\
+mln_border_thickness\
+mln_border_all\
+mln_border_mirror\
+mln_border_get\
+mln_border_equalize\
+mln_border_resize\
+mln_border_fill\
+mln_border_essential\
mln_subsampling_gaussian_subsampling\
-mln_subsampling_essential\
+mln_subsampling_all\
mln_subsampling_subsampling\
-mln_logical_all\
-mln_logical_includes\
-mln_logical_and\
-mln_logical_and_not\
-mln_logical_or\
-mln_logical_not\
-mln_logical_essential\
-mln_logical_xor\
-mln_linear_lap\
-mln_linear_all\
-mln_linear_convolve\
-mln_linear_gaussian\
-mln_linear_essential\
-mln_linear_log\
-mln_linear_ch_convolve\
-mln_linear_local_convolve\
-mln_linear_convolve_directional\
-mln_linear_convolve_2x1d\
-mln_linear_sobel_2d\
-mln_display_all\
-mln_display_essential\
-mln_pw_all\
-mln_pw_image\
-mln_pw_cst\
-mln_pw_var\
-mln_pw_essential\
-mln_pw_value\
-mln_geom_size1d\
-mln_geom_size2d\
-mln_geom_bbox\
-mln_geom_nslis\
-mln_geom_ninds\
-mln_geom_all\
-mln_geom_seeds2tiling\
-mln_geom_min_row\
-mln_geom_ncols\
-mln_geom_nrows\
-mln_geom_delta\
-mln_geom_nsites\
-mln_geom_max_col\
-mln_geom_seeds2tiling_roundness\
-mln_geom_min_ind\
-mln_geom_max_sli\
-mln_geom_max_row\
-mln_geom_essential\
-mln_geom_pmin_pmax\
-mln_geom_min_sli\
-mln_geom_resize\
-mln_geom_max_ind\
-mln_geom_chamfer\
-mln_geom_min_col\
-mln_geom_size3d\
-mln_geom_complex_geometry\
-mln_registration_multiscale\
-mln_registration_all\
-mln_registration_internal_rms\
-mln_registration_icp\
-mln_registration_registration\
-mln_registration_essential\
-mln_registration_get_rtransf\
-mln_registration_get_rot\
-mln_literal_white\
-mln_literal_all\
-mln_literal_black\
-mln_literal_grays\
-mln_literal_zero\
-mln_literal_essential\
-mln_literal_origin\
-mln_literal_one\
-mln_literal_colors\
-mln_literal_ops
+mln_subsampling_essential
-mln_trace_quiet_SOURCES = mln_trace_quiet.cc
-mln_trace_resume_SOURCES = mln_trace_resume.cc
+mln_histo_all_SOURCES = mln_histo_all.cc
+mln_histo_data_SOURCES = mln_histo_data.cc
+mln_histo_compute_SOURCES = mln_histo_compute.cc
+mln_histo_essential_SOURCES = mln_histo_essential.cc
+mln_geom_pmin_pmax_SOURCES = mln_geom_pmin_pmax.cc
+mln_geom_max_row_SOURCES = mln_geom_max_row.cc
+mln_geom_chamfer_SOURCES = mln_geom_chamfer.cc
+mln_geom_min_row_SOURCES = mln_geom_min_row.cc
+mln_geom_seeds2tiling_SOURCES = mln_geom_seeds2tiling.cc
+mln_geom_size1d_SOURCES = mln_geom_size1d.cc
+mln_geom_all_SOURCES = mln_geom_all.cc
+mln_geom_size2d_SOURCES = mln_geom_size2d.cc
+mln_geom_max_ind_SOURCES = mln_geom_max_ind.cc
+mln_geom_max_col_SOURCES = mln_geom_max_col.cc
+mln_geom_size3d_SOURCES = mln_geom_size3d.cc
+mln_geom_ninds_SOURCES = mln_geom_ninds.cc
+mln_geom_nslis_SOURCES = mln_geom_nslis.cc
+mln_geom_delta_SOURCES = mln_geom_delta.cc
+mln_geom_resize_SOURCES = mln_geom_resize.cc
+mln_geom_nsites_SOURCES = mln_geom_nsites.cc
+mln_geom_min_col_SOURCES = mln_geom_min_col.cc
+mln_geom_complex_geometry_SOURCES = mln_geom_complex_geometry.cc
+mln_geom_ncols_SOURCES = mln_geom_ncols.cc
+mln_geom_nrows_SOURCES = mln_geom_nrows.cc
+mln_geom_min_ind_SOURCES = mln_geom_min_ind.cc
+mln_geom_bbox_SOURCES = mln_geom_bbox.cc
+mln_geom_seeds2tiling_roundness_SOURCES = mln_geom_seeds2tiling_roundness.cc
+mln_geom_min_sli_SOURCES = mln_geom_min_sli.cc
+mln_geom_essential_SOURCES = mln_geom_essential.cc
+mln_geom_max_sli_SOURCES = mln_geom_max_sli.cc
+mln_draw_box_SOURCES = mln_draw_box.cc
+mln_draw_all_SOURCES = mln_draw_all.cc
+mln_draw_plot_SOURCES = mln_draw_plot.cc
+mln_draw_line_SOURCES = mln_draw_line.cc
+mln_draw_essential_SOURCES = mln_draw_essential.cc
+mln_pw_image_SOURCES = mln_pw_image.cc
+mln_pw_all_SOURCES = mln_pw_all.cc
+mln_pw_value_SOURCES = mln_pw_value.cc
+mln_pw_cst_SOURCES = mln_pw_cst.cc
+mln_pw_var_SOURCES = mln_pw_var.cc
+mln_pw_essential_SOURCES = mln_pw_essential.cc
+mln_literal_zero_SOURCES = mln_literal_zero.cc
+mln_literal_ops_SOURCES = mln_literal_ops.cc
+mln_literal_origin_SOURCES = mln_literal_origin.cc
+mln_literal_grays_SOURCES = mln_literal_grays.cc
+mln_literal_all_SOURCES = mln_literal_all.cc
+mln_literal_colors_SOURCES = mln_literal_colors.cc
+mln_literal_black_SOURCES = mln_literal_black.cc
+mln_literal_one_SOURCES = mln_literal_one.cc
+mln_literal_white_SOURCES = mln_literal_white.cc
+mln_literal_essential_SOURCES = mln_literal_essential.cc
+mln_registration_get_rtransf_SOURCES = mln_registration_get_rtransf.cc
+mln_registration_internal_rms_SOURCES = mln_registration_internal_rms.cc
+mln_registration_get_rot_SOURCES = mln_registration_get_rot.cc
+mln_registration_all_SOURCES = mln_registration_all.cc
+mln_registration_multiscale_SOURCES = mln_registration_multiscale.cc
+mln_registration_registration_SOURCES = mln_registration_registration.cc
+mln_registration_essential_SOURCES = mln_registration_essential.cc
+mln_registration_icp_SOURCES = mln_registration_icp.cc
+mln_util_graph_SOURCES = mln_util_graph.cc
+mln_util_max_SOURCES = mln_util_max.cc
+mln_util_lazy_set_SOURCES = mln_util_lazy_set.cc
+mln_util_set_SOURCES = mln_util_set.cc
+mln_util_tree_to_image_SOURCES = mln_util_tree_to_image.cc
+mln_util_lemmings_SOURCES = mln_util_lemmings.cc
+mln_util_greater_point_SOURCES = mln_util_greater_point.cc
+mln_util_internal_graph_iter_base_SOURCES = mln_util_internal_graph_iter_base.cc
+mln_util_internal_boost_graph_access_SOURCES = mln_util_internal_boost_graph_access.cc
+mln_util_internal_boost_graph_structure_SOURCES = mln_util_internal_boost_graph_structure.cc
+mln_util_internal_graph_iter_SOURCES = mln_util_internal_graph_iter.cc
+mln_util_internal_graph_nbh_iter_SOURCES = mln_util_internal_graph_nbh_iter.cc
+mln_util_internal_vertex_impl_SOURCES = mln_util_internal_vertex_impl.cc
+mln_util_internal_edge_impl_SOURCES = mln_util_internal_edge_impl.cc
+mln_util_internal_graph_base_SOURCES = mln_util_internal_graph_base.cc
+mln_util_internal_boost_graph_SOURCES = mln_util_internal_boost_graph.cc
+mln_util_internal_graph_nbh_iter_base_SOURCES = mln_util_internal_graph_nbh_iter_base.cc
+mln_util_internal_boost_graph_property_SOURCES = mln_util_internal_boost_graph_property.cc
+mln_util_ord_pair_SOURCES = mln_util_ord_pair.cc
+mln_util_edge_SOURCES = mln_util_edge.cc
+mln_util_all_SOURCES = mln_util_all.cc
+mln_util_dindex_SOURCES = mln_util_dindex.cc
+mln_util_tracked_ptr_SOURCES = mln_util_tracked_ptr.cc
+mln_util_ignore_SOURCES = mln_util_ignore.cc
+mln_util_greater_psite_SOURCES = mln_util_greater_psite.cc
+mln_util_timer_SOURCES = mln_util_timer.cc
+mln_util_yes_SOURCES = mln_util_yes.cc
+mln_util_line_graph_SOURCES = mln_util_line_graph.cc
+mln_util_ord_SOURCES = mln_util_ord.cc
+mln_util_tree_fast_to_image_SOURCES = mln_util_tree_fast_to_image.cc
+mln_util_tree_SOURCES = mln_util_tree.cc
+mln_util_index_SOURCES = mln_util_index.cc
+mln_util_multi_site_SOURCES = mln_util_multi_site.cc
+mln_util_branch_iter_SOURCES = mln_util_branch_iter.cc
+mln_util_branch_iter_ind_SOURCES = mln_util_branch_iter_ind.cc
+mln_util_tree_to_fast_SOURCES = mln_util_tree_to_fast.cc
+mln_util_array_SOURCES = mln_util_array.cc
+mln_util_vertex_SOURCES = mln_util_vertex.cc
+mln_util_pix_SOURCES = mln_util_pix.cc
+mln_util_tree_fast_SOURCES = mln_util_tree_fast.cc
+mln_util_site_pair_SOURCES = mln_util_site_pair.cc
+mln_util_nil_SOURCES = mln_util_nil.cc
+mln_util_eat_SOURCES = mln_util_eat.cc
+mln_util_essential_SOURCES = mln_util_essential.cc
+mln_tag_init_SOURCES = mln_tag_init.cc
+mln_tag_skeleton_SOURCES = mln_tag_skeleton.cc
+mln_tag_all_SOURCES = mln_tag_all.cc
+mln_tag_essential_SOURCES = mln_tag_essential.cc
mln_trace_entering_SOURCES = mln_trace_entering.cc
mln_trace_all_SOURCES = mln_trace_all.cc
-mln_trace_stop_SOURCES = mln_trace_stop.cc
-mln_trace_essential_SOURCES = mln_trace_essential.cc
mln_trace_warning_SOURCES = mln_trace_warning.cc
mln_trace_exiting_SOURCES = mln_trace_exiting.cc
-mln_tag_all_SOURCES = mln_tag_all.cc
-mln_tag_essential_SOURCES = mln_tag_essential.cc
-mln_tag_init_SOURCES = mln_tag_init.cc
-mln_tag_skeleton_SOURCES = mln_tag_skeleton.cc
+mln_trace_resume_SOURCES = mln_trace_resume.cc
+mln_trace_quiet_SOURCES = mln_trace_quiet.cc
+mln_trace_stop_SOURCES = mln_trace_stop.cc
+mln_trace_essential_SOURCES = mln_trace_essential.cc
+mln_make_graph_SOURCES = mln_make_graph.cc
+mln_make_double_neighb2d_SOURCES = mln_make_double_neighb2d.cc
+mln_make_dpoint2d_h_SOURCES = mln_make_dpoint2d_h.cc
mln_make_w_window_SOURCES = mln_make_w_window.cc
+mln_make_image_SOURCES = mln_make_image.cc
+mln_make_vec_SOURCES = mln_make_vec.cc
mln_make_all_SOURCES = mln_make_all.cc
+mln_make_dual_neighb_SOURCES = mln_make_dual_neighb.cc
+mln_make_w_window3d_SOURCES = mln_make_w_window3d.cc
+mln_make_mat_SOURCES = mln_make_mat.cc
mln_make_win_chamfer_SOURCES = mln_make_win_chamfer.cc
-mln_make_image_SOURCES = mln_make_image.cc
-mln_make_box2d_h_SOURCES = mln_make_box2d_h.cc
-mln_make_w_window_directional_SOURCES = mln_make_w_window_directional.cc
-mln_make_point2d_h_SOURCES = mln_make_point2d_h.cc
-mln_make_+win_multiple_SOURCES = mln_make_+win_multiple.cc
+mln_make_w_window2d_int_SOURCES = mln_make_w_window2d_int.cc
+mln_make_box1d_SOURCES = mln_make_box1d.cc
mln_make_voronoi_SOURCES = mln_make_voronoi.cc
-mln_make_pix_SOURCES = mln_make_pix.cc
+mln_make_box2d_SOURCES = mln_make_box2d.cc
mln_make_w_window2d_SOURCES = mln_make_w_window2d.cc
+mln_make_box3d_SOURCES = mln_make_box3d.cc
+mln_make_relabelfun_SOURCES = mln_make_relabelfun.cc
+mln_make_pixel_SOURCES = mln_make_pixel.cc
+mln_make_pix_SOURCES = mln_make_pix.cc
+mln_make_box2d_h_SOURCES = mln_make_box2d_h.cc
mln_make_w_window1d_SOURCES = mln_make_w_window1d.cc
-mln_make_graph_SOURCES = mln_make_graph.cc
-mln_make_dpoint2d_h_SOURCES = mln_make_dpoint2d_h.cc
-mln_make_w_window2d_int_SOURCES = mln_make_w_window2d_int.cc
mln_make_image2d_SOURCES = mln_make_image2d.cc
+mln_make_w_window_directional_SOURCES = mln_make_w_window_directional.cc
mln_make_w_window3d_int_SOURCES = mln_make_w_window3d_int.cc
-mln_make_w_window3d_SOURCES = mln_make_w_window3d.cc
mln_make_essential_SOURCES = mln_make_essential.cc
-mln_make_box1d_SOURCES = mln_make_box1d.cc
-mln_make_relabelfun_SOURCES = mln_make_relabelfun.cc
-mln_make_double_neighb2d_SOURCES = mln_make_double_neighb2d.cc
mln_make_w_window1d_int_SOURCES = mln_make_w_window1d_int.cc
-mln_make_dual_neighb_SOURCES = mln_make_dual_neighb.cc
-mln_make_pixel_SOURCES = mln_make_pixel.cc
-mln_make_vec_SOURCES = mln_make_vec.cc
-mln_make_mat_SOURCES = mln_make_mat.cc
-mln_make_box2d_SOURCES = mln_make_box2d.cc
-mln_make_box3d_SOURCES = mln_make_box3d.cc
-mln_histo_all_SOURCES = mln_histo_all.cc
-mln_histo_data_SOURCES = mln_histo_data.cc
-mln_histo_essential_SOURCES = mln_histo_essential.cc
-mln_histo_compute_SOURCES = mln_histo_compute.cc
-mln_essential_2d_SOURCES = mln_essential_2d.cc
+mln_make_point2d_h_SOURCES = mln_make_point2d_h.cc
+mln_display_all_SOURCES = mln_display_all.cc
+mln_display_essential_SOURCES = mln_display_essential.cc
+mln_extension_adjust_SOURCES = mln_extension_adjust.cc
+mln_extension_duplicate_SOURCES = mln_extension_duplicate.cc
+mln_extension_adjust_duplicate_SOURCES = mln_extension_adjust_duplicate.cc
+mln_extension_all_SOURCES = mln_extension_all.cc
+mln_extension_adjust_fill_SOURCES = mln_extension_adjust_fill.cc
+mln_extension_fill_SOURCES = mln_extension_fill.cc
+mln_extension_essential_SOURCES = mln_extension_essential.cc
+mln_fun_p2b_chess_SOURCES = mln_fun_p2b_chess.cc
+mln_fun_p2b_all_SOURCES = mln_fun_p2b_all.cc
+mln_fun_p2b_has_SOURCES = mln_fun_p2b_has.cc
+mln_fun_p2b_big_chess_SOURCES = mln_fun_p2b_big_chess.cc
+mln_fun_p2b_essential_SOURCES = mln_fun_p2b_essential.cc
+mln_fun_p2p_mirror_SOURCES = mln_fun_p2p_mirror.cc
+mln_fun_x2p_closest_point_SOURCES = mln_fun_x2p_closest_point.cc
+mln_fun_x2p_all_SOURCES = mln_fun_x2p_all.cc
+mln_fun_x2p_essential_SOURCES = mln_fun_x2p_essential.cc
+mln_fun_ops_SOURCES = mln_fun_ops.cc
+mln_fun_c_SOURCES = mln_fun_c.cc
+mln_fun_vv2v_max_SOURCES = mln_fun_vv2v_max.cc
+mln_fun_vv2v_lor_SOURCES = mln_fun_vv2v_lor.cc
+mln_fun_vv2v_land_not_SOURCES = mln_fun_vv2v_land_not.cc
+mln_fun_vv2v_vec_SOURCES = mln_fun_vv2v_vec.cc
+mln_fun_vv2v_all_SOURCES = mln_fun_vv2v_all.cc
+mln_fun_vv2v_macros_SOURCES = mln_fun_vv2v_macros.cc
+mln_fun_vv2v_lxor_SOURCES = mln_fun_vv2v_lxor.cc
+mln_fun_vv2v_diff_abs_SOURCES = mln_fun_vv2v_diff_abs.cc
+mln_fun_vv2v_land_SOURCES = mln_fun_vv2v_land.cc
+mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
+mln_fun_vv2v_essential_SOURCES = mln_fun_vv2v_essential.cc
+mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
+mln_fun_internal_x2x_linear_impl_SOURCES = mln_fun_internal_x2x_linear_impl.cc
+mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
+mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
+mln_fun_p2v_iota_SOURCES = mln_fun_p2v_iota.cc
+mln_fun_p2v_elifs_SOURCES = mln_fun_p2v_elifs.cc
+mln_fun_p2v_all_SOURCES = mln_fun_p2v_all.cc
+mln_fun_p2v_essential_SOURCES = mln_fun_p2v_essential.cc
+mln_fun_all_SOURCES = mln_fun_all.cc
+mln_fun_v2b_lnot_SOURCES = mln_fun_v2b_lnot.cc
+mln_fun_v2b_all_SOURCES = mln_fun_v2b_all.cc
+mln_fun_v2b_threshold_SOURCES = mln_fun_v2b_threshold.cc
+mln_fun_v2b_essential_SOURCES = mln_fun_v2b_essential.cc
+mln_fun_v2v_norm_SOURCES = mln_fun_v2v_norm.cc
+mln_fun_v2v_linear_SOURCES = mln_fun_v2v_linear.cc
+mln_fun_v2v_id_SOURCES = mln_fun_v2v_id.cc
+mln_fun_v2v_saturate_SOURCES = mln_fun_v2v_saturate.cc
+mln_fun_v2v_inc_SOURCES = mln_fun_v2v_inc.cc
+mln_fun_v2v_all_SOURCES = mln_fun_v2v_all.cc
+mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.cc
+mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
+mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
+mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
+mln_fun_v2v_enc_SOURCES = mln_fun_v2v_enc.cc
+mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
+mln_fun_v2v_essential_SOURCES = mln_fun_v2v_essential.cc
+mln_fun_cast_SOURCES = mln_fun_cast.cc
+mln_fun_i2v_all_SOURCES = mln_fun_i2v_all.cc
+mln_fun_i2v_array_SOURCES = mln_fun_i2v_array.cc
+mln_fun_i2v_all_to_SOURCES = mln_fun_i2v_all_to.cc
+mln_fun_i2v_essential_SOURCES = mln_fun_i2v_essential.cc
+mln_fun_l2l_relabel_SOURCES = mln_fun_l2l_relabel.cc
+mln_fun_l2l_all_SOURCES = mln_fun_l2l_all.cc
+mln_fun_l2l_essential_SOURCES = mln_fun_l2l_essential.cc
+mln_fun_x2x_composed_SOURCES = mln_fun_x2x_composed.cc
+mln_fun_x2x_all_SOURCES = mln_fun_x2x_all.cc
+mln_fun_x2x_translation_SOURCES = mln_fun_x2x_translation.cc
+mln_fun_x2x_rotation_SOURCES = mln_fun_x2x_rotation.cc
+mln_fun_x2x_essential_SOURCES = mln_fun_x2x_essential.cc
+mln_fun_x2v_linear_SOURCES = mln_fun_x2v_linear.cc
+mln_fun_x2v_bilinear_SOURCES = mln_fun_x2v_bilinear.cc
+mln_fun_x2v_all_SOURCES = mln_fun_x2v_all.cc
+mln_fun_x2v_l1_norm_SOURCES = mln_fun_x2v_l1_norm.cc
+mln_fun_x2v_nneighbor_SOURCES = mln_fun_x2v_nneighbor.cc
+mln_fun_x2v_essential_SOURCES = mln_fun_x2v_essential.cc
+mln_fun_essential_SOURCES = mln_fun_essential.cc
+mln_all_SOURCES = mln_all.cc
+mln_convert_to_p_set_SOURCES = mln_convert_to_p_set.cc
+mln_convert_to_SOURCES = mln_convert_to.cc
+mln_convert_to_upper_window_SOURCES = mln_convert_to_upper_window.cc
+mln_convert_to_image_SOURCES = mln_convert_to_image.cc
+mln_convert_to_fun_SOURCES = mln_convert_to_fun.cc
+mln_convert_all_SOURCES = mln_convert_all.cc
+mln_convert_to_window_SOURCES = mln_convert_to_window.cc
+mln_convert_from_to_SOURCES = mln_convert_from_to.cc
+mln_convert_impl_from_value_to_value_SOURCES = mln_convert_impl_from_value_to_value.cc
+mln_convert_impl_all_SOURCES = mln_convert_impl_all.cc
+mln_convert_impl_from_image_to_site_set_SOURCES = mln_convert_impl_from_image_to_site_set.cc
+mln_convert_to_dpoint_SOURCES = mln_convert_to_dpoint.cc
+mln_convert_to_p_array_SOURCES = mln_convert_to_p_array.cc
+mln_convert_to_rgb_SOURCES = mln_convert_to_rgb.cc
+mln_convert_essential_SOURCES = mln_convert_essential.cc
+mln_value_float01_f_SOURCES = mln_value_float01_f.cc
+mln_value_float01_16_SOURCES = mln_value_float01_16.cc
+mln_value_lut_vec_SOURCES = mln_value_lut_vec.cc
+mln_value_glf_SOURCES = mln_value_glf.cc
+mln_value_other_SOURCES = mln_value_other.cc
+mln_value_graylevel_f_SOURCES = mln_value_graylevel_f.cc
+mln_value_aliases_SOURCES = mln_value_aliases.cc
+mln_value_label_16_SOURCES = mln_value_label_16.cc
+mln_value_ops_SOURCES = mln_value_ops.cc
+mln_value_set_SOURCES = mln_value_set.cc
+mln_value_int_u_sat_SOURCES = mln_value_int_u_sat.cc
+mln_value_float01_8_SOURCES = mln_value_float01_8.cc
+mln_value_int_u8_SOURCES = mln_value_int_u8.cc
+mln_value_equiv_SOURCES = mln_value_equiv.cc
+mln_value_internal_integer_SOURCES = mln_value_internal_integer.cc
+mln_value_internal_gray_f_SOURCES = mln_value_internal_gray_f.cc
+mln_value_internal_all_SOURCES = mln_value_internal_all.cc
+mln_value_internal_value_like_SOURCES = mln_value_internal_value_like.cc
+mln_value_internal_iterable_set_SOURCES = mln_value_internal_iterable_set.cc
+mln_value_internal_encoding_SOURCES = mln_value_internal_encoding.cc
+mln_value_internal_convert_SOURCES = mln_value_internal_convert.cc
+mln_value_internal_gray__SOURCES = mln_value_internal_gray_.cc
+mln_value_internal_essential_SOURCES = mln_value_internal_essential.cc
+mln_value_proxy_SOURCES = mln_value_proxy.cc
+mln_value_viter_SOURCES = mln_value_viter.cc
+mln_value_graylevel_SOURCES = mln_value_graylevel.cc
+mln_value_all_SOURCES = mln_value_all.cc
+mln_value_super_value_SOURCES = mln_value_super_value.cc
+mln_value_builtin_symbolics_SOURCES = mln_value_builtin_symbolics.cc
+mln_value_builtin_ops_SOURCES = mln_value_builtin_ops.cc
+mln_value_builtin_all_SOURCES = mln_value_builtin_all.cc
+mln_value_builtin_promotions_SOURCES = mln_value_builtin_promotions.cc
+mln_value_builtin_integers_SOURCES = mln_value_builtin_integers.cc
+mln_value_builtin_floatings_SOURCES = mln_value_builtin_floatings.cc
+mln_value_builtin_essential_SOURCES = mln_value_builtin_essential.cc
+mln_value_sign_SOURCES = mln_value_sign.cc
+mln_value_hsi_SOURCES = mln_value_hsi.cc
+mln_value_interval_SOURCES = mln_value_interval.cc
+mln_value_gl16_SOURCES = mln_value_gl16.cc
+mln_value_scalar_SOURCES = mln_value_scalar.cc
+mln_value_float01_SOURCES = mln_value_float01.cc
+mln_value_cast_SOURCES = mln_value_cast.cc
+mln_value_int_u_SOURCES = mln_value_int_u.cc
+mln_value_int_s8_SOURCES = mln_value_int_s8.cc
+mln_value_int_s16_SOURCES = mln_value_int_s16.cc
+mln_value_int_u16_SOURCES = mln_value_int_u16.cc
+mln_value_label_SOURCES = mln_value_label.cc
+mln_value_rgb_SOURCES = mln_value_rgb.cc
+mln_value_stack_SOURCES = mln_value_stack.cc
+mln_value_concept_integer_SOURCES = mln_value_concept_integer.cc
+mln_value_concept_structured_SOURCES = mln_value_concept_structured.cc
+mln_value_concept_built_in_SOURCES = mln_value_concept_built_in.cc
+mln_value_concept_all_SOURCES = mln_value_concept_all.cc
+mln_value_concept_scalar_SOURCES = mln_value_concept_scalar.cc
+mln_value_concept_data_SOURCES = mln_value_concept_data.cc
+mln_value_concept_floating_SOURCES = mln_value_concept_floating.cc
+mln_value_concept_symbolic_SOURCES = mln_value_concept_symbolic.cc
+mln_value_concept_vectorial_SOURCES = mln_value_concept_vectorial.cc
+mln_value_concept_essential_SOURCES = mln_value_concept_essential.cc
+mln_value_int_s_SOURCES = mln_value_int_s.cc
+mln_value_rgb8_SOURCES = mln_value_rgb8.cc
+mln_value_int_s32_SOURCES = mln_value_int_s32.cc
+mln_value_float01__SOURCES = mln_value_float01_.cc
+mln_value_rgb16_SOURCES = mln_value_rgb16.cc
+mln_value_int_u32_SOURCES = mln_value_int_u32.cc
+mln_value_gl8_SOURCES = mln_value_gl8.cc
+mln_value_label_8_SOURCES = mln_value_label_8.cc
+mln_value_essential_SOURCES = mln_value_essential.cc
+mln_accu_tuple_SOURCES = mln_accu_tuple.cc
+mln_accu_min_h_SOURCES = mln_accu_min_h.cc
+mln_accu_max_SOURCES = mln_accu_max.cc
+mln_accu_lor_SOURCES = mln_accu_lor.cc
+mln_accu_rank_SOURCES = mln_accu_rank.cc
+mln_accu_transform_stop_SOURCES = mln_accu_transform_stop.cc
+mln_accu_maj_h_SOURCES = mln_accu_maj_h.cc
+mln_accu_min_max_SOURCES = mln_accu_min_max.cc
+mln_accu_internal_base_SOURCES = mln_accu_internal_base.cc
+mln_accu_transform_snake_SOURCES = mln_accu_transform_snake.cc
+mln_accu_rank_high_quant_SOURCES = mln_accu_rank_high_quant.cc
+mln_accu_count_SOURCES = mln_accu_count.cc
+mln_accu_median_h_SOURCES = mln_accu_median_h.cc
+mln_accu_all_SOURCES = mln_accu_all.cc
+mln_accu_land_basic_SOURCES = mln_accu_land_basic.cc
+mln_accu_p_SOURCES = mln_accu_p.cc
+mln_accu_transform_SOURCES = mln_accu_transform.cc
+mln_accu_median_alt_SOURCES = mln_accu_median_alt.cc
+mln_accu_volume_SOURCES = mln_accu_volume.cc
+mln_accu_sum_SOURCES = mln_accu_sum.cc
+mln_accu_height_SOURCES = mln_accu_height.cc
+mln_accu_land_SOURCES = mln_accu_land.cc
+mln_accu_take_SOURCES = mln_accu_take.cc
+mln_accu_histo_SOURCES = mln_accu_histo.cc
+mln_accu_pair_SOURCES = mln_accu_pair.cc
+mln_accu_count_adjacent_vertices_SOURCES = mln_accu_count_adjacent_vertices.cc
+mln_accu_convolve_SOURCES = mln_accu_convolve.cc
+mln_accu_v_SOURCES = mln_accu_v.cc
+mln_accu_rank_bool_SOURCES = mln_accu_rank_bool.cc
+mln_accu_min_SOURCES = mln_accu_min.cc
+mln_accu_transform_directional_SOURCES = mln_accu_transform_directional.cc
+mln_accu_compute_SOURCES = mln_accu_compute.cc
+mln_accu_mean_SOURCES = mln_accu_mean.cc
+mln_accu_lor_basic_SOURCES = mln_accu_lor_basic.cc
+mln_accu_transform_diagonal_SOURCES = mln_accu_transform_diagonal.cc
+mln_accu_nil_SOURCES = mln_accu_nil.cc
+mln_accu_bbox_SOURCES = mln_accu_bbox.cc
+mln_accu_center_SOURCES = mln_accu_center.cc
+mln_accu_line_SOURCES = mln_accu_line.cc
+mln_accu_essential_SOURCES = mln_accu_essential.cc
+mln_accu_max_h_SOURCES = mln_accu_max_h.cc
+mln_level_compare_SOURCES = mln_level_compare.cc
+mln_level_memset__SOURCES = mln_level_memset_.cc
+mln_level_transform_inplace_SOURCES = mln_level_transform_inplace.cc
+mln_level_replace_SOURCES = mln_level_replace.cc
+mln_level_memcpy__SOURCES = mln_level_memcpy_.cc
+mln_level_apply_SOURCES = mln_level_apply.cc
+mln_level_approx_all_SOURCES = mln_level_approx_all.cc
+mln_level_approx_essential_SOURCES = mln_level_approx_essential.cc
+mln_level_approx_median_SOURCES = mln_level_approx_median.cc
+mln_level_saturate_SOURCES = mln_level_saturate.cc
+mln_level_all_SOURCES = mln_level_all.cc
+mln_level_paste_SOURCES = mln_level_paste.cc
+mln_level_fast_median_SOURCES = mln_level_fast_median.cc
+mln_level_abs_SOURCES = mln_level_abs.cc
+mln_level_fill_with_image_SOURCES = mln_level_fill_with_image.cc
+mln_level_transform_SOURCES = mln_level_transform.cc
+mln_level_fill_with_value_SOURCES = mln_level_fill_with_value.cc
+mln_level_stretch_SOURCES = mln_level_stretch.cc
+mln_level_was_median_SOURCES = mln_level_was_median.cc
+mln_level_compute_SOURCES = mln_level_compute.cc
+mln_level_convert_SOURCES = mln_level_convert.cc
+mln_level_to_enc_SOURCES = mln_level_to_enc.cc
+mln_level_naive_all_SOURCES = mln_level_naive_all.cc
+mln_level_naive_essential_SOURCES = mln_level_naive_essential.cc
+mln_level_naive_median_SOURCES = mln_level_naive_median.cc
+mln_level_sort_psites_SOURCES = mln_level_sort_psites.cc
+mln_level_update_SOURCES = mln_level_update.cc
+mln_level_fill_SOURCES = mln_level_fill.cc
+mln_level_essential_SOURCES = mln_level_essential.cc
+mln_level_assign_SOURCES = mln_level_assign.cc
+mln_level_median_SOURCES = mln_level_median.cc
+mln_math_jacobi_SOURCES = mln_math_jacobi.cc
+mln_math_max_SOURCES = mln_math_max.cc
+mln_math_sqr_SOURCES = mln_math_sqr.cc
+mln_math_all_SOURCES = mln_math_all.cc
+mln_math_sign_SOURCES = mln_math_sign.cc
+mln_math_abs_SOURCES = mln_math_abs.cc
+mln_math_diff_abs_SOURCES = mln_math_diff_abs.cc
+mln_math_round_SOURCES = mln_math_round.cc
+mln_math_min_SOURCES = mln_math_min.cc
+mln_math_sqrt_SOURCES = mln_math_sqrt.cc
+mln_math_essential_SOURCES = mln_math_essential.cc
+mln_math_round_sat_SOURCES = mln_math_round_sat.cc
+mln_binarization_includes_SOURCES = mln_binarization_includes.cc
+mln_binarization_all_SOURCES = mln_binarization_all.cc
+mln_binarization_binarization_SOURCES = mln_binarization_binarization.cc
+mln_binarization_threshold_SOURCES = mln_binarization_threshold.cc
+mln_binarization_essential_SOURCES = mln_binarization_essential.cc
+mln_trait_site_set_props_SOURCES = mln_trait_site_set_props.cc
+mln_trait_site_set_print_SOURCES = mln_trait_site_set_print.cc
+mln_trait_promote_SOURCES = mln_trait_promote.cc
+mln_trait_solve_binary_SOURCES = mln_trait_solve_binary.cc
+mln_trait_value__SOURCES = mln_trait_value_.cc
+mln_trait_all_SOURCES = mln_trait_all.cc
+mln_trait_value_all_SOURCES = mln_trait_value_all.cc
+mln_trait_value_nature_SOURCES = mln_trait_value_nature.cc
+mln_trait_value_quant_SOURCES = mln_trait_value_quant.cc
+mln_trait_value_kind_SOURCES = mln_trait_value_kind.cc
+mln_trait_value_print_SOURCES = mln_trait_value_print.cc
+mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
+mln_trait_images_SOURCES = mln_trait_images.cc
+mln_trait_window_props_SOURCES = mln_trait_window_props.cc
+mln_trait_window_print_SOURCES = mln_trait_window_print.cc
+mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
+mln_trait_solve_SOURCES = mln_trait_solve.cc
+mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
+mln_trait_op_postdec_SOURCES = mln_trait_op_postdec.cc
+mln_trait_op_mod_SOURCES = mln_trait_op_mod.cc
+mln_trait_op_lor_SOURCES = mln_trait_op_lor.cc
+mln_trait_op_neq_SOURCES = mln_trait_op_neq.cc
+mln_trait_op_plus_SOURCES = mln_trait_op_plus.cc
+mln_trait_op_xor_SOURCES = mln_trait_op_xor.cc
+mln_trait_op_all_SOURCES = mln_trait_op_all.cc
+mln_trait_op_geq_SOURCES = mln_trait_op_geq.cc
+mln_trait_op_uminus_SOURCES = mln_trait_op_uminus.cc
+mln_trait_op_not_SOURCES = mln_trait_op_not.cc
+mln_trait_op_times_SOURCES = mln_trait_op_times.cc
+mln_trait_op_less_SOURCES = mln_trait_op_less.cc
+mln_trait_op_decl_SOURCES = mln_trait_op_decl.cc
+mln_trait_op_ord_SOURCES = mln_trait_op_ord.cc
+mln_trait_op_and_SOURCES = mln_trait_op_and.cc
+mln_trait_op_or_SOURCES = mln_trait_op_or.cc
+mln_trait_op_predec_SOURCES = mln_trait_op_predec.cc
+mln_trait_op_minus_SOURCES = mln_trait_op_minus.cc
+mln_trait_op_div_SOURCES = mln_trait_op_div.cc
+mln_trait_op_leq_SOURCES = mln_trait_op_leq.cc
+mln_trait_op_preinc_SOURCES = mln_trait_op_preinc.cc
+mln_trait_op_greater_SOURCES = mln_trait_op_greater.cc
+mln_trait_op_postinc_SOURCES = mln_trait_op_postinc.cc
+mln_trait_op_uplus_SOURCES = mln_trait_op_uplus.cc
+mln_trait_op_essential_SOURCES = mln_trait_op_essential.cc
+mln_trait_op_eq_SOURCES = mln_trait_op_eq.cc
+mln_trait_concrete_SOURCES = mln_trait_concrete.cc
+mln_trait_windows_SOURCES = mln_trait_windows.cc
+mln_trait_site_sets_SOURCES = mln_trait_site_sets.cc
+mln_trait_image_from_grid_SOURCES = mln_trait_image_from_grid.cc
+mln_trait_undef_SOURCES = mln_trait_undef.cc
+mln_trait_image_props_SOURCES = mln_trait_image_props.cc
+mln_trait_image_print_SOURCES = mln_trait_image_print.cc
+mln_trait_neighborhood_SOURCES = mln_trait_neighborhood.cc
+mln_trait_essential_SOURCES = mln_trait_essential.cc
+mln_canvas_labeling_SOURCES = mln_canvas_labeling.cc
+mln_canvas_browsing_hyper_directional_SOURCES = mln_canvas_browsing_hyper_directional.cc
+mln_canvas_browsing_snake_generic_SOURCES = mln_canvas_browsing_snake_generic.cc
+mln_canvas_browsing_backdiagonal2d_SOURCES = mln_canvas_browsing_backdiagonal2d.cc
+mln_canvas_browsing_snake_vert_SOURCES = mln_canvas_browsing_snake_vert.cc
+mln_canvas_browsing_snake_fwd_SOURCES = mln_canvas_browsing_snake_fwd.cc
+mln_canvas_browsing_all_SOURCES = mln_canvas_browsing_all.cc
+mln_canvas_browsing_diagonal2d_SOURCES = mln_canvas_browsing_diagonal2d.cc
+mln_canvas_browsing_fwd_SOURCES = mln_canvas_browsing_fwd.cc
+mln_canvas_browsing_dir_struct_elt_incr_update_SOURCES = mln_canvas_browsing_dir_struct_elt_incr_update.cc
+mln_canvas_browsing_directional_SOURCES = mln_canvas_browsing_directional.cc
+mln_canvas_browsing_essential_SOURCES = mln_canvas_browsing_essential.cc
+mln_canvas_chamfer_SOURCES = mln_canvas_chamfer.cc
+mln_canvas_distance_geodesic_SOURCES = mln_canvas_distance_geodesic.cc
+mln_canvas_all_SOURCES = mln_canvas_all.cc
+mln_canvas_distance_front_SOURCES = mln_canvas_distance_front.cc
+mln_canvas_morpho_all_SOURCES = mln_canvas_morpho_all.cc
+mln_canvas_morpho_algebraic_union_find_SOURCES = mln_canvas_morpho_algebraic_union_find.cc
+mln_canvas_morpho_essential_SOURCES = mln_canvas_morpho_essential.cc
+mln_canvas_essential_SOURCES = mln_canvas_essential.cc
+mln_metal_is_const_SOURCES = mln_metal_is_const.cc
+mln_metal_none_SOURCES = mln_metal_none.cc
+mln_metal_equal_SOURCES = mln_metal_equal.cc
+mln_metal_unptr_SOURCES = mln_metal_unptr.cc
+mln_metal_not_equal_SOURCES = mln_metal_not_equal.cc
+mln_metal_is_ref_SOURCES = mln_metal_is_ref.cc
+mln_metal_ret_SOURCES = mln_metal_ret.cc
+mln_metal_unqualif_SOURCES = mln_metal_unqualif.cc
+mln_metal_is_not_SOURCES = mln_metal_is_not.cc
+mln_metal_vec_SOURCES = mln_metal_vec.cc
+mln_metal_is_SOURCES = mln_metal_is.cc
+mln_metal_bool_SOURCES = mln_metal_bool.cc
+mln_metal_all_SOURCES = mln_metal_all.cc
+mln_metal_math_pow_SOURCES = mln_metal_math_pow.cc
+mln_metal_math_max_SOURCES = mln_metal_math_max.cc
+mln_metal_math_all_SOURCES = mln_metal_math_all.cc
+mln_metal_math_root_SOURCES = mln_metal_math_root.cc
+mln_metal_math_sqrt_SOURCES = mln_metal_math_sqrt.cc
+mln_metal_mat_SOURCES = mln_metal_mat.cc
+mln_metal_is_not_const_SOURCES = mln_metal_is_not_const.cc
+mln_metal_fix_return_SOURCES = mln_metal_fix_return.cc
+mln_metal_ands_SOURCES = mln_metal_ands.cc
+mln_metal_const_SOURCES = mln_metal_const.cc
+mln_metal_is_unqualif_SOURCES = mln_metal_is_unqualif.cc
+mln_metal_unconst_SOURCES = mln_metal_unconst.cc
+mln_metal_bexpr_SOURCES = mln_metal_bexpr.cc
+mln_metal_array2d_SOURCES = mln_metal_array2d.cc
+mln_metal_is_not_a_SOURCES = mln_metal_is_not_a.cc
+mln_metal_is_a_SOURCES = mln_metal_is_a.cc
+mln_metal_array1d_SOURCES = mln_metal_array1d.cc
+mln_metal_if_SOURCES = mln_metal_if.cc
+mln_metal_unref_SOURCES = mln_metal_unref.cc
+mln_metal_array_SOURCES = mln_metal_array.cc
+mln_metal_ref_SOURCES = mln_metal_ref.cc
+mln_metal_same_point_SOURCES = mln_metal_same_point.cc
+mln_metal_int_SOURCES = mln_metal_int.cc
+mln_metal_abort_SOURCES = mln_metal_abort.cc
+mln_metal_same_coord_SOURCES = mln_metal_same_coord.cc
+mln_metal_templated_by_SOURCES = mln_metal_templated_by.cc
+mln_metal_has_neighborhood_SOURCES = mln_metal_has_neighborhood.cc
+mln_metal_goes_to_SOURCES = mln_metal_goes_to.cc
+mln_metal_is_not_ref_SOURCES = mln_metal_is_not_ref.cc
+mln_metal_converts_to_SOURCES = mln_metal_converts_to.cc
+mln_metal_essential_SOURCES = mln_metal_essential.cc
+mln_metal_array3d_SOURCES = mln_metal_array3d.cc
+mln_algebra_vec_SOURCES = mln_algebra_vec.cc
+mln_algebra_all_SOURCES = mln_algebra_all.cc
+mln_algebra_h_vec_SOURCES = mln_algebra_h_vec.cc
+mln_algebra_mat_SOURCES = mln_algebra_mat.cc
+mln_algebra_h_mat_SOURCES = mln_algebra_h_mat.cc
+mln_algebra_quat_SOURCES = mln_algebra_quat.cc
+mln_algebra_essential_SOURCES = mln_algebra_essential.cc
+mln_linear_convolve_2x1d_SOURCES = mln_linear_convolve_2x1d.cc
+mln_linear_all_SOURCES = mln_linear_all.cc
+mln_linear_ch_convolve_SOURCES = mln_linear_ch_convolve.cc
+mln_linear_gaussian_SOURCES = mln_linear_gaussian.cc
+mln_linear_convolve_SOURCES = mln_linear_convolve.cc
+mln_linear_sobel_2d_SOURCES = mln_linear_sobel_2d.cc
+mln_linear_local_convolve_SOURCES = mln_linear_local_convolve.cc
+mln_linear_lap_SOURCES = mln_linear_lap.cc
+mln_linear_convolve_directional_SOURCES = mln_linear_convolve_directional.cc
+mln_linear_log_SOURCES = mln_linear_log.cc
+mln_linear_essential_SOURCES = mln_linear_essential.cc
+mln_morpho_thinning_SOURCES = mln_morpho_thinning.cc
+mln_morpho_meyer_wst_SOURCES = mln_morpho_meyer_wst.cc
+mln_morpho_opening_SOURCES = mln_morpho_opening.cc
+mln_morpho_includes_SOURCES = mln_morpho_includes.cc
+mln_morpho_elementary_opening_SOURCES = mln_morpho_elementary_opening.cc
+mln_morpho_elementary_gradient_internal_SOURCES = mln_morpho_elementary_gradient_internal.cc
+mln_morpho_elementary_dilation_SOURCES = mln_morpho_elementary_dilation.cc
+mln_morpho_elementary_laplacian_SOURCES = mln_morpho_elementary_laplacian.cc
+mln_morpho_elementary_all_SOURCES = mln_morpho_elementary_all.cc
+mln_morpho_elementary_gradient_external_SOURCES = mln_morpho_elementary_gradient_external.cc
+mln_morpho_elementary_like_ero_fun_SOURCES = mln_morpho_elementary_like_ero_fun.cc
+mln_morpho_elementary_gradient_SOURCES = mln_morpho_elementary_gradient.cc
+mln_morpho_elementary_like_ero_set_SOURCES = mln_morpho_elementary_like_ero_set.cc
+mln_morpho_elementary_closing_SOURCES = mln_morpho_elementary_closing.cc
+mln_morpho_elementary_top_hat_SOURCES = mln_morpho_elementary_top_hat.cc
+mln_morpho_elementary_erosion_SOURCES = mln_morpho_elementary_erosion.cc
+mln_morpho_elementary_essential_SOURCES = mln_morpho_elementary_essential.cc
+mln_morpho_thin_fit_SOURCES = mln_morpho_thin_fit.cc
+mln_morpho_skeleton_constrained_SOURCES = mln_morpho_skeleton_constrained.cc
+mln_morpho_complementation_SOURCES = mln_morpho_complementation.cc
+mln_morpho_line_gradient_SOURCES = mln_morpho_line_gradient.cc
+mln_morpho_hit_or_miss_SOURCES = mln_morpho_hit_or_miss.cc
+mln_morpho_closing_height_SOURCES = mln_morpho_closing_height.cc
+mln_morpho_plus_SOURCES = mln_morpho_plus.cc
+mln_morpho_general_SOURCES = mln_morpho_general.cc
+mln_morpho_internal_elementary_SOURCES = mln_morpho_internal_elementary.cc
+mln_morpho_contrast_SOURCES = mln_morpho_contrast.cc
+mln_morpho_opening_area_SOURCES = mln_morpho_opening_area.cc
+mln_morpho_opening_height_SOURCES = mln_morpho_opening_height.cc
+mln_morpho_thickening_SOURCES = mln_morpho_thickening.cc
+mln_morpho_dilation_SOURCES = mln_morpho_dilation.cc
+mln_morpho_laplacian_SOURCES = mln_morpho_laplacian.cc
+mln_morpho_all_SOURCES = mln_morpho_all.cc
+mln_morpho_opening_attribute_SOURCES = mln_morpho_opening_attribute.cc
+mln_morpho_opening_volume_SOURCES = mln_morpho_opening_volume.cc
+mln_morpho_closing_area_on_vertices_SOURCES = mln_morpho_closing_area_on_vertices.cc
+mln_morpho_closing_volume_SOURCES = mln_morpho_closing_volume.cc
+mln_morpho_minus_SOURCES = mln_morpho_minus.cc
+mln_morpho_gradient_SOURCES = mln_morpho_gradient.cc
+mln_morpho_tree_max_SOURCES = mln_morpho_tree_max.cc
+mln_morpho_tree_compute_parent_SOURCES = mln_morpho_tree_compute_parent.cc
+mln_morpho_tree_all_SOURCES = mln_morpho_tree_all.cc
+mln_morpho_tree_utils_SOURCES = mln_morpho_tree_utils.cc
+mln_morpho_tree_data_SOURCES = mln_morpho_tree_data.cc
+mln_morpho_tree_compute_attribute_image_SOURCES = mln_morpho_tree_compute_attribute_image.cc
+mln_morpho_opening_area_on_vertices_SOURCES = mln_morpho_opening_area_on_vertices.cc
+mln_morpho_min_SOURCES = mln_morpho_min.cc
+mln_morpho_closing_SOURCES = mln_morpho_closing.cc
+mln_morpho_top_hat_SOURCES = mln_morpho_top_hat.cc
+mln_morpho_erosion_SOURCES = mln_morpho_erosion.cc
+mln_morpho_Rd_SOURCES = mln_morpho_Rd.cc
+mln_morpho_closing_area_SOURCES = mln_morpho_closing_area.cc
+mln_morpho_thick_miss_SOURCES = mln_morpho_thick_miss.cc
+mln_morpho_closing_attribute_SOURCES = mln_morpho_closing_attribute.cc
+mln_morpho_rank_filter_SOURCES = mln_morpho_rank_filter.cc
+mln_morpho_essential_SOURCES = mln_morpho_essential.cc
+mln_topo_n_face_iter_SOURCES = mln_topo_n_face_iter.cc
+mln_topo_face_iter_SOURCES = mln_topo_face_iter.cc
+mln_topo_is_simple_2d_SOURCES = mln_topo_is_simple_2d.cc
+mln_topo_centered_iter_adapter_SOURCES = mln_topo_centered_iter_adapter.cc
+mln_topo_internal_complex_set_iterator_base_SOURCES = mln_topo_internal_complex_set_iterator_base.cc
+mln_topo_internal_complex_iterator_base_SOURCES = mln_topo_internal_complex_iterator_base.cc
+mln_topo_internal_complex_relative_iterator_base_SOURCES = mln_topo_internal_complex_relative_iterator_base.cc
+mln_topo_internal_complex_relative_iterator_sequence_SOURCES = mln_topo_internal_complex_relative_iterator_sequence.cc
+mln_topo_algebraic_n_face_SOURCES = mln_topo_algebraic_n_face.cc
+mln_topo_attic_faces_iter_SOURCES = mln_topo_attic_faces_iter.cc
+mln_topo_adj_lower_dim_connected_n_face_iter_SOURCES = mln_topo_adj_lower_dim_connected_n_face_iter.cc
+mln_topo_n_face_SOURCES = mln_topo_n_face.cc
+mln_topo_adj_lower_higher_face_iter_SOURCES = mln_topo_adj_lower_higher_face_iter.cc
+mln_topo_all_SOURCES = mln_topo_all.cc
+mln_topo_face_data_SOURCES = mln_topo_face_data.cc
+mln_topo_static_n_face_iter_SOURCES = mln_topo_static_n_face_iter.cc
+mln_topo_face_SOURCES = mln_topo_face.cc
+mln_topo_adj_m_face_iter_SOURCES = mln_topo_adj_m_face_iter.cc
+mln_topo_complex_SOURCES = mln_topo_complex.cc
+mln_topo_adj_higher_face_iter_SOURCES = mln_topo_adj_higher_face_iter.cc
+mln_topo_adj_lower_face_iter_SOURCES = mln_topo_adj_lower_face_iter.cc
+mln_topo_complex_iterators_SOURCES = mln_topo_complex_iterators.cc
+mln_topo_center_only_iter_SOURCES = mln_topo_center_only_iter.cc
+mln_topo_adj_higher_dim_connected_n_face_iter_SOURCES = mln_topo_adj_higher_dim_connected_n_face_iter.cc
+mln_topo_algebraic_face_SOURCES = mln_topo_algebraic_face.cc
+mln_topo_n_faces_set_SOURCES = mln_topo_n_faces_set.cc
+mln_topo_essential_SOURCES = mln_topo_essential.cc
+mln_essential_1d_SOURCES = mln_essential_1d.cc
mln_essential_routine_SOURCES = mln_essential_routine.cc
mln_essential_3d_SOURCES = mln_essential_3d.cc
-mln_essential_1d_SOURCES = mln_essential_1d.cc
-mln_set_get_SOURCES = mln_set_get.cc
-mln_set_uni_SOURCES = mln_set_uni.cc
-mln_set_all_SOURCES = mln_set_all.cc
-mln_set_sym_diff_SOURCES = mln_set_sym_diff.cc
-mln_set_essential_SOURCES = mln_set_essential.cc
-mln_set_diff_SOURCES = mln_set_diff.cc
-mln_set_compute_SOURCES = mln_set_compute.cc
-mln_set_has_SOURCES = mln_set_has.cc
-mln_set_inter_SOURCES = mln_set_inter.cc
-mln_transform_all_SOURCES = mln_transform_all.cc
-mln_transform_internal_influence_zone_functor_SOURCES = mln_transform_internal_influence_zone_functor.cc
-mln_transform_internal_all_SOURCES = mln_transform_internal_all.cc
-mln_transform_internal_distance_functor_SOURCES = mln_transform_internal_distance_functor.cc
-mln_transform_distance_geodesic_SOURCES = mln_transform_distance_geodesic.cc
-mln_transform_+old_distance_SOURCES = mln_transform_+old_distance.cc
-mln_transform_essential_SOURCES = mln_transform_essential.cc
-mln_transform_influence_zone_geodesic_SOURCES = mln_transform_influence_zone_geodesic.cc
-mln_transform_distance_front_SOURCES = mln_transform_distance_front.cc
-mln_transform_influence_zone_front_SOURCES = mln_transform_influence_zone_front.cc
-mln_core_alias_neighb2d_SOURCES = mln_core_alias_neighb2d.cc
-mln_core_alias_point3df_SOURCES = mln_core_alias_point3df.cc
-mln_core_alias_w_window3d_float_SOURCES = mln_core_alias_w_window3d_float.cc
-mln_core_alias_point2d_SOURCES = mln_core_alias_point2d.cc
-mln_core_alias_w_window1d_float_SOURCES = mln_core_alias_w_window1d_float.cc
-mln_core_alias_box2d_h_SOURCES = mln_core_alias_box2d_h.cc
-mln_core_alias_point2d_h_SOURCES = mln_core_alias_point2d_h.cc
-mln_core_alias_neighb1d_SOURCES = mln_core_alias_neighb1d.cc
-mln_core_alias_p_run2d_SOURCES = mln_core_alias_p_run2d.cc
-mln_core_alias_window2d_SOURCES = mln_core_alias_window2d.cc
-mln_core_alias_window3d_SOURCES = mln_core_alias_window3d.cc
-mln_core_alias_dpoint2d_h_SOURCES = mln_core_alias_dpoint2d_h.cc
-mln_core_alias_p_runs2d_SOURCES = mln_core_alias_p_runs2d.cc
-mln_core_alias_w_window2d_int_SOURCES = mln_core_alias_w_window2d_int.cc
-mln_core_alias_w_window3d_int_SOURCES = mln_core_alias_w_window3d_int.cc
-mln_core_alias_box1d_SOURCES = mln_core_alias_box1d.cc
-mln_core_alias_w_window2d_float_SOURCES = mln_core_alias_w_window2d_float.cc
-mln_core_alias_w_window1d_int_SOURCES = mln_core_alias_w_window1d_int.cc
-mln_core_alias_dpoint1d_SOURCES = mln_core_alias_dpoint1d.cc
-mln_core_alias_point1d_SOURCES = mln_core_alias_point1d.cc
-mln_core_alias_complex_image_SOURCES = mln_core_alias_complex_image.cc
-mln_core_alias_window1d_SOURCES = mln_core_alias_window1d.cc
-mln_core_alias_dpoint2d_SOURCES = mln_core_alias_dpoint2d.cc
-mln_core_alias_neighb3d_SOURCES = mln_core_alias_neighb3d.cc
-mln_core_alias_point3d_SOURCES = mln_core_alias_point3d.cc
-mln_core_alias_dpoint3d_SOURCES = mln_core_alias_dpoint3d.cc
-mln_core_alias_complex_geometry_SOURCES = mln_core_alias_complex_geometry.cc
-mln_core_alias_box2d_SOURCES = mln_core_alias_box2d.cc
-mln_core_alias_box3d_SOURCES = mln_core_alias_box3d.cc
-mln_core_clock_neighb2d_SOURCES = mln_core_clock_neighb2d.cc
-mln_core_macros_SOURCES = mln_core_macros.cc
-mln_core_w_window_SOURCES = mln_core_w_window.cc
-mln_core_all_SOURCES = mln_core_all.cc
-mln_core_category_SOURCES = mln_core_category.cc
-mln_core_faces_psite_SOURCES = mln_core_faces_psite.cc
-mln_core_trait_all_SOURCES = mln_core_trait_all.cc
-mln_core_trait_pixter_SOURCES = mln_core_trait_pixter.cc
-mln_core_trait_op_mult_SOURCES = mln_core_trait_op_mult.cc
-mln_core_trait_essential_SOURCES = mln_core_trait_essential.cc
-mln_core_trait_qlf_value_SOURCES = mln_core_trait_qlf_value.cc
+mln_essential_2d_SOURCES = mln_essential_2d.cc
+mln_win_inter_SOURCES = mln_win_inter.cc
+mln_win_backdiag2d_SOURCES = mln_win_backdiag2d.cc
+mln_win_segment1d_SOURCES = mln_win_segment1d.cc
+mln_win_cuboid3d_SOURCES = mln_win_cuboid3d.cc
+mln_win_vline2d_SOURCES = mln_win_vline2d.cc
+mln_win_octagon2d_SOURCES = mln_win_octagon2d.cc
+mln_win_all_SOURCES = mln_win_all.cc
+mln_win_multiple_size_SOURCES = mln_win_multiple_size.cc
+mln_win_cube3d_SOURCES = mln_win_cube3d.cc
+mln_win_shift_SOURCES = mln_win_shift.cc
+mln_win_sym_SOURCES = mln_win_sym.cc
+mln_win_diff_SOURCES = mln_win_diff.cc
+mln_win_multiple_SOURCES = mln_win_multiple.cc
+mln_win_diag2d_SOURCES = mln_win_diag2d.cc
+mln_win_disk2d_SOURCES = mln_win_disk2d.cc
+mln_win_rectangle2d_SOURCES = mln_win_rectangle2d.cc
+mln_win_hline2d_SOURCES = mln_win_hline2d.cc
+mln_win_line_SOURCES = mln_win_line.cc
+mln_win_essential_SOURCES = mln_win_essential.cc
+mln_core_clock_neighb_SOURCES = mln_core_clock_neighb.cc
+mln_core_pixter2d_SOURCES = mln_core_pixter2d.cc
+mln_core_def_low_quant_nbits_SOURCES = mln_core_def_low_quant_nbits.cc
+mln_core_def_all_SOURCES = mln_core_def_all.cc
+mln_core_def_coordf_SOURCES = mln_core_def_coordf.cc
+mln_core_def_coord_SOURCES = mln_core_def_coord.cc
+mln_core_def_essential_SOURCES = mln_core_def_essential.cc
+mln_core_site_set_box_SOURCES = mln_core_site_set_box.cc
+mln_core_site_set_p_vertices_SOURCES = mln_core_site_set_p_vertices.cc
+mln_core_site_set_p_vaccess_SOURCES = mln_core_site_set_p_vaccess.cc
+mln_core_site_set_p_if_piter_SOURCES = mln_core_site_set_p_if_piter.cc
+mln_core_site_set_p_run_piter_SOURCES = mln_core_site_set_p_run_piter.cc
+mln_core_site_set_p_key_SOURCES = mln_core_site_set_p_key.cc
+mln_core_site_set_p_double_SOURCES = mln_core_site_set_p_double.cc
+mln_core_site_set_p_complex_piter_SOURCES = mln_core_site_set_p_complex_piter.cc
+mln_core_site_set_p_complex_SOURCES = mln_core_site_set_p_complex.cc
+mln_core_site_set_p_image_SOURCES = mln_core_site_set_p_image.cc
+mln_core_site_set_attic_p_complex_faces_piter_SOURCES = mln_core_site_set_attic_p_complex_faces_piter.cc
+mln_core_site_set_attic_p_faces_piter_SOURCES = mln_core_site_set_attic_p_faces_piter.cc
+mln_core_site_set_p_priority_SOURCES = mln_core_site_set_p_priority.cc
+mln_core_site_set_p_set_of_SOURCES = mln_core_site_set_p_set_of.cc
+mln_core_site_set_all_SOURCES = mln_core_site_set_all.cc
+mln_core_site_set_p_edges_SOURCES = mln_core_site_set_p_edges.cc
+mln_core_site_set_box_piter_SOURCES = mln_core_site_set_box_piter.cc
+mln_core_site_set_p_faces_SOURCES = mln_core_site_set_p_faces.cc
+mln_core_site_set_p_set_SOURCES = mln_core_site_set_p_set.cc
+mln_core_site_set_p_queue_SOURCES = mln_core_site_set_p_queue.cc
mln_core_site_set_p_if_SOURCES = mln_core_site_set_p_if.cc
-mln_core_site_set_complex_psite_SOURCES = mln_core_site_set_complex_psite.cc
+mln_core_site_set_operators_SOURCES = mln_core_site_set_operators.cc
mln_core_site_set_p_mutable_array_of_SOURCES = mln_core_site_set_p_mutable_array_of.cc
-mln_core_site_set_p_complex_piter_SOURCES = mln_core_site_set_p_complex_piter.cc
-mln_core_site_set_box_SOURCES = mln_core_site_set_box.cc
mln_core_site_set_p_edges_psite_SOURCES = mln_core_site_set_p_edges_psite.cc
-mln_core_site_set_all_SOURCES = mln_core_site_set_all.cc
+mln_core_site_set_complex_psite_SOURCES = mln_core_site_set_complex_psite.cc
+mln_core_site_set_p_run_SOURCES = mln_core_site_set_p_run.cc
+mln_core_site_set_p_n_faces_piter_SOURCES = mln_core_site_set_p_n_faces_piter.cc
+mln_core_site_set_p_centered_SOURCES = mln_core_site_set_p_centered.cc
+mln_core_site_set_p_bgraph_SOURCES = mln_core_site_set_p_bgraph.cc
mln_core_site_set_p_bgraph_piter_SOURCES = mln_core_site_set_p_bgraph_piter.cc
mln_core_site_set_p_array_SOURCES = mln_core_site_set_p_array.cc
mln_core_site_set_p_vertices_psite_SOURCES = mln_core_site_set_p_vertices_psite.cc
-mln_core_site_set_box_piter_SOURCES = mln_core_site_set_box_piter.cc
-mln_core_site_set_attic_p_faces_piter_SOURCES = mln_core_site_set_attic_p_faces_piter.cc
-mln_core_site_set_attic_p_complex_faces_piter_SOURCES = mln_core_site_set_attic_p_complex_faces_piter.cc
-mln_core_site_set_p_complex_SOURCES = mln_core_site_set_p_complex.cc
-mln_core_site_set_p_image_SOURCES = mln_core_site_set_p_image.cc
-mln_core_site_set_p_edges_SOURCES = mln_core_site_set_p_edges.cc
mln_core_site_set_p_line2d_SOURCES = mln_core_site_set_p_line2d.cc
-mln_core_site_set_p_vertices_SOURCES = mln_core_site_set_p_vertices.cc
-mln_core_site_set_p_double_SOURCES = mln_core_site_set_p_double.cc
-mln_core_site_set_p_graph_piter_SOURCES = mln_core_site_set_p_graph_piter.cc
mln_core_site_set_p_queue_fast_SOURCES = mln_core_site_set_p_queue_fast.cc
-mln_core_site_set_p_priority_SOURCES = mln_core_site_set_p_priority.cc
-mln_core_site_set_p_centered_SOURCES = mln_core_site_set_p_centered.cc
+mln_core_site_set_p_graph_piter_SOURCES = mln_core_site_set_p_graph_piter.cc
mln_core_site_set_essential_SOURCES = mln_core_site_set_essential.cc
-mln_core_site_set_p_faces_SOURCES = mln_core_site_set_p_faces.cc
-mln_core_site_set_p_bgraph_SOURCES = mln_core_site_set_p_bgraph.cc
-mln_core_site_set_p_run_piter_SOURCES = mln_core_site_set_p_run_piter.cc
-mln_core_site_set_p_run_SOURCES = mln_core_site_set_p_run.cc
-mln_core_site_set_p_n_faces_piter_SOURCES = mln_core_site_set_p_n_faces_piter.cc
-mln_core_site_set_p_if_piter_SOURCES = mln_core_site_set_p_if_piter.cc
-mln_core_site_set_p_set_SOURCES = mln_core_site_set_p_set.cc
-mln_core_site_set_p_vaccess_SOURCES = mln_core_site_set_p_vaccess.cc
-mln_core_site_set_p_queue_SOURCES = mln_core_site_set_p_queue.cc
-mln_core_site_set_p_set_of_SOURCES = mln_core_site_set_p_set_of.cc
-mln_core_site_set_operators_SOURCES = mln_core_site_set_operators.cc
-mln_core_site_set_p_key_SOURCES = mln_core_site_set_p_key.cc
+mln_core_dpsites_piter_SOURCES = mln_core_dpsites_piter.cc
+mln_core_w_window_SOURCES = mln_core_w_window.cc
+mln_core_grids_SOURCES = mln_core_grids.cc
+mln_core_dpoints_pixter_SOURCES = mln_core_dpoints_pixter.cc
+mln_core_internal_graph_psite_base_SOURCES = mln_core_internal_graph_psite_base.cc
+mln_core_internal_run_image_SOURCES = mln_core_internal_run_image.cc
+mln_core_internal_pixel_impl_SOURCES = mln_core_internal_pixel_impl.cc
+mln_core_internal_site_set_base_SOURCES = mln_core_internal_site_set_base.cc
+mln_core_internal_image_value_morpher_SOURCES = mln_core_internal_image_value_morpher.cc
+mln_core_internal_site_iterator_base_SOURCES = mln_core_internal_site_iterator_base.cc
+mln_core_internal_complex_neighborhood_base_SOURCES = mln_core_internal_complex_neighborhood_base.cc
+mln_core_internal_site_relative_iterator_base_SOURCES = mln_core_internal_site_relative_iterator_base.cc
+mln_core_internal_site_set_impl_SOURCES = mln_core_internal_site_set_impl.cc
+mln_core_internal_exact_SOURCES = mln_core_internal_exact.cc
+mln_core_internal_p_complex_piter_base_SOURCES = mln_core_internal_p_complex_piter_base.cc
+mln_core_internal_neighb_niter_impl_SOURCES = mln_core_internal_neighb_niter_impl.cc
+mln_core_internal_pixel_iterator_base_SOURCES = mln_core_internal_pixel_iterator_base.cc
+mln_core_internal_classical_window_base_SOURCES = mln_core_internal_classical_window_base.cc
+mln_core_internal_data_SOURCES = mln_core_internal_data.cc
+mln_core_internal_force_exact_SOURCES = mln_core_internal_force_exact.cc
+mln_core_internal_image_base_SOURCES = mln_core_internal_image_base.cc
+mln_core_internal_check_image_fastest_SOURCES = mln_core_internal_check_image_fastest.cc
+mln_core_internal_check_image_all_SOURCES = mln_core_internal_check_image_all.cc
+mln_core_internal_fixme_SOURCES = mln_core_internal_fixme.cc
+mln_core_internal_morpher_lvalue_SOURCES = mln_core_internal_morpher_lvalue.cc
+mln_core_internal_image_domain_morpher_SOURCES = mln_core_internal_image_domain_morpher.cc
+mln_core_internal_image_primary_SOURCES = mln_core_internal_image_primary.cc
+mln_core_internal_set_of_SOURCES = mln_core_internal_set_of.cc
+mln_core_internal_complex_window_p_base_SOURCES = mln_core_internal_complex_window_p_base.cc
+mln_core_internal_graph_window_base_SOURCES = mln_core_internal_graph_window_base.cc
+mln_core_internal_piter_adaptor_SOURCES = mln_core_internal_piter_adaptor.cc
+mln_core_internal_weighted_window_base_SOURCES = mln_core_internal_weighted_window_base.cc
+mln_core_internal_neighborhood_base_SOURCES = mln_core_internal_neighborhood_base.cc
+mln_core_internal_image_morpher_SOURCES = mln_core_internal_image_morpher.cc
+mln_core_internal_coord_impl_SOURCES = mln_core_internal_coord_impl.cc
+mln_core_internal_geom_bbox_SOURCES = mln_core_internal_geom_bbox.cc
+mln_core_internal_image_identity_SOURCES = mln_core_internal_image_identity.cc
+mln_core_internal_pseudo_site_base_SOURCES = mln_core_internal_pseudo_site_base.cc
+mln_core_internal_window_base_SOURCES = mln_core_internal_window_base.cc
+mln_core_internal_box_impl_SOURCES = mln_core_internal_box_impl.cc
+mln_core_internal_site_set_iterator_base_SOURCES = mln_core_internal_site_set_iterator_base.cc
+mln_core_contract_SOURCES = mln_core_contract.cc
+mln_core_all_SOURCES = mln_core_all.cc
+mln_core_point_SOURCES = mln_core_point.cc
+mln_core_neighb_SOURCES = mln_core_neighb.cc
+mln_core_routine_initialize_SOURCES = mln_core_routine_initialize.cc
+mln_core_routine_primary_SOURCES = mln_core_routine_primary.cc
+mln_core_routine_init_SOURCES = mln_core_routine_init.cc
+mln_core_routine_ops_SOURCES = mln_core_routine_ops.cc
+mln_core_routine_all_SOURCES = mln_core_routine_all.cc
+mln_core_routine_clone_SOURCES = mln_core_routine_clone.cc
+mln_core_routine_exact_SOURCES = mln_core_routine_exact.cc
+mln_core_routine_extend_SOURCES = mln_core_routine_extend.cc
+mln_core_routine_essential_SOURCES = mln_core_routine_essential.cc
+mln_core_trait_op_mult_SOURCES = mln_core_trait_op_mult.cc
+mln_core_trait_all_SOURCES = mln_core_trait_all.cc
+mln_core_trait_pixter_SOURCES = mln_core_trait_pixter.cc
+mln_core_trait_qlf_value_SOURCES = mln_core_trait_qlf_value.cc
+mln_core_trait_essential_SOURCES = mln_core_trait_essential.cc
+mln_core_pixter1d_SOURCES = mln_core_pixter1d.cc
+mln_core_category_SOURCES = mln_core_category.cc
+mln_core_macros_SOURCES = mln_core_macros.cc
mln_core_box_runstart_piter_SOURCES = mln_core_box_runstart_piter.cc
-mln_core_var_SOURCES = mln_core_var.cc
-mln_core_concept_browsing_SOURCES = mln_core_concept_browsing.cc
-mln_core_concept_regular_grid_SOURCES = mln_core_concept_regular_grid.cc
-mln_core_concept_pixel_iterator_SOURCES = mln_core_concept_pixel_iterator.cc
+mln_core_tags_SOURCES = mln_core_tags.cc
+mln_core_dpoint_SOURCES = mln_core_dpoint.cc
+mln_core_alias_dpoint2d_h_SOURCES = mln_core_alias_dpoint2d_h.cc
+mln_core_alias_p_run2d_SOURCES = mln_core_alias_p_run2d.cc
+mln_core_alias_point3d_SOURCES = mln_core_alias_point3d.cc
+mln_core_alias_neighb3d_SOURCES = mln_core_alias_neighb3d.cc
+mln_core_alias_window3d_SOURCES = mln_core_alias_window3d.cc
+mln_core_alias_neighb2d_SOURCES = mln_core_alias_neighb2d.cc
+mln_core_alias_complex_image_SOURCES = mln_core_alias_complex_image.cc
+mln_core_alias_w_window1d_float_SOURCES = mln_core_alias_w_window1d_float.cc
+mln_core_alias_neighb1d_SOURCES = mln_core_alias_neighb1d.cc
+mln_core_alias_w_window2d_float_SOURCES = mln_core_alias_w_window2d_float.cc
+mln_core_alias_w_window2d_int_SOURCES = mln_core_alias_w_window2d_int.cc
+mln_core_alias_box1d_SOURCES = mln_core_alias_box1d.cc
+mln_core_alias_box2d_SOURCES = mln_core_alias_box2d.cc
+mln_core_alias_window1d_SOURCES = mln_core_alias_window1d.cc
+mln_core_alias_point1d_SOURCES = mln_core_alias_point1d.cc
+mln_core_alias_box3d_SOURCES = mln_core_alias_box3d.cc
+mln_core_alias_dpoint3d_SOURCES = mln_core_alias_dpoint3d.cc
+mln_core_alias_complex_geometry_SOURCES = mln_core_alias_complex_geometry.cc
+mln_core_alias_w_window3d_float_SOURCES = mln_core_alias_w_window3d_float.cc
+mln_core_alias_box2d_h_SOURCES = mln_core_alias_box2d_h.cc
+mln_core_alias_point2d_SOURCES = mln_core_alias_point2d.cc
+mln_core_alias_window2d_SOURCES = mln_core_alias_window2d.cc
+mln_core_alias_p_runs2d_SOURCES = mln_core_alias_p_runs2d.cc
+mln_core_alias_point3df_SOURCES = mln_core_alias_point3df.cc
+mln_core_alias_dpoint1d_SOURCES = mln_core_alias_dpoint1d.cc
+mln_core_alias_w_window3d_int_SOURCES = mln_core_alias_w_window3d_int.cc
+mln_core_alias_dpoint2d_SOURCES = mln_core_alias_dpoint2d.cc
+mln_core_alias_w_window1d_int_SOURCES = mln_core_alias_w_window1d_int.cc
+mln_core_alias_point2d_h_SOURCES = mln_core_alias_point2d_h.cc
+mln_core_window_SOURCES = mln_core_window.cc
+mln_core_concept_site_proxy_SOURCES = mln_core_concept_site_proxy.cc
mln_core_concept_point_site_SOURCES = mln_core_concept_point_site.cc
-mln_core_concept_iterator_SOURCES = mln_core_concept_iterator.cc
mln_core_concept_box_SOURCES = mln_core_concept_box.cc
-mln_core_concept_site_proxy_SOURCES = mln_core_concept_site_proxy.cc
-mln_core_concept_object_SOURCES = mln_core_concept_object.cc
-mln_core_concept_all_SOURCES = mln_core_concept_all.cc
-mln_core_concept_image_SOURCES = mln_core_concept_image.cc
mln_core_concept_generalized_pixel_SOURCES = mln_core_concept_generalized_pixel.cc
-mln_core_concept_value_iterator_SOURCES = mln_core_concept_value_iterator.cc
-mln_core_concept_value_set_SOURCES = mln_core_concept_value_set.cc
-mln_core_concept_site_set_SOURCES = mln_core_concept_site_set.cc
-mln_core_concept_point_SOURCES = mln_core_concept_point.cc
-mln_core_concept_weighted_window_SOURCES = mln_core_concept_weighted_window.cc
mln_core_concept_graph_SOURCES = mln_core_concept_graph.cc
-mln_core_concept_function_SOURCES = mln_core_concept_function.cc
-mln_core_concept_site_iterator_SOURCES = mln_core_concept_site_iterator.cc
-mln_core_concept_gpoint_SOURCES = mln_core_concept_gpoint.cc
-mln_core_concept_meta_accumulator_SOURCES = mln_core_concept_meta_accumulator.cc
-mln_core_concept_gdpoint_SOURCES = mln_core_concept_gdpoint.cc
-mln_core_concept_doc_pixel_iterator_SOURCES = mln_core_concept_doc_pixel_iterator.cc
+mln_core_concept_iterator_SOURCES = mln_core_concept_iterator.cc
mln_core_concept_doc_point_site_SOURCES = mln_core_concept_doc_point_site.cc
-mln_core_concept_doc_iterator_SOURCES = mln_core_concept_doc_iterator.cc
mln_core_concept_doc_box_SOURCES = mln_core_concept_doc_box.cc
-mln_core_concept_doc_object_SOURCES = mln_core_concept_doc_object.cc
-mln_core_concept_doc_image_SOURCES = mln_core_concept_doc_image.cc
mln_core_concept_doc_generalized_pixel_SOURCES = mln_core_concept_doc_generalized_pixel.cc
-mln_core_concept_doc_value_iterator_SOURCES = mln_core_concept_doc_value_iterator.cc
+mln_core_concept_doc_iterator_SOURCES = mln_core_concept_doc_iterator.cc
+mln_core_concept_doc_image_fastest_SOURCES = mln_core_concept_doc_image_fastest.cc
+mln_core_concept_doc_image_SOURCES = mln_core_concept_doc_image.cc
mln_core_concept_doc_value_set_SOURCES = mln_core_concept_doc_value_set.cc
-mln_core_concept_doc_site_set_SOURCES = mln_core_concept_doc_site_set.cc
mln_core_concept_doc_weighted_window_SOURCES = mln_core_concept_doc_weighted_window.cc
-mln_core_concept_doc_image_fastest_SOURCES = mln_core_concept_doc_image_fastest.cc
+mln_core_concept_doc_pixel_iterator_SOURCES = mln_core_concept_doc_pixel_iterator.cc
+mln_core_concept_doc_value_iterator_SOURCES = mln_core_concept_doc_value_iterator.cc
mln_core_concept_doc_dpoint_SOURCES = mln_core_concept_doc_dpoint.cc
-mln_core_concept_doc_accumulator_SOURCES = mln_core_concept_doc_accumulator.cc
-mln_core_concept_doc_point_iterator_SOURCES = mln_core_concept_doc_point_iterator.cc
mln_core_concept_doc_window_SOURCES = mln_core_concept_doc_window.cc
+mln_core_concept_doc_accumulator_SOURCES = mln_core_concept_doc_accumulator.cc
+mln_core_concept_doc_site_set_SOURCES = mln_core_concept_doc_site_set.cc
+mln_core_concept_doc_object_SOURCES = mln_core_concept_doc_object.cc
mln_core_concept_doc_neighborhood_SOURCES = mln_core_concept_doc_neighborhood.cc
-mln_core_concept_delta_point_site_SOURCES = mln_core_concept_delta_point_site.cc
-mln_core_concept_literal_SOURCES = mln_core_concept_literal.cc
-mln_core_concept_value_SOURCES = mln_core_concept_value.cc
-mln_core_concept_dpoint_SOURCES = mln_core_concept_dpoint.cc
+mln_core_concept_doc_point_iterator_SOURCES = mln_core_concept_doc_point_iterator.cc
mln_core_concept_pseudo_site_SOURCES = mln_core_concept_pseudo_site.cc
-mln_core_concept_accumulator_SOURCES = mln_core_concept_accumulator.cc
+mln_core_concept_image_SOURCES = mln_core_concept_image.cc
+mln_core_concept_value_set_SOURCES = mln_core_concept_value_set.cc
mln_core_concept_proxy_SOURCES = mln_core_concept_proxy.cc
mln_core_concept_site_SOURCES = mln_core_concept_site.cc
+mln_core_concept_weighted_window_SOURCES = mln_core_concept_weighted_window.cc
+mln_core_concept_all_SOURCES = mln_core_concept_all.cc
+mln_core_concept_gpoint_SOURCES = mln_core_concept_gpoint.cc
+mln_core_concept_site_iterator_SOURCES = mln_core_concept_site_iterator.cc
+mln_core_concept_point_SOURCES = mln_core_concept_point.cc
+mln_core_concept_literal_SOURCES = mln_core_concept_literal.cc
+mln_core_concept_pixel_iterator_SOURCES = mln_core_concept_pixel_iterator.cc
+mln_core_concept_value_iterator_SOURCES = mln_core_concept_value_iterator.cc
+mln_core_concept_meta_accumulator_SOURCES = mln_core_concept_meta_accumulator.cc
+mln_core_concept_gdpoint_SOURCES = mln_core_concept_gdpoint.cc
+mln_core_concept_regular_grid_SOURCES = mln_core_concept_regular_grid.cc
+mln_core_concept_mesh_SOURCES = mln_core_concept_mesh.cc
+mln_core_concept_dpoint_SOURCES = mln_core_concept_dpoint.cc
+mln_core_concept_function_SOURCES = mln_core_concept_function.cc
mln_core_concept_window_SOURCES = mln_core_concept_window.cc
+mln_core_concept_value_SOURCES = mln_core_concept_value.cc
+mln_core_concept_accumulator_SOURCES = mln_core_concept_accumulator.cc
+mln_core_concept_site_set_SOURCES = mln_core_concept_site_set.cc
+mln_core_concept_object_SOURCES = mln_core_concept_object.cc
+mln_core_concept_delta_point_site_SOURCES = mln_core_concept_delta_point_site.cc
mln_core_concept_neighborhood_SOURCES = mln_core_concept_neighborhood.cc
-mln_core_concept_mesh_SOURCES = mln_core_concept_mesh.cc
-mln_core_dpoints_pixter_SOURCES = mln_core_dpoints_pixter.cc
-mln_core_internal_graph_window_base_SOURCES = mln_core_internal_graph_window_base.cc
-mln_core_internal_complex_window_p_base_SOURCES = mln_core_internal_complex_window_p_base.cc
-mln_core_internal_pixel_iterator_base_SOURCES = mln_core_internal_pixel_iterator_base.cc
-mln_core_internal_weighted_window_base_SOURCES = mln_core_internal_weighted_window_base.cc
-mln_core_internal_neighborhood_base_SOURCES = mln_core_internal_neighborhood_base.cc
-mln_core_internal_complex_neighborhood_base_SOURCES = mln_core_internal_complex_neighborhood_base.cc
-mln_core_internal_data_SOURCES = mln_core_internal_data.cc
-mln_core_internal_run_image_SOURCES = mln_core_internal_run_image.cc
-mln_core_internal_window_base_SOURCES = mln_core_internal_window_base.cc
-mln_core_internal_graph_psite_base_SOURCES = mln_core_internal_graph_psite_base.cc
-mln_core_internal_site_relative_iterator_base_SOURCES = mln_core_internal_site_relative_iterator_base.cc
-mln_core_internal_image_base_SOURCES = mln_core_internal_image_base.cc
-mln_core_internal_set_of_SOURCES = mln_core_internal_set_of.cc
-mln_core_internal_exact_SOURCES = mln_core_internal_exact.cc
-mln_core_internal_p_complex_piter_base_SOURCES = mln_core_internal_p_complex_piter_base.cc
-mln_core_internal_morpher_lvalue_SOURCES = mln_core_internal_morpher_lvalue.cc
-mln_core_internal_site_iterator_base_SOURCES = mln_core_internal_site_iterator_base.cc
-mln_core_internal_pseudo_site_base_SOURCES = mln_core_internal_pseudo_site_base.cc
-mln_core_internal_pixel_impl_SOURCES = mln_core_internal_pixel_impl.cc
-mln_core_internal_force_exact_SOURCES = mln_core_internal_force_exact.cc
-mln_core_internal_site_set_iterator_base_SOURCES = mln_core_internal_site_set_iterator_base.cc
-mln_core_internal_geom_bbox_SOURCES = mln_core_internal_geom_bbox.cc
-mln_core_internal_site_set_base_SOURCES = mln_core_internal_site_set_base.cc
-mln_core_internal_classical_window_base_SOURCES = mln_core_internal_classical_window_base.cc
-mln_core_internal_image_value_morpher_SOURCES = mln_core_internal_image_value_morpher.cc
-mln_core_internal_coord_impl_SOURCES = mln_core_internal_coord_impl.cc
-mln_core_internal_check_image_all_SOURCES = mln_core_internal_check_image_all.cc
-mln_core_internal_check_image_fastest_SOURCES = mln_core_internal_check_image_fastest.cc
-mln_core_internal_fixme_SOURCES = mln_core_internal_fixme.cc
-mln_core_internal_piter_adaptor_SOURCES = mln_core_internal_piter_adaptor.cc
-mln_core_internal_image_domain_morpher_SOURCES = mln_core_internal_image_domain_morpher.cc
-mln_core_internal_neighb_niter_impl_SOURCES = mln_core_internal_neighb_niter_impl.cc
-mln_core_internal_image_morpher_SOURCES = mln_core_internal_image_morpher.cc
-mln_core_internal_image_primary_SOURCES = mln_core_internal_image_primary.cc
-mln_core_internal_image_identity_SOURCES = mln_core_internal_image_identity.cc
-mln_core_internal_site_set_impl_SOURCES = mln_core_internal_site_set_impl.cc
-mln_core_internal_box_impl_SOURCES = mln_core_internal_box_impl.cc
-mln_core_pixter2d_SOURCES = mln_core_pixter2d.cc
-mln_core_point_SOURCES = mln_core_point.cc
-mln_core_a_point_of_SOURCES = mln_core_a_point_of.cc
-mln_core_clock_neighb_SOURCES = mln_core_clock_neighb.cc
-mln_core_grids_SOURCES = mln_core_grids.cc
-mln_core_tags_SOURCES = mln_core_tags.cc
-mln_core_routine_all_SOURCES = mln_core_routine_all.cc
-mln_core_routine_initialize_SOURCES = mln_core_routine_initialize.cc
-mln_core_routine_exact_SOURCES = mln_core_routine_exact.cc
-mln_core_routine_essential_SOURCES = mln_core_routine_essential.cc
-mln_core_routine_init_SOURCES = mln_core_routine_init.cc
-mln_core_routine_extend_SOURCES = mln_core_routine_extend.cc
-mln_core_routine_primary_SOURCES = mln_core_routine_primary.cc
-mln_core_routine_clone_SOURCES = mln_core_routine_clone.cc
-mln_core_routine_ops_SOURCES = mln_core_routine_ops.cc
-mln_core_contract_SOURCES = mln_core_contract.cc
-mln_core_essential_SOURCES = mln_core_essential.cc
-mln_core_pixter1d_SOURCES = mln_core_pixter1d.cc
-mln_core_neighb_SOURCES = mln_core_neighb.cc
+mln_core_concept_browsing_SOURCES = mln_core_concept_browsing.cc
mln_core_pixel_SOURCES = mln_core_pixel.cc
-mln_core_dpoint_SOURCES = mln_core_dpoint.cc
-mln_core_+memo_dpoints_piter_SOURCES = mln_core_+memo_dpoints_piter.cc
+mln_core_clock_neighb2d_SOURCES = mln_core_clock_neighb2d.cc
+mln_core_pixter3d_SOURCES = mln_core_pixter3d.cc
+mln_core_image_obased_rle_encode_SOURCES = mln_core_image_obased_rle_encode.cc
mln_core_image_plain_SOURCES = mln_core_image_plain.cc
-mln_core_image_image_if_SOURCES = mln_core_image_image_if.cc
-mln_core_image_t_image_SOURCES = mln_core_image_t_image.cc
-mln_core_image_complex_window_piter_SOURCES = mln_core_image_complex_window_piter.cc
-mln_core_image_interpolated_SOURCES = mln_core_image_interpolated.cc
-mln_core_image_sparse_image_SOURCES = mln_core_image_sparse_image.cc
+mln_core_image_graph_image_SOURCES = mln_core_image_graph_image.cc
+mln_core_image_image3d_SOURCES = mln_core_image_image3d.cc
+mln_core_image_decorated_image_SOURCES = mln_core_image_decorated_image.cc
+mln_core_image_extension_ima_SOURCES = mln_core_image_extension_ima.cc
+mln_core_image_flat_image_SOURCES = mln_core_image_flat_image.cc
mln_core_image_complex_neighborhood_piter_SOURCES = mln_core_image_complex_neighborhood_piter.cc
-mln_core_image_ch_piter_SOURCES = mln_core_image_ch_piter.cc
-mln_core_image_tr_image_SOURCES = mln_core_image_tr_image.cc
-mln_core_image_extension_val_SOURCES = mln_core_image_extension_val.cc
-mln_core_image_value_enc_image_SOURCES = mln_core_image_value_enc_image.cc
-mln_core_image_all_SOURCES = mln_core_image_all.cc
-mln_core_image_fi_adaptor_SOURCES = mln_core_image_fi_adaptor.cc
-mln_core_image_extended_SOURCES = mln_core_image_extended.cc
-mln_core_image_rle_encode_SOURCES = mln_core_image_rle_encode.cc
-mln_core_image_graph_window_piter_SOURCES = mln_core_image_graph_window_piter.cc
+mln_core_image_tr_mesh_SOURCES = mln_core_image_tr_mesh.cc
+mln_core_image_graph_elt_window_SOURCES = mln_core_image_graph_elt_window.cc
+mln_core_image_obased_rle_image_SOURCES = mln_core_image_obased_rle_image.cc
+mln_core_image_mono_obased_rle_image_SOURCES = mln_core_image_mono_obased_rle_image.cc
+mln_core_image_interpolated_SOURCES = mln_core_image_interpolated.cc
mln_core_image_lazy_image_SOURCES = mln_core_image_lazy_image.cc
-mln_core_image_bgraph_image_SOURCES = mln_core_image_bgraph_image.cc
-mln_core_image_image2d_h_SOURCES = mln_core_image_image2d_h.cc
-mln_core_image_bgraph_psite_SOURCES = mln_core_image_bgraph_psite.cc
+mln_core_image_t_image_SOURCES = mln_core_image_t_image.cc
mln_core_image_hexa_piter_SOURCES = mln_core_image_hexa_piter.cc
-mln_core_image_image2d_SOURCES = mln_core_image_image2d.cc
-mln_core_image_decorated_image_SOURCES = mln_core_image_decorated_image.cc
-mln_core_image_hexa_SOURCES = mln_core_image_hexa.cc
-mln_core_image_essential_SOURCES = mln_core_image_essential.cc
-mln_core_image_mono_obased_rle_encode_SOURCES = mln_core_image_mono_obased_rle_encode.cc
-mln_core_image_graph_image_SOURCES = mln_core_image_graph_image.cc
-mln_core_image_image1d_SOURCES = mln_core_image_image1d.cc
+mln_core_image_value_enc_image_SOURCES = mln_core_image_value_enc_image.cc
+mln_core_image_sub_image_if_SOURCES = mln_core_image_sub_image_if.cc
+mln_core_image_all_SOURCES = mln_core_image_all.cc
mln_core_image_mono_rle_image_SOURCES = mln_core_image_mono_rle_image.cc
-mln_core_image_mono_obased_rle_image_SOURCES = mln_core_image_mono_obased_rle_image.cc
-mln_core_image_flat_image_SOURCES = mln_core_image_flat_image.cc
-mln_core_image_graph_elt_window_SOURCES = mln_core_image_graph_elt_window.cc
+mln_core_image_complex_image_SOURCES = mln_core_image_complex_image.cc
mln_core_image_cast_image_SOURCES = mln_core_image_cast_image.cc
-mln_core_image_sparse_encode_SOURCES = mln_core_image_sparse_encode.cc
-mln_core_image_tr_mesh_SOURCES = mln_core_image_tr_mesh.cc
-mln_core_image_extension_fun_SOURCES = mln_core_image_extension_fun.cc
-mln_core_image_safe_SOURCES = mln_core_image_safe.cc
-mln_core_image_extension_ima_SOURCES = mln_core_image_extension_ima.cc
-mln_core_image_obased_rle_encode_SOURCES = mln_core_image_obased_rle_encode.cc
+mln_core_image_rle_encode_SOURCES = mln_core_image_rle_encode.cc
+mln_core_image_complex_window_piter_SOURCES = mln_core_image_complex_window_piter.cc
+mln_core_image_tr_image_SOURCES = mln_core_image_tr_image.cc
+mln_core_image_sub_image_SOURCES = mln_core_image_sub_image.cc
mln_core_image_rle_image_SOURCES = mln_core_image_rle_image.cc
-mln_core_image_complex_image_SOURCES = mln_core_image_complex_image.cc
-mln_core_image_line_graph_image_SOURCES = mln_core_image_line_graph_image.cc
mln_core_image_line_graph_elt_window_SOURCES = mln_core_image_line_graph_elt_window.cc
-mln_core_image_sub_image_if_SOURCES = mln_core_image_sub_image_if.cc
-mln_core_image_sub_image_SOURCES = mln_core_image_sub_image.cc
mln_core_image_mono_rle_encode_SOURCES = mln_core_image_mono_rle_encode.cc
-mln_core_image_obased_rle_image_SOURCES = mln_core_image_obased_rle_image.cc
-mln_core_image_value_encode_SOURCES = mln_core_image_value_encode.cc
+mln_core_image_bgraph_psite_SOURCES = mln_core_image_bgraph_psite.cc
+mln_core_image_sparse_image_SOURCES = mln_core_image_sparse_image.cc
+mln_core_image_bgraph_image_SOURCES = mln_core_image_bgraph_image.cc
mln_core_image_complex_neighborhoods_SOURCES = mln_core_image_complex_neighborhoods.cc
-mln_core_image_image3d_SOURCES = mln_core_image_image3d.cc
+mln_core_image_graph_window_piter_SOURCES = mln_core_image_graph_window_piter.cc
+mln_core_image_sparse_encode_SOURCES = mln_core_image_sparse_encode.cc
+mln_core_image_safe_SOURCES = mln_core_image_safe.cc
+mln_core_image_extension_fun_SOURCES = mln_core_image_extension_fun.cc
+mln_core_image_image1d_SOURCES = mln_core_image_image1d.cc
+mln_core_image_extension_val_SOURCES = mln_core_image_extension_val.cc
+mln_core_image_image_if_SOURCES = mln_core_image_image_if.cc
+mln_core_image_hexa_SOURCES = mln_core_image_hexa.cc
+mln_core_image_extended_SOURCES = mln_core_image_extended.cc
+mln_core_image_image2d_h_SOURCES = mln_core_image_image2d_h.cc
+mln_core_image_image2d_SOURCES = mln_core_image_image2d.cc
+mln_core_image_ch_piter_SOURCES = mln_core_image_ch_piter.cc
mln_core_image_complex_windows_SOURCES = mln_core_image_complex_windows.cc
-mln_core_dpsites_piter_SOURCES = mln_core_dpsites_piter.cc
-mln_core_window_SOURCES = mln_core_window.cc
-mln_core_def_coordf_SOURCES = mln_core_def_coordf.cc
-mln_core_def_all_SOURCES = mln_core_def_all.cc
-mln_core_def_low_quant_nbits_SOURCES = mln_core_def_low_quant_nbits.cc
-mln_core_def_essential_SOURCES = mln_core_def_essential.cc
-mln_core_def_coord_SOURCES = mln_core_def_coord.cc
-mln_core_pixter3d_SOURCES = mln_core_pixter3d.cc
-mln_all_SOURCES = mln_all.cc
-mln_estim_all_SOURCES = mln_estim_all.cc
-mln_estim_sum_SOURCES = mln_estim_sum.cc
-mln_estim_min_max_SOURCES = mln_estim_min_max.cc
-mln_estim_essential_SOURCES = mln_estim_essential.cc
-mln_estim_mean_SOURCES = mln_estim_mean.cc
-mln_math_sqrt_SOURCES = mln_math_sqrt.cc
-mln_math_round_sat_SOURCES = mln_math_round_sat.cc
-mln_math_sqr_SOURCES = mln_math_sqr.cc
-mln_math_all_SOURCES = mln_math_all.cc
-mln_math_round_SOURCES = mln_math_round.cc
-mln_math_min_SOURCES = mln_math_min.cc
-mln_math_diff_abs_SOURCES = mln_math_diff_abs.cc
-mln_math_essential_SOURCES = mln_math_essential.cc
-mln_math_abs_SOURCES = mln_math_abs.cc
-mln_math_jacobi_SOURCES = mln_math_jacobi.cc
-mln_math_max_SOURCES = mln_math_max.cc
-mln_math_sign_SOURCES = mln_math_sign.cc
-mln_morpho_closing_SOURCES = mln_morpho_closing.cc
-mln_morpho_opening_volume_SOURCES = mln_morpho_opening_volume.cc
-mln_morpho_closing_attribute_SOURCES = mln_morpho_closing_attribute.cc
-mln_morpho_minus_SOURCES = mln_morpho_minus.cc
-mln_morpho_complementation_SOURCES = mln_morpho_complementation.cc
-mln_morpho_top_hat_SOURCES = mln_morpho_top_hat.cc
-mln_morpho_skeleton_constrained_SOURCES = mln_morpho_skeleton_constrained.cc
-mln_morpho_laplacian_SOURCES = mln_morpho_laplacian.cc
-mln_morpho_opening_area_on_vertices_SOURCES = mln_morpho_opening_area_on_vertices.cc
-mln_morpho_thinning_SOURCES = mln_morpho_thinning.cc
-mln_morpho_dilation_SOURCES = mln_morpho_dilation.cc
-mln_morpho_all_SOURCES = mln_morpho_all.cc
-mln_morpho_general_SOURCES = mln_morpho_general.cc
-mln_morpho_includes_SOURCES = mln_morpho_includes.cc
-mln_morpho_thick_miss_SOURCES = mln_morpho_thick_miss.cc
-mln_morpho_tree_compute_parent_SOURCES = mln_morpho_tree_compute_parent.cc
-mln_morpho_tree_all_SOURCES = mln_morpho_tree_all.cc
-mln_morpho_tree_data_SOURCES = mln_morpho_tree_data.cc
-mln_morpho_tree_utils_SOURCES = mln_morpho_tree_utils.cc
-mln_morpho_tree_compute_attribute_image_SOURCES = mln_morpho_tree_compute_attribute_image.cc
-mln_morpho_tree_max_SOURCES = mln_morpho_tree_max.cc
-mln_morpho_internal_elementary_SOURCES = mln_morpho_internal_elementary.cc
-mln_morpho_meyer_wst_SOURCES = mln_morpho_meyer_wst.cc
-mln_morpho_elementary_closing_SOURCES = mln_morpho_elementary_closing.cc
-mln_morpho_elementary_top_hat_SOURCES = mln_morpho_elementary_top_hat.cc
-mln_morpho_elementary_laplacian_SOURCES = mln_morpho_elementary_laplacian.cc
-mln_morpho_elementary_dilation_SOURCES = mln_morpho_elementary_dilation.cc
-mln_morpho_elementary_all_SOURCES = mln_morpho_elementary_all.cc
-mln_morpho_elementary_like_ero_set_SOURCES = mln_morpho_elementary_like_ero_set.cc
-mln_morpho_elementary_gradient_internal_SOURCES = mln_morpho_elementary_gradient_internal.cc
-mln_morpho_elementary_gradient_SOURCES = mln_morpho_elementary_gradient.cc
-mln_morpho_elementary_essential_SOURCES = mln_morpho_elementary_essential.cc
-mln_morpho_elementary_opening_SOURCES = mln_morpho_elementary_opening.cc
-mln_morpho_elementary_erosion_SOURCES = mln_morpho_elementary_erosion.cc
-mln_morpho_elementary_gradient_external_SOURCES = mln_morpho_elementary_gradient_external.cc
-mln_morpho_elementary_like_ero_fun_SOURCES = mln_morpho_elementary_like_ero_fun.cc
-mln_morpho_opening_height_SOURCES = mln_morpho_opening_height.cc
-mln_morpho_gradient_SOURCES = mln_morpho_gradient.cc
-mln_morpho_min_SOURCES = mln_morpho_min.cc
-mln_morpho_closing_area_SOURCES = mln_morpho_closing_area.cc
-mln_morpho_essential_SOURCES = mln_morpho_essential.cc
-mln_morpho_line_gradient_SOURCES = mln_morpho_line_gradient.cc
-mln_morpho_opening_SOURCES = mln_morpho_opening.cc
-mln_morpho_erosion_SOURCES = mln_morpho_erosion.cc
-mln_morpho_thin_fit_SOURCES = mln_morpho_thin_fit.cc
-mln_morpho_Rd_SOURCES = mln_morpho_Rd.cc
-mln_morpho_hit_or_miss_SOURCES = mln_morpho_hit_or_miss.cc
-mln_morpho_closing_area_on_vertices_SOURCES = mln_morpho_closing_area_on_vertices.cc
-mln_morpho_closing_height_SOURCES = mln_morpho_closing_height.cc
-mln_morpho_plus_SOURCES = mln_morpho_plus.cc
-mln_morpho_opening_area_SOURCES = mln_morpho_opening_area.cc
-mln_morpho_rank_filter_SOURCES = mln_morpho_rank_filter.cc
-mln_morpho_contrast_SOURCES = mln_morpho_contrast.cc
-mln_morpho_thickening_SOURCES = mln_morpho_thickening.cc
-mln_morpho_opening_attribute_SOURCES = mln_morpho_opening_attribute.cc
-mln_morpho_closing_volume_SOURCES = mln_morpho_closing_volume.cc
-mln_trait_concrete_SOURCES = mln_trait_concrete.cc
-mln_trait_promote_SOURCES = mln_trait_promote.cc
-mln_trait_all_SOURCES = mln_trait_all.cc
-mln_trait_site_set_props_SOURCES = mln_trait_site_set_props.cc
-mln_trait_site_set_print_SOURCES = mln_trait_site_set_print.cc
-mln_trait_value__SOURCES = mln_trait_value_.cc
-mln_trait_image_from_grid_SOURCES = mln_trait_image_from_grid.cc
-mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
-mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
-mln_trait_site_sets_SOURCES = mln_trait_site_sets.cc
-mln_trait_essential_SOURCES = mln_trait_essential.cc
-mln_trait_value_all_SOURCES = mln_trait_value_all.cc
-mln_trait_value_print_SOURCES = mln_trait_value_print.cc
-mln_trait_value_kind_SOURCES = mln_trait_value_kind.cc
-mln_trait_value_nature_SOURCES = mln_trait_value_nature.cc
-mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
-mln_trait_value_quant_SOURCES = mln_trait_value_quant.cc
-mln_trait_windows_SOURCES = mln_trait_windows.cc
-mln_trait_window_props_SOURCES = mln_trait_window_props.cc
-mln_trait_window_print_SOURCES = mln_trait_window_print.cc
-mln_trait_image_props_SOURCES = mln_trait_image_props.cc
-mln_trait_image_print_SOURCES = mln_trait_image_print.cc
-mln_trait_images_SOURCES = mln_trait_images.cc
-mln_trait_undef_SOURCES = mln_trait_undef.cc
-mln_trait_op_postdec_SOURCES = mln_trait_op_postdec.cc
-mln_trait_op_div_SOURCES = mln_trait_op_div.cc
-mln_trait_op_uplus_SOURCES = mln_trait_op_uplus.cc
-mln_trait_op_minus_SOURCES = mln_trait_op_minus.cc
-mln_trait_op_less_SOURCES = mln_trait_op_less.cc
-mln_trait_op_predec_SOURCES = mln_trait_op_predec.cc
-mln_trait_op_eq_SOURCES = mln_trait_op_eq.cc
-mln_trait_op_all_SOURCES = mln_trait_op_all.cc
-mln_trait_op_leq_SOURCES = mln_trait_op_leq.cc
-mln_trait_op_preinc_SOURCES = mln_trait_op_preinc.cc
-mln_trait_op_and_SOURCES = mln_trait_op_and.cc
-mln_trait_op_greater_SOURCES = mln_trait_op_greater.cc
-mln_trait_op_lor_SOURCES = mln_trait_op_lor.cc
-mln_trait_op_or_SOURCES = mln_trait_op_or.cc
-mln_trait_op_not_SOURCES = mln_trait_op_not.cc
-mln_trait_op_uminus_SOURCES = mln_trait_op_uminus.cc
-mln_trait_op_essential_SOURCES = mln_trait_op_essential.cc
-mln_trait_op_times_SOURCES = mln_trait_op_times.cc
-mln_trait_op_neq_SOURCES = mln_trait_op_neq.cc
-mln_trait_op_ord_SOURCES = mln_trait_op_ord.cc
-mln_trait_op_postinc_SOURCES = mln_trait_op_postinc.cc
-mln_trait_op_xor_SOURCES = mln_trait_op_xor.cc
-mln_trait_op_mod_SOURCES = mln_trait_op_mod.cc
-mln_trait_op_plus_SOURCES = mln_trait_op_plus.cc
-mln_trait_op_decl_SOURCES = mln_trait_op_decl.cc
-mln_trait_op_geq_SOURCES = mln_trait_op_geq.cc
-mln_trait_solve_binary_SOURCES = mln_trait_solve_binary.cc
-mln_trait_neighborhood_SOURCES = mln_trait_neighborhood.cc
-mln_trait_solve_SOURCES = mln_trait_solve.cc
-mln_draw_box_SOURCES = mln_draw_box.cc
-mln_draw_line_SOURCES = mln_draw_line.cc
-mln_draw_all_SOURCES = mln_draw_all.cc
-mln_draw_essential_SOURCES = mln_draw_essential.cc
-mln_draw_plot_SOURCES = mln_draw_plot.cc
-mln_labeling_foreground_SOURCES = mln_labeling_foreground.cc
-mln_labeling_all_SOURCES = mln_labeling_all.cc
-mln_labeling_+old_level_SOURCES = mln_labeling_+old_level.cc
-mln_labeling_regional_maxima_SOURCES = mln_labeling_regional_maxima.cc
-mln_labeling_flat_zones_SOURCES = mln_labeling_flat_zones.cc
+mln_core_image_fi_adaptor_SOURCES = mln_core_image_fi_adaptor.cc
+mln_core_image_mono_obased_rle_encode_SOURCES = mln_core_image_mono_obased_rle_encode.cc
+mln_core_image_line_graph_image_SOURCES = mln_core_image_line_graph_image.cc
+mln_core_image_value_encode_SOURCES = mln_core_image_value_encode.cc
+mln_core_image_essential_SOURCES = mln_core_image_essential.cc
+mln_core_a_point_of_SOURCES = mln_core_a_point_of.cc
+mln_core_var_SOURCES = mln_core_var.cc
+mln_core_essential_SOURCES = mln_core_essential.cc
+mln_core_faces_psite_SOURCES = mln_core_faces_psite.cc
mln_labeling_blobs_SOURCES = mln_labeling_blobs.cc
-mln_labeling_essential_SOURCES = mln_labeling_essential.cc
-mln_labeling_relabel_SOURCES = mln_labeling_relabel.cc
-mln_labeling_regional_minima_SOURCES = mln_labeling_regional_minima.cc
mln_labeling_background_SOURCES = mln_labeling_background.cc
-mln_labeling_compute_SOURCES = mln_labeling_compute.cc
+mln_labeling_relabel_SOURCES = mln_labeling_relabel.cc
+mln_labeling_all_SOURCES = mln_labeling_all.cc
mln_labeling_level_SOURCES = mln_labeling_level.cc
-mln_binarization_all_SOURCES = mln_binarization_all.cc
-mln_binarization_includes_SOURCES = mln_binarization_includes.cc
-mln_binarization_essential_SOURCES = mln_binarization_essential.cc
-mln_binarization_binarization_SOURCES = mln_binarization_binarization.cc
-mln_binarization_threshold_SOURCES = mln_binarization_threshold.cc
-mln_topo_adj_lower_dim_connected_n_face_iter_SOURCES = mln_topo_adj_lower_dim_connected_n_face_iter.cc
-mln_topo_face_iter_SOURCES = mln_topo_face_iter.cc
-mln_topo_adj_lower_face_iter_SOURCES = mln_topo_adj_lower_face_iter.cc
-mln_topo_complex_SOURCES = mln_topo_complex.cc
-mln_topo_n_face_iter_SOURCES = mln_topo_n_face_iter.cc
-mln_topo_adj_lower_higher_face_iter_SOURCES = mln_topo_adj_lower_higher_face_iter.cc
-mln_topo_centered_iter_adapter_SOURCES = mln_topo_centered_iter_adapter.cc
-mln_topo_all_SOURCES = mln_topo_all.cc
-mln_topo_complex_iterators_SOURCES = mln_topo_complex_iterators.cc
-mln_topo_attic_faces_iter_SOURCES = mln_topo_attic_faces_iter.cc
-mln_topo_internal_complex_set_iterator_base_SOURCES = mln_topo_internal_complex_set_iterator_base.cc
-mln_topo_internal_complex_iterator_base_SOURCES = mln_topo_internal_complex_iterator_base.cc
-mln_topo_internal_complex_relative_iterator_base_SOURCES = mln_topo_internal_complex_relative_iterator_base.cc
-mln_topo_internal_complex_relative_iterator_sequence_SOURCES = mln_topo_internal_complex_relative_iterator_sequence.cc
-mln_topo_face_data_SOURCES = mln_topo_face_data.cc
-mln_topo_adj_m_face_iter_SOURCES = mln_topo_adj_m_face_iter.cc
-mln_topo_algebraic_face_SOURCES = mln_topo_algebraic_face.cc
-mln_topo_algebraic_n_face_SOURCES = mln_topo_algebraic_n_face.cc
-mln_topo_is_simple_2d_SOURCES = mln_topo_is_simple_2d.cc
-mln_topo_n_faces_set_SOURCES = mln_topo_n_faces_set.cc
-mln_topo_essential_SOURCES = mln_topo_essential.cc
-mln_topo_face_SOURCES = mln_topo_face.cc
-mln_topo_static_n_face_iter_SOURCES = mln_topo_static_n_face_iter.cc
-mln_topo_center_only_iter_SOURCES = mln_topo_center_only_iter.cc
-mln_topo_adj_higher_dim_connected_n_face_iter_SOURCES = mln_topo_adj_higher_dim_connected_n_face_iter.cc
-mln_topo_n_face_SOURCES = mln_topo_n_face.cc
-mln_topo_adj_higher_face_iter_SOURCES = mln_topo_adj_higher_face_iter.cc
-mln_canvas_all_SOURCES = mln_canvas_all.cc
-mln_canvas_morpho_all_SOURCES = mln_canvas_morpho_all.cc
-mln_canvas_morpho_algebraic_union_find_SOURCES = mln_canvas_morpho_algebraic_union_find.cc
-mln_canvas_morpho_essential_SOURCES = mln_canvas_morpho_essential.cc
-mln_canvas_distance_geodesic_SOURCES = mln_canvas_distance_geodesic.cc
-mln_canvas_essential_SOURCES = mln_canvas_essential.cc
-mln_canvas_labeling_SOURCES = mln_canvas_labeling.cc
-mln_canvas_+old_labeling_SOURCES = mln_canvas_+old_labeling.cc
-mln_canvas_chamfer_SOURCES = mln_canvas_chamfer.cc
-mln_canvas_browsing_directional_SOURCES = mln_canvas_browsing_directional.cc
-mln_canvas_browsing_snake_fwd_SOURCES = mln_canvas_browsing_snake_fwd.cc
-mln_canvas_browsing_snake_generic_SOURCES = mln_canvas_browsing_snake_generic.cc
-mln_canvas_browsing_all_SOURCES = mln_canvas_browsing_all.cc
-mln_canvas_browsing_fwd_SOURCES = mln_canvas_browsing_fwd.cc
-mln_canvas_browsing_backdiagonal2d_SOURCES = mln_canvas_browsing_backdiagonal2d.cc
-mln_canvas_browsing_snake_vert_SOURCES = mln_canvas_browsing_snake_vert.cc
-mln_canvas_browsing_dir_struct_elt_incr_update_SOURCES = mln_canvas_browsing_dir_struct_elt_incr_update.cc
-mln_canvas_browsing_essential_SOURCES = mln_canvas_browsing_essential.cc
-mln_canvas_browsing_diagonal2d_SOURCES = mln_canvas_browsing_diagonal2d.cc
-mln_canvas_browsing_hyper_directional_SOURCES = mln_canvas_browsing_hyper_directional.cc
-mln_canvas_distance_front_SOURCES = mln_canvas_distance_front.cc
-mln_util_line_graph_SOURCES = mln_util_line_graph.cc
-mln_util_lazy_set_SOURCES = mln_util_lazy_set.cc
-mln_util_eat_SOURCES = mln_util_eat.cc
-mln_util_ignore_SOURCES = mln_util_ignore.cc
-mln_util_timer_SOURCES = mln_util_timer.cc
-mln_util_all_SOURCES = mln_util_all.cc
-mln_util_tracked_ptr_SOURCES = mln_util_tracked_ptr.cc
-mln_util_internal_graph_nbh_iter_SOURCES = mln_util_internal_graph_nbh_iter.cc
-mln_util_internal_boost_graph_structure_SOURCES = mln_util_internal_boost_graph_structure.cc
-mln_util_internal_edge_impl_SOURCES = mln_util_internal_edge_impl.cc
-mln_util_internal_graph_base_SOURCES = mln_util_internal_graph_base.cc
-mln_util_internal_vertex_impl_SOURCES = mln_util_internal_vertex_impl.cc
-mln_util_internal_graph_iter_SOURCES = mln_util_internal_graph_iter.cc
-mln_util_internal_graph_nbh_iter_base_SOURCES = mln_util_internal_graph_nbh_iter_base.cc
-mln_util_internal_boost_graph_access_SOURCES = mln_util_internal_boost_graph_access.cc
-mln_util_internal_graph_iter_base_SOURCES = mln_util_internal_graph_iter_base.cc
-mln_util_internal_boost_graph_property_SOURCES = mln_util_internal_boost_graph_property.cc
-mln_util_internal_boost_graph_SOURCES = mln_util_internal_boost_graph.cc
-mln_util_pix_SOURCES = mln_util_pix.cc
-mln_util_greater_point_SOURCES = mln_util_greater_point.cc
-mln_util_edge_SOURCES = mln_util_edge.cc
-mln_util_multi_site_SOURCES = mln_util_multi_site.cc
-mln_util_tree_fast_to_image_SOURCES = mln_util_tree_fast_to_image.cc
-mln_util_graph_SOURCES = mln_util_graph.cc
-mln_util_site_pair_SOURCES = mln_util_site_pair.cc
-mln_util_yes_SOURCES = mln_util_yes.cc
-mln_util_essential_SOURCES = mln_util_essential.cc
-mln_util_tree_to_fast_SOURCES = mln_util_tree_to_fast.cc
-mln_util_ord_SOURCES = mln_util_ord.cc
-mln_util_greater_psite_SOURCES = mln_util_greater_psite.cc
-mln_util_vertex_SOURCES = mln_util_vertex.cc
-mln_util_branch_iter_SOURCES = mln_util_branch_iter.cc
-mln_util_tree_fast_SOURCES = mln_util_tree_fast.cc
-mln_util_dindex_SOURCES = mln_util_dindex.cc
-mln_util_branch_iter_ind_SOURCES = mln_util_branch_iter_ind.cc
-mln_util_tree_SOURCES = mln_util_tree.cc
-mln_util_set_SOURCES = mln_util_set.cc
-mln_util_index_SOURCES = mln_util_index.cc
-mln_util_tree_to_image_SOURCES = mln_util_tree_to_image.cc
-mln_util_max_SOURCES = mln_util_max.cc
-mln_util_ord_pair_SOURCES = mln_util_ord_pair.cc
-mln_util_array_SOURCES = mln_util_array.cc
-mln_util_lemmings_SOURCES = mln_util_lemmings.cc
-mln_util_nil_SOURCES = mln_util_nil.cc
-mln_test_all_SOURCES = mln_test_all.cc
+mln_labeling_flat_zones_SOURCES = mln_labeling_flat_zones.cc
+mln_labeling_foreground_SOURCES = mln_labeling_foreground.cc
+mln_labeling_regional_maxima_SOURCES = mln_labeling_regional_maxima.cc
+mln_labeling_compute_SOURCES = mln_labeling_compute.cc
+mln_labeling_regional_minima_SOURCES = mln_labeling_regional_minima.cc
+mln_labeling_essential_SOURCES = mln_labeling_essential.cc
mln_test_predicate_SOURCES = mln_test_predicate.cc
-mln_test_essential_SOURCES = mln_test_essential.cc
+mln_test_all_SOURCES = mln_test_all.cc
mln_test_positive_SOURCES = mln_test_positive.cc
-mln_border_get_SOURCES = mln_border_get.cc
-mln_border_equalize_SOURCES = mln_border_equalize.cc
-mln_border_all_SOURCES = mln_border_all.cc
-mln_border_duplicate_SOURCES = mln_border_duplicate.cc
-mln_border_essential_SOURCES = mln_border_essential.cc
-mln_border_find_SOURCES = mln_border_find.cc
-mln_border_adjust_SOURCES = mln_border_adjust.cc
-mln_border_resize_SOURCES = mln_border_resize.cc
-mln_border_fill_SOURCES = mln_border_fill.cc
-mln_border_thickness_SOURCES = mln_border_thickness.cc
-mln_border_mirror_SOURCES = mln_border_mirror.cc
-mln_accu_histo_SOURCES = mln_accu_histo.cc
-mln_accu_max_h_SOURCES = mln_accu_max_h.cc
-mln_accu_take_SOURCES = mln_accu_take.cc
-mln_accu_center_SOURCES = mln_accu_center.cc
-mln_accu_bbox_SOURCES = mln_accu_bbox.cc
-mln_accu_median_alt_SOURCES = mln_accu_median_alt.cc
-mln_accu_line_SOURCES = mln_accu_line.cc
-mln_accu_all_SOURCES = mln_accu_all.cc
-mln_accu_volume_SOURCES = mln_accu_volume.cc
-mln_accu_min_h_SOURCES = mln_accu_min_h.cc
-mln_accu_land_basic_SOURCES = mln_accu_land_basic.cc
-mln_accu_convolve_SOURCES = mln_accu_convolve.cc
-mln_accu_lor_basic_SOURCES = mln_accu_lor_basic.cc
-mln_accu_sum_SOURCES = mln_accu_sum.cc
-mln_accu_internal_base_SOURCES = mln_accu_internal_base.cc
-mln_accu_min_max_SOURCES = mln_accu_min_max.cc
-mln_accu_rank_SOURCES = mln_accu_rank.cc
-mln_accu_lor_SOURCES = mln_accu_lor.cc
-mln_accu_min_SOURCES = mln_accu_min.cc
-mln_accu_rank_high_quant_SOURCES = mln_accu_rank_high_quant.cc
-mln_accu_transform_directional_SOURCES = mln_accu_transform_directional.cc
-mln_accu_pair_SOURCES = mln_accu_pair.cc
-mln_accu_essential_SOURCES = mln_accu_essential.cc
-mln_accu_median_h_SOURCES = mln_accu_median_h.cc
-mln_accu_transform_SOURCES = mln_accu_transform.cc
-mln_accu_maj_h_SOURCES = mln_accu_maj_h.cc
-mln_accu_p_SOURCES = mln_accu_p.cc
-mln_accu_v_SOURCES = mln_accu_v.cc
-mln_accu_tuple_SOURCES = mln_accu_tuple.cc
-mln_accu_mean_SOURCES = mln_accu_mean.cc
-mln_accu_rank_bool_SOURCES = mln_accu_rank_bool.cc
-mln_accu_compute_SOURCES = mln_accu_compute.cc
-mln_accu_max_SOURCES = mln_accu_max.cc
-mln_accu_land_SOURCES = mln_accu_land.cc
-mln_accu_transform_stop_SOURCES = mln_accu_transform_stop.cc
-mln_accu_count_adjacent_vertices_SOURCES = mln_accu_count_adjacent_vertices.cc
-mln_accu_count_SOURCES = mln_accu_count.cc
-mln_accu_transform_diagonal_SOURCES = mln_accu_transform_diagonal.cc
-mln_accu_transform_snake_SOURCES = mln_accu_transform_snake.cc
-mln_accu_height_SOURCES = mln_accu_height.cc
-mln_accu_nil_SOURCES = mln_accu_nil.cc
-mln_extension_adjust_duplicate_SOURCES = mln_extension_adjust_duplicate.cc
-mln_extension_all_SOURCES = mln_extension_all.cc
-mln_extension_duplicate_SOURCES = mln_extension_duplicate.cc
-mln_extension_essential_SOURCES = mln_extension_essential.cc
-mln_extension_adjust_SOURCES = mln_extension_adjust.cc
-mln_extension_fill_SOURCES = mln_extension_fill.cc
-mln_extension_adjust_fill_SOURCES = mln_extension_adjust_fill.cc
-mln_io_pnm_load_SOURCES = mln_io_pnm_load.cc
-mln_io_pnm_macros_SOURCES = mln_io_pnm_macros.cc
-mln_io_pnm_max_component_SOURCES = mln_io_pnm_max_component.cc
-mln_io_pnm_all_SOURCES = mln_io_pnm_all.cc
-mln_io_pnm_load_header_SOURCES = mln_io_pnm_load_header.cc
-mln_io_pnm_save_SOURCES = mln_io_pnm_save.cc
-mln_io_pnm_save_header_SOURCES = mln_io_pnm_save_header.cc
-mln_io_off_load_SOURCES = mln_io_off_load.cc
-mln_io_off_all_SOURCES = mln_io_off_all.cc
-mln_io_off_save_SOURCES = mln_io_off_save.cc
+mln_test_essential_SOURCES = mln_test_essential.cc
+mln_transform_distance_geodesic_SOURCES = mln_transform_distance_geodesic.cc
+mln_transform_internal_all_SOURCES = mln_transform_internal_all.cc
+mln_transform_internal_distance_functor_SOURCES = mln_transform_internal_distance_functor.cc
+mln_transform_internal_influence_zone_functor_SOURCES = mln_transform_internal_influence_zone_functor.cc
+mln_transform_all_SOURCES = mln_transform_all.cc
+mln_transform_influence_zone_front_SOURCES = mln_transform_influence_zone_front.cc
+mln_transform_distance_front_SOURCES = mln_transform_distance_front.cc
+mln_transform_influence_zone_geodesic_SOURCES = mln_transform_influence_zone_geodesic.cc
+mln_transform_essential_SOURCES = mln_transform_essential.cc
+mln_arith_includes_SOURCES = mln_arith_includes.cc
+mln_arith_plus_SOURCES = mln_arith_plus.cc
+mln_arith_all_SOURCES = mln_arith_all.cc
+mln_arith_times_SOURCES = mln_arith_times.cc
+mln_arith_diff_abs_SOURCES = mln_arith_diff_abs.cc
+mln_arith_minus_SOURCES = mln_arith_minus.cc
+mln_arith_min_SOURCES = mln_arith_min.cc
+mln_arith_revert_SOURCES = mln_arith_revert.cc
+mln_arith_essential_SOURCES = mln_arith_essential.cc
+mln_io_pgm_load_SOURCES = mln_io_pgm_load.cc
+mln_io_pgm_all_SOURCES = mln_io_pgm_all.cc
+mln_io_pgm_save_SOURCES = mln_io_pgm_save.cc
+mln_io_ppm_load_SOURCES = mln_io_ppm_load.cc
+mln_io_ppm_all_SOURCES = mln_io_ppm_all.cc
+mln_io_ppm_save_SOURCES = mln_io_ppm_save.cc
+mln_io_pfm_load_SOURCES = mln_io_pfm_load.cc
+mln_io_pfm_all_SOURCES = mln_io_pfm_all.cc
+mln_io_pfm_save_SOURCES = mln_io_pfm_save.cc
mln_io_all_SOURCES = mln_io_all.cc
mln_io_pbm_load_SOURCES = mln_io_pbm_load.cc
mln_io_pbm_all_SOURCES = mln_io_pbm_all.cc
mln_io_pbm_save_SOURCES = mln_io_pbm_save.cc
-mln_io_pfm_load_SOURCES = mln_io_pfm_load.cc
-mln_io_pfm_all_SOURCES = mln_io_pfm_all.cc
-mln_io_pfm_save_SOURCES = mln_io_pfm_save.cc
-mln_io_fits_load_SOURCES = mln_io_fits_load.cc
-mln_io_fits_all_SOURCES = mln_io_fits_all.cc
+mln_io_pnm_max_component_SOURCES = mln_io_pnm_max_component.cc
+mln_io_pnm_load_SOURCES = mln_io_pnm_load.cc
+mln_io_pnm_load_header_SOURCES = mln_io_pnm_load_header.cc
+mln_io_pnm_all_SOURCES = mln_io_pnm_all.cc
+mln_io_pnm_macros_SOURCES = mln_io_pnm_macros.cc
+mln_io_pnm_save_SOURCES = mln_io_pnm_save.cc
+mln_io_pnm_save_header_SOURCES = mln_io_pnm_save_header.cc
mln_io_txt_all_SOURCES = mln_io_txt_all.cc
mln_io_txt_save_SOURCES = mln_io_txt_save.cc
mln_io_abort_SOURCES = mln_io_abort.cc
+mln_io_fits_load_SOURCES = mln_io_fits_load.cc
+mln_io_fits_all_SOURCES = mln_io_fits_all.cc
+mln_io_off_load_SOURCES = mln_io_off_load.cc
+mln_io_off_all_SOURCES = mln_io_off_all.cc
+mln_io_off_save_SOURCES = mln_io_off_save.cc
mln_io_essential_SOURCES = mln_io_essential.cc
-mln_io_ppm_load_SOURCES = mln_io_ppm_load.cc
-mln_io_ppm_all_SOURCES = mln_io_ppm_all.cc
-mln_io_ppm_save_SOURCES = mln_io_ppm_save.cc
-mln_io_pgm_load_SOURCES = mln_io_pgm_load.cc
-mln_io_pgm_all_SOURCES = mln_io_pgm_all.cc
-mln_io_pgm_save_SOURCES = mln_io_pgm_save.cc
-mln_arith_minus_SOURCES = mln_arith_minus.cc
-mln_arith_all_SOURCES = mln_arith_all.cc
-mln_arith_includes_SOURCES = mln_arith_includes.cc
-mln_arith_min_SOURCES = mln_arith_min.cc
-mln_arith_diff_abs_SOURCES = mln_arith_diff_abs.cc
-mln_arith_essential_SOURCES = mln_arith_essential.cc
-mln_arith_times_SOURCES = mln_arith_times.cc
-mln_arith_revert_SOURCES = mln_arith_revert.cc
-mln_arith_plus_SOURCES = mln_arith_plus.cc
-mln_convert_to_p_array_SOURCES = mln_convert_to_p_array.cc
-mln_convert_to_SOURCES = mln_convert_to.cc
-mln_convert_to_dpoint_SOURCES = mln_convert_to_dpoint.cc
-mln_convert_all_SOURCES = mln_convert_all.cc
-mln_convert_to_upper_window_SOURCES = mln_convert_to_upper_window.cc
-mln_convert_impl_all_SOURCES = mln_convert_impl_all.cc
-mln_convert_impl_from_value_to_value_SOURCES = mln_convert_impl_from_value_to_value.cc
-mln_convert_impl_from_image_to_site_set_SOURCES = mln_convert_impl_from_image_to_site_set.cc
-mln_convert_essential_SOURCES = mln_convert_essential.cc
-mln_convert_from_to_SOURCES = mln_convert_from_to.cc
-mln_convert_to_fun_SOURCES = mln_convert_to_fun.cc
-mln_convert_to_image_SOURCES = mln_convert_to_image.cc
-mln_convert_to_window_SOURCES = mln_convert_to_window.cc
-mln_convert_to_rgb_SOURCES = mln_convert_to_rgb.cc
-mln_convert_to_p_set_SOURCES = mln_convert_to_p_set.cc
-mln_win_backdiag2d_SOURCES = mln_win_backdiag2d.cc
-mln_win_cube3d_SOURCES = mln_win_cube3d.cc
-mln_win_line_SOURCES = mln_win_line.cc
-mln_win_all_SOURCES = mln_win_all.cc
-mln_win_rectangle2d_SOURCES = mln_win_rectangle2d.cc
-mln_win_disk2d_SOURCES = mln_win_disk2d.cc
-mln_win_cuboid3d_SOURCES = mln_win_cuboid3d.cc
-mln_win_diag2d_SOURCES = mln_win_diag2d.cc
-mln_win_shift_SOURCES = mln_win_shift.cc
-mln_win_essential_SOURCES = mln_win_essential.cc
-mln_win_octagon2d_SOURCES = mln_win_octagon2d.cc
-mln_win_sym_SOURCES = mln_win_sym.cc
-mln_win_hline2d_SOURCES = mln_win_hline2d.cc
-mln_win_segment1d_SOURCES = mln_win_segment1d.cc
-mln_win_diff_SOURCES = mln_win_diff.cc
-mln_win_vline2d_SOURCES = mln_win_vline2d.cc
-mln_win_inter_SOURCES = mln_win_inter.cc
-mln_win_multiple_size_SOURCES = mln_win_multiple_size.cc
-mln_win_multiple_SOURCES = mln_win_multiple.cc
-mln_algebra_all_SOURCES = mln_algebra_all.cc
-mln_algebra_h_mat_SOURCES = mln_algebra_h_mat.cc
-mln_algebra_essential_SOURCES = mln_algebra_essential.cc
-mln_algebra_h_vec_SOURCES = mln_algebra_h_vec.cc
-mln_algebra_vec_SOURCES = mln_algebra_vec.cc
-mln_algebra_quat_SOURCES = mln_algebra_quat.cc
-mln_algebra_mat_SOURCES = mln_algebra_mat.cc
-mln_debug_colorize_SOURCES = mln_debug_colorize.cc
+mln_logical_includes_SOURCES = mln_logical_includes.cc
+mln_logical_and_not_SOURCES = mln_logical_and_not.cc
+mln_logical_xor_SOURCES = mln_logical_xor.cc
+mln_logical_all_SOURCES = mln_logical_all.cc
+mln_logical_not_SOURCES = mln_logical_not.cc
+mln_logical_and_SOURCES = mln_logical_and.cc
+mln_logical_or_SOURCES = mln_logical_or.cc
+mln_logical_essential_SOURCES = mln_logical_essential.cc
+mln_norm_all_SOURCES = mln_norm_all.cc
+mln_norm_l1_SOURCES = mln_norm_l1.cc
+mln_norm_l2_SOURCES = mln_norm_l2.cc
+mln_norm_linfty_SOURCES = mln_norm_linfty.cc
+mln_norm_essential_SOURCES = mln_norm_essential.cc
mln_debug_iota_SOURCES = mln_debug_iota.cc
-mln_debug_draw_graph_SOURCES = mln_debug_draw_graph.cc
-mln_debug_format_SOURCES = mln_debug_format.cc
mln_debug_all_SOURCES = mln_debug_all.cc
-mln_debug_essential_SOURCES = mln_debug_essential.cc
mln_debug_println_with_border_SOURCES = mln_debug_println_with_border.cc
-mln_debug_println_SOURCES = mln_debug_println.cc
+mln_debug_colorize_SOURCES = mln_debug_colorize.cc
+mln_debug_draw_graph_SOURCES = mln_debug_draw_graph.cc
mln_debug_put_word_SOURCES = mln_debug_put_word.cc
-mln_value_int_u8_SOURCES = mln_value_int_u8.cc
-mln_value_viter_SOURCES = mln_value_viter.cc
-mln_value_glf_SOURCES = mln_value_glf.cc
-mln_value_label_SOURCES = mln_value_label.cc
-mln_value_int_u_sat_SOURCES = mln_value_int_u_sat.cc
-mln_value_float01_8_SOURCES = mln_value_float01_8.cc
-mln_value_all_SOURCES = mln_value_all.cc
-mln_value_rgb_SOURCES = mln_value_rgb.cc
-mln_value_int_s16_SOURCES = mln_value_int_s16.cc
-mln_value_concept_vectorial_SOURCES = mln_value_concept_vectorial.cc
-mln_value_concept_floating_SOURCES = mln_value_concept_floating.cc
-mln_value_concept_all_SOURCES = mln_value_concept_all.cc
-mln_value_concept_data_SOURCES = mln_value_concept_data.cc
-mln_value_concept_built_in_SOURCES = mln_value_concept_built_in.cc
-mln_value_concept_integer_SOURCES = mln_value_concept_integer.cc
-mln_value_concept_essential_SOURCES = mln_value_concept_essential.cc
-mln_value_concept_symbolic_SOURCES = mln_value_concept_symbolic.cc
-mln_value_concept_structured_SOURCES = mln_value_concept_structured.cc
-mln_value_concept_scalar_SOURCES = mln_value_concept_scalar.cc
-mln_value_internal_all_SOURCES = mln_value_internal_all.cc
-mln_value_internal_value_like_SOURCES = mln_value_internal_value_like.cc
-mln_value_internal_gray_f_SOURCES = mln_value_internal_gray_f.cc
-mln_value_internal_integer_SOURCES = mln_value_internal_integer.cc
-mln_value_internal_essential_SOURCES = mln_value_internal_essential.cc
-mln_value_internal_convert_SOURCES = mln_value_internal_convert.cc
-mln_value_internal_gray__SOURCES = mln_value_internal_gray_.cc
-mln_value_internal_encoding_SOURCES = mln_value_internal_encoding.cc
-mln_value_internal_iterable_set_SOURCES = mln_value_internal_iterable_set.cc
-mln_value_int_s32_SOURCES = mln_value_int_s32.cc
-mln_value_int_s_SOURCES = mln_value_int_s.cc
-mln_value_float01__SOURCES = mln_value_float01_.cc
-mln_value_label_16_SOURCES = mln_value_label_16.cc
-mln_value_int_u16_SOURCES = mln_value_int_u16.cc
-mln_value_int_u_SOURCES = mln_value_int_u.cc
-mln_value_hsi_SOURCES = mln_value_hsi.cc
-mln_value_essential_SOURCES = mln_value_essential.cc
-mln_value_gl16_SOURCES = mln_value_gl16.cc
-mln_value_label_8_SOURCES = mln_value_label_8.cc
-mln_value_int_u32_SOURCES = mln_value_int_u32.cc
-mln_value_interval_SOURCES = mln_value_interval.cc
-mln_value_builtin_floatings_SOURCES = mln_value_builtin_floatings.cc
-mln_value_builtin_all_SOURCES = mln_value_builtin_all.cc
-mln_value_builtin_symbolics_SOURCES = mln_value_builtin_symbolics.cc
-mln_value_builtin_promotions_SOURCES = mln_value_builtin_promotions.cc
-mln_value_builtin_essential_SOURCES = mln_value_builtin_essential.cc
-mln_value_builtin_integers_SOURCES = mln_value_builtin_integers.cc
-mln_value_builtin_ops_SOURCES = mln_value_builtin_ops.cc
-mln_value_rgb16_SOURCES = mln_value_rgb16.cc
-mln_value_graylevel_f_SOURCES = mln_value_graylevel_f.cc
-mln_value_gl8_SOURCES = mln_value_gl8.cc
-mln_value_super_value_SOURCES = mln_value_super_value.cc
-mln_value_lut_vec_SOURCES = mln_value_lut_vec.cc
-mln_value_float01_SOURCES = mln_value_float01.cc
-mln_value_aliases_SOURCES = mln_value_aliases.cc
-mln_value_proxy_SOURCES = mln_value_proxy.cc
-mln_value_set_SOURCES = mln_value_set.cc
-mln_value_cast_SOURCES = mln_value_cast.cc
-mln_value_rgb8_SOURCES = mln_value_rgb8.cc
-mln_value_stack_SOURCES = mln_value_stack.cc
-mln_value_float01_f_SOURCES = mln_value_float01_f.cc
-mln_value_other_SOURCES = mln_value_other.cc
-mln_value_scalar_SOURCES = mln_value_scalar.cc
-mln_value_equiv_SOURCES = mln_value_equiv.cc
-mln_value_float01_16_SOURCES = mln_value_float01_16.cc
-mln_value_graylevel_SOURCES = mln_value_graylevel.cc
-mln_value_sign_SOURCES = mln_value_sign.cc
-mln_value_ops_SOURCES = mln_value_ops.cc
-mln_value_int_s8_SOURCES = mln_value_int_s8.cc
-mln_fun_x2x_all_SOURCES = mln_fun_x2x_all.cc
-mln_fun_x2x_translation_SOURCES = mln_fun_x2x_translation.cc
-mln_fun_x2x_essential_SOURCES = mln_fun_x2x_essential.cc
-mln_fun_x2x_rotation_SOURCES = mln_fun_x2x_rotation.cc
-mln_fun_x2x_composed_SOURCES = mln_fun_x2x_composed.cc
-mln_fun_x2p_all_SOURCES = mln_fun_x2p_all.cc
-mln_fun_x2p_essential_SOURCES = mln_fun_x2p_essential.cc
-mln_fun_x2p_closest_point_SOURCES = mln_fun_x2p_closest_point.cc
-mln_fun_v2b_all_SOURCES = mln_fun_v2b_all.cc
-mln_fun_v2b_essential_SOURCES = mln_fun_v2b_essential.cc
-mln_fun_v2b_threshold_SOURCES = mln_fun_v2b_threshold.cc
-mln_fun_v2b_lnot_SOURCES = mln_fun_v2b_lnot.cc
-mln_fun_p2v_iota_SOURCES = mln_fun_p2v_iota.cc
-mln_fun_p2v_elifs_SOURCES = mln_fun_p2v_elifs.cc
-mln_fun_p2v_all_SOURCES = mln_fun_p2v_all.cc
-mln_fun_p2v_essential_SOURCES = mln_fun_p2v_essential.cc
-mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
-mln_fun_all_SOURCES = mln_fun_all.cc
-mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
-mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
-mln_fun_internal_x2x_linear_impl_SOURCES = mln_fun_internal_x2x_linear_impl.cc
-mln_fun_vv2v_macros_SOURCES = mln_fun_vv2v_macros.cc
-mln_fun_vv2v_all_SOURCES = mln_fun_vv2v_all.cc
-mln_fun_vv2v_lor_SOURCES = mln_fun_vv2v_lor.cc
-mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
-mln_fun_vv2v_diff_abs_SOURCES = mln_fun_vv2v_diff_abs.cc
-mln_fun_vv2v_essential_SOURCES = mln_fun_vv2v_essential.cc
-mln_fun_vv2v_land_not_SOURCES = mln_fun_vv2v_land_not.cc
-mln_fun_vv2v_vec_SOURCES = mln_fun_vv2v_vec.cc
-mln_fun_vv2v_lxor_SOURCES = mln_fun_vv2v_lxor.cc
-mln_fun_vv2v_max_SOURCES = mln_fun_vv2v_max.cc
-mln_fun_vv2v_land_SOURCES = mln_fun_vv2v_land.cc
-mln_fun_p2p_mirror_SOURCES = mln_fun_p2p_mirror.cc
-mln_fun_v2v_norm_SOURCES = mln_fun_v2v_norm.cc
-mln_fun_v2v_all_SOURCES = mln_fun_v2v_all.cc
-mln_fun_v2v_inc_SOURCES = mln_fun_v2v_inc.cc
-mln_fun_v2v_essential_SOURCES = mln_fun_v2v_essential.cc
-mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
-mln_fun_v2v_linear_SOURCES = mln_fun_v2v_linear.cc
-mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
-mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
-mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.cc
-mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
-mln_fun_v2v_id_SOURCES = mln_fun_v2v_id.cc
-mln_fun_v2v_enc_SOURCES = mln_fun_v2v_enc.cc
-mln_fun_v2v_saturate_SOURCES = mln_fun_v2v_saturate.cc
-mln_fun_essential_SOURCES = mln_fun_essential.cc
-mln_fun_p2b_all_SOURCES = mln_fun_p2b_all.cc
-mln_fun_p2b_big_chess_SOURCES = mln_fun_p2b_big_chess.cc
-mln_fun_p2b_essential_SOURCES = mln_fun_p2b_essential.cc
-mln_fun_p2b_has_SOURCES = mln_fun_p2b_has.cc
-mln_fun_p2b_chess_SOURCES = mln_fun_p2b_chess.cc
-mln_fun_c_SOURCES = mln_fun_c.cc
-mln_fun_i2v_all_to_SOURCES = mln_fun_i2v_all_to.cc
-mln_fun_i2v_all_SOURCES = mln_fun_i2v_all.cc
-mln_fun_i2v_essential_SOURCES = mln_fun_i2v_essential.cc
-mln_fun_i2v_array_SOURCES = mln_fun_i2v_array.cc
-mln_fun_x2v_all_SOURCES = mln_fun_x2v_all.cc
-mln_fun_x2v_l1_norm_SOURCES = mln_fun_x2v_l1_norm.cc
-mln_fun_x2v_essential_SOURCES = mln_fun_x2v_essential.cc
-mln_fun_x2v_linear_SOURCES = mln_fun_x2v_linear.cc
-mln_fun_x2v_bilinear_SOURCES = mln_fun_x2v_bilinear.cc
-mln_fun_x2v_nneighbor_SOURCES = mln_fun_x2v_nneighbor.cc
-mln_fun_cast_SOURCES = mln_fun_cast.cc
-mln_fun_l2l_all_SOURCES = mln_fun_l2l_all.cc
-mln_fun_l2l_essential_SOURCES = mln_fun_l2l_essential.cc
-mln_fun_l2l_relabel_SOURCES = mln_fun_l2l_relabel.cc
-mln_fun_ops_SOURCES = mln_fun_ops.cc
-mln_norm_all_SOURCES = mln_norm_all.cc
-mln_norm_essential_SOURCES = mln_norm_essential.cc
-mln_norm_linfty_SOURCES = mln_norm_linfty.cc
-mln_norm_l1_SOURCES = mln_norm_l1.cc
-mln_norm_l2_SOURCES = mln_norm_l2.cc
-mln_metal_is_SOURCES = mln_metal_is.cc
-mln_metal_is_a_SOURCES = mln_metal_is_a.cc
-mln_metal_array3d_SOURCES = mln_metal_array3d.cc
-mln_metal_if_SOURCES = mln_metal_if.cc
-mln_metal_same_coord_SOURCES = mln_metal_same_coord.cc
-mln_metal_ands_SOURCES = mln_metal_ands.cc
-mln_metal_goes_to_SOURCES = mln_metal_goes_to.cc
-mln_metal_is_not_ref_SOURCES = mln_metal_is_not_ref.cc
-mln_metal_has_neighborhood_SOURCES = mln_metal_has_neighborhood.cc
-mln_metal_equal_SOURCES = mln_metal_equal.cc
-mln_metal_all_SOURCES = mln_metal_all.cc
-mln_metal_unref_SOURCES = mln_metal_unref.cc
-mln_metal_math_sqrt_SOURCES = mln_metal_math_sqrt.cc
-mln_metal_math_root_SOURCES = mln_metal_math_root.cc
-mln_metal_math_all_SOURCES = mln_metal_math_all.cc
-mln_metal_math_pow_SOURCES = mln_metal_math_pow.cc
-mln_metal_math_max_SOURCES = mln_metal_math_max.cc
-mln_metal_unqualif_SOURCES = mln_metal_unqualif.cc
-mln_metal_array2d_SOURCES = mln_metal_array2d.cc
-mln_metal_bool_SOURCES = mln_metal_bool.cc
-mln_metal_is_unqualif_SOURCES = mln_metal_is_unqualif.cc
-mln_metal_not_equal_SOURCES = mln_metal_not_equal.cc
-mln_metal_templated_by_SOURCES = mln_metal_templated_by.cc
-mln_metal_is_const_SOURCES = mln_metal_is_const.cc
-mln_metal_same_point_SOURCES = mln_metal_same_point.cc
-mln_metal_is_not_a_SOURCES = mln_metal_is_not_a.cc
-mln_metal_int_SOURCES = mln_metal_int.cc
-mln_metal_abort_SOURCES = mln_metal_abort.cc
-mln_metal_essential_SOURCES = mln_metal_essential.cc
-mln_metal_ref_SOURCES = mln_metal_ref.cc
-mln_metal_array1d_SOURCES = mln_metal_array1d.cc
-mln_metal_unconst_SOURCES = mln_metal_unconst.cc
-mln_metal_none_SOURCES = mln_metal_none.cc
-mln_metal_is_not_const_SOURCES = mln_metal_is_not_const.cc
-mln_metal_vec_SOURCES = mln_metal_vec.cc
-mln_metal_is_not_SOURCES = mln_metal_is_not.cc
-mln_metal_const_SOURCES = mln_metal_const.cc
-mln_metal_converts_to_SOURCES = mln_metal_converts_to.cc
-mln_metal_fix_return_SOURCES = mln_metal_fix_return.cc
-mln_metal_bexpr_SOURCES = mln_metal_bexpr.cc
-mln_metal_array_SOURCES = mln_metal_array.cc
-mln_metal_ret_SOURCES = mln_metal_ret.cc
-mln_metal_mat_SOURCES = mln_metal_mat.cc
-mln_metal_is_ref_SOURCES = mln_metal_is_ref.cc
-mln_metal_unptr_SOURCES = mln_metal_unptr.cc
-mln_+__proto___fake_run_SOURCES = mln_+__proto___fake_run.cc
-mln_+__proto___fake_utils_SOURCES = mln_+__proto___fake_utils.cc
-mln_+__proto___fake_array_SOURCES = mln_+__proto___fake_array.cc
-mln_level_+memo_fill_SOURCES = mln_level_+memo_fill.cc
-mln_level_assign_SOURCES = mln_level_assign.cc
-mln_level_stretch_SOURCES = mln_level_stretch.cc
-mln_level_to_enc_SOURCES = mln_level_to_enc.cc
-mln_level_all_SOURCES = mln_level_all.cc
-mln_level_median_SOURCES = mln_level_median.cc
-mln_level_compare_SOURCES = mln_level_compare.cc
-mln_level_approx_all_SOURCES = mln_level_approx_all.cc
-mln_level_approx_median_SOURCES = mln_level_approx_median.cc
-mln_level_approx_essential_SOURCES = mln_level_approx_essential.cc
-mln_level_paste_SOURCES = mln_level_paste.cc
-mln_level_fast_median_SOURCES = mln_level_fast_median.cc
-mln_level_replace_SOURCES = mln_level_replace.cc
-mln_level_essential_SOURCES = mln_level_essential.cc
-mln_level_transform_SOURCES = mln_level_transform.cc
-mln_level_abs_SOURCES = mln_level_abs.cc
-mln_level_sort_psites_SOURCES = mln_level_sort_psites.cc
-mln_level_memcpy__SOURCES = mln_level_memcpy_.cc
-mln_level_update_SOURCES = mln_level_update.cc
-mln_level_was_median_SOURCES = mln_level_was_median.cc
-mln_level_fill_SOURCES = mln_level_fill.cc
-mln_level_fill_with_image_SOURCES = mln_level_fill_with_image.cc
-mln_level_convert_SOURCES = mln_level_convert.cc
-mln_level_fill_with_value_SOURCES = mln_level_fill_with_value.cc
-mln_level_naive_all_SOURCES = mln_level_naive_all.cc
-mln_level_naive_median_SOURCES = mln_level_naive_median.cc
-mln_level_naive_essential_SOURCES = mln_level_naive_essential.cc
-mln_level_compute_SOURCES = mln_level_compute.cc
-mln_level_memset__SOURCES = mln_level_memset_.cc
-mln_level_apply_SOURCES = mln_level_apply.cc
-mln_level_transform_inplace_SOURCES = mln_level_transform_inplace.cc
-mln_level_saturate_SOURCES = mln_level_saturate.cc
-mln_subsampling_all_SOURCES = mln_subsampling_all.cc
+mln_debug_format_SOURCES = mln_debug_format.cc
+mln_debug_println_SOURCES = mln_debug_println.cc
+mln_debug_essential_SOURCES = mln_debug_essential.cc
+mln_estim_min_max_SOURCES = mln_estim_min_max.cc
+mln_estim_all_SOURCES = mln_estim_all.cc
+mln_estim_sum_SOURCES = mln_estim_sum.cc
+mln_estim_mean_SOURCES = mln_estim_mean.cc
+mln_estim_essential_SOURCES = mln_estim_essential.cc
+mln_set_uni_SOURCES = mln_set_uni.cc
+mln_set_inter_SOURCES = mln_set_inter.cc
+mln_set_all_SOURCES = mln_set_all.cc
+mln_set_get_SOURCES = mln_set_get.cc
+mln_set_sym_diff_SOURCES = mln_set_sym_diff.cc
+mln_set_has_SOURCES = mln_set_has.cc
+mln_set_diff_SOURCES = mln_set_diff.cc
+mln_set_compute_SOURCES = mln_set_compute.cc
+mln_set_essential_SOURCES = mln_set_essential.cc
+mln_border_adjust_SOURCES = mln_border_adjust.cc
+mln_border_duplicate_SOURCES = mln_border_duplicate.cc
+mln_border_find_SOURCES = mln_border_find.cc
+mln_border_thickness_SOURCES = mln_border_thickness.cc
+mln_border_all_SOURCES = mln_border_all.cc
+mln_border_mirror_SOURCES = mln_border_mirror.cc
+mln_border_get_SOURCES = mln_border_get.cc
+mln_border_equalize_SOURCES = mln_border_equalize.cc
+mln_border_resize_SOURCES = mln_border_resize.cc
+mln_border_fill_SOURCES = mln_border_fill.cc
+mln_border_essential_SOURCES = mln_border_essential.cc
mln_subsampling_gaussian_subsampling_SOURCES = mln_subsampling_gaussian_subsampling.cc
-mln_subsampling_essential_SOURCES = mln_subsampling_essential.cc
+mln_subsampling_all_SOURCES = mln_subsampling_all.cc
mln_subsampling_subsampling_SOURCES = mln_subsampling_subsampling.cc
-mln_logical_all_SOURCES = mln_logical_all.cc
-mln_logical_includes_SOURCES = mln_logical_includes.cc
-mln_logical_and_SOURCES = mln_logical_and.cc
-mln_logical_and_not_SOURCES = mln_logical_and_not.cc
-mln_logical_or_SOURCES = mln_logical_or.cc
-mln_logical_not_SOURCES = mln_logical_not.cc
-mln_logical_essential_SOURCES = mln_logical_essential.cc
-mln_logical_xor_SOURCES = mln_logical_xor.cc
-mln_linear_lap_SOURCES = mln_linear_lap.cc
-mln_linear_all_SOURCES = mln_linear_all.cc
-mln_linear_convolve_SOURCES = mln_linear_convolve.cc
-mln_linear_gaussian_SOURCES = mln_linear_gaussian.cc
-mln_linear_essential_SOURCES = mln_linear_essential.cc
-mln_linear_log_SOURCES = mln_linear_log.cc
-mln_linear_ch_convolve_SOURCES = mln_linear_ch_convolve.cc
-mln_linear_local_convolve_SOURCES = mln_linear_local_convolve.cc
-mln_linear_convolve_directional_SOURCES = mln_linear_convolve_directional.cc
-mln_linear_convolve_2x1d_SOURCES = mln_linear_convolve_2x1d.cc
-mln_linear_sobel_2d_SOURCES = mln_linear_sobel_2d.cc
-mln_display_all_SOURCES = mln_display_all.cc
-mln_display_essential_SOURCES = mln_display_essential.cc
-mln_pw_all_SOURCES = mln_pw_all.cc
-mln_pw_image_SOURCES = mln_pw_image.cc
-mln_pw_cst_SOURCES = mln_pw_cst.cc
-mln_pw_var_SOURCES = mln_pw_var.cc
-mln_pw_essential_SOURCES = mln_pw_essential.cc
-mln_pw_value_SOURCES = mln_pw_value.cc
-mln_geom_size1d_SOURCES = mln_geom_size1d.cc
-mln_geom_size2d_SOURCES = mln_geom_size2d.cc
-mln_geom_bbox_SOURCES = mln_geom_bbox.cc
-mln_geom_nslis_SOURCES = mln_geom_nslis.cc
-mln_geom_ninds_SOURCES = mln_geom_ninds.cc
-mln_geom_all_SOURCES = mln_geom_all.cc
-mln_geom_seeds2tiling_SOURCES = mln_geom_seeds2tiling.cc
-mln_geom_min_row_SOURCES = mln_geom_min_row.cc
-mln_geom_ncols_SOURCES = mln_geom_ncols.cc
-mln_geom_nrows_SOURCES = mln_geom_nrows.cc
-mln_geom_delta_SOURCES = mln_geom_delta.cc
-mln_geom_nsites_SOURCES = mln_geom_nsites.cc
-mln_geom_max_col_SOURCES = mln_geom_max_col.cc
-mln_geom_seeds2tiling_roundness_SOURCES = mln_geom_seeds2tiling_roundness.cc
-mln_geom_min_ind_SOURCES = mln_geom_min_ind.cc
-mln_geom_max_sli_SOURCES = mln_geom_max_sli.cc
-mln_geom_max_row_SOURCES = mln_geom_max_row.cc
-mln_geom_essential_SOURCES = mln_geom_essential.cc
-mln_geom_pmin_pmax_SOURCES = mln_geom_pmin_pmax.cc
-mln_geom_min_sli_SOURCES = mln_geom_min_sli.cc
-mln_geom_resize_SOURCES = mln_geom_resize.cc
-mln_geom_max_ind_SOURCES = mln_geom_max_ind.cc
-mln_geom_chamfer_SOURCES = mln_geom_chamfer.cc
-mln_geom_min_col_SOURCES = mln_geom_min_col.cc
-mln_geom_size3d_SOURCES = mln_geom_size3d.cc
-mln_geom_complex_geometry_SOURCES = mln_geom_complex_geometry.cc
-mln_registration_multiscale_SOURCES = mln_registration_multiscale.cc
-mln_registration_all_SOURCES = mln_registration_all.cc
-mln_registration_internal_rms_SOURCES = mln_registration_internal_rms.cc
-mln_registration_icp_SOURCES = mln_registration_icp.cc
-mln_registration_registration_SOURCES = mln_registration_registration.cc
-mln_registration_essential_SOURCES = mln_registration_essential.cc
-mln_registration_get_rtransf_SOURCES = mln_registration_get_rtransf.cc
-mln_registration_get_rot_SOURCES = mln_registration_get_rot.cc
-mln_literal_white_SOURCES = mln_literal_white.cc
-mln_literal_all_SOURCES = mln_literal_all.cc
-mln_literal_black_SOURCES = mln_literal_black.cc
-mln_literal_grays_SOURCES = mln_literal_grays.cc
-mln_literal_zero_SOURCES = mln_literal_zero.cc
-mln_literal_essential_SOURCES = mln_literal_essential.cc
-mln_literal_origin_SOURCES = mln_literal_origin.cc
-mln_literal_one_SOURCES = mln_literal_one.cc
-mln_literal_colors_SOURCES = mln_literal_colors.cc
-mln_literal_ops_SOURCES = mln_literal_ops.cc
+mln_subsampling_essential_SOURCES = mln_subsampling_essential.cc
TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/unit_test/mln_core_concept_all.cc b/milena/tests/unit_test/mln_core_concept_all.cc
new file mode 100644
index 0000000..bc2f7ee
--- /dev/null
+++ b/milena/tests/unit_test/mln_core_concept_all.cc
@@ -0,0 +1,8 @@
+// Unit test for mln/core/concept/all.hh.
+// Generated file, do not modify.
+#include <mln/core/concept/all.hh>
+
+int main()
+{
+ // Nothing.
+}
diff --git a/milena/tests/unit_test/mln_core_site_set_operators.cc b/milena/tests/unit_test/mln_core_site_set_operators.cc
new file mode 100644
index 0000000..aa1a6e9
--- /dev/null
+++ b/milena/tests/unit_test/mln_core_site_set_operators.cc
@@ -0,0 +1,8 @@
+// Unit test for mln/core/site_set/operators.hh.
+// Generated file, do not modify.
+#include <mln/core/site_set/operators.hh>
+
+int main()
+{
+ // Nothing.
+}
--
1.5.6.5
1
0
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
ChangeLog:
2008-12-09 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
[Markov] Make the algotithm work.
* markov/markov.hh: Fix compute_energy and use of random.
* markov/random.hxx: Fix random on boolean.
---
markov.hh | 45 +++++++++++++++++++++++++++++++--------------
random.hxx | 10 +++++++++-
2 files changed, 40 insertions(+), 15 deletions(-)
Index: trunk/milena/sandbox/markov/random.hxx
===================================================================
--- trunk/milena/sandbox/markov/random.hxx (revision 3015)
+++ trunk/milena/sandbox/markov/random.hxx (revision 3016)
@@ -21,9 +21,17 @@
T
Random<T>::get () const
{
- return (sup_ - inf_) * (((double) rand ()) / RAND_MAX) + inf_;
+ double res = (sup_ - inf_) * (((double) rand ()) / RAND_MAX) + inf_;
+ return res;
}
+template <>
+bool
+Random<bool>::get () const
+{
+ bool res = rand () > (RAND_MAX / 2);
+ return res;
+}
#endif /* !RANDOM_HXX_ */
Index: trunk/milena/sandbox/markov/markov.hh
===================================================================
--- trunk/milena/sandbox/markov/markov.hh (revision 3015)
+++ trunk/milena/sandbox/markov/markov.hh (revision 3016)
@@ -2,9 +2,11 @@
# define MARKOV_HH_
# include <cmath>
+# include <iomanip>
# include <random.hh>
# include <T_gen.hh>
# include <mln/binarization/threshold.hh>
+# include <mln/core/routine/clone.hh>
namespace mln
{
@@ -14,10 +16,10 @@
{
// Compute u(x,y)
double u;
- if (xi)
- u = (double) ima(p) / mln_max(mln_value(I));
+ if (xi == ima(p))
+ u = 0;
else
- u = 1. - (double) ima(p) / mln_max(mln_value(I));
+ u = 1;
// u(x) is cst so we don't care
@@ -34,7 +36,20 @@
diff_sum /= coeff;
- return 1 * (u + diff_sum);
+// std::cout << "energy : " << (u + diff_sum) << std::endl;
+
+ return (u + diff_sum * 5);
+ }
+
+ template <typename I>
+ void dump(const Image<I>& ima)
+ {
+ static int id = 0;
+ std::stringstream filename, is_filename;
+ filename << "trace_" << std::setw(5) << std::setfill('0')
+ << std::right << id++ << ".pbm";
+
+ io::pbm::save(ima, filename.str());
}
template <typename I, typename N> // I == int_u8
@@ -43,13 +58,15 @@
const I &ima = exact(ima_);
const N &nbh = exact(nbh_);
- // mln_ch_value(I, bool) out(ima.domain()); // FIXME: generalize, we might not do a binarisation
- mln_ch_value(I, bool) out = binarization::threshold(ima, 255 / 2); // FIXME : max
+ mln_ch_value(I, bool) bin = binarization::threshold(ima, 255 / 2); // FIXME : max
+ mln_ch_value(I, bool) out(bin.domain());
+
+ io::pbm::save(out, "threshold.pbm");
temperature_generator gtemp(start_temp, 0.8);
double temp = start_temp;
- Random<int> v_random(0, 1); // mettre max et min ?
+ Random<bool> v_random(0, 1); // mettre max et min ?
Random<double> p_random(0., 1.); // idem
unsigned modifications = 42;
@@ -59,23 +76,23 @@
while (!gradient || modifications)
{
- mln_piter(I) p(ima.domain());
+ // Trace.
+// dump(out);
+
+ mln_piter(I) p(bin.domain());
modifications = 0;
for_all(p)
{
bool v = v_random.get();
- // std::cout << "Random : " << v << std::endl;
- double u = compute_energy(ima, out, nbh, out(p), p);
- double up = compute_energy(ima, out, nbh, v, p);
+ double u = compute_energy(bin, out, nbh, out(p), p);
+ double up = compute_energy(bin, out, nbh, v, p);
double d_u = up - u;
double proba = exp(-d_u / temp);
- // std::cout << "u : " << u << " up : " << up << "Difference : " << d_u << std::endl;
-
- if (d_u < 0 || !gradient && (p_random.get() < proba))
+ if ((d_u < 0 || !gradient && (p_random.get() < proba)) && out(p) != v)
{
if (d_u < 0)
diffneg ++;
1
0
* Makefile.am: use = instead of +=.
---
milena/ChangeLog | 6 ++++++
milena/Makefile.am | 2 +-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 9460b41..700adb2 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,9 @@
+2008-12-09 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix a warning during configure.
+
+ * Makefile.am: use = instead of +=.
+
2008-12-08 Guillaume Lazzara <z(a)lrde.epita.fr>
Various small fixes.
diff --git a/milena/Makefile.am b/milena/Makefile.am
index 767b64d..64d0365 100644
--- a/milena/Makefile.am
+++ b/milena/Makefile.am
@@ -14,7 +14,7 @@ doc:
include $(top_srcdir)/milena/headers.mk
-EXTRA_DIST += \
+EXTRA_DIST = \
img/lena.pbm \
img/fly.pbm \
img/squares-lc.pgm \
--
1.5.6.5
1
0