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:
2009-02-20 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Update DICOM loader.
* fabien/gdcm/Makefile: Update.
* fabien/gdcm/dump2pgm.cc: New tool to convert dump volume
to a pgm flat image.
* fabien/gdcm/gdcm.cc: Update.
* fabien/gdcm/load.hh: Update.
---
Makefile | 2 +-
dump2pgm.cc | 35 +++++++++++++++++++++++++++++++++++
gdcm.cc | 4 ++--
load.hh | 16 ++++++++++------
4 files changed, 48 insertions(+), 9 deletions(-)
Index: trunk/milena/sandbox/fabien/gdcm/dump2pgm.cc
===================================================================
--- trunk/milena/sandbox/fabien/gdcm/dump2pgm.cc (revision 0)
+++ trunk/milena/sandbox/fabien/gdcm/dump2pgm.cc (revision 3402)
@@ -0,0 +1,35 @@
+
+#include <mln/core/image/image2d.hh>
+#include <mln/make/image3d.hh>
+#include <mln/debug/slices_2d.hh>
+
+#include <mln/value/int_u16.hh>
+#include <mln/io/dump/load.hh>
+#include <mln/io/pgm/save.hh>
+
+#include <mln/literal/colors.hh>
+
+
+void usage(char* argv[])
+{
+ std::cerr << "usage: " << argv[0] << " input.dump output.pgm" << std::endl;
+ abort();
+}
+
+
+
+int main(int argc, char* argv[])
+{
+ using namespace mln;
+ using value::int_u16;
+
+ if (argc != 3)
+ usage(argv);
+
+ image3d<int_u16> vol;
+ io::dump::load(vol, argv[1]);
+
+ int_u16 bg = 0;
+ image2d<int_u16> ima = debug::slices_2d(vol, 1.f, bg);
+ io::pgm::save(ima, argv[2]);
+}
Index: trunk/milena/sandbox/fabien/gdcm/Makefile
===================================================================
--- trunk/milena/sandbox/fabien/gdcm/Makefile (revision 3401)
+++ trunk/milena/sandbox/fabien/gdcm/Makefile (revision 3402)
@@ -8,5 +8,5 @@
-L/Users/HiSoKa/Downloads/gdcmbin/bin \
-lgdcmCommon -lgdcmDICT -lgdcmDSED -lgdcmIOD -lgdcmMSFF -lgdcmexpat -lgdcmjpeg12 -lgdcmjpeg16 -lgdcmjpeg8 -lgdcmopenjpeg -lgdcmuuid -lgdcmzlib \
-framework CoreFoundation \
- -DNDEBUG \
+ -DNDEBUG -O1 \
gdcm.cc -o mln_gdcm
Index: trunk/milena/sandbox/fabien/gdcm/load.hh
===================================================================
--- trunk/milena/sandbox/fabien/gdcm/load.hh (revision 3401)
+++ trunk/milena/sandbox/fabien/gdcm/load.hh (revision 3402)
@@ -143,10 +143,7 @@
<< "=================" << std::endl;
std::cout << "Buffer length: " << image.GetBufferLength() << std::endl;
char* dataBuffer = new char[image.GetBufferLength()];
- if (image.GetBuffer(dataBuffer))
- std::cout << "GetBuffer success" << std::endl;
- else
- std::cout << "GetBuffer failure" << std::endl;
+ image.GetBuffer(dataBuffer);
int ndims = image.GetNumberOfDimensions();
const unsigned int* dims = image.GetDimensions();
@@ -170,17 +167,24 @@
{
//image3d<int_u16> ima(dims[2], dims[1], dims[0]);
mln_site(I) pmin(0, 0, 0);
- mln_site(I) pmax(dims[2], dims[1], dims[0]);
+ mln_site(I) pmax(dims[2] - 1, dims[1] - 1, dims[0] - 1);
mln_concrete(I) result(box<mln_site(I)>(pmin, pmax));
initialize(ima, result);
- mln_piter(image3d<int_u16>) p(ima.domain());
+ mln_piter(I) p(ima.domain());
for_all(p)
{
ima(p) = dataBuffer[(p.col() + p.row() * dims[0] + p.sli() * dims[0] * dims[1]) * 2] * 256+
dataBuffer[(p.col() + p.row() * dims[0] + p.sli() * dims[0] * dims[1]) * 2 + 1];
+ std::cout << (p.col() + p.row() * dims[0] + p.sli() * dims[0] * dims[1]) * 2 << " ["
+ << "p.col = " << p.col() << "] ["
+ << "p.row = " << p.row() << "] ["
+ << "p.sli = " << p.sli() << "]"
+ << std::endl;
}
}
+ delete(dataBuffer);
+
trace::exiting("mln::io::dicom::load");
}
Index: trunk/milena/sandbox/fabien/gdcm/gdcm.cc
===================================================================
--- trunk/milena/sandbox/fabien/gdcm/gdcm.cc (revision 3401)
+++ trunk/milena/sandbox/fabien/gdcm/gdcm.cc (revision 3402)
@@ -13,6 +13,6 @@
image3d<int_u16> lena;
- io::dicom::load(lena, "/Users/HiSoKa/Work/IGR/souris18/irm/IM_0052.dcm");
- io::dump::save(lena, "IM_0052.dump");
+ io::dicom::load(lena, "/Users/HiSoKa/Work/IGR/souris18/irm/IM_0061.dcm");
+ io::dump::save(lena, "IM_0061.dump");
}
1
0
* mln/algebra/quat.hh,
* mln/core/concept/gpoint.hh,
* mln/core/point.hh,
* mln/fun/x2v/bilinear.hh,
* mln/fun/x2v/trilinear.hh,
* mln/fun/x2x/rotation.hh,
* mln/registration/icp.hh: undo changes.
---
milena/ChangeLog | 13 +++++
milena/mln/algebra/quat.hh | 25 ----------
milena/mln/core/concept/gpoint.hh | 2 +-
milena/mln/core/point.hh | 96 ++++++++++++++++++------------------
milena/mln/fun/x2v/bilinear.hh | 8 ++--
milena/mln/fun/x2v/trilinear.hh | 6 +-
milena/mln/fun/x2x/rotation.hh | 6 +-
milena/mln/registration/icp.hh | 42 ++++++++--------
8 files changed, 94 insertions(+), 104 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 9402dbe..401a2a6 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,18 @@
2009-02-20 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Revert patch #3397.
+
+ * mln/algebra/quat.hh,
+ * mln/core/concept/gpoint.hh,
+ * mln/core/point.hh,
+ * mln/fun/x2v/bilinear.hh,
+ * mln/fun/x2v/trilinear.hh,
+ * mln/fun/x2x/rotation.hh,
+ * mln/registration/icp.hh: undo changes.
+
+
+2009-02-20 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Fix tests.
* generate_dist_headers.sh: add only .hh and .hxx to headers.mk.
diff --git a/milena/mln/algebra/quat.hh b/milena/mln/algebra/quat.hh
index 8784883..33e7d07 100644
--- a/milena/mln/algebra/quat.hh
+++ b/milena/mln/algebra/quat.hh
@@ -162,11 +162,6 @@ namespace mln
/// Explicit conversion to a 4D algebra::vec.
const algebra::vec<4,float>& to_vec() const;
- /// Implicit conversion to a 4D algebra::vec.
- operator const algebra::vec<4,float>&() const;
- operator const algebra::vec<4,float>&();
- operator algebra::vec<4,float>() const;
- operator algebra::vec<4,float>();
/// Give the scalar part.
float s() const;
@@ -345,26 +340,6 @@ namespace mln
}
inline
- quat::operator const algebra::vec<4,float>&() const
- {
- return this->v_;
- }
-
- inline
- quat::operator const algebra::vec<4,float>&()
- {
- return this->v_;
- }
-
- inline
- quat::operator algebra::vec<4,float>()
- {
- return this->v_;
- }
-
-
-
- inline
float
quat::s() const
{
diff --git a/milena/mln/core/concept/gpoint.hh b/milena/mln/core/concept/gpoint.hh
index 40a2420..12f1b38 100644
--- a/milena/mln/core/concept/gpoint.hh
+++ b/milena/mln/core/concept/gpoint.hh
@@ -281,7 +281,7 @@ namespace mln
typedef mln_grid(E) grid;
typedef mln_delta(E) delta;
typedef mln_vec(E) vec;
- vec (E::*m)() const = & E::to_vec;
+ const vec& (E::*m)() const = & E::to_vec;
m = 0;
}
diff --git a/milena/mln/core/point.hh b/milena/mln/core/point.hh
index 1d618cc..a661fe5 100644
--- a/milena/mln/core/point.hh
+++ b/milena/mln/core/point.hh
@@ -61,6 +61,22 @@ namespace mln
/// \}
+ namespace internal
+ {
+
+ // Helper point_to_.
+
+ template <typename G, typename C>
+ struct point_to_
+ {
+ typedef algebra::vec<G::dim, C> metal_vec;
+ typedef mln::algebra::h_vec<G::dim, C> h_vec;
+ };
+
+ } // end of namespace mln::internal
+
+
+
/// Generic point class.
///
/// Parameters are \c n the dimension of the space and \c C the
@@ -92,10 +108,10 @@ namespace mln
typedef C coord;
/// Algebra vector (vec) associated type.
- typedef algebra::vec<G::dim, float> vec;
+ typedef algebra::vec<G::dim, C> vec;
/// Algebra hexagonal vector (hvec) associated type.
- typedef algebra::h_vec<G::dim, float> h_vec;
+ typedef algebra::h_vec<G::dim, C> h_vec;
/// Read-only access to the \p i-th coordinate value.
/// \param[in] i The coordinate index.
@@ -155,17 +171,23 @@ namespace mln
/// Shifting by \p the inverse of dp.
point<G,C>& operator-=(const delta& dp);
- /* FIXME: Seems highly non-generic!
+ /// Hook to coordinates.
+ operator typename internal::point_to_<G, C>::metal_vec () const;
+ /* FIXME: Seems highly non-generic! Moreover, causes
+ overloading/duplicate errors with the previous operator when
+ C == float. Disable it for the moment.
+
This (non documented change, even in ChangeLog) change was
introduce by revision 1224, see
https://trac.lrde.org/olena/changeset/1224#file2
https://www.lrde.epita.fr/pipermail/olena-patches/2007-October/001592.html
*/
+#if 0
operator algebra::vec<G::dim, float> () const;
- operator algebra::vec<G::dim, float> ();
+#endif
/// Explicit conversion towards mln::algebra::vec.
- vec to_vec() const;
+ const vec& to_vec() const;
/// Transform to point in homogene coordinate system.
h_vec to_h_vec() const;
@@ -192,8 +214,7 @@ namespace mln
template <typename G, typename C, typename E>
struct subject_point_impl< point<G,C>, E >
{
- typename point<G,C>::vec to_vec() const;
- operator algebra::vec<G::dim, float>() const;
+ const typename point<G,C>::vec& to_vec() const;
private:
const E& exact_() const;
@@ -260,11 +281,7 @@ namespace mln
inline
point<G,C>::point(const algebra::vec<dim,C2>& v)
{
- unsigned j = 0;
- for (unsigned i = dim - 2; i < dim; ++i)
- coord_[i] = v[j++];
- for (unsigned i = 2; i < dim; ++i, ++j)
- coord_[i-j] = v[j];
+ coord_ = v;
}
template <typename G, typename C>
@@ -389,33 +406,30 @@ namespace mln
template <typename G, typename C>
inline
- point<G,C>::operator algebra::vec<G::dim,float> () const
+ point<G,C>::operator typename internal::point_to_<G, C>::metal_vec () const
{
- return to_vec();
+ return coord_; // FIXME: Is it OK?
}
+ // FIXME: See declaration of this member above.
+#if 0
template <typename G, typename C>
inline
- point<G,C>::operator algebra::vec<G::dim,float> ()
+ point<G,C>::operator algebra::vec<G::dim, float> () const
{
- return to_vec();
+ algebra::vec<dim, float> tmp;
+ for (unsigned int i = 0; i < dim; ++i)
+ tmp[i] = coord_[i];
+ return tmp;
}
-
+#endif
template <typename G, typename C>
inline
- typename point<G,C>::vec
+ const typename point<G,C>::vec&
point<G,C>::to_vec() const
{
- algebra::vec<G::dim, float> tmp;
-
- unsigned j = 0;
- for (unsigned i = dim - 2; i < dim; ++i)
- tmp[j++] = coord_[i];
- for (unsigned i = 2; i < dim; ++i, ++j)
- tmp[j] = coord_[i-j];
-
- return tmp;
+ return coord_;
}
template <typename G, typename C>
@@ -423,15 +437,9 @@ namespace mln
typename point<G,C>::h_vec
point<G,C>::to_h_vec() const
{
- algebra::h_vec<G::dim, float> tmp;
-
- unsigned j = 0;
- for (unsigned i = dim - 2; i < dim; ++i)
- tmp[j++] = coord_[i];
-
- for (unsigned i = 2; i < dim; ++i, ++j)
- tmp[j] = coord_[i-j];
-
+ algebra::h_vec<G::dim, C> tmp;
+ for (unsigned i = 0; i < dim; ++i)
+ tmp[i] = coord_[i];
tmp[G::dim] = 1;
return tmp;
}
@@ -468,27 +476,20 @@ namespace mln
template <typename G, typename C, typename E>
inline
- typename point<G,C>::vec
+ const typename point<G,C>::vec&
subject_point_impl< point<G,C>, E >::to_vec() const
{
return exact_().get_subject().to_vec();
}
- template <typename G, typename C, typename E>
- inline
- subject_point_impl< point<G,C>, E >::operator algebra::vec<G::dim, float>() const
- {
- return exact_().get_subject();
- }
-
} // end of namespace mln::internal
template <typename G, typename C>
inline
- algebra::vec<point<G,C>::dim - 1, C>
+ const algebra::vec<point<G,C>::dim - 1, C>&
cut_(const point<G,C>& p)
{
- return *(algebra::vec<point<G,C>::dim - 1, C>*)(& p.to_vec());
+ return *(const algebra::vec<point<G,C>::dim - 1, C>*)(& p.to_vec());
}
template <typename C>
@@ -501,8 +502,7 @@ namespace mln
}
# endif // ! MLN_INCLUDE_ONLY
-
-
+
} // end of namespace mln
diff --git a/milena/mln/fun/x2v/bilinear.hh b/milena/mln/fun/x2v/bilinear.hh
index 1daefa8..e264462 100644
--- a/milena/mln/fun/x2v/bilinear.hh
+++ b/milena/mln/fun/x2v/bilinear.hh
@@ -79,7 +79,7 @@ namespace mln
template <typename I>
bilinear<I>::bilinear(const I& ima) : ima(ima)
{
- mlc_or(mlc_bool(I::psite::dim == 2), mlc_bool(I::psite::dim == 3))::check();
+ //mlc_bool(I::psite::dim == 2)::check();
}
template <typename I>
@@ -141,14 +141,14 @@ namespace mln
// | | |
// q11----r1----q21
- double x = v[0];
- double y = v[1];
+ double x = v[1];
+ double y = v[2];
double x1 = std::floor(x);
double x2 = std::floor(x) + 1;
double y1 = std::floor(y);
double y2 = std::floor(y) + 1;
- def::coord z = math::round<float>()(v[3]);
+ def::coord z = math::round<float>()(v[0]);
//Following access are supposed valid.
vsum q11 = ima(point3d(z, static_cast<unsigned>(x1), static_cast<unsigned>(y1)));
diff --git a/milena/mln/fun/x2v/trilinear.hh b/milena/mln/fun/x2v/trilinear.hh
index 2a1d594..3015502 100644
--- a/milena/mln/fun/x2v/trilinear.hh
+++ b/milena/mln/fun/x2v/trilinear.hh
@@ -86,9 +86,9 @@ namespace mln
{
typedef mln_sum(mln_value(I)) vsum;
- double x = v[0]; // row
- double y = v[1]; // col
- double z = v[2]; // sli
+ double x = v[1]; // row
+ double y = v[2]; // col
+ double z = v[0]; // sli
math::round<double> f;
unsigned x1 = f(std::floor(x));
diff --git a/milena/mln/fun/x2x/rotation.hh b/milena/mln/fun/x2x/rotation.hh
index cbe1dd2..9addb50 100644
--- a/milena/mln/fun/x2x/rotation.hh
+++ b/milena/mln/fun/x2x/rotation.hh
@@ -197,10 +197,11 @@ namespace mln
inline
rotation<n,C>::rotation(const algebra::quat& q)
{
- // FIXME: Should also work for 2d.
- mlc_bool(n == 3)::check();
mln_precondition(q.is_unit());
+ // FIXME: Should also work for 2d.
+ mln_precondition(n == 3);
+
float
w = q.to_vec()[0],
x = q.to_vec()[1], x2 = 2*x*x, xw = 2*x*w,
@@ -220,7 +221,6 @@ namespace mln
axis_[0] = x;
axis_[1] = y;
axis_[2] = z;
- axis_.normalize();
}
diff --git a/milena/mln/registration/icp.hh b/milena/mln/registration/icp.hh
index 3fc54c0..de763ea 100644
--- a/milena/mln/registration/icp.hh
+++ b/milena/mln/registration/icp.hh
@@ -229,18 +229,17 @@ namespace mln
mln_site(I) operator()(const vec3d_f& v) const
{
- vec3d_f best_x = X_[0];
+ vec3d_f best_x = convert::to<vec3d_f>(X_[0].to_vec());
float best_d = norm::l2_distance(v, best_x);
mln_piter(X_t) X_i(X_);
for_all(X_i)
{
- vec3d_f X_i_vec = X_i;
- float d = norm::l2_distance(v, X_i_vec);
+ float d = norm::l2_distance(v, convert::to<vec3d_f>(X_i));
if (d < best_d)
{
best_d = d;
- best_x = X_i_vec;
+ best_x = X_i.to_vec();
}
}
return best_x;
@@ -267,11 +266,11 @@ namespace mln
mln_piter(p_array<P>) p(kept);
for_all(p)
- ext_result(qR.rotate(p) + qT) = literal::green;
+ ext_result(qR.rotate(p.to_vec()) + qT) = literal::green;
mln_piter(p_array<P>) p2(removed);
for_all(p2)
- ext_result(qR.rotate(p2) + qT) = literal::red;
+ ext_result(qR.rotate(p2.to_vec()) + qT) = literal::red;
io::ppm::save(slice(ext_result,0), "registered-2.ppm");
}
@@ -290,7 +289,7 @@ namespace mln
mln_piter(p_array<P>) p(P_);
for_all(p)
{
- vec3d_f Pk_i = pair.first.rotate(p) + pair.second;
+ vec3d_f Pk_i = pair.first.rotate(p.to_vec()) + pair.second;
vec3d_f Yk_i = closest_point(Pk_i).to_vec();
// yk_i - pk_i
e_k_accu.take(Yk_i - Pk_i);
@@ -318,8 +317,8 @@ namespace mln
for_all(p)
{
- vec3d_f Pk_i = pair.first.rotate(p) + pair.second;
- vec3d_f Yk_i = closest_point(Pk_i);
+ vec3d_f Pk_i = pair.first.rotate(p.to_vec()) + pair.second;
+ vec3d_f Yk_i = closest_point(Pk_i).to_vec();
int d_i = closest_point.dmap_X_(Pk_i);
if (d_i >= d_min && d_i <= d_max)
@@ -400,7 +399,7 @@ namespace mln
for_all(p)
{
vec3d_f Pk_i = pair.first.rotate(p.to_vec()) + pair.second;
- vec3d_f Yk_i = closest_point(Pk_i);
+ vec3d_f Yk_i = closest_point(Pk_i).to_vec();
int d_i = closest_point.dmap_X_(Pk_i);
if (d_i >= d_min && d_i <= d_max)
@@ -441,27 +440,31 @@ namespace mln
const std::pair<algebra::quat,mln_vec(P)>& pair,
const std::string& period, const value::rgb8& c)
{
+# ifndef NDEBUG
data::fill(out, literal::black);
data::fill((out | X).rw(), literal::white);
+# endif // !NDEBUG
mln_piter(p_array<P>) p1(P_);
for_all(p1)
{
- vec3d_f Pk_i = pair.first.rotate(p1) + pair.second;
+ vec3d_f Pk_i = pair.first.rotate(p1.to_vec()) + pair.second;
out(Pk_i) = literal::red;
}
mln_piter(p_array<P>) p2(P_sub);
for_all(p2)
{
- vec3d_f Pk_i = pair.first.rotate(p2) + pair.second;
+ vec3d_f Pk_i = pair.first.rotate(p2.to_vec()) + pair.second;
out(Pk_i) = c;
}
+# ifndef NDEBUG
std::ostringstream ss;
ss << prefix << "_" << r << "_" << period << ".ppm";
io::ppm::save(slice(out,0), ss.str());
+# endif // ! NDEBUG
}
@@ -480,9 +483,8 @@ namespace mln
for_all(p)
{
// yk_i - pk+1_i
- vec3d_f P_i = p;
- vec3d_f Pk_i = qR_old.rotate(P_i) + qT_old;
- vec3d_f Pk_1_i = qR.rotate(P_i) + qT;
+ vec3d_f Pk_i = qR_old.rotate(p.to_vec()) + qT_old;
+ vec3d_f Pk_1_i = qR.rotate(p.to_vec()) + qT;
accu.take(closest_point(Pk_i).to_vec() - Pk_1_i);
}
return accu.to_result();
@@ -506,9 +508,9 @@ namespace mln
// FIXME: could we use an accu?
for_all(p)
{
- vec3d_f P_i = p;
- vec3d_f Pk_i = qR.rotate(P_i) + qT;
- vec3d_f Yk_i = closest_point(Pk_i);
+ vec3d_f P_i = p.to_vec();
+ vec3d_f Pk_i = qR.rotate(p.to_vec()) + qT;
+ vec3d_f Yk_i = closest_point(Pk_i).to_vec();
Spx += make::mat(P_i - mu_P) * trans(make::mat(Yk_i - mu_Yk));
}
Spx /= P_.nsites();
@@ -562,7 +564,7 @@ namespace mln
{
// yk_i - pk_i
vec3d_f Pk_i = qR.rotate(p.to_vec()) + qT;
- vec3d_f Yk_i = closest_point(Pk_i);
+ vec3d_f Yk_i = closest_point(Pk_i).to_vec();
mu_yk.take(Yk_i);
e_k_accu.take(Yk_i - Pk_i);
}
@@ -639,7 +641,7 @@ namespace mln
image3d<value::rgb8> tmp_ = duplicate(debug);
mln_piter(p_array<P>) p_dbg(P_);
for_all(p_dbg)
- tmp_(qR_old.rotate(p_dbg) + qT_old) = literal::green;
+ tmp_(qR_old.rotate(p_dbg.to_vec()) + qT_old) = literal::green;
std::ostringstream ss;
ss << "tmp_0";
if (k < 10)
--
1.5.6.5
1
0
---
ChangeLog | 4 ++++
configure.ac | 1 +
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2ce8236..5b1b11b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-02-20 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: configure tests/fun/l2l.
+
2009-02-18 Guillaume Lazzara <z(a)lrde.epita.fr>
* configure.ac: configure tests/morpho/watershed and
diff --git a/configure.ac b/configure.ac
index cf04d3f..f1c351d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -208,6 +208,7 @@ AC_CONFIG_FILES([
milena/tests/extract/Makefile
milena/tests/fun/Makefile
milena/tests/fun/i2v/Makefile
+ milena/tests/fun/l2l/Makefile
milena/tests/fun/p2b/Makefile
milena/tests/fun/p2p/Makefile
milena/tests/fun/p2v/Makefile
--
1.5.6.5
1
0
* generate_dist_headers.sh: add only .hh and .hxx to headers.mk.
* headers.mk: update.
* mln/canvas/morpho/algebraic_filter.hh: fix wrong merge.
* mln/debug/println_with_border.spe.hh: check the right guards.
* mln/fun/v2v/rgb_to_hsl.hh: do not include rgb aliases.
* mln/labeling/fill_holes.hh: use unsigned instead of int. Avoid
warnings.
* tests/labeling/compute.cc,
* mln/morpho/attribute/card.hh
* mln/morpho/attribute/sum.hh
* mln/morpho/attribute/volume.hh
* mln/labeling/mean_values.hh: add missing includes.
* mln/math/abs.hh: include only int_u.hh.
* tests/registration/multiscale.cc,
* mln/registration/multiscale.hh: remove.
* tests/registration/Makefile.am: remove multiscale.cc from test list.
* mln/value/rgb.hh: fix a recursive inclusion.
* tests/morpho/watershed/flooding.cc: fix path to test image.
* tests/registration/registration.cc: fix according update made in
registration.hh.
* tests/unit_test/unit-tests.mk: update list.
---
milena/ChangeLog | 39 +
milena/generate_dist_headers.sh | 3 +-
milena/headers.mk | 2048 +++++++-------
milena/mln/canvas/morpho/algebraic_filter.hh | 2 +
milena/mln/debug/println_with_border.spe.hh | 8 +-
milena/mln/fun/v2v/rgb_to_hsl.hh | 3 +-
milena/mln/labeling/fill_holes.hh | 6 +-
milena/mln/labeling/mean_values.hh | 2 +
milena/mln/math/abs.hh | 2 +-
milena/mln/morpho/attribute/card.hh | 1 +
milena/mln/morpho/attribute/sum.hh | 1 +
milena/mln/morpho/attribute/volume.hh | 1 +
milena/mln/registration/multiscale.hh | 177 --
milena/mln/value/rgb.hh | 18 +-
milena/tests/labeling/compute.cc | 1 +
milena/tests/morpho/watershed/flooding.cc | 3 +-
milena/tests/registration/Makefile.am | 4 +-
milena/tests/registration/multiscale.cc | 54 -
milena/tests/registration/registration.cc | 21 +-
milena/tests/unit_test/unit-tests.mk | 3908 +++++++++++++-------------
20 files changed, 3094 insertions(+), 3208 deletions(-)
delete mode 100644 milena/mln/registration/multiscale.hh
delete mode 100644 milena/tests/registration/multiscale.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index fca5a56..9402dbe 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,44 @@
2009-02-20 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Fix tests.
+
+ * generate_dist_headers.sh: add only .hh and .hxx to headers.mk.
+
+ * headers.mk: update.
+
+ * mln/canvas/morpho/algebraic_filter.hh: fix wrong merge.
+
+ * mln/debug/println_with_border.spe.hh: check the right guards.
+
+ * mln/fun/v2v/rgb_to_hsl.hh: do not include rgb aliases.
+
+ * mln/labeling/fill_holes.hh: use unsigned instead of int. Avoid
+ warnings.
+
+ * tests/labeling/compute.cc,
+ * mln/morpho/attribute/card.hh
+ * mln/morpho/attribute/sum.hh
+ * mln/morpho/attribute/volume.hh
+ * mln/labeling/mean_values.hh: add missing includes.
+
+ * mln/math/abs.hh: include only int_u.hh.
+
+ * tests/registration/multiscale.cc,
+ * mln/registration/multiscale.hh: remove.
+
+ * tests/registration/Makefile.am: remove multiscale.cc from test list.
+
+ * mln/value/rgb.hh: fix a recursive inclusion.
+
+ * tests/morpho/watershed/flooding.cc: fix path to test image.
+
+ * tests/registration/registration.cc: fix according update made in
+ registration.hh.
+
+ * tests/unit_test/unit-tests.mk: update list.
+
+2009-02-20 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Fix doc generation.
* doc/Doxyfile.in,
diff --git a/milena/generate_dist_headers.sh b/milena/generate_dist_headers.sh
index 68d4e30..db407fd 100755
--- a/milena/generate_dist_headers.sh
+++ b/milena/generate_dist_headers.sh
@@ -10,7 +10,8 @@ echo "nobase_include_HEADERS = \\" >> headers.mk
echo "mln/version.hh \\" >> headers.mk
echo "generating headers.mk"
-find mln -type f | grep -v "\.svn" | sed -e 's/$/ \\/g' | grep -v "version.hh.in" >> headers.mk
+find mln -type f -name '*.hh'| grep -v "\.svn" | sed -e 's/$/ \\/g' >> headers.mk
+find mln -type f -name '*.hxx'| grep -v "\.svn" | sed -e 's/$/ \\/g' >> headers.mk
last_line=`tail -n 1 headers.mk | sed -e 's/\\\//g'` # remove '\' in last line
sed '$d' < headers.mk > headers.mk.tmp # remove last line
diff --git a/milena/headers.mk b/milena/headers.mk
index 93917ec..d3c584f 100644
--- a/milena/headers.mk
+++ b/milena/headers.mk
@@ -2,1109 +2,1107 @@
nobase_include_HEADERS = \
mln/version.hh \
-mln/accu/all.hh \
-mln/accu/bbox.hh \
-mln/accu/center.hh \
-mln/accu/compute.hh \
-mln/accu/convolve.hh \
-mln/accu/count.hh \
-mln/accu/count_adjacent_vertices.hh \
-mln/accu/essential.hh \
-mln/accu/height.hh \
-mln/accu/histo.hh \
-mln/accu/internal/base.hh \
-mln/accu/land.hh \
-mln/accu/land_basic.hh \
-mln/accu/line.hh \
+mln/histo/all.hh \
+mln/histo/array.hh \
+mln/histo/compute.hh \
+mln/histo/compute.spe.hh \
+mln/histo/essential.hh \
+mln/geom/pmin_pmax.hh \
+mln/geom/max_row.hh \
+mln/geom/chamfer.hh \
+mln/geom/min_row.hh \
+mln/geom/seeds2tiling.hh \
+mln/geom/size1d.hh \
+mln/geom/all.hh \
+mln/geom/size2d.hh \
+mln/geom/max_ind.hh \
+mln/geom/max_col.hh \
+mln/geom/size3d.hh \
+mln/geom/ninds.hh \
+mln/geom/nslis.hh \
+mln/geom/delta.hh \
+mln/geom/nsites.hh \
+mln/geom/min_col.hh \
+mln/geom/complex_geometry.hh \
+mln/geom/ncols.hh \
+mln/geom/nrows.hh \
+mln/geom/min_ind.hh \
+mln/geom/bbox.hh \
+mln/geom/seeds2tiling_roundness.hh \
+mln/geom/min_sli.hh \
+mln/geom/essential.hh \
+mln/geom/max_sli.hh \
+mln/draw/box.hh \
+mln/draw/all.hh \
+mln/draw/plot.hh \
+mln/draw/line.hh \
+mln/draw/essential.hh \
+mln/pw/image.hh \
+mln/pw/all.hh \
+mln/pw/value.hh \
+mln/pw/cst.hh \
+mln/pw/var.hh \
+mln/pw/essential.hh \
+mln/literal/zero.hh \
+mln/literal/max.hh \
+mln/literal/ops.hh \
+mln/literal/origin.hh \
+mln/literal/grays.hh \
+mln/literal/all.hh \
+mln/literal/colors.hh \
+mln/literal/black.hh \
+mln/literal/one.hh \
+mln/literal/min.hh \
+mln/literal/white.hh \
+mln/literal/essential.hh \
+mln/registration/get_rtransf.hh \
+mln/registration/internal/rms.hh \
+mln/registration/get_rot.hh \
+mln/registration/all.hh \
+mln/registration/multiscale.hh \
+mln/registration/registration.hh \
+mln/registration/essential.hh \
+mln/registration/icp.hh \
+mln/util/graph.hh \
+mln/util/fibonacci_heap.hh \
+mln/util/max.hh \
+mln/util/lazy_set.hh \
+mln/util/soft_heap.hh \
+mln/util/set.hh \
+mln/util/tree_to_image.hh \
+mln/util/lemmings.hh \
+mln/util/greater_point.hh \
+mln/util/internal/graph_iter_base.hh \
+mln/util/internal/boost_graph_access.hh \
+mln/util/internal/boost_graph_structure.hh \
+mln/util/internal/graph_iter.hh \
+mln/util/internal/graph_nbh_iter.hh \
+mln/util/internal/vertex_impl.hh \
+mln/util/internal/edge_impl.hh \
+mln/util/internal/graph_base.hh \
+mln/util/internal/boost_graph.hh \
+mln/util/internal/graph_nbh_iter_base.hh \
+mln/util/internal/boost_graph_property.hh \
+mln/util/ord_pair.hh \
+mln/util/edge.hh \
+mln/util/all.hh \
+mln/util/dindex.hh \
+mln/util/tracked_ptr.hh \
+mln/util/ignore.hh \
+mln/util/greater_psite.hh \
+mln/util/timer.hh \
+mln/util/yes.hh \
+mln/util/line_graph.hh \
+mln/util/ord.hh \
+mln/util/tree_fast_to_image.hh \
+mln/util/tree.hh \
+mln/util/index.hh \
+mln/util/multi_site.hh \
+mln/util/branch_iter.hh \
+mln/util/branch_iter_ind.hh \
+mln/util/tree_to_fast.hh \
+mln/util/array.hh \
+mln/util/vertex.hh \
+mln/util/pix.hh \
+mln/util/tree_fast.hh \
+mln/util/site_pair.hh \
+mln/util/nil.hh \
+mln/util/eat.hh \
+mln/util/essential.hh \
+mln/data/memset_.hh \
+mln/data/paste.spe.hh \
+mln/data/memcpy_.hh \
+mln/data/all.hh \
+mln/data/paste.hh \
+mln/data/fill_with_image.hh \
+mln/data/fill_with_image.spe.hh \
+mln/data/fill_with_value.hh \
+mln/data/fill_with_value.spe.hh \
+mln/data/fill.hh \
+mln/data/essential.hh \
+mln/tag/init.hh \
+mln/tag/skeleton.hh \
+mln/tag/all.hh \
+mln/tag/essential.hh \
+mln/trace/entering.hh \
+mln/trace/all.hh \
+mln/trace/warning.hh \
+mln/trace/exiting.hh \
+mln/trace/resume.hh \
+mln/trace/quiet.hh \
+mln/trace/stop.hh \
+mln/trace/essential.hh \
+mln/make/graph.hh \
+mln/make/double_neighb2d.hh \
+mln/make/image3d.hh \
+mln/make/dpoint2d_h.hh \
+mln/make/w_window.hh \
+mln/make/image.hh \
+mln/make/vec.hh \
+mln/make/all.hh \
+mln/make/dual_neighb.hh \
+mln/make/w_window3d.hh \
+mln/make/mat.hh \
+mln/make/win_chamfer.hh \
+mln/make/w_window2d_int.hh \
+mln/make/box1d.hh \
+mln/make/voronoi.hh \
+mln/make/box2d.hh \
+mln/make/h_mat.hh \
+mln/make/w_window2d.hh \
+mln/make/box3d.hh \
+mln/make/region_adjacency_graph.hh \
+mln/make/relabelfun.hh \
+mln/make/pixel.hh \
+mln/make/pix.hh \
+mln/make/box2d_h.hh \
+mln/make/w_window1d.hh \
+mln/make/image2d.hh \
+mln/make/w_window_directional.hh \
+mln/make/w_window3d_int.hh \
+mln/make/essential.hh \
+mln/make/w_window1d_int.hh \
+mln/make/point2d_h.hh \
+mln/extract/red.hh \
+mln/extract/hue.hh \
+mln/extract/lum.hh \
+mln/extract/all.hh \
+mln/extract/green.hh \
+mln/extract/blue.hh \
+mln/extract/sat.hh \
+mln/extract/essential.hh \
+mln/display/all.hh \
+mln/display/essential.hh \
+mln/extension/adjust.hh \
+mln/extension/duplicate.hh \
+mln/extension/adjust_duplicate.hh \
+mln/extension/all.hh \
+mln/extension/adjust_fill.hh \
+mln/extension/fill.hh \
+mln/extension/essential.hh \
+mln/fun/p2b/chess.hh \
+mln/fun/p2b/all.hh \
+mln/fun/p2b/has.hh \
+mln/fun/p2b/big_chess.hh \
+mln/fun/p2b/essential.hh \
+mln/fun/p2p/all.hh \
+mln/fun/p2p/translation.hh \
+mln/fun/p2p/mirror.hh \
+mln/fun/x2p/closest_point.hh \
+mln/fun/x2p/all.hh \
+mln/fun/x2p/essential.hh \
+mln/fun/ops.hh \
+mln/fun/c.hh \
+mln/fun/vv2v/max.hh \
+mln/fun/vv2v/lor.hh \
+mln/fun/vv2v/land_not.hh \
+mln/fun/vv2v/vec.hh \
+mln/fun/vv2v/all.hh \
+mln/fun/vv2v/macros.hh \
+mln/fun/vv2v/lxor.hh \
+mln/fun/vv2v/diff_abs.hh \
+mln/fun/vv2v/land.hh \
+mln/fun/vv2v/min.hh \
+mln/fun/vv2v/essential.hh \
+mln/fun/internal/array_base.hh \
+mln/fun/internal/x2x_linear_impl.hh \
+mln/fun/internal/ch_function_value_impl.hh \
+mln/fun/internal/selector.hh \
+mln/fun/v2w_w2v/norm.hh \
+mln/fun/p2v/ternary.hh \
+mln/fun/p2v/iota.hh \
+mln/fun/p2v/elifs.hh \
+mln/fun/p2v/all.hh \
+mln/fun/p2v/essential.hh \
+mln/fun/all.hh \
+mln/fun/v2b/lnot.hh \
+mln/fun/v2b/all.hh \
+mln/fun/v2b/threshold.hh \
+mln/fun/v2b/essential.hh \
+mln/fun/v2v/norm.hh \
+mln/fun/v2v/linear.hh \
+mln/fun/v2v/id.hh \
+mln/fun/v2v/saturate.hh \
+mln/fun/v2v/inc.hh \
+mln/fun/v2v/all.hh \
+mln/fun/v2v/dec.hh \
+mln/fun/v2v/abs.hh \
+mln/fun/v2v/rgb_to_hsl.hh \
+mln/fun/v2v/cast.hh \
+mln/fun/v2v/ch_function_value.hh \
+mln/fun/v2v/rgb_to_hsi.hh \
+mln/fun/v2v/enc.hh \
+mln/fun/v2v/convert.hh \
+mln/fun/v2v/essential.hh \
+mln/fun/v2w2v/cos.hh \
+mln/fun/vv2b/implies.hh \
+mln/fun/vv2b/le.hh \
+mln/fun/vv2b/gt.hh \
+mln/fun/vv2b/ge.hh \
+mln/fun/vv2b/lt.hh \
+mln/fun/vv2b/eq.hh \
+mln/fun/cast.hh \
+mln/fun/i2v/all.hh \
+mln/fun/i2v/array.hh \
+mln/fun/i2v/all_to.hh \
+mln/fun/i2v/essential.hh \
+mln/fun/l2l/relabel.hh \
+mln/fun/l2l/all.hh \
+mln/fun/l2l/wrap.hh \
+mln/fun/l2l/essential.hh \
+mln/fun/x2x/composed.hh \
+mln/fun/x2x/all.hh \
+mln/fun/x2x/translation.hh \
+mln/fun/x2x/rotation.hh \
+mln/fun/x2x/essential.hh \
+mln/fun/meta/red.hh \
+mln/fun/meta/hue.hh \
+mln/fun/meta/lum.hh \
+mln/fun/meta/all.hh \
+mln/fun/meta/green.hh \
+mln/fun/meta/inty.hh \
+mln/fun/meta/blue.hh \
+mln/fun/meta/sat.hh \
+mln/fun/meta/to_enc.hh \
+mln/fun/x2v/trilinear.hh \
+mln/fun/x2v/linear.hh \
+mln/fun/x2v/bilinear.hh \
+mln/fun/x2v/all.hh \
+mln/fun/x2v/l1_norm.hh \
+mln/fun/x2v/nneighbor.hh \
+mln/fun/x2v/essential.hh \
+mln/fun/essential.hh \
+mln/all.hh \
+mln/convert/to_p_set.hh \
+mln/convert/to.hh \
+mln/convert/to_upper_window.hh \
+mln/convert/to_image.hh \
+mln/convert/to_fun.hh \
+mln/convert/all.hh \
+mln/convert/to_window.hh \
+mln/convert/from_to.hh \
+mln/convert/impl/from_value_to_value.hh \
+mln/convert/impl/all.hh \
+mln/convert/impl/from_double_to_value.hh \
+mln/convert/impl/from_site_set_to_image.hh \
+mln/convert/impl/from_image_to_site_set.hh \
+mln/convert/impl/from_float_to_value.hh \
+mln/convert/impl/from_int_to_value.hh \
+mln/convert/to_dpoint.hh \
+mln/convert/to_p_array.hh \
+mln/convert/essential.hh \
+mln/value/shell.hh \
+mln/value/float01_f.hh \
+mln/value/float01_16.hh \
+mln/value/lut_vec.hh \
+mln/value/glf.hh \
+mln/value/other.hh \
+mln/value/graylevel_f.hh \
+mln/value/aliases.hh \
+mln/value/label_16.hh \
+mln/value/ops.hh \
+mln/value/set.hh \
+mln/value/int_u_sat.hh \
+mln/value/float01_8.hh \
+mln/value/int_u8.hh \
+mln/value/equiv.hh \
+mln/value/internal/integer.hh \
+mln/value/internal/gray_f.hh \
+mln/value/internal/all.hh \
+mln/value/internal/value_like.hh \
+mln/value/internal/iterable_set.hh \
+mln/value/internal/limits.hh \
+mln/value/internal/encoding.hh \
+mln/value/internal/convert.hh \
+mln/value/internal/gray_.hh \
+mln/value/internal/essential.hh \
+mln/value/proxy.hh \
+mln/value/viter.hh \
+mln/value/hsl.hh \
+mln/value/graylevel.hh \
+mln/value/all.hh \
+mln/value/super_value.hh \
+mln/value/builtin/symbolics.hh \
+mln/value/builtin/ops.hh \
+mln/value/builtin/all.hh \
+mln/value/builtin/promotions.hh \
+mln/value/builtin/integers.hh \
+mln/value/builtin/floatings.hh \
+mln/value/builtin/essential.hh \
+mln/value/sign.hh \
+mln/value/hsi.hh \
+mln/value/interval.hh \
+mln/value/gl16.hh \
+mln/value/scalar.hh \
+mln/value/float01.hh \
+mln/value/cast.hh \
+mln/value/int_u.hh \
+mln/value/int_s8.hh \
+mln/value/int_s16.hh \
+mln/value/int_u16.hh \
+mln/value/label.hh \
+mln/value/mixin.hh \
+mln/value/rgb.hh \
+mln/value/stack.hh \
+mln/value/concept/integer.hh \
+mln/value/concept/structured.hh \
+mln/value/concept/built_in.hh \
+mln/value/concept/all.hh \
+mln/value/concept/scalar.hh \
+mln/value/concept/data.hh \
+mln/value/concept/floating.hh \
+mln/value/concept/symbolic.hh \
+mln/value/concept/vectorial.hh \
+mln/value/concept/essential.hh \
+mln/value/int_s.hh \
+mln/value/rgb8.hh \
+mln/value/int_s32.hh \
+mln/value/float01_.hh \
+mln/value/rgb16.hh \
+mln/value/int_u32.hh \
+mln/value/gl8.hh \
+mln/value/label_8.hh \
+mln/value/essential.hh \
+mln/accu/tuple.hh \
+mln/accu/min_h.hh \
+mln/accu/max.hh \
mln/accu/lor.hh \
-mln/accu/lor_basic.hh \
+mln/accu/rank.hh \
+mln/accu/transform_stop.hh \
mln/accu/maj_h.hh \
-mln/accu/max.hh \
-mln/accu/max_h.hh \
-mln/accu/mean.hh \
-mln/accu/median_alt.hh \
-mln/accu/median_h.hh \
-mln/accu/min.hh \
-mln/accu/min_h.hh \
mln/accu/min_max.hh \
-mln/accu/nil.hh \
-mln/accu/p.hh \
-mln/accu/pair.hh \
-mln/accu/rank.hh \
-mln/accu/rank_bool.hh \
+mln/accu/internal/base.hh \
+mln/accu/transform_snake.hh \
mln/accu/rank_high_quant.hh \
+mln/accu/count.hh \
+mln/accu/median_h.hh \
mln/accu/rms.hh \
+mln/accu/all.hh \
+mln/accu/land_basic.hh \
+mln/accu/p.hh \
+mln/accu/transform.hh \
+mln/accu/median_alt.hh \
+mln/accu/volume.hh \
mln/accu/sum.hh \
+mln/accu/height.hh \
+mln/accu/land.hh \
mln/accu/take.hh \
-mln/accu/transform.hh \
-mln/accu/transform_diagonal.hh \
-mln/accu/transform_directional.hh \
-mln/accu/transform_line.hh \
-mln/accu/transform_snake.hh \
-mln/accu/transform_stop.hh \
-mln/accu/tuple.hh \
+mln/accu/histo.hh \
+mln/accu/pair.hh \
+mln/accu/count_adjacent_vertices.hh \
+mln/accu/convolve.hh \
mln/accu/v.hh \
-mln/accu/volume.hh \
-mln/algebra/all.hh \
-mln/algebra/essential.hh \
-mln/algebra/h_mat.hh \
-mln/algebra/h_vec.hh \
-mln/algebra/mat.hh \
-mln/algebra/quat.hh \
-mln/algebra/vec.hh \
-mln/all.hh \
-mln/arith/all.hh \
-mln/arith/diff_abs.hh \
-mln/arith/essential.hh \
-mln/arith/includes.hh \
-mln/arith/min.hh \
-mln/arith/min.spe.hh \
-mln/arith/minus.hh \
-mln/arith/plus.hh \
-mln/arith/revert.hh \
-mln/arith/revert.spe.hh \
-mln/arith/times.hh \
-mln/arith/times.spe.hh \
+mln/accu/rank_bool.hh \
+mln/accu/transform_line.hh \
+mln/accu/min.hh \
+mln/accu/transform_directional.hh \
+mln/accu/compute.hh \
+mln/accu/mean.hh \
+mln/accu/lor_basic.hh \
+mln/accu/transform_diagonal.hh \
+mln/accu/nil.hh \
+mln/accu/bbox.hh \
+mln/accu/center.hh \
+mln/accu/line.hh \
+mln/accu/essential.hh \
+mln/accu/max_h.hh \
+mln/level/compare.hh \
+mln/level/sort_offsets.hh \
+mln/level/transform_inplace.hh \
+mln/level/replace.hh \
+mln/level/apply.hh \
+mln/level/approx/all.hh \
+mln/level/approx/essential.hh \
+mln/level/approx/median.hh \
+mln/level/saturate.hh \
+mln/level/all.hh \
+mln/level/fast_median.hh \
+mln/level/abs.hh \
+mln/level/transform.hh \
+mln/level/stretch.hh \
+mln/level/was.median.hh \
+mln/level/transform.spe.hh \
+mln/level/compute.hh \
+mln/level/convert.hh \
+mln/level/to_enc.hh \
+mln/level/apply.spe.hh \
+mln/level/naive/all.hh \
+mln/level/naive/essential.hh \
+mln/level/naive/median.hh \
+mln/level/sort_psites.hh \
+mln/level/update.hh \
+mln/level/essential.hh \
+mln/level/median.hh \
+mln/math/jacobi.hh \
+mln/math/max.hh \
+mln/math/sqr.hh \
+mln/math/all.hh \
+mln/math/sign.hh \
+mln/math/abs.hh \
+mln/math/cos.hh \
+mln/math/diff_abs.hh \
+mln/math/round.hh \
+mln/math/min.hh \
+mln/math/sqrt.hh \
+mln/math/essential.hh \
+mln/math/acos.hh \
+mln/math/round_sat.hh \
+mln/opt/at.hh \
+mln/opt/element.hh \
+mln/opt/value.hh \
+mln/binarization/includes.hh \
mln/binarization/all.hh \
mln/binarization/binarization.hh \
-mln/binarization/essential.hh \
-mln/binarization/includes.hh \
mln/binarization/threshold.hh \
-mln/border/adjust.hh \
-mln/border/all.hh \
-mln/border/duplicate.hh \
-mln/border/equalize.hh \
-mln/border/essential.hh \
-mln/border/fill.hh \
-mln/border/find.hh \
-mln/border/get.hh \
-mln/border/mirror.hh \
-mln/border/resize.hh \
-mln/border/thickness.hh \
-mln/canvas/all.hh \
-mln/canvas/browsing/all.hh \
+mln/binarization/essential.hh \
+mln/trait/site_set/props.hh \
+mln/trait/site_set/print.hh \
+mln/trait/accumulators.hh \
+mln/trait/promote.hh \
+mln/trait/solve_binary.hh \
+mln/trait/value_.hh \
+mln/trait/all.hh \
+mln/trait/value/all.hh \
+mln/trait/value/nature.hh \
+mln/trait/value/quant.hh \
+mln/trait/value/kind.hh \
+mln/trait/value/print.hh \
+mln/trait/value/essential.hh \
+mln/trait/images.hh \
+mln/trait/window/props.hh \
+mln/trait/window/print.hh \
+mln/trait/accumulator/props.hh \
+mln/trait/accumulator/print.hh \
+mln/trait/ch_function_value.hh \
+mln/trait/ch_value.hh \
+mln/trait/solve.hh \
+mln/trait/solve_unary.hh \
+mln/trait/op/postdec.hh \
+mln/trait/op/mod.hh \
+mln/trait/op/lor.hh \
+mln/trait/op/neq.hh \
+mln/trait/op/plus.hh \
+mln/trait/op/xor.hh \
+mln/trait/op/all.hh \
+mln/trait/op/geq.hh \
+mln/trait/op/uminus.hh \
+mln/trait/op/not.hh \
+mln/trait/op/times.hh \
+mln/trait/op/less.hh \
+mln/trait/op/decl.hh \
+mln/trait/op/ord.hh \
+mln/trait/op/and.hh \
+mln/trait/op/or.hh \
+mln/trait/op/predec.hh \
+mln/trait/op/minus.hh \
+mln/trait/op/div.hh \
+mln/trait/op/leq.hh \
+mln/trait/op/preinc.hh \
+mln/trait/op/greater.hh \
+mln/trait/op/postinc.hh \
+mln/trait/op/uplus.hh \
+mln/trait/op/essential.hh \
+mln/trait/op/eq.hh \
+mln/trait/concrete.hh \
+mln/trait/windows.hh \
+mln/trait/site_sets.hh \
+mln/trait/image_from_grid.hh \
+mln/trait/undef.hh \
+mln/trait/image/props.hh \
+mln/trait/image/print.hh \
+mln/trait/neighborhood.hh \
+mln/trait/essential.hh \
+mln/canvas/labeling.hh \
+mln/canvas/browsing/hyper_directional.hh \
+mln/canvas/browsing/snake_generic.hh \
mln/canvas/browsing/backdiagonal2d.hh \
-mln/canvas/browsing/depth_first_search.hh \
+mln/canvas/browsing/snake_vert.hh \
+mln/canvas/browsing/snake_fwd.hh \
+mln/canvas/browsing/all.hh \
mln/canvas/browsing/diagonal2d.hh \
+mln/canvas/browsing/fwd.hh \
mln/canvas/browsing/dir_struct_elt_incr_update.hh \
+mln/canvas/browsing/depth_first_search.hh \
mln/canvas/browsing/directional.hh \
mln/canvas/browsing/essential.hh \
-mln/canvas/browsing/fwd.hh \
-mln/canvas/browsing/hyper_directional.hh \
-mln/canvas/browsing/snake_fwd.hh \
-mln/canvas/browsing/snake_generic.hh \
-mln/canvas/browsing/snake_vert.hh \
mln/canvas/chamfer.hh \
-mln/canvas/distance_front.hh \
mln/canvas/distance_geodesic.hh \
-mln/canvas/essential.hh \
-mln/canvas/labeling.hh \
-mln/canvas/morpho/algebraic_union_find.hh \
+mln/canvas/all.hh \
+mln/canvas/distance_front.hh \
mln/canvas/morpho/all.hh \
+mln/canvas/morpho/connected_filter.hh \
+mln/canvas/morpho/algebraic_filter.hh \
+mln/canvas/morpho/algebraic_union_find.hh \
mln/canvas/morpho/essential.hh \
-mln/convert/all.hh \
-mln/convert/essential.hh \
-mln/convert/from_to.hh \
-mln/convert/from_to.hxx \
-mln/convert/impl/all.hh \
-mln/convert/impl/from_double_to_value.hh \
-mln/convert/impl/from_float_to_value.hh \
-mln/convert/impl/from_image_to_site_set.hh \
-mln/convert/impl/from_int_to_value.hh \
-mln/convert/impl/from_site_set_to_image.hh \
-mln/convert/impl/from_value_to_value.hh \
-mln/convert/to.hh \
-mln/convert/to_dpoint.hh \
-mln/convert/to_fun.hh \
-mln/convert/to_image.hh \
-mln/convert/to_p_array.hh \
-mln/convert/to_p_set.hh \
-mln/convert/to_upper_window.hh \
-mln/convert/to_window.hh \
-mln/core/a_point_of.hh \
-mln/core/alias/all.hh \
-mln/core/alias/box1d.hh \
-mln/core/alias/box2d.hh \
-mln/core/alias/box2d_h.hh \
-mln/core/alias/box3d.hh \
-mln/core/alias/complex_geometry.hh \
-mln/core/alias/complex_image.hh \
-mln/core/alias/complex_image.hh~ \
-mln/core/alias/dpoint1d.hh \
-mln/core/alias/dpoint2d.hh \
+mln/canvas/essential.hh \
+mln/metal/is_const.hh \
+mln/metal/none.hh \
+mln/metal/equal.hh \
+mln/metal/unptr.hh \
+mln/metal/not_equal.hh \
+mln/metal/is_ref.hh \
+mln/metal/ret.hh \
+mln/metal/unqualif.hh \
+mln/metal/is_not.hh \
+mln/metal/vec.hh \
+mln/metal/is.hh \
+mln/metal/bool.hh \
+mln/metal/all.hh \
+mln/metal/math/pow.hh \
+mln/metal/math/max.hh \
+mln/metal/math/all.hh \
+mln/metal/math/root.hh \
+mln/metal/math/sqrt.hh \
+mln/metal/mat.hh \
+mln/metal/is_not_const.hh \
+mln/metal/fix_return.hh \
+mln/metal/ands.hh \
+mln/metal/const.hh \
+mln/metal/is_unqualif.hh \
+mln/metal/unconst.hh \
+mln/metal/bexpr.hh \
+mln/metal/array2d.hh \
+mln/metal/is_not_a.hh \
+mln/metal/is_a.hh \
+mln/metal/array1d.hh \
+mln/metal/if.hh \
+mln/metal/unref.hh \
+mln/metal/array.hh \
+mln/metal/ref.hh \
+mln/metal/same_point.hh \
+mln/metal/int.hh \
+mln/metal/abort.hh \
+mln/metal/same_coord.hh \
+mln/metal/templated_by.hh \
+mln/metal/goes_to.hh \
+mln/metal/is_not_ref.hh \
+mln/metal/converts_to.hh \
+mln/metal/essential.hh \
+mln/metal/array3d.hh \
+mln/algebra/vec.hh \
+mln/algebra/all.hh \
+mln/algebra/h_vec.hh \
+mln/algebra/mat.hh \
+mln/algebra/h_mat.hh \
+mln/algebra/quat.hh \
+mln/algebra/essential.hh \
+mln/linear/convolve_2x1d.hh \
+mln/linear/all.hh \
+mln/linear/ch_convolve.hh \
+mln/linear/gaussian.hh \
+mln/linear/convolve.hh \
+mln/linear/sobel_2d.hh \
+mln/linear/local/convolve.hh \
+mln/linear/lap.hh \
+mln/linear/convolve_directional.hh \
+mln/linear/log.hh \
+mln/linear/essential.hh \
+mln/morpho/thinning.hh \
+mln/morpho/meyer_wst.hh \
+mln/morpho/opening.hh \
+mln/morpho/includes.hh \
+mln/morpho/elementary/opening.hh \
+mln/morpho/elementary/gradient_internal.hh \
+mln/morpho/elementary/dilation.hh \
+mln/morpho/elementary/laplacian.hh \
+mln/morpho/elementary/all.hh \
+mln/morpho/elementary/gradient_external.hh \
+mln/morpho/elementary/like_ero_fun.hh \
+mln/morpho/elementary/gradient.hh \
+mln/morpho/elementary/like_ero_set.hh \
+mln/morpho/elementary/closing.hh \
+mln/morpho/elementary/top_hat.hh \
+mln/morpho/elementary/erosion.hh \
+mln/morpho/elementary/essential.hh \
+mln/morpho/thin_fit.hh \
+mln/morpho/skeleton_constrained.hh \
+mln/morpho/complementation.hh \
+mln/morpho/line_gradient.hh \
+mln/morpho/hit_or_miss.hh \
+mln/morpho/closing_height.hh \
+mln/morpho/plus.hh \
+mln/morpho/general.hh \
+mln/morpho/internal/elementary.hh \
+mln/morpho/contrast.hh \
+mln/morpho/opening_area.hh \
+mln/morpho/opening_height.hh \
+mln/morpho/thickening.hh \
+mln/morpho/dilation.hh \
+mln/morpho/laplacian.hh \
+mln/morpho/all.hh \
+mln/morpho/opening_algebraic.hh \
+mln/morpho/opening_attribute.hh \
+mln/morpho/opening_volume.hh \
+mln/morpho/closing_algebraic.hh \
+mln/morpho/watershed/flooding.hh \
+mln/morpho/watershed/all.hh \
+mln/morpho/closing_area_on_vertices.hh \
+mln/morpho/closing_volume.hh \
+mln/morpho/attribute/all.hh \
+mln/morpho/attribute/volume.hh \
+mln/morpho/attribute/sum.hh \
+mln/morpho/attribute/card.hh \
+mln/morpho/minus.hh \
+mln/morpho/gradient.hh \
+mln/morpho/tree/max.hh \
+mln/morpho/tree/compute_parent.hh \
+mln/morpho/tree/all.hh \
+mln/morpho/tree/utils.hh \
+mln/morpho/tree/data.hh \
+mln/morpho/tree/compute_attribute_image.hh \
+mln/morpho/opening_area_on_vertices.hh \
+mln/morpho/general.spe.hh \
+mln/morpho/min.hh \
+mln/morpho/closing.hh \
+mln/morpho/top_hat.hh \
+mln/morpho/erosion.hh \
+mln/morpho/closing_sum.hh \
+mln/morpho/Rd.hh \
+mln/morpho/closing_area.hh \
+mln/morpho/thick_miss.hh \
+mln/morpho/closing_attribute.hh \
+mln/morpho/rank_filter.hh \
+mln/morpho/essential.hh \
+mln/topo/n_face_iter.hh \
+mln/topo/face_iter.hh \
+mln/topo/is_simple_2d.hh \
+mln/topo/centered_iter_adapter.hh \
+mln/topo/internal/complex_set_iterator_base.hh \
+mln/topo/internal/complex_iterator_base.hh \
+mln/topo/internal/complex_relative_iterator_base.hh \
+mln/topo/internal/complex_relative_iterator_sequence.hh \
+mln/topo/algebraic_n_face.hh \
+mln/topo/attic/faces_iter.hh \
+mln/topo/adj_lower_dim_connected_n_face_iter.hh \
+mln/topo/n_face.hh \
+mln/topo/adj_lower_higher_face_iter.hh \
+mln/topo/all.hh \
+mln/topo/face_data.hh \
+mln/topo/static_n_face_iter.hh \
+mln/topo/face.hh \
+mln/topo/adj_m_face_iter.hh \
+mln/topo/complex.hh \
+mln/topo/adj_higher_face_iter.hh \
+mln/topo/adj_lower_face_iter.hh \
+mln/topo/complex_iterators.hh \
+mln/topo/center_only_iter.hh \
+mln/topo/adj_higher_dim_connected_n_face_iter.hh \
+mln/topo/algebraic_face.hh \
+mln/topo/n_faces_set.hh \
+mln/topo/essential.hh \
+mln/essential/1d.hh \
+mln/essential/routine.hh \
+mln/essential/3d.hh \
+mln/essential/2d.hh \
+mln/win/inter.hh \
+mln/win/backdiag2d.hh \
+mln/win/segment1d.hh \
+mln/win/cuboid3d.hh \
+mln/win/vline2d.hh \
+mln/win/octagon2d.hh \
+mln/win/all.hh \
+mln/win/multiple_size.hh \
+mln/win/cube3d.hh \
+mln/win/shift.hh \
+mln/win/sym.hh \
+mln/win/diff.hh \
+mln/win/multiple.hh \
+mln/win/diag2d.hh \
+mln/win/ball3d.hh \
+mln/win/disk2d.hh \
+mln/win/rectangle2d.hh \
+mln/win/hline2d.hh \
+mln/win/line.hh \
+mln/win/essential.hh \
+mln/core/clock_neighb.hh \
+mln/core/pixter2d.hh \
+mln/core/def/low_quant_nbits.hh \
+mln/core/def/all.hh \
+mln/core/def/coordf.hh \
+mln/core/def/coord.hh \
+mln/core/def/essential.hh \
+mln/core/site_set/box.hh \
+mln/core/site_set/p_vertices.hh \
+mln/core/site_set/p_vaccess.hh \
+mln/core/site_set/p_if_piter.hh \
+mln/core/site_set/p_run_piter.hh \
+mln/core/site_set/p_key.hh \
+mln/core/site_set/p_double.hh \
+mln/core/site_set/p_complex_piter.hh \
+mln/core/site_set/p_complex.hh \
+mln/core/site_set/p_image.hh \
+mln/core/site_set/attic/p_complex_faces_piter.hh \
+mln/core/site_set/attic/p_faces_piter.hh \
+mln/core/site_set/p_priority.hh \
+mln/core/site_set/p_set_of.hh \
+mln/core/site_set/all.hh \
+mln/core/site_set/p_edges.hh \
+mln/core/site_set/box_piter.hh \
+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 \
+mln/core/site_set/p_run.hh \
+mln/core/site_set/p_n_faces_piter.hh \
+mln/core/site_set/p_centered.hh \
+mln/core/site_set/p_bgraph.hh \
+mln/core/site_set/p_bgraph_piter.hh \
+mln/core/site_set/p_array.hh \
+mln/core/site_set/p_vertices_psite.hh \
+mln/core/site_set/p_line2d.hh \
+mln/core/site_set/p_queue_fast.hh \
+mln/core/site_set/p_graph_piter.hh \
+mln/core/site_set/essential.hh \
+mln/core/dpsites_piter.hh \
+mln/core/w_window.hh \
+mln/core/grids.hh \
+mln/core/dpoints_pixter.hh \
+mln/core/internal/graph_psite_base.hh \
+mln/core/internal/run_image.hh \
+mln/core/internal/pixel_impl.hh \
+mln/core/internal/site_set_base.hh \
+mln/core/internal/image_value_morpher.hh \
+mln/core/internal/site_iterator_base.hh \
+mln/core/internal/complex_neighborhood_base.hh \
+mln/core/internal/site_relative_iterator_base.hh \
+mln/core/internal/site_set_impl.hh \
+mln/core/internal/exact.hh \
+mln/core/internal/p_complex_piter_base.hh \
+mln/core/internal/neighb_niter_impl.hh \
+mln/core/internal/pixel_iterator_base.hh \
+mln/core/internal/classical_window_base.hh \
+mln/core/internal/data.hh \
+mln/core/internal/force_exact.hh \
+mln/core/internal/image_base.hh \
+mln/core/internal/check/image_fastest.hh \
+mln/core/internal/check/image_all.hh \
+mln/core/internal/fixme.hh \
+mln/core/internal/morpher_lvalue.hh \
+mln/core/internal/image_domain_morpher.hh \
+mln/core/internal/image_primary.hh \
+mln/core/internal/set_of.hh \
+mln/core/internal/complex_window_p_base.hh \
+mln/core/internal/graph_window_base.hh \
+mln/core/internal/piter_adaptor.hh \
+mln/core/internal/weighted_window_base.hh \
+mln/core/internal/neighborhood_base.hh \
+mln/core/internal/image_morpher.hh \
+mln/core/internal/coord_impl.hh \
+mln/core/internal/geom_bbox.hh \
+mln/core/internal/image_identity.hh \
+mln/core/internal/pseudo_site_base.hh \
+mln/core/internal/window_base.hh \
+mln/core/internal/box_impl.hh \
+mln/core/internal/site_set_iterator_base.hh \
+mln/core/contract.hh \
+mln/core/all.hh \
+mln/core/point.hh \
+mln/core/neighb.hh \
+mln/core/routine/initialize.hh \
+mln/core/routine/primary.hh \
+mln/core/routine/duplicate.hh \
+mln/core/routine/init.hh \
+mln/core/routine/ops.hh \
+mln/core/routine/all.hh \
+mln/core/routine/exact.hh \
+mln/core/routine/extend.hh \
+mln/core/routine/essential.hh \
+mln/core/trait/op_mult.hh \
+mln/core/trait/all.hh \
+mln/core/trait/pixter.hh \
+mln/core/trait/qlf_value.hh \
+mln/core/trait/essential.hh \
+mln/core/pixter1d.hh \
+mln/core/category.hh \
+mln/core/macros.hh \
+mln/core/box_runstart_piter.hh \
+mln/core/tags.hh \
+mln/core/dpoint.hh \
mln/core/alias/dpoint2d_h.hh \
-mln/core/alias/dpoint3d.hh \
-mln/core/alias/neighb1d.hh \
-mln/core/alias/neighb2d.hh \
-mln/core/alias/neighb3d.hh \
mln/core/alias/p_run2d.hh \
-mln/core/alias/p_runs2d.hh \
-mln/core/alias/point1d.hh \
-mln/core/alias/point2d.hh \
-mln/core/alias/point2d_h.hh \
mln/core/alias/point3d.hh \
-mln/core/alias/point3df.hh \
-mln/core/alias/vec3d.hh \
+mln/core/alias/neighb3d.hh \
+mln/core/alias/window3d.hh \
+mln/core/alias/vec2d.hh \
+mln/core/alias/all.hh \
+mln/core/alias/neighb2d.hh \
+mln/core/alias/complex_image.hh \
mln/core/alias/w_window1d_float.hh \
-mln/core/alias/w_window1d_int.hh \
+mln/core/alias/neighb1d.hh \
mln/core/alias/w_window2d_float.hh \
+mln/core/alias/vec3d.hh \
mln/core/alias/w_window2d_int.hh \
-mln/core/alias/w_window3d_float.hh \
-mln/core/alias/w_window3d_int.hh \
+mln/core/alias/box1d.hh \
+mln/core/alias/box2d.hh \
mln/core/alias/window1d.hh \
+mln/core/alias/point1d.hh \
+mln/core/alias/box3d.hh \
+mln/core/alias/dpoint3d.hh \
+mln/core/alias/complex_geometry.hh \
+mln/core/alias/w_window3d_float.hh \
+mln/core/alias/box2d_h.hh \
+mln/core/alias/point2d.hh \
mln/core/alias/window2d.hh \
-mln/core/alias/window3d.hh \
-mln/core/all.hh \
-mln/core/box_runstart_piter.hh \
-mln/core/category.hh \
-mln/core/clock_neighb.hh \
-mln/core/clock_neighb2d.hh \
-mln/core/concept/accumulator.hh \
-mln/core/concept/all.hh \
+mln/core/alias/p_runs2d.hh \
+mln/core/alias/dpoint1d.hh \
+mln/core/alias/w_window3d_int.hh \
+mln/core/alias/dpoint2d.hh \
+mln/core/alias/w_window1d_int.hh \
+mln/core/alias/point2d_h.hh \
+mln/core/window.hh \
+mln/core/concept/site_proxy.hh \
+mln/core/concept/point_site.hh \
mln/core/concept/box.hh \
-mln/core/concept/browsing.hh \
-mln/core/concept/delta_point_site.hh \
-mln/core/concept/doc/accumulator.hh \
+mln/core/concept/generalized_pixel.hh \
+mln/core/concept/graph.hh \
+mln/core/concept/iterator.hh \
+mln/core/concept/doc/point_site.hh \
mln/core/concept/doc/box.hh \
-mln/core/concept/doc/dpoint.hh \
mln/core/concept/doc/generalized_pixel.hh \
-mln/core/concept/doc/image.hh \
-mln/core/concept/doc/image_fastest.hh \
mln/core/concept/doc/iterator.hh \
-mln/core/concept/doc/neighborhood.hh \
-mln/core/concept/doc/object.hh \
-mln/core/concept/doc/pixel_iterator.hh \
-mln/core/concept/doc/point_iterator.hh \
-mln/core/concept/doc/point_site.hh \
-mln/core/concept/doc/site_set.hh \
-mln/core/concept/doc/value_iterator.hh \
+mln/core/concept/doc/image_fastest.hh \
+mln/core/concept/doc/image.hh \
mln/core/concept/doc/value_set.hh \
mln/core/concept/doc/weighted_window.hh \
+mln/core/concept/doc/pixel_iterator.hh \
+mln/core/concept/doc/value_iterator.hh \
+mln/core/concept/doc/dpoint.hh \
mln/core/concept/doc/window.hh \
-mln/core/concept/dpoint.hh \
-mln/core/concept/function.hh \
-mln/core/concept/gdpoint.hh \
-mln/core/concept/generalized_pixel.hh \
-mln/core/concept/gpoint.hh \
-mln/core/concept/graph.hh \
+mln/core/concept/doc/accumulator.hh \
+mln/core/concept/doc/site_set.hh \
+mln/core/concept/doc/object.hh \
+mln/core/concept/doc/neighborhood.hh \
+mln/core/concept/doc/point_iterator.hh \
+mln/core/concept/pseudo_site.hh \
mln/core/concept/image.hh \
-mln/core/concept/iterator.hh \
-mln/core/concept/literal.hh \
-mln/core/concept/mesh.hh \
-mln/core/concept/meta_accumulator.hh \
-mln/core/concept/meta_fun.hh \
-mln/core/concept/neighborhood.hh \
-mln/core/concept/object.hh \
-mln/core/concept/pixel_iterator.hh \
-mln/core/concept/point.hh \
-mln/core/concept/point_site.hh \
+mln/core/concept/value_set.hh \
mln/core/concept/proxy.hh \
-mln/core/concept/proxy.hxx \
-mln/core/concept/pseudo_site.hh \
-mln/core/concept/README \
-mln/core/concept/regular_grid.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/site_proxy.hh \
-mln/core/concept/site_set.hh \
-mln/core/concept/status.txt \
-mln/core/concept/value.hh \
+mln/core/concept/point.hh \
+mln/core/concept/literal.hh \
+mln/core/concept/pixel_iterator.hh \
mln/core/concept/value_iterator.hh \
-mln/core/concept/value_set.hh \
-mln/core/concept/weighted_window.hh \
+mln/core/concept/meta_accumulator.hh \
+mln/core/concept/gdpoint.hh \
+mln/core/concept/regular_grid.hh \
+mln/core/concept/mesh.hh \
+mln/core/concept/dpoint.hh \
+mln/core/concept/function.hh \
mln/core/concept/window.hh \
-mln/core/contract.hh \
-mln/core/def/all.hh \
-mln/core/def/coord.hh \
-mln/core/def/coordf.hh \
-mln/core/def/coordf.hh~ \
-mln/core/def/essential.hh \
-mln/core/def/low_quant_nbits.hh \
-mln/core/dpoint.hh \
-mln/core/dpoints_pixter.hh \
-mln/core/dpsites_piter.hh \
-mln/core/essential.hh \
-mln/core/faces_psite.hh \
-mln/core/grids.hh \
-mln/core/image/all.hh \
-mln/core/image/bgraph_image.hh \
-mln/core/image/bgraph_psite.hh \
-mln/core/image/cast_image.hh \
-mln/core/image/ch_piter.hh \
-mln/core/image/complex_higher_window_p.hh~ \
-mln/core/image/complex_image.hh \
-mln/core/image/complex_lower_higher_window_p.hh~ \
-mln/core/image/complex_lower_window.hh~ \
-mln/core/image/complex_lower_window_p.hh~ \
-mln/core/image/complex_neighborhood_piter.hh \
-mln/core/image/complex_neighborhood_piter.hh~ \
-mln/core/image/complex_neighborhoods.hh \
-mln/core/image/complex_neighborhoods.hh~ \
-mln/core/image/complex_window_piter.hh \
-mln/core/image/complex_window_piter.hh~ \
-mln/core/image/complex_windows.hh \
-mln/core/image/complex_windows.hh~ \
+mln/core/concept/value.hh \
+mln/core/concept/accumulator.hh \
+mln/core/concept/site_set.hh \
+mln/core/concept/object.hh \
+mln/core/concept/meta_fun.hh \
+mln/core/concept/delta_point_site.hh \
+mln/core/concept/neighborhood.hh \
+mln/core/concept/browsing.hh \
+mln/core/pixel.hh \
+mln/core/clock_neighb2d.hh \
+mln/core/pixter3d.hh \
+mln/core/image/obased_rle_encode.hh \
+mln/core/image/plain.hh \
+mln/core/image/image3d.hh \
mln/core/image/decorated_image.hh \
-mln/core/image/essential.hh \
-mln/core/image/extended.hh \
-mln/core/image/extension_fun.hh \
mln/core/image/extension_ima.hh \
-mln/core/image/extension_val.hh \
mln/core/image/flat_image.hh \
-mln/core/image/fun_image.hh \
-mln/core/image/graph_elt_neighborhood.hh \
+mln/core/image/complex_neighborhood_piter.hh \
+mln/core/image/tr_mesh.hh \
mln/core/image/graph_elt_window.hh \
-mln/core/image/graph_window_piter.hh \
-mln/core/image/hexa.hh \
-mln/core/image/hexa_piter.hh \
-mln/core/image/image1d.hh \
-mln/core/image/image2d.hh \
-mln/core/image/image2d_h.hh \
-mln/core/image/image3d.hh \
-mln/core/image/image_if.hh \
+mln/core/image/obased_rle_image.hh \
+mln/core/image/mono_obased_rle_image.hh \
mln/core/image/interpolated.hh \
mln/core/image/lazy_image.hh \
-mln/core/image/line_graph_elt_neighborhood.hh \
-mln/core/image/line_graph_elt_window.hh \
-mln/core/image/mono_obased_rle_encode.hh \
-mln/core/image/mono_obased_rle_image.hh \
-mln/core/image/mono_rle_encode.hh \
+mln/core/image/t_image.hh \
+mln/core/image/hexa_piter.hh \
+mln/core/image/value_enc_image.hh \
+mln/core/image/fun_image.hh \
+mln/core/image/graph_elt_neighborhood.hh \
+mln/core/image/sub_image_if.hh \
+mln/core/image/all.hh \
mln/core/image/mono_rle_image.hh \
-mln/core/image/obased_rle_encode.hh \
-mln/core/image/obased_rle_image.hh \
-mln/core/image/p2p_image.hh \
-mln/core/image/plain.hh \
+mln/core/image/complex_image.hh \
+mln/core/image/cast_image.hh \
mln/core/image/rle_encode.hh \
+mln/core/image/complex_window_piter.hh \
+mln/core/image/tr_image.hh \
+mln/core/image/sub_image.hh \
mln/core/image/rle_image.hh \
+mln/core/image/line_graph_elt_window.hh \
+mln/core/image/mono_rle_encode.hh \
+mln/core/image/bgraph_psite.hh \
+mln/core/image/sparse_image.hh \
+mln/core/image/bgraph_image.hh \
+mln/core/image/complex_neighborhoods.hh \
+mln/core/image/graph_window_piter.hh \
+mln/core/image/sparse_encode.hh \
mln/core/image/safe.hh \
+mln/core/image/extension_fun.hh \
+mln/core/image/image1d.hh \
+mln/core/image/extension_val.hh \
+mln/core/image/image_if.hh \
+mln/core/image/hexa.hh \
+mln/core/image/line_graph_elt_neighborhood.hh \
+mln/core/image/extended.hh \
+mln/core/image/p2p_image.hh \
mln/core/image/slice_image.hh \
-mln/core/image/sparse_encode.hh \
-mln/core/image/sparse_image.hh \
-mln/core/image/status.txt \
-mln/core/image/sub_image.hh \
-mln/core/image/sub_image_if.hh \
-mln/core/image/t_image.hh \
-mln/core/image/tr_image.hh \
-mln/core/image/tr_mesh.hh \
-mln/core/image/value_enc_image.hh \
-mln/core/image/value_encode.hh \
+mln/core/image/image2d_h.hh \
+mln/core/image/image2d.hh \
+mln/core/image/ch_piter.hh \
+mln/core/image/complex_windows.hh \
mln/core/image/violent_cast_image.hh \
-mln/core/internal/box_impl.hh \
-mln/core/internal/check/image_all.hh \
-mln/core/internal/check/image_fastest.hh \
-mln/core/internal/classical_window_base.hh \
-mln/core/internal/complex_neighborhood_base.hh \
-mln/core/internal/complex_neighborhood_base.hh~ \
-mln/core/internal/complex_window_p_base.hh \
-mln/core/internal/complex_window_p_base.hh~ \
-mln/core/internal/coord_impl.hh \
-mln/core/internal/data.hh \
-mln/core/internal/exact.hh \
-mln/core/internal/fixme.hh \
-mln/core/internal/force_exact.hh \
-mln/core/internal/geom_bbox.hh \
-mln/core/internal/graph_psite_base.hh \
-mln/core/internal/graph_window_base.hh \
-mln/core/internal/image_base.hh \
-mln/core/internal/image_domain_morpher.hh \
-mln/core/internal/image_identity.hh \
-mln/core/internal/image_morpher.hh \
-mln/core/internal/image_primary.hh \
-mln/core/internal/image_value_morpher.hh \
-mln/core/internal/morpher_lvalue.hh \
-mln/core/internal/neighb_niter_impl.hh \
-mln/core/internal/neighborhood_base.hh \
-mln/core/internal/p_complex_piter_base.hh \
-mln/core/internal/piter_adaptor.hh \
-mln/core/internal/pixel_impl.hh \
-mln/core/internal/pixel_iterator_base.hh \
-mln/core/internal/pseudo_site_base.hh \
-mln/core/internal/run_image.hh \
-mln/core/internal/set_of.hh \
-mln/core/internal/site_iterator_base.hh \
-mln/core/internal/site_relative_iterator_base.hh \
-mln/core/internal/site_set_base.hh \
-mln/core/internal/site_set_impl.hh \
-mln/core/internal/site_set_iterator_base.hh \
-mln/core/internal/weighted_window_base.hh \
-mln/core/internal/window_base.hh \
-mln/core/macros.hh \
-mln/core/neighb.hh \
-mln/core/pixel.hh \
-mln/core/pixter1d.hh \
-mln/core/pixter2d.hh \
-mln/core/pixter3d.hh \
-mln/core/point.hh \
-mln/core/routine/all.hh \
-mln/core/routine/duplicate.hh \
-mln/core/routine/essential.hh \
-mln/core/routine/exact.hh \
-mln/core/routine/extend.hh \
-mln/core/routine/init.hh \
-mln/core/routine/init.hxx \
-mln/core/routine/initialize.hh \
-mln/core/routine/ops.hh \
-mln/core/routine/primary.hh \
-mln/core/site_set/all.hh \
-mln/core/site_set/attic/p_complex_faces_piter.hh \
-mln/core/site_set/attic/p_faces_piter.hh \
-mln/core/site_set/box.hh \
-mln/core/site_set/box_piter.hh \
-mln/core/site_set/complex_psite.hh \
-mln/core/site_set/essential.hh \
-mln/core/site_set/operators.hh \
-mln/core/site_set/p_array.hh \
-mln/core/site_set/p_bgraph.hh \
-mln/core/site_set/p_bgraph_piter.hh \
-mln/core/site_set/p_centered.hh \
-mln/core/site_set/p_complex.hh \
-mln/core/site_set/p_complex_piter.hh \
-mln/core/site_set/p_double.hh \
-mln/core/site_set/p_edges.hh \
-mln/core/site_set/p_edges_psite.hh \
-mln/core/site_set/p_faces.hh \
-mln/core/site_set/p_graph_piter.hh \
-mln/core/site_set/p_if.hh \
-mln/core/site_set/p_if_piter.hh \
-mln/core/site_set/p_image.hh \
-mln/core/site_set/p_key.hh \
-mln/core/site_set/p_line2d.hh \
-mln/core/site_set/p_mutable_array_of.hh \
-mln/core/site_set/p_n_faces_piter.hh \
-mln/core/site_set/p_priority.hh \
-mln/core/site_set/p_queue.hh \
-mln/core/site_set/p_queue_fast.hh \
-mln/core/site_set/p_run.hh \
-mln/core/site_set/p_run_piter.hh \
-mln/core/site_set/p_set.hh \
-mln/core/site_set/p_set_of.hh \
-mln/core/site_set/p_vaccess.hh \
-mln/core/site_set/p_vertices.hh \
-mln/core/site_set/p_vertices_psite.hh \
-mln/core/site_set/status.txt \
-mln/core/tags.hh \
-mln/core/trait/all.hh \
-mln/core/trait/essential.hh \
-mln/core/trait/op_mult.hh \
-mln/core/trait/pixter.hh \
-mln/core/trait/qlf_value.hh \
+mln/core/image/mono_obased_rle_encode.hh \
+mln/core/image/value_encode.hh \
+mln/core/image/essential.hh \
+mln/core/a_point_of.hh \
mln/core/var.hh \
-mln/core/w_window.hh \
-mln/core/window.hh \
-mln/data/all.hh \
-mln/data/essential.hh \
-mln/data/fill.hh \
-mln/data/fill_with_image.hh \
-mln/data/fill_with_image.spe.hh \
-mln/data/fill_with_value.hh \
-mln/data/fill_with_value.spe.hh \
-mln/data/memcpy_.hh \
-mln/data/memset_.hh \
-mln/data/paste.hh \
-mln/data/paste.spe.hh \
-mln/debug/all.hh \
-mln/debug/colorize.hh \
-mln/debug/draw_graph.hh \
-mln/debug/essential.hh \
-mln/debug/format.hh \
-mln/debug/iota.hh \
-mln/debug/iota.spe.hh \
-mln/debug/println.hh \
-mln/debug/println.spe.hh \
-mln/debug/println_with_border.hh \
-mln/debug/println_with_border.spe.hh \
-mln/debug/put_word.hh \
-mln/debug/quiet.hh \
-mln/debug/slices_2d.hh \
-mln/display/all.hh \
-mln/display/essential.hh \
-mln/draw/all.hh \
-mln/draw/box.hh \
-mln/draw/essential.hh \
-mln/draw/line.hh \
-mln/draw/plot.hh \
-mln/essential/1d.hh \
-mln/essential/2d.hh \
-mln/essential/3d.hh \
-mln/essential/routine.hh \
-mln/estim/all.hh \
-mln/estim/essential.hh \
-mln/estim/mean.hh \
-mln/estim/min_max.hh \
-mln/estim/sum.hh \
-mln/extension/adjust.hh \
-mln/extension/adjust_duplicate.hh \
-mln/extension/adjust_fill.hh \
-mln/extension/all.hh \
-mln/extension/duplicate.hh \
-mln/extension/essential.hh \
-mln/extension/fill.hh \
-mln/extract/all.hh \
-mln/extract/blue.hh \
-mln/extract/essential.hh \
-mln/extract/green.hh \
-mln/extract/red.hh \
-mln/fun/all.hh \
-mln/fun/c.hh \
-mln/fun/cast.hh \
-mln/fun/essential.hh \
-mln/fun/i2v/all.hh \
-mln/fun/i2v/all_to.hh \
-mln/fun/i2v/array.hh \
-mln/fun/i2v/essential.hh \
-mln/fun/internal/array_base.hh \
-mln/fun/internal/ch_function_value_impl.hh \
-mln/fun/internal/selector.hh \
-mln/fun/internal/x2x_linear_impl.hh \
-mln/fun/l2l/all.hh \
-mln/fun/l2l/essential.hh \
-mln/fun/l2l/relabel.hh \
-mln/fun/meta/blue.hh \
-mln/fun/meta/green.hh \
-mln/fun/meta/hue.hh \
-mln/fun/meta/inty.hh \
-mln/fun/meta/red.hh \
-mln/fun/meta/sat.hh \
-mln/fun/meta/to_enc.hh \
-mln/fun/ops.hh \
-mln/fun/p2b/all.hh \
-mln/fun/p2b/big_chess.hh \
-mln/fun/p2b/chess.hh \
-mln/fun/p2b/essential.hh \
-mln/fun/p2b/has.hh \
-mln/fun/p2p/all.hh \
-mln/fun/p2p/mirror.hh \
-mln/fun/p2p/translation.hh \
-mln/fun/p2v/all.hh \
-mln/fun/p2v/elifs.hh \
-mln/fun/p2v/essential.hh \
-mln/fun/p2v/iota.hh \
-mln/fun/p2v/ternary.hh \
-mln/fun/v2b/all.hh \
-mln/fun/v2b/essential.hh \
-mln/fun/v2b/lnot.hh \
-mln/fun/v2b/threshold.hh \
-mln/fun/v2v/abs.hh \
-mln/fun/v2v/all.hh \
-mln/fun/v2v/cast.hh \
-mln/fun/v2v/ch_function_value.hh \
-mln/fun/v2v/convert.hh \
-mln/fun/v2v/dec.hh \
-mln/fun/v2v/enc.hh \
-mln/fun/v2v/essential.hh \
-mln/fun/v2v/id.hh \
-mln/fun/v2v/inc.hh \
-mln/fun/v2v/linear.hh \
-mln/fun/v2v/norm.hh \
-mln/fun/v2v/rgb_to_hsi.hh \
-mln/fun/v2v/rgb_to_hsl.hh \
-mln/fun/v2v/saturate.hh \
-mln/fun/v2w2v/cos.hh \
-mln/fun/v2w_w2v/norm.hh \
-mln/fun/vv2b/eq.hh \
-mln/fun/vv2b/ge.hh \
-mln/fun/vv2b/gt.hh \
-mln/fun/vv2b/implies.hh \
-mln/fun/vv2b/le.hh \
-mln/fun/vv2b/lt.hh \
-mln/fun/vv2v/all.hh \
-mln/fun/vv2v/diff_abs.hh \
-mln/fun/vv2v/essential.hh \
-mln/fun/vv2v/land.hh \
-mln/fun/vv2v/land_not.hh \
-mln/fun/vv2v/lor.hh \
-mln/fun/vv2v/lxor.hh \
-mln/fun/vv2v/macros.hh \
-mln/fun/vv2v/max.hh \
-mln/fun/vv2v/min.hh \
-mln/fun/vv2v/vec.hh \
-mln/fun/x2p/all.hh \
-mln/fun/x2p/closest_point.hh \
-mln/fun/x2p/essential.hh \
-mln/fun/x2v/all.hh \
-mln/fun/x2v/bilinear.hh \
-mln/fun/x2v/essential.hh \
-mln/fun/x2v/l1_norm.hh \
-mln/fun/x2v/linear.hh \
-mln/fun/x2v/nneighbor.hh \
-mln/fun/x2x/all.hh \
-mln/fun/x2x/composed.hh \
-mln/fun/x2x/essential.hh \
-mln/fun/x2x/rotation.hh \
-mln/fun/x2x/translation.hh \
-mln/geom/all.hh \
-mln/geom/bbox.hh \
-mln/geom/chamfer.hh \
-mln/geom/complex_geometry.hh \
-mln/geom/complex_geometry.hh~ \
-mln/geom/delta.hh \
-mln/geom/essential.hh \
-mln/geom/max_col.hh \
-mln/geom/max_ind.hh \
-mln/geom/max_row.hh \
-mln/geom/max_sli.hh \
-mln/geom/min_col.hh \
-mln/geom/min_ind.hh \
-mln/geom/min_row.hh \
-mln/geom/min_sli.hh \
-mln/geom/ncols.hh \
-mln/geom/ninds.hh \
-mln/geom/nrows.hh \
-mln/geom/nsites.hh \
-mln/geom/nslis.hh \
-mln/geom/pmin_pmax.hh \
-mln/geom/seeds2tiling.hh \
-mln/geom/seeds2tiling_roundness.hh \
-mln/geom/size1d.hh \
-mln/geom/size2d.hh \
-mln/geom/size3d.hh \
-mln/histo/all.hh \
-mln/histo/array.hh \
-mln/histo/compute.hh \
-mln/histo/compute.spe.hh \
-mln/histo/essential.hh \
-mln/io/abort.hh \
-mln/io/all.hh \
-mln/io/cloud/all.hh \
+mln/core/essential.hh \
+mln/core/faces_psite.hh \
+mln/labeling/mean_values.hh \
+mln/labeling/blobs.hh \
+mln/labeling/background.hh \
+mln/labeling/n_max.hh \
+mln/labeling/relabel.hh \
+mln/labeling/level.spe.hh \
+mln/labeling/all.hh \
+mln/labeling/level.hh \
+mln/labeling/flat_zones.hh \
+mln/labeling/foreground.hh \
+mln/labeling/regional_maxima.hh \
+mln/labeling/compute.hh \
+mln/labeling/regional_minima.hh \
+mln/labeling/essential.hh \
+mln/labeling/fill_holes.hh \
+mln/test/predicate.hh \
+mln/test/all.hh \
+mln/test/positive.hh \
+mln/test/essential.hh \
+mln/transform/distance_geodesic.hh \
+mln/transform/internal/all.hh \
+mln/transform/internal/closest_point_functor.hh \
+mln/transform/internal/distance_functor.hh \
+mln/transform/internal/influence_zone_functor.hh \
+mln/transform/all.hh \
+mln/transform/influence_zone_front.hh \
+mln/transform/distance_front.hh \
+mln/transform/influence_zone_geodesic.hh \
+mln/transform/closest_point_geodesic.hh \
+mln/transform/essential.hh \
+mln/arith/includes.hh \
+mln/arith/min.spe.hh \
+mln/arith/plus.hh \
+mln/arith/revert.spe.hh \
+mln/arith/times.spe.hh \
+mln/arith/all.hh \
+mln/arith/times.hh \
+mln/arith/diff_abs.hh \
+mln/arith/minus.hh \
+mln/arith/min.hh \
+mln/arith/revert.hh \
+mln/arith/essential.hh \
+mln/io/pgm/load.hh \
+mln/io/pgm/all.hh \
+mln/io/pgm/save.hh \
+mln/io/ppm/load.hh \
+mln/io/ppm/all.hh \
+mln/io/ppm/save.hh \
+mln/io/pfm/load.hh \
+mln/io/pfm/all.hh \
+mln/io/pfm/save.hh \
mln/io/cloud/load.hh \
+mln/io/cloud/all.hh \
mln/io/cloud/save.hh \
-mln/io/dump/all.hh \
+mln/io/all.hh \
mln/io/dump/load.hh \
+mln/io/dump/all.hh \
mln/io/dump/save.hh \
-mln/io/essential.hh \
-mln/io/fits/all.hh \
-mln/io/fits/load.hh \
-mln/io/off/all.hh \
-mln/io/off/load.hh \
-mln/io/off/load.hh~ \
-mln/io/off/save.hh \
-mln/io/off/save.hh.NEW~ \
-mln/io/off/save.hh~ \
-mln/io/pbm/all.hh \
mln/io/pbm/load.hh \
+mln/io/pbm/all.hh \
mln/io/pbm/save.hh \
-mln/io/pfm/all.hh \
-mln/io/pfm/load.hh \
-mln/io/pfm/save.hh \
-mln/io/pgm/all.hh \
-mln/io/pgm/load.hh \
-mln/io/pgm/save.hh \
-mln/io/pnm/all.hh \
+mln/io/pnm/max_component.hh \
mln/io/pnm/load.hh \
mln/io/pnm/load_header.hh \
+mln/io/pnm/all.hh \
mln/io/pnm/macros.hh \
-mln/io/pnm/max_component.hh \
mln/io/pnm/save.hh \
mln/io/pnm/save_header.hh \
-mln/io/ppm/all.hh \
-mln/io/ppm/load.hh \
-mln/io/ppm/save.hh \
mln/io/txt/all.hh \
mln/io/txt/save.hh \
-mln/labeling/all.hh \
-mln/labeling/background.hh \
-mln/labeling/blobs.hh \
-mln/labeling/compute.hh \
-mln/labeling/essential.hh \
-mln/labeling/flat_zones.hh \
-mln/labeling/foreground.hh \
-mln/labeling/level.hh \
-mln/labeling/level.spe.hh \
-mln/labeling/regional_maxima.hh \
-mln/labeling/regional_minima.hh \
-mln/labeling/relabel.hh \
-mln/level/abs.hh \
-mln/level/all.hh \
-mln/level/apply.hh \
-mln/level/apply.spe.hh \
-mln/level/approx/all.hh \
-mln/level/approx/essential.hh \
-mln/level/approx/median.hh \
-mln/level/compare.hh \
-mln/level/compute.hh \
-mln/level/convert.hh \
-mln/level/essential.hh \
-mln/level/fast_median.hh \
-mln/level/median.hh \
-mln/level/naive/all.hh \
-mln/level/naive/essential.hh \
-mln/level/naive/median.hh \
-mln/level/replace.hh \
-mln/level/saturate.hh \
-mln/level/sort_offsets.hh \
-mln/level/sort_psites.hh \
-mln/level/stretch.hh \
-mln/level/to_enc.hh \
-mln/level/transform.hh \
-mln/level/transform.spe.hh \
-mln/level/transform_inplace.hh \
-mln/level/update.hh \
-mln/level/was.median.hh \
-mln/linear/all.hh \
-mln/linear/ch_convolve.hh \
-mln/linear/convolve.hh \
-mln/linear/convolve_2x1d.hh \
-mln/linear/convolve_directional.hh \
-mln/linear/essential.hh \
-mln/linear/gaussian.hh \
-mln/linear/lap.hh \
-mln/linear/local/convolve.hh \
-mln/linear/log.hh \
-mln/linear/sobel_2d.hh \
-mln/literal/all.hh \
-mln/literal/black.hh \
-mln/literal/colors.hh \
-mln/literal/essential.hh \
-mln/literal/grays.hh \
-mln/literal/max.hh \
-mln/literal/min.hh \
-mln/literal/one.hh \
-mln/literal/ops.hh \
-mln/literal/origin.hh \
-mln/literal/white.hh \
-mln/literal/zero.hh \
-mln/logical/all.hh \
-mln/logical/and.hh \
-mln/logical/and_not.hh \
-mln/logical/essential.hh \
+mln/io/abort.hh \
+mln/io/fits/load.hh \
+mln/io/fits/all.hh \
+mln/io/off/load.hh \
+mln/io/off/all.hh \
+mln/io/off/save.hh \
+mln/io/essential.hh \
mln/logical/includes.hh \
+mln/logical/and_not.hh \
+mln/logical/xor.hh \
+mln/logical/all.hh \
mln/logical/not.hh \
mln/logical/not.spe.hh \
+mln/logical/and.hh \
mln/logical/or.hh \
-mln/logical/xor.hh \
-mln/make/all.hh \
-mln/make/box1d.hh \
-mln/make/box2d.hh \
-mln/make/box2d_h.hh \
-mln/make/box3d.hh \
-mln/make/double_neighb2d.hh \
-mln/make/dpoint2d_h.hh \
-mln/make/dual_neighb.hh \
-mln/make/essential.hh \
-mln/make/graph.hh \
-mln/make/h_mat.hh \
-mln/make/image.hh \
-mln/make/image2d.hh \
-mln/make/image3d.hh \
-mln/make/mat.hh \
-mln/make/pix.hh \
-mln/make/pixel.hh \
-mln/make/point2d_h.hh \
-mln/make/relabelfun.hh \
-mln/make/vec.hh \
-mln/make/voronoi.hh \
-mln/make/w_window.hh \
-mln/make/w_window1d.hh \
-mln/make/w_window1d_int.hh \
-mln/make/w_window2d.hh \
-mln/make/w_window2d_int.hh \
-mln/make/w_window3d.hh \
-mln/make/w_window3d_int.hh \
-mln/make/w_window_directional.hh \
-mln/make/win_chamfer.hh \
-mln/math/abs.hh \
-mln/math/acos.hh \
-mln/math/all.hh \
-mln/math/cos.hh \
-mln/math/diff_abs.hh \
-mln/math/essential.hh \
-mln/math/jacobi.hh \
-mln/math/max.hh \
-mln/math/min.hh \
-mln/math/round.hh \
-mln/math/round_sat.hh \
-mln/math/sign.hh \
-mln/math/sqr.hh \
-mln/math/sqrt.hh \
-mln/metal/abort.hh \
-mln/metal/all.hh \
-mln/metal/ands.hh \
-mln/metal/array.hh \
-mln/metal/array1d.hh \
-mln/metal/array2d.hh \
-mln/metal/array3d.hh \
-mln/metal/bexpr.hh \
-mln/metal/bool.hh \
-mln/metal/const.hh \
-mln/metal/converts_to.hh \
-mln/metal/equal.hh \
-mln/metal/essential.hh \
-mln/metal/fix_return.hh \
-mln/metal/goes_to.hh \
-mln/metal/if.hh \
-mln/metal/int.hh \
-mln/metal/is.hh \
-mln/metal/is_a.hh \
-mln/metal/is_const.hh \
-mln/metal/is_not.hh \
-mln/metal/is_not_a.hh \
-mln/metal/is_not_const.hh \
-mln/metal/is_not_ref.hh \
-mln/metal/is_ref.hh \
-mln/metal/is_unqualif.hh \
-mln/metal/mat.hh \
-mln/metal/math/all.hh \
-mln/metal/math/max.hh \
-mln/metal/math/pow.hh \
-mln/metal/math/root.hh \
-mln/metal/math/sqrt.hh \
-mln/metal/none.hh \
-mln/metal/not_equal.hh \
-mln/metal/ref.hh \
-mln/metal/ret.hh \
-mln/metal/same_coord.hh \
-mln/metal/same_point.hh \
-mln/metal/templated_by.hh \
-mln/metal/unconst.hh \
-mln/metal/unptr.hh \
-mln/metal/unqualif.hh \
-mln/metal/unref.hh \
-mln/metal/vec.hh \
-mln/morpho/all.hh \
-mln/morpho/closing.hh \
-mln/morpho/closing_area.hh \
-mln/morpho/closing_area_on_vertices.hh \
-mln/morpho/closing_attribute.hh \
-mln/morpho/closing_height.hh \
-mln/morpho/closing_volume.hh \
-mln/morpho/complementation.hh \
-mln/morpho/contrast.hh \
-mln/morpho/dilation.hh \
-mln/morpho/elementary/all.hh \
-mln/morpho/elementary/closing.hh \
-mln/morpho/elementary/dilation.hh \
-mln/morpho/elementary/erosion.hh \
-mln/morpho/elementary/essential.hh \
-mln/morpho/elementary/gradient.hh \
-mln/morpho/elementary/gradient_external.hh \
-mln/morpho/elementary/gradient_internal.hh \
-mln/morpho/elementary/laplacian.hh \
-mln/morpho/elementary/like_ero_fun.hh \
-mln/morpho/elementary/like_ero_set.hh \
-mln/morpho/elementary/opening.hh \
-mln/morpho/elementary/top_hat.hh \
-mln/morpho/erosion.hh \
-mln/morpho/essential.hh \
-mln/morpho/general.hh \
-mln/morpho/general.spe.hh \
-mln/morpho/gradient.hh \
-mln/morpho/hit_or_miss.hh \
-mln/morpho/includes.hh \
-mln/morpho/internal/elementary.hh \
-mln/morpho/laplacian.hh \
-mln/morpho/line_gradient.hh \
-mln/morpho/meyer_wst.hh \
-mln/morpho/min.hh \
-mln/morpho/minus.hh \
-mln/morpho/opening.hh \
-mln/morpho/opening_area.hh \
-mln/morpho/opening_area_on_vertices.hh \
-mln/morpho/opening_attribute.hh \
-mln/morpho/opening_height.hh \
-mln/morpho/opening_volume.hh \
-mln/morpho/plus.hh \
-mln/morpho/rank_filter.hh \
-mln/morpho/Rd.hh \
-mln/morpho/skeleton_constrained.hh \
-mln/morpho/thick_miss.hh \
-mln/morpho/thickening.hh \
-mln/morpho/thin_fit.hh \
-mln/morpho/thinning.hh \
-mln/morpho/top_hat.hh \
-mln/morpho/tree/all.hh \
-mln/morpho/tree/compute_attribute_image.hh \
-mln/morpho/tree/compute_parent.hh \
-mln/morpho/tree/data.hh \
-mln/morpho/tree/max.hh \
-mln/morpho/tree/utils.hh \
+mln/logical/essential.hh \
mln/norm/all.hh \
-mln/norm/essential.hh \
mln/norm/l1.hh \
mln/norm/l2.hh \
mln/norm/linfty.hh \
-mln/opt/at.hh \
-mln/opt/element.hh \
-mln/opt/value.hh \
-mln/pw/all.hh \
-mln/pw/cst.hh \
-mln/pw/essential.hh \
-mln/pw/image.hh \
-mln/pw/value.hh \
-mln/pw/var.hh \
-mln/registration/all.hh \
-mln/registration/essential.hh \
-mln/registration/get_rot.hh \
-mln/registration/get_rtransf.hh \
-mln/registration/icp.hh \
-mln/registration/icp2.hh \
-mln/registration/internal/rms.hh \
-mln/registration/multiscale.hh \
-mln/registration/registration.hh \
+mln/norm/essential.hh \
+mln/debug/iota.hh \
+mln/debug/all.hh \
+mln/debug/println_with_border.hh \
+mln/debug/println.spe.hh \
+mln/debug/colorize.hh \
+mln/debug/slices_2d.hh \
+mln/debug/draw_graph.hh \
+mln/debug/put_word.hh \
+mln/debug/histo.hh \
+mln/debug/quiet.hh \
+mln/debug/println_with_border.spe.hh \
+mln/debug/format.hh \
+mln/debug/println.hh \
+mln/debug/iota.spe.hh \
+mln/debug/essential.hh \
+mln/estim/min_max.hh \
+mln/estim/all.hh \
+mln/estim/sum.hh \
+mln/estim/mean.hh \
+mln/estim/essential.hh \
+mln/set/uni.hh \
+mln/set/unique.hh \
+mln/set/inter.hh \
mln/set/all.hh \
+mln/set/get.hh \
+mln/set/sym_diff.hh \
+mln/set/has.hh \
+mln/set/diff.hh \
mln/set/card.hh \
mln/set/compute.hh \
-mln/set/diff.hh \
mln/set/essential.hh \
-mln/set/get.hh \
-mln/set/has.hh \
-mln/set/inter.hh \
-mln/set/sym_diff.hh \
-mln/set/uni.hh \
-mln/set/unique.hh \
-mln/subsampling/all.hh \
-mln/subsampling/essential.hh \
+mln/border/adjust.hh \
+mln/border/duplicate.hh \
+mln/border/find.hh \
+mln/border/thickness.hh \
+mln/border/all.hh \
+mln/border/mirror.hh \
+mln/border/get.hh \
+mln/border/equalize.hh \
+mln/border/resize.hh \
+mln/border/fill.hh \
+mln/border/essential.hh \
mln/subsampling/gaussian_subsampling.hh \
+mln/subsampling/all.hh \
mln/subsampling/subsampling.hh \
-mln/tag/all.hh \
-mln/tag/essential.hh \
-mln/tag/init.hh \
-mln/tag/skeleton.hh \
-mln/test/all.hh \
-mln/test/essential.hh \
-mln/test/positive.hh \
-mln/test/predicate.hh \
-mln/topo/adj_higher_dim_connected_n_face_iter.hh \
-mln/topo/adj_higher_dim_connected_n_face_iter.hh~ \
-mln/topo/adj_higher_face_iter.hh \
-mln/topo/adj_lower_dim_connected_n_face_iter.hh \
-mln/topo/adj_lower_dim_connected_n_face_iter.hh~ \
-mln/topo/adj_lower_face_iter.hh \
-mln/topo/adj_lower_higher_face_iter.hh \
-mln/topo/adj_lower_higher_face_iter.hh~ \
-mln/topo/adj_m_face_iter.hh \
-mln/topo/adj_m_face_iter.hh~ \
-mln/topo/algebraic_face.hh \
-mln/topo/algebraic_n_face.hh \
-mln/topo/all.hh \
-mln/topo/attic/faces_iter.hh \
-mln/topo/center_only_iter.hh \
-mln/topo/center_only_iter.hh~ \
-mln/topo/centered_iter_adapter.hh \
-mln/topo/centered_iter_adapter.hh~ \
-mln/topo/complex.hh \
-mln/topo/complex_iterators.hh \
-mln/topo/complex_iterators.hh~ \
-mln/topo/essential.hh \
-mln/topo/face.hh \
-mln/topo/face_data.hh \
-mln/topo/face_iter.hh \
-mln/topo/internal/complex_iterator_base.hh \
-mln/topo/internal/complex_relative_iterator_base.hh \
-mln/topo/internal/complex_relative_iterator_sequence.hh \
-mln/topo/internal/complex_relative_iterator_sequence.hh~ \
-mln/topo/internal/complex_set_iterator_base.hh \
-mln/topo/is_simple_2d.hh \
-mln/topo/n_face.hh \
-mln/topo/n_face_iter.hh \
-mln/topo/n_faces_set.hh \
-mln/topo/static_n_face_iter.hh \
-mln/trace/all.hh \
-mln/trace/entering.hh \
-mln/trace/essential.hh \
-mln/trace/exiting.hh \
-mln/trace/quiet.hh \
-mln/trace/resume.hh \
-mln/trace/stop.hh \
-mln/trace/warning.hh \
-mln/trait/all.hh \
-mln/trait/ch_function_value.hh \
-mln/trait/ch_value.hh \
-mln/trait/concrete.hh \
-mln/trait/essential.hh \
-mln/trait/image/print.hh \
-mln/trait/image/props.hh \
-mln/trait/image_from_grid.hh \
-mln/trait/images.hh \
-mln/trait/neighborhood.hh \
-mln/trait/op/all.hh \
-mln/trait/op/and.hh \
-mln/trait/op/decl.hh \
-mln/trait/op/div.hh \
-mln/trait/op/eq.hh \
-mln/trait/op/essential.hh \
-mln/trait/op/geq.hh \
-mln/trait/op/greater.hh \
-mln/trait/op/leq.hh \
-mln/trait/op/less.hh \
-mln/trait/op/lor.hh \
-mln/trait/op/minus.hh \
-mln/trait/op/mod.hh \
-mln/trait/op/neq.hh \
-mln/trait/op/not.hh \
-mln/trait/op/or.hh \
-mln/trait/op/ord.hh \
-mln/trait/op/plus.hh \
-mln/trait/op/postdec.hh \
-mln/trait/op/postinc.hh \
-mln/trait/op/predec.hh \
-mln/trait/op/preinc.hh \
-mln/trait/op/times.hh \
-mln/trait/op/uminus.hh \
-mln/trait/op/uplus.hh \
-mln/trait/op/xor.hh \
-mln/trait/promote.hh \
-mln/trait/site_set/print.hh \
-mln/trait/site_set/props.hh \
-mln/trait/site_sets.hh \
-mln/trait/solve.hh \
-mln/trait/solve_binary.hh \
-mln/trait/solve_unary.hh \
-mln/trait/undef.hh \
-mln/trait/value/all.hh \
-mln/trait/value/essential.hh \
-mln/trait/value/kind.hh \
-mln/trait/value/nature.hh \
-mln/trait/value/print.hh \
-mln/trait/value/quant.hh \
-mln/trait/value_.hh \
-mln/trait/window/print.hh \
-mln/trait/window/props.hh \
-mln/trait/windows.hh \
-mln/transform/all.hh \
-mln/transform/distance_front.hh \
-mln/transform/distance_geodesic.hh \
-mln/transform/essential.hh \
-mln/transform/influence_zone_front.hh \
-mln/transform/influence_zone_geodesic.hh \
-mln/transform/internal/all.hh \
-mln/transform/internal/closest_point_functor.hh \
-mln/transform/internal/distance_functor.hh \
-mln/transform/internal/influence_zone_functor.hh \
-mln/util/all.hh \
-mln/util/array.hh \
-mln/util/branch_iter.hh \
-mln/util/branch_iter_ind.hh \
-mln/util/dindex.hh \
-mln/util/eat.hh \
-mln/util/edge.hh \
-mln/util/essential.hh \
-mln/util/fibonacci_heap.hh \
-mln/util/graph.hh \
-mln/util/greater_point.hh \
-mln/util/greater_psite.hh \
-mln/util/ignore.hh \
-mln/util/index.hh \
-mln/util/internal/boost_graph.hh \
-mln/util/internal/boost_graph_access.hh \
-mln/util/internal/boost_graph_property.hh \
-mln/util/internal/boost_graph_structure.hh \
-mln/util/internal/edge_impl.hh \
-mln/util/internal/graph_base.hh \
-mln/util/internal/graph_iter.hh \
-mln/util/internal/graph_iter_base.hh \
-mln/util/internal/graph_nbh_iter.hh \
-mln/util/internal/graph_nbh_iter_base.hh \
-mln/util/internal/vertex_impl.hh \
-mln/util/lazy_set.hh \
-mln/util/lemmings.hh \
-mln/util/line_graph.hh \
-mln/util/max.hh \
-mln/util/multi_site.hh \
-mln/util/multi_site.hh~ \
-mln/util/nil.hh \
-mln/util/ord.hh \
-mln/util/ord_pair.hh \
-mln/util/pix.hh \
-mln/util/set.hh \
-mln/util/site_pair.hh \
-mln/util/soft_heap.hh \
-mln/util/timer.hh \
-mln/util/tracked_ptr.hh \
-mln/util/tree.hh \
-mln/util/tree_fast.hh \
-mln/util/tree_fast_to_image.hh \
-mln/util/tree_to_fast.hh \
-mln/util/tree_to_image.hh \
-mln/util/vertex.hh \
-mln/util/yes.hh \
-mln/value/aliases.hh \
-mln/value/all.hh \
-mln/value/builtin/all.hh \
-mln/value/builtin/essential.hh \
-mln/value/builtin/floatings.hh \
-mln/value/builtin/integers.hh \
-mln/value/builtin/ops.hh \
-mln/value/builtin/promotions.hh \
-mln/value/builtin/symbolics.hh \
-mln/value/cast.hh \
-mln/value/concept/all.hh \
-mln/value/concept/built_in.hh \
-mln/value/concept/data.hh \
-mln/value/concept/essential.hh \
-mln/value/concept/floating.hh \
-mln/value/concept/integer.hh \
-mln/value/concept/scalar.hh \
-mln/value/concept/structured.hh \
-mln/value/concept/symbolic.hh \
-mln/value/concept/vectorial.hh \
-mln/value/equiv.hh \
-mln/value/essential.hh \
-mln/value/float01.hh \
-mln/value/float01_.hh \
-mln/value/float01_16.hh \
-mln/value/float01_8.hh \
-mln/value/float01_f.hh \
-mln/value/gl16.hh \
-mln/value/gl8.hh \
-mln/value/glf.hh \
-mln/value/graylevel.hh \
-mln/value/graylevel_f.hh \
-mln/value/hsi.hh \
-mln/value/hsl.hh \
-mln/value/int_s.hh \
-mln/value/int_s16.hh \
-mln/value/int_s32.hh \
-mln/value/int_s8.hh \
-mln/value/int_u.hh \
-mln/value/int_u16.hh \
-mln/value/int_u32.hh \
-mln/value/int_u8.hh \
-mln/value/int_u_sat.hh \
-mln/value/internal/all.hh \
-mln/value/internal/convert.hh \
-mln/value/internal/encoding.hh \
-mln/value/internal/essential.hh \
-mln/value/internal/gray_.hh \
-mln/value/internal/gray_f.hh \
-mln/value/internal/integer.hh \
-mln/value/internal/iterable_set.hh \
-mln/value/internal/limits.hh \
-mln/value/internal/value_like.hh \
-mln/value/interval.hh \
-mln/value/label.hh \
-mln/value/label_16.hh \
-mln/value/label_8.hh \
-mln/value/lut_vec.hh \
-mln/value/mixin.hh \
-mln/value/ops.hh \
-mln/value/other.hh \
-mln/value/proxy.hh \
-mln/value/rgb.hh \
-mln/value/rgb16.hh \
-mln/value/rgb8.hh \
-mln/value/scalar.hh \
-mln/value/set.hh \
-mln/value/shell.hh \
-mln/value/sign.hh \
-mln/value/stack.hh \
-mln/value/super_value.hh \
-mln/value/viter.hh \
-mln/win/all.hh \
-mln/win/backdiag2d.hh \
-mln/win/cube3d.hh \
-mln/win/cuboid3d.hh \
-mln/win/diag2d.hh \
-mln/win/diff.hh \
-mln/win/disk2d.hh \
-mln/win/essential.hh \
-mln/win/hline2d.hh \
-mln/win/inter.hh \
-mln/win/line.hh \
-mln/win/multiple.hh \
-mln/win/multiple_size.hh \
-mln/win/octagon2d.hh \
-mln/win/rectangle2d.hh \
-mln/win/segment1d.hh \
-mln/win/shift.hh \
-mln/win/sym.hh \
-mln/win/vline2d.hh
+mln/subsampling/essential.hh \
+mln/convert/from_to.hxx \
+mln/core/routine/init.hxx \
+mln/core/concept/proxy.hxx
diff --git a/milena/mln/canvas/morpho/algebraic_filter.hh b/milena/mln/canvas/morpho/algebraic_filter.hh
index e0655d9..460bc44 100644
--- a/milena/mln/canvas/morpho/algebraic_filter.hh
+++ b/milena/mln/canvas/morpho/algebraic_filter.hh
@@ -108,6 +108,7 @@ namespace mln
const I& input = exact(input_);
const N& nbh = exact(nbh_);
const S& s = exact(s_);
+ (void) accu_;
mln_concrete(I) output;
initialize(output, input);
@@ -231,6 +232,7 @@ namespace mln
const I& input = exact(input_);
const N& nbh = exact(nbh_);
+ (void) accu_;
extension::adjust(input, nbh);
diff --git a/milena/mln/debug/println_with_border.spe.hh b/milena/mln/debug/println_with_border.spe.hh
index 514edc0..825deb3 100644
--- a/milena/mln/debug/println_with_border.spe.hh
+++ b/milena/mln/debug/println_with_border.spe.hh
@@ -53,7 +53,7 @@ namespace mln
namespace impl
{
-# ifdef MLN_CORE_SITE_SET_BOX2D_HH
+# ifdef MLN_CORE_ALIAS_BOX2D_HH
// 2D version.
template <typename I>
@@ -70,10 +70,10 @@ namespace mln
}
std::cout << std::endl;
}
-# endif // MLN_CORE_SITE_SET_BOX2D_HH
+# endif // MLN_CORE_ALIAS_BOX2D_HH
-# ifdef MLN_CORE_SITE_SET_BOX3D_HH
+# ifdef MLN_CORE_ALIAS_BOX3D_HH
// 3D version.
template <typename I>
@@ -105,7 +105,7 @@ namespace mln
std::cout << std::endl;
}
-# endif // MLN_CORE_SITE_SET_BOX3D_HH
+# endif // MLN_CORE_ALIAS_BOX3D_HH
} // end of namespace mln::debug::impl
diff --git a/milena/mln/fun/v2v/rgb_to_hsl.hh b/milena/mln/fun/v2v/rgb_to_hsl.hh
index 39433f2..a27e80c 100644
--- a/milena/mln/fun/v2v/rgb_to_hsl.hh
+++ b/milena/mln/fun/v2v/rgb_to_hsl.hh
@@ -36,8 +36,7 @@
# include <mln/trait/value_.hh>
-# include <mln/value/rgb8.hh>
-# include <mln/value/rgb16.hh>
+# include <mln/value/rgb.hh>
namespace mln
{
diff --git a/milena/mln/labeling/fill_holes.hh b/milena/mln/labeling/fill_holes.hh
index ecbb90f..2163c7b 100644
--- a/milena/mln/labeling/fill_holes.hh
+++ b/milena/mln/labeling/fill_holes.hh
@@ -89,11 +89,11 @@ namespace mln
accu::count<mln_value(I)> a_;
util::array<unsigned> arr = labeling::compute(a_, input, lbls, nlabels);
- int bg_count = 0;
- int bg_lbl = 0;
+ unsigned bg_count = 0;
+ unsigned bg_lbl = 0;
// We start at 1 to ignore the object.
- for (int i = 1; i < arr.nelements(); ++i)
+ for (unsigned i = 1; i < arr.nelements(); ++i)
{
if (arr[i] > bg_count)
{
diff --git a/milena/mln/labeling/mean_values.hh b/milena/mln/labeling/mean_values.hh
index 2ea06e4..7014c59 100644
--- a/milena/mln/labeling/mean_values.hh
+++ b/milena/mln/labeling/mean_values.hh
@@ -33,6 +33,8 @@
# include <mln/accu/mean.hh>
+# include <mln/level/transform.hh>
+
# include <mln/labeling/compute.hh>
# include <mln/literal/colors.hh>
diff --git a/milena/mln/math/abs.hh b/milena/mln/math/abs.hh
index cc70a86..844ffca 100644
--- a/milena/mln/math/abs.hh
+++ b/milena/mln/math/abs.hh
@@ -36,7 +36,7 @@
# include <cmath>
# include <cstdlib>
-# include <mln/value/all.hh>
+# include <mln/value/int_u.hh>
namespace mln
diff --git a/milena/mln/morpho/attribute/card.hh b/milena/mln/morpho/attribute/card.hh
index eac94a8..517a694 100644
--- a/milena/mln/morpho/attribute/card.hh
+++ b/milena/mln/morpho/attribute/card.hh
@@ -34,6 +34,7 @@
/// component.
# include <mln/accu/internal/base.hh>
+# include <mln/util/pix.hh>
namespace mln
diff --git a/milena/mln/morpho/attribute/sum.hh b/milena/mln/morpho/attribute/sum.hh
index 69859a1..e8aa23a 100644
--- a/milena/mln/morpho/attribute/sum.hh
+++ b/milena/mln/morpho/attribute/sum.hh
@@ -38,6 +38,7 @@
# include <mln/value/builtin/all.hh> // In the case of summing builtin values.
# include <mln/literal/zero.hh> // For initialization.
+# include <mln/util/pix.hh>
namespace mln
{
diff --git a/milena/mln/morpho/attribute/volume.hh b/milena/mln/morpho/attribute/volume.hh
index 65ed2c7..293a0ac 100644
--- a/milena/mln/morpho/attribute/volume.hh
+++ b/milena/mln/morpho/attribute/volume.hh
@@ -36,6 +36,7 @@
# include <mln/accu/internal/base.hh>
# include <mln/math/diff_abs.hh>
+# include <mln/util/pix.hh>
namespace mln
diff --git a/milena/mln/registration/multiscale.hh b/milena/mln/registration/multiscale.hh
deleted file mode 100644
index 607e8b4..0000000
--- a/milena/mln/registration/multiscale.hh
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
-//
-// 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_REGISTRATION_MULTISCALE_HH
-# define MLN_REGISTRATION_MULTISCALE_HH
-
-# include <mln/core/concept/image.hh>
-# include <mln/core/image/lazy_image.hh>
-# include <mln/core/site_set/p_array.hh>
-# include <mln/registration/icp.hh>
-# include <mln/fun/x2p/closest_point.hh>
-
-namespace mln
-{
-
- namespace registration
- {
-
- /*! Register point in \p c using a multiscale icp algorithm
- *
- * \param[in] cloud Image to register
- * \param[in] surface Image using to register onto
- * \param[in] q Subsampling quotient
- * \param[in] nb_it Number of registrations
- * \param[out] The rigid transformation obtained.
- *
- * \pre \p cloud has to be initialized.
- * \pre \p surface has to be initialized.
- */
- template <typename I, typename J>
- inline
- composed< rotation<I::psite::dim, float>, translation<I::Psite::dim, float> >
- multiscale(const Image<I>& cloud,
- const Image<J>& surface,
- const float q,
- const unsigned nb_it);
-
-
-# ifndef MLN_INCLUDE_ONLY
-
- namespace impl
- {
-
- // FIXME: move elsewhere
- template <typename P>
- void shuffle(p_array<P>& a)
- {
- for (unsigned int i = 0; i < a.nsites(); i++)
- {
- unsigned int r = rand() % a.nsites();
- P tmp;
- tmp = a[i];
- a[i] = a[r];
- a[r] = tmp;
- }
- }
-
- template <typename P>
- box<P> bigger(const box<P>& a, const box<P>& b)
- {
- P pmin,pmax;
-
- for (unsigned i = 0; i < P::dim; i++)
- {
- pmin[i] = (a.pmin()[i] < b.pmin()[i]) ? a.pmin()[i] : b.pmin()[i];
- pmax[i] = (a.pmax()[i] > b.pmax()[i]) ? a.pmax()[i] : b.pmax()[i];
- }
-
- return box<P>(pmin, pmax);
- }
-
- template <typename P>
- inline
- box<P> //dif
- enlarge(const box<P>& box, unsigned b)
- {
- mln::box<P> nbox(box);
-
- for (unsigned i = 0; i < P::dim; ++i)
- {
- nbox.pmin()[i] -= b;
- nbox.pmax()[i] += b;
- }
- return nbox;
- }
-
- template <typename I, typename J>
- inline
- composed< rotation<I::site::dim, float>, translation<I::site::dim, float> >
- multiscale_(const I& cloud,
- const J& surface,
- const float q,
- const unsigned nb_it)
- {
- p_array<mln_psite(I)> c = convert::to< p_array<mln_psite(I)> >(cloud);
- p_array<mln_psite(J)> x = convert::to< p_array<mln_psite(J)> >(surface);
-
- // Shuffle cloud
- shuffle(c);
-
- //working box
- const box<mln_psite(I)> working_box =
- enlarge(bigger(geom::bbox(c), geom::bbox(x)), 1000); //warning 100 could be insufficient
-
- //make a lazy_image map via function closest_point
- fun::x2p::closest_point<mln_psite(I)> fun(x, working_box);
- const lazy_image<I, fun::x2p::closest_point<mln_psite(I)>, box2d >
- map(fun, fun.domain());
-
- //init rigid transform qk
- // FIXME: check qk initialisation.
- composed< rotation<I::psite::dim, float>, translation<I::psite::dim, float> > qk;
-
- //run registration
- for (int e = nb_it-1; e >= 0; e--)
- {
- unsigned int l = c.nsites() / std::pow(q, e);
- l = (l < 1) ? 1 : l;
- icp_subset(c, l, map, qk);
- }
- return qk;
- }
-
- }
-
- template <typename I, typename J>
- inline
- composed< rotation<I::site::dim, float>, translation<I::site::dim, float> >
- multiscale(const Image<I>& cloud,
- const Image<J>& surface,
- const float q,
- const unsigned nb_it)
- {
- trace::entering("registration::registration");
-
- mln_precondition(I::site::dim == 3 || I::site::dim == 2);
-
- composed< rotation<I::site::dim, float>, translation<I::site::dim, float> >
- qk = impl::multiscale_(exact(cloud), exact(surface), q, nb_it);
-
- trace::exiting("registration::registration");
-
- return qk;
- }
-
-# endif // ! MLN_INCLUDE_ONLY
-
- } // end of namespace mln::registration
-
-} // end of namespace mln
-
-
-#endif // ! MLN_REGISTRATION_MULTISCALE_HH
diff --git a/milena/mln/value/rgb.hh b/milena/mln/value/rgb.hh
index 839d89c..2bd1b8b 100644
--- a/milena/mln/value/rgb.hh
+++ b/milena/mln/value/rgb.hh
@@ -45,9 +45,6 @@
# include <mln/value/int_u.hh>
# include <mln/algebra/vec.hh>
-// Needed by from_to_.
-# include <mln/fun/v2v/rgb_to_hsl.hh>
-
namespace mln
{
@@ -378,8 +375,23 @@ namespace mln
/// \}
+ } // end of namespace mln::value
+
+} // end of namespace mln
+
+
+// Needed by from_to_.
+# include <mln/fun/v2v/rgb_to_hsl.hh>
+
+
# ifndef MLN_INCLUDE_ONLY
+namespace mln
+{
+
+ namespace value
+ {
+
/*---------------.
| Construction. |
`---------------*/
diff --git a/milena/tests/labeling/compute.cc b/milena/tests/labeling/compute.cc
index ff3f549..3661e33 100644
--- a/milena/tests/labeling/compute.cc
+++ b/milena/tests/labeling/compute.cc
@@ -37,6 +37,7 @@
#include <mln/accu/count.hh>
#include <mln/accu/sum.hh>
#include <mln/value/int_u8.hh>
+#include <mln/value/label_8.hh>
#include <mln/util/array.hh>
int main()
diff --git a/milena/tests/morpho/watershed/flooding.cc b/milena/tests/morpho/watershed/flooding.cc
index 96448fd..9c0e6e0 100644
--- a/milena/tests/morpho/watershed/flooding.cc
+++ b/milena/tests/morpho/watershed/flooding.cc
@@ -46,6 +46,7 @@
#include <mln/util/timer.hh>
+#include "tests/data.hh"
struct f_16_to_8 : mln::Function_v2v< f_16_to_8 >
{
@@ -66,7 +67,7 @@ int main()
using value::int_u16;
image2d<int_u8> input;
- io::pgm::load(input, "/squares.pgm");
+ io::pgm::load(input, MLN_IMG_DIR "/squares.pgm");
typedef int_u16 L;
L n_basins;
diff --git a/milena/tests/registration/Makefile.am b/milena/tests/registration/Makefile.am
index 4f08ec6..2dc70ed 100644
--- a/milena/tests/registration/Makefile.am
+++ b/milena/tests/registration/Makefile.am
@@ -3,10 +3,8 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
- registration \
- multiscale
+ registration
registration_SOURCES = registration.cc
-multiscale_SOURCES = multiscale.cc
TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/registration/multiscale.cc b/milena/tests/registration/multiscale.cc
deleted file mode 100644
index 754e7d0..0000000
--- a/milena/tests/registration/multiscale.cc
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
-//
-// This file is part of the Olena Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// 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.
-
-/// \file tests/registration/multiscale.cc
-///
-/// Test on mln::registration::multiscale.cc
-///
-/// FIXME: write a test!
-
-#include "tests/data.hh"
-#include <mln/io/pbm/all.hh>
-#include <mln/registration/multiscale.hh>
-
-
-int main()
-{
- using namespace mln;
-
- image2d< bool > img1;
- image2d< bool > img2;
-
- //load images
- io::pbm::load(img1, MLN_IMG_DIR "/fly.pbm");
- io::pbm::load(img2, MLN_IMG_DIR "/fly.pbm");
-
- //FIXME: Auto test result
- //FIXME: Make it pass
- registration::multiscale(img1,img2, 5, 2);
-}
diff --git a/milena/tests/registration/registration.cc b/milena/tests/registration/registration.cc
index 295debe..4129b5b 100644
--- a/milena/tests/registration/registration.cc
+++ b/milena/tests/registration/registration.cc
@@ -31,20 +31,29 @@
///
#include "tests/data.hh"
-#include <mln/io/pbm/all.hh>
+#include <mln/core/image/image2d.hh>
+#include <mln/core/image/image3d.hh>
#include <mln/registration/registration.hh>
+#include <mln/make/image3d.hh>
+#include <mln/io/pbm/all.hh>
int main()
{
using namespace mln;
- image2d< bool > img1;
- image2d< bool > img2;
+ image2d<bool> img1_;
+ image2d<bool> img2_;
//load images
- io::pbm::load(img1, MLN_IMG_DIR "/lena.pbm");
- io::pbm::load(img2, MLN_IMG_DIR "/lena.pbm");
+ io::pbm::load(img1_, MLN_IMG_DIR "/fly.pbm");
+ io::pbm::load(img2_, MLN_IMG_DIR "/fly.pbm");
+
+ image3d<bool> img1 = make::image3d(img1_);
+ image3d<bool> img2 = make::image3d(img2_);
- registration::registration(img1,img2);
+ typedef p_array<point3d> arr_t;
+ arr_t arr1 = convert::to<arr_t>(img1);
+ arr_t arr2 = convert::to<arr_t>(img2);
+ registration::registration1(arr1,arr2);
//FIXME: Auto test result
}
diff --git a/milena/tests/unit_test/unit-tests.mk b/milena/tests/unit_test/unit-tests.mk
index 1bc77e2..9bb3a70 100644
--- a/milena/tests/unit_test/unit-tests.mk
+++ b/milena/tests/unit_test/unit-tests.mk
@@ -1,2088 +1,2140 @@
## Generated by ./build_unit_test.sh, do not modify.
check_PROGRAMS = \
-mln_accu_all \
-mln_accu_bbox \
-mln_accu_center \
-mln_accu_compute \
-mln_accu_convolve \
-mln_accu_count \
-mln_accu_count_adjacent_vertices \
-mln_accu_essential \
-mln_accu_height \
-mln_accu_histo \
-mln_accu_internal_base \
-mln_accu_land \
-mln_accu_land_basic \
-mln_accu_line \
-mln_accu_lor \
-mln_accu_lor_basic \
-mln_accu_maj_h \
-mln_accu_max \
-mln_accu_max_h \
-mln_accu_mean \
-mln_accu_median_alt \
-mln_accu_median_h \
-mln_accu_min \
-mln_accu_min_h \
-mln_accu_min_max \
-mln_accu_nil \
-mln_accu_p \
-mln_accu_pair \
-mln_accu_rank \
-mln_accu_rank_bool \
-mln_accu_rank_high_quant \
-mln_accu_rms \
-mln_accu_sum \
-mln_accu_take \
-mln_accu_transform \
-mln_accu_transform_diagonal \
-mln_accu_transform_directional \
-mln_accu_transform_line \
-mln_accu_transform_snake \
-mln_accu_transform_stop \
-mln_accu_tuple \
-mln_accu_v \
-mln_accu_volume \
-mln_algebra_all \
-mln_algebra_essential \
-mln_algebra_h_mat \
-mln_algebra_h_vec \
-mln_algebra_mat \
-mln_algebra_quat \
-mln_algebra_vec \
-mln_all \
-mln_arith_all \
-mln_arith_diff_abs \
-mln_arith_essential \
-mln_arith_includes \
-mln_arith_min \
-mln_arith_minus \
-mln_arith_plus \
-mln_arith_revert \
-mln_arith_times \
-mln_binarization_all \
-mln_binarization_binarization \
-mln_binarization_essential \
-mln_binarization_includes \
-mln_binarization_threshold \
-mln_border_adjust \
-mln_border_all \
-mln_border_duplicate \
-mln_border_equalize \
-mln_border_essential \
-mln_border_fill \
-mln_border_find \
-mln_border_get \
-mln_border_mirror \
-mln_border_resize \
-mln_border_thickness \
-mln_canvas_all \
-mln_canvas_browsing_all \
-mln_canvas_browsing_backdiagonal2d \
-mln_canvas_browsing_depth_first_search \
-mln_canvas_browsing_diagonal2d \
-mln_canvas_browsing_dir_struct_elt_incr_update \
-mln_canvas_browsing_directional \
-mln_canvas_browsing_essential \
-mln_canvas_browsing_fwd \
-mln_canvas_browsing_hyper_directional \
-mln_canvas_browsing_snake_fwd \
-mln_canvas_browsing_snake_generic \
-mln_canvas_browsing_snake_vert \
-mln_canvas_chamfer \
-mln_canvas_distance_front \
-mln_canvas_distance_geodesic \
-mln_canvas_essential \
-mln_canvas_labeling \
-mln_canvas_morpho_algebraic_union_find \
-mln_canvas_morpho_all \
-mln_canvas_morpho_essential \
-mln_convert_all \
-mln_convert_essential \
-mln_convert_from_to \
-mln_convert_impl_all \
-mln_convert_impl_from_double_to_value \
-mln_convert_impl_from_float_to_value \
-mln_convert_impl_from_image_to_site_set \
-mln_convert_impl_from_int_to_value \
-mln_convert_impl_from_site_set_to_image \
-mln_convert_impl_from_value_to_value \
-mln_convert_to \
-mln_convert_to_dpoint \
-mln_convert_to_fun \
-mln_convert_to_image \
-mln_convert_to_p_array \
-mln_convert_to_p_set \
-mln_convert_to_upper_window \
-mln_convert_to_window \
-mln_core_a_point_of \
-mln_core_alias_all \
-mln_core_alias_box1d \
-mln_core_alias_box2d \
-mln_core_alias_box2d_h \
-mln_core_alias_box3d \
-mln_core_alias_complex_geometry \
-mln_core_alias_complex_image \
-mln_core_alias_dpoint1d \
-mln_core_alias_dpoint2d \
-mln_core_alias_dpoint2d_h \
-mln_core_alias_dpoint3d \
-mln_core_alias_neighb1d \
-mln_core_alias_neighb2d \
-mln_core_alias_neighb3d \
-mln_core_alias_p_run2d \
-mln_core_alias_p_runs2d \
-mln_core_alias_point1d \
-mln_core_alias_point2d \
-mln_core_alias_point2d_h \
-mln_core_alias_point3d \
-mln_core_alias_point3df \
-mln_core_alias_vec3d \
-mln_core_alias_w_window1d_float \
-mln_core_alias_w_window1d_int \
-mln_core_alias_w_window2d_float \
-mln_core_alias_w_window2d_int \
-mln_core_alias_w_window3d_float \
-mln_core_alias_w_window3d_int \
-mln_core_alias_window1d \
-mln_core_alias_window2d \
-mln_core_alias_window3d \
-mln_core_all \
-mln_core_box_runstart_piter \
-mln_core_category \
-mln_core_clock_neighb \
-mln_core_clock_neighb2d \
-mln_core_concept_accumulator \
-mln_core_concept_all \
-mln_core_concept_box \
-mln_core_concept_browsing \
-mln_core_concept_delta_point_site \
-mln_core_concept_dpoint \
-mln_core_concept_function \
-mln_core_concept_gdpoint \
-mln_core_concept_generalized_pixel \
-mln_core_concept_gpoint \
-mln_core_concept_graph \
-mln_core_concept_image \
-mln_core_concept_iterator \
-mln_core_concept_literal \
-mln_core_concept_mesh \
-mln_core_concept_meta_accumulator \
-mln_core_concept_meta_fun \
-mln_core_concept_neighborhood \
-mln_core_concept_object \
-mln_core_concept_pixel_iterator \
-mln_core_concept_point \
-mln_core_concept_point_site \
-mln_core_concept_proxy \
-mln_core_concept_pseudo_site \
-mln_core_concept_regular_grid \
-mln_core_concept_site \
-mln_core_concept_site_iterator \
-mln_core_concept_site_proxy \
-mln_core_concept_site_set \
-mln_core_concept_value \
-mln_core_concept_value_iterator \
-mln_core_concept_value_set \
-mln_core_concept_weighted_window \
-mln_core_concept_window \
-mln_core_contract \
-mln_core_def_all \
-mln_core_def_coord \
-mln_core_def_coordf \
-mln_core_def_essential \
-mln_core_def_low_quant_nbits \
-mln_core_dpoint \
-mln_core_dpoints_pixter \
-mln_core_dpsites_piter \
-mln_core_essential \
-mln_core_faces_psite \
-mln_core_grids \
-mln_core_image_all \
-mln_core_image_bgraph_image \
-mln_core_image_bgraph_psite \
-mln_core_image_cast_image \
-mln_core_image_ch_piter \
-mln_core_image_complex_image \
-mln_core_image_complex_neighborhood_piter \
-mln_core_image_complex_neighborhoods \
-mln_core_image_complex_window_piter \
-mln_core_image_complex_windows \
-mln_core_image_decorated_image \
-mln_core_image_essential \
-mln_core_image_extended \
-mln_core_image_extension_fun \
-mln_core_image_extension_ima \
-mln_core_image_extension_val \
-mln_core_image_flat_image \
-mln_core_image_fun_image \
-mln_core_image_graph_elt_neighborhood \
-mln_core_image_graph_elt_window \
-mln_core_image_graph_window_piter \
-mln_core_image_hexa \
-mln_core_image_hexa_piter \
-mln_core_image_image1d \
-mln_core_image_image2d \
-mln_core_image_image2d_h \
-mln_core_image_image3d \
-mln_core_image_image_if \
-mln_core_image_interpolated \
-mln_core_image_lazy_image \
-mln_core_image_line_graph_elt_neighborhood \
-mln_core_image_line_graph_elt_window \
-mln_core_image_mono_obased_rle_encode \
-mln_core_image_mono_obased_rle_image \
-mln_core_image_mono_rle_encode \
-mln_core_image_mono_rle_image \
-mln_core_image_obased_rle_encode \
-mln_core_image_obased_rle_image \
-mln_core_image_p2p_image \
-mln_core_image_plain \
-mln_core_image_rle_encode \
-mln_core_image_rle_image \
-mln_core_image_safe \
-mln_core_image_slice_image \
-mln_core_image_sparse_encode \
-mln_core_image_sparse_image \
-mln_core_image_sub_image \
-mln_core_image_sub_image_if \
-mln_core_image_t_image \
-mln_core_image_tr_image \
-mln_core_image_tr_mesh \
-mln_core_image_value_enc_image \
-mln_core_image_value_encode \
-mln_core_image_violent_cast_image \
-mln_core_internal_box_impl \
-mln_core_internal_check_image_all \
-mln_core_internal_check_image_fastest \
-mln_core_internal_classical_window_base \
-mln_core_internal_complex_neighborhood_base \
-mln_core_internal_complex_window_p_base \
-mln_core_internal_coord_impl \
-mln_core_internal_data \
-mln_core_internal_exact \
-mln_core_internal_fixme \
-mln_core_internal_force_exact \
-mln_core_internal_geom_bbox \
-mln_core_internal_graph_psite_base \
-mln_core_internal_graph_window_base \
-mln_core_internal_image_base \
-mln_core_internal_image_domain_morpher \
-mln_core_internal_image_identity \
-mln_core_internal_image_morpher \
-mln_core_internal_image_primary \
-mln_core_internal_image_value_morpher \
-mln_core_internal_morpher_lvalue \
-mln_core_internal_neighb_niter_impl \
-mln_core_internal_neighborhood_base \
-mln_core_internal_p_complex_piter_base \
-mln_core_internal_piter_adaptor \
-mln_core_internal_pixel_impl \
-mln_core_internal_pixel_iterator_base \
-mln_core_internal_pseudo_site_base \
-mln_core_internal_run_image \
-mln_core_internal_set_of \
-mln_core_internal_site_iterator_base \
-mln_core_internal_site_relative_iterator_base \
-mln_core_internal_site_set_base \
-mln_core_internal_site_set_impl \
-mln_core_internal_site_set_iterator_base \
-mln_core_internal_weighted_window_base \
-mln_core_internal_window_base \
-mln_core_macros \
-mln_core_neighb \
-mln_core_pixel \
-mln_core_pixter1d \
-mln_core_pixter2d \
-mln_core_pixter3d \
-mln_core_point \
-mln_core_routine_all \
-mln_core_routine_duplicate \
-mln_core_routine_essential \
-mln_core_routine_exact \
-mln_core_routine_extend \
-mln_core_routine_init \
-mln_core_routine_initialize \
-mln_core_routine_ops \
-mln_core_routine_primary \
-mln_core_site_set_all \
-mln_core_site_set_attic_p_complex_faces_piter \
-mln_core_site_set_attic_p_faces_piter \
-mln_core_site_set_box \
-mln_core_site_set_box_piter \
-mln_core_site_set_complex_psite \
-mln_core_site_set_essential \
-mln_core_site_set_operators \
-mln_core_site_set_p_array \
-mln_core_site_set_p_bgraph \
-mln_core_site_set_p_bgraph_piter \
-mln_core_site_set_p_centered \
-mln_core_site_set_p_complex \
-mln_core_site_set_p_complex_piter \
-mln_core_site_set_p_double \
-mln_core_site_set_p_edges \
-mln_core_site_set_p_edges_psite \
-mln_core_site_set_p_faces \
-mln_core_site_set_p_graph_piter \
-mln_core_site_set_p_if \
-mln_core_site_set_p_if_piter \
-mln_core_site_set_p_image \
-mln_core_site_set_p_key \
-mln_core_site_set_p_line2d \
-mln_core_site_set_p_mutable_array_of \
-mln_core_site_set_p_n_faces_piter \
-mln_core_site_set_p_priority \
-mln_core_site_set_p_queue \
-mln_core_site_set_p_queue_fast \
-mln_core_site_set_p_run \
-mln_core_site_set_p_run_piter \
-mln_core_site_set_p_set \
-mln_core_site_set_p_set_of \
-mln_core_site_set_p_vaccess \
-mln_core_site_set_p_vertices \
-mln_core_site_set_p_vertices_psite \
-mln_core_tags \
-mln_core_trait_all \
-mln_core_trait_essential \
-mln_core_trait_op_mult \
-mln_core_trait_pixter \
-mln_core_trait_qlf_value \
-mln_core_var \
-mln_core_w_window \
-mln_core_window \
+mln_histo_all \
+mln_histo_array \
+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_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_max \
+mln_literal_ops \
+mln_literal_origin \
+mln_literal_grays \
+mln_literal_all \
+mln_literal_colors \
+mln_literal_black \
+mln_literal_one \
+mln_literal_min \
+mln_literal_white \
+mln_literal_essential \
+mln_registration_get_rtransf \
+mln_registration_internal_rms \
+mln_registration_get_rot \
+mln_registration_all \
+mln_registration_registration \
+mln_registration_essential \
+mln_registration_icp \
+mln_util_graph \
+mln_util_fibonacci_heap \
+mln_util_max \
+mln_util_lazy_set \
+mln_util_soft_heap \
+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_data_memset_ \
+mln_data_memcpy_ \
mln_data_all \
-mln_data_essential \
-mln_data_fill \
+mln_data_paste \
mln_data_fill_with_image \
mln_data_fill_with_value \
-mln_data_memcpy_ \
-mln_data_memset_ \
-mln_data_paste \
-mln_debug_all \
-mln_debug_colorize \
-mln_debug_draw_graph \
-mln_debug_essential \
-mln_debug_format \
-mln_debug_iota \
-mln_debug_println \
-mln_debug_println_with_border \
-mln_debug_put_word \
-mln_debug_quiet \
-mln_debug_slices_2d \
+mln_data_fill \
+mln_data_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_image3d \
+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_h_mat \
+mln_make_w_window2d \
+mln_make_box3d \
+mln_make_region_adjacency_graph \
+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_extract_red \
+mln_extract_hue \
+mln_extract_lum \
+mln_extract_all \
+mln_extract_green \
+mln_extract_blue \
+mln_extract_sat \
+mln_extract_essential \
mln_display_all \
mln_display_essential \
-mln_draw_all \
-mln_draw_box \
-mln_draw_essential \
-mln_draw_line \
-mln_draw_plot \
-mln_essential_1d \
-mln_essential_2d \
-mln_essential_3d \
-mln_essential_routine \
-mln_estim_all \
-mln_estim_essential \
-mln_estim_mean \
-mln_estim_min_max \
-mln_estim_sum \
mln_extension_adjust \
+mln_extension_duplicate \
mln_extension_adjust_duplicate \
-mln_extension_adjust_fill \
mln_extension_all \
-mln_extension_duplicate \
-mln_extension_essential \
+mln_extension_adjust_fill \
mln_extension_fill \
-mln_extract_all \
-mln_extract_blue \
-mln_extract_essential \
-mln_extract_green \
-mln_extract_red \
-mln_fun_all \
-mln_fun_c \
-mln_fun_cast \
-mln_fun_essential \
-mln_fun_i2v_all \
-mln_fun_i2v_all_to \
-mln_fun_i2v_array \
-mln_fun_i2v_essential \
-mln_fun_internal_array_base \
-mln_fun_internal_ch_function_value_impl \
-mln_fun_internal_selector \
-mln_fun_internal_x2x_linear_impl \
-mln_fun_l2l_all \
-mln_fun_l2l_essential \
-mln_fun_l2l_relabel \
-mln_fun_meta_blue \
-mln_fun_meta_green \
-mln_fun_meta_hue \
-mln_fun_meta_inty \
-mln_fun_meta_red \
-mln_fun_meta_sat \
-mln_fun_meta_to_enc \
-mln_fun_ops \
+mln_extension_essential \
+mln_fun_p2b_chess \
mln_fun_p2b_all \
+mln_fun_p2b_has \
mln_fun_p2b_big_chess \
-mln_fun_p2b_chess \
mln_fun_p2b_essential \
-mln_fun_p2b_has \
mln_fun_p2p_all \
-mln_fun_p2p_mirror \
mln_fun_p2p_translation \
-mln_fun_p2v_all \
+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_ch_function_value_impl \
+mln_fun_internal_selector \
+mln_fun_v2w_w2v_norm \
+mln_fun_p2v_ternary \
+mln_fun_p2v_iota \
mln_fun_p2v_elifs \
+mln_fun_p2v_all \
mln_fun_p2v_essential \
-mln_fun_p2v_iota \
-mln_fun_p2v_ternary \
-mln_fun_v2b_all \
-mln_fun_v2b_essential \
+mln_fun_all \
mln_fun_v2b_lnot \
+mln_fun_v2b_all \
mln_fun_v2b_threshold \
-mln_fun_v2v_abs \
+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_rgb_to_hsl \
mln_fun_v2v_cast \
mln_fun_v2v_ch_function_value \
-mln_fun_v2v_convert \
-mln_fun_v2v_dec \
+mln_fun_v2v_rgb_to_hsi \
mln_fun_v2v_enc \
+mln_fun_v2v_convert \
mln_fun_v2v_essential \
-mln_fun_v2v_id \
-mln_fun_v2v_inc \
-mln_fun_v2v_linear \
-mln_fun_v2v_norm \
-mln_fun_v2v_rgb_to_hsi \
-mln_fun_v2v_rgb_to_hsl \
-mln_fun_v2v_saturate \
mln_fun_v2w2v_cos \
-mln_fun_v2w_w2v_norm \
-mln_fun_vv2b_eq \
-mln_fun_vv2b_ge \
-mln_fun_vv2b_gt \
mln_fun_vv2b_implies \
mln_fun_vv2b_le \
+mln_fun_vv2b_gt \
+mln_fun_vv2b_ge \
mln_fun_vv2b_lt \
-mln_fun_vv2v_all \
-mln_fun_vv2v_diff_abs \
-mln_fun_vv2v_essential \
-mln_fun_vv2v_land \
-mln_fun_vv2v_land_not \
-mln_fun_vv2v_lor \
-mln_fun_vv2v_lxor \
-mln_fun_vv2v_macros \
-mln_fun_vv2v_max \
-mln_fun_vv2v_min \
-mln_fun_vv2v_vec \
-mln_fun_x2p_all \
-mln_fun_x2p_closest_point \
-mln_fun_x2p_essential \
-mln_fun_x2v_all \
+mln_fun_vv2b_eq \
+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_wrap \
+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_meta_red \
+mln_fun_meta_hue \
+mln_fun_meta_lum \
+mln_fun_meta_all \
+mln_fun_meta_green \
+mln_fun_meta_inty \
+mln_fun_meta_blue \
+mln_fun_meta_sat \
+mln_fun_meta_to_enc \
+mln_fun_x2v_trilinear \
+mln_fun_x2v_linear \
mln_fun_x2v_bilinear \
-mln_fun_x2v_essential \
+mln_fun_x2v_all \
mln_fun_x2v_l1_norm \
-mln_fun_x2v_linear \
mln_fun_x2v_nneighbor \
-mln_fun_x2x_all \
-mln_fun_x2x_composed \
-mln_fun_x2x_essential \
-mln_fun_x2x_rotation \
-mln_fun_x2x_translation \
-mln_geom_all \
-mln_geom_bbox \
-mln_geom_chamfer \
-mln_geom_complex_geometry \
-mln_geom_delta \
-mln_geom_essential \
-mln_geom_max_col \
-mln_geom_max_ind \
-mln_geom_max_row \
-mln_geom_max_sli \
-mln_geom_min_col \
-mln_geom_min_ind \
-mln_geom_min_row \
-mln_geom_min_sli \
-mln_geom_ncols \
-mln_geom_ninds \
-mln_geom_nrows \
-mln_geom_nsites \
-mln_geom_nslis \
-mln_geom_pmin_pmax \
-mln_geom_seeds2tiling \
-mln_geom_seeds2tiling_roundness \
-mln_geom_size1d \
-mln_geom_size2d \
-mln_geom_size3d \
-mln_histo_all \
-mln_histo_array \
-mln_histo_compute \
-mln_histo_essential \
-mln_io_abort \
-mln_io_all \
-mln_io_cloud_all \
-mln_io_cloud_load \
-mln_io_cloud_save \
-mln_io_dump_all \
-mln_io_dump_load \
-mln_io_dump_save \
-mln_io_essential \
-mln_io_fits_all \
-mln_io_fits_load \
-mln_io_off_all \
-mln_io_off_load \
-mln_io_off_save \
-mln_io_pbm_all \
-mln_io_pbm_load \
-mln_io_pbm_save \
-mln_io_pfm_all \
-mln_io_pfm_load \
-mln_io_pfm_save \
-mln_io_pgm_all \
-mln_io_pgm_load \
-mln_io_pgm_save \
-mln_io_pnm_all \
-mln_io_pnm_load \
-mln_io_pnm_load_header \
-mln_io_pnm_macros \
-mln_io_pnm_max_component \
-mln_io_pnm_save \
-mln_io_pnm_save_header \
-mln_io_ppm_all \
-mln_io_ppm_load \
-mln_io_ppm_save \
-mln_io_txt_all \
-mln_io_txt_save \
-mln_labeling_all \
-mln_labeling_background \
-mln_labeling_blobs \
-mln_labeling_compute \
-mln_labeling_essential \
-mln_labeling_flat_zones \
-mln_labeling_foreground \
-mln_labeling_level \
-mln_labeling_regional_maxima \
-mln_labeling_regional_minima \
-mln_labeling_relabel \
-mln_level_abs \
-mln_level_all \
+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_double_to_value \
+mln_convert_impl_from_site_set_to_image \
+mln_convert_impl_from_image_to_site_set \
+mln_convert_impl_from_float_to_value \
+mln_convert_impl_from_int_to_value \
+mln_convert_to_dpoint \
+mln_convert_to_p_array \
+mln_convert_essential \
+mln_value_shell \
+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_limits \
+mln_value_internal_encoding \
+mln_value_internal_convert \
+mln_value_internal_gray_ \
+mln_value_internal_essential \
+mln_value_proxy \
+mln_value_viter \
+mln_value_hsl \
+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_mixin \
+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_rms \
+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_transform_line \
+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_sort_offsets \
+mln_level_transform_inplace \
+mln_level_replace \
mln_level_apply \
mln_level_approx_all \
mln_level_approx_essential \
mln_level_approx_median \
-mln_level_compare \
+mln_level_saturate \
+mln_level_all \
+mln_level_fast_median \
+mln_level_abs \
+mln_level_transform \
+mln_level_stretch \
+mln_level_was_median \
mln_level_compute \
mln_level_convert \
-mln_level_essential \
-mln_level_fast_median \
-mln_level_median \
+mln_level_to_enc \
mln_level_naive_all \
mln_level_naive_essential \
mln_level_naive_median \
-mln_level_replace \
-mln_level_saturate \
-mln_level_sort_offsets \
mln_level_sort_psites \
-mln_level_stretch \
-mln_level_to_enc \
-mln_level_transform \
-mln_level_transform_inplace \
mln_level_update \
-mln_level_was_median \
-mln_linear_all \
-mln_linear_ch_convolve \
-mln_linear_convolve \
-mln_linear_convolve_2x1d \
-mln_linear_convolve_directional \
-mln_linear_essential \
-mln_linear_gaussian \
-mln_linear_lap \
-mln_linear_local_convolve \
-mln_linear_log \
-mln_linear_sobel_2d \
-mln_literal_all \
-mln_literal_black \
-mln_literal_colors \
-mln_literal_essential \
-mln_literal_grays \
-mln_literal_max \
-mln_literal_min \
-mln_literal_one \
-mln_literal_ops \
-mln_literal_origin \
-mln_literal_white \
-mln_literal_zero \
-mln_logical_all \
-mln_logical_and \
-mln_logical_and_not \
-mln_logical_essential \
-mln_logical_includes \
-mln_logical_not \
-mln_logical_or \
-mln_logical_xor \
-mln_make_all \
-mln_make_box1d \
-mln_make_box2d \
-mln_make_box2d_h \
-mln_make_box3d \
-mln_make_double_neighb2d \
-mln_make_dpoint2d_h \
-mln_make_dual_neighb \
-mln_make_essential \
-mln_make_graph \
-mln_make_h_mat \
-mln_make_image \
-mln_make_image2d \
-mln_make_image3d \
-mln_make_mat \
-mln_make_pix \
-mln_make_pixel \
-mln_make_point2d_h \
-mln_make_relabelfun \
-mln_make_vec \
-mln_make_voronoi \
-mln_make_w_window \
-mln_make_w_window1d \
-mln_make_w_window1d_int \
-mln_make_w_window2d \
-mln_make_w_window2d_int \
-mln_make_w_window3d \
-mln_make_w_window3d_int \
-mln_make_w_window_directional \
-mln_make_win_chamfer \
-mln_math_abs \
-mln_math_acos \
+mln_level_essential \
+mln_level_median \
+mln_math_jacobi \
+mln_math_max \
+mln_math_sqr \
mln_math_all \
+mln_math_sign \
+mln_math_abs \
mln_math_cos \
mln_math_diff_abs \
-mln_math_essential \
-mln_math_jacobi \
-mln_math_max \
-mln_math_min \
mln_math_round \
-mln_math_round_sat \
-mln_math_sign \
-mln_math_sqr \
+mln_math_min \
mln_math_sqrt \
-mln_metal_abort \
-mln_metal_all \
-mln_metal_ands \
-mln_metal_array \
-mln_metal_array1d \
-mln_metal_array2d \
-mln_metal_array3d \
-mln_metal_bexpr \
-mln_metal_bool \
-mln_metal_const \
-mln_metal_converts_to \
-mln_metal_equal \
-mln_metal_essential \
-mln_metal_fix_return \
-mln_metal_goes_to \
-mln_metal_if \
-mln_metal_int \
-mln_metal_is \
-mln_metal_is_a \
+mln_math_essential \
+mln_math_acos \
+mln_math_round_sat \
+mln_opt_at \
+mln_opt_element \
+mln_opt_value \
+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_accumulators \
+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_accumulator_props \
+mln_trait_accumulator_print \
+mln_trait_ch_function_value \
+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_depth_first_search \
+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_connected_filter \
+mln_canvas_morpho_algebraic_filter \
+mln_canvas_morpho_algebraic_union_find \
+mln_canvas_morpho_essential \
+mln_canvas_essential \
mln_metal_is_const \
-mln_metal_is_not \
-mln_metal_is_not_a \
-mln_metal_is_not_const \
-mln_metal_is_not_ref \
+mln_metal_none \
+mln_metal_equal \
+mln_metal_unptr \
+mln_metal_not_equal \
mln_metal_is_ref \
-mln_metal_is_unqualif \
-mln_metal_mat \
-mln_metal_math_all \
-mln_metal_math_max \
+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_none \
-mln_metal_not_equal \
+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_ret \
-mln_metal_same_coord \
mln_metal_same_point \
+mln_metal_int \
+mln_metal_abort \
+mln_metal_same_coord \
mln_metal_templated_by \
-mln_metal_unconst \
-mln_metal_unptr \
-mln_metal_unqualif \
-mln_metal_unref \
-mln_metal_vec \
-mln_morpho_all \
-mln_morpho_closing \
-mln_morpho_closing_area \
-mln_morpho_closing_area_on_vertices \
-mln_morpho_closing_attribute \
-mln_morpho_closing_height \
-mln_morpho_closing_volume \
-mln_morpho_complementation \
-mln_morpho_contrast \
-mln_morpho_dilation \
-mln_morpho_elementary_all \
-mln_morpho_elementary_closing \
-mln_morpho_elementary_dilation \
-mln_morpho_elementary_erosion \
-mln_morpho_elementary_essential \
-mln_morpho_elementary_gradient \
-mln_morpho_elementary_gradient_external \
+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_opening \
+mln_morpho_elementary_closing \
mln_morpho_elementary_top_hat \
-mln_morpho_erosion \
-mln_morpho_essential \
-mln_morpho_general \
-mln_morpho_gradient \
+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_includes \
+mln_morpho_closing_height \
+mln_morpho_plus \
+mln_morpho_general \
mln_morpho_internal_elementary \
-mln_morpho_laplacian \
-mln_morpho_line_gradient \
-mln_morpho_meyer_wst \
-mln_morpho_min \
-mln_morpho_minus \
-mln_morpho_opening \
+mln_morpho_contrast \
mln_morpho_opening_area \
-mln_morpho_opening_area_on_vertices \
-mln_morpho_opening_attribute \
mln_morpho_opening_height \
-mln_morpho_opening_volume \
-mln_morpho_plus \
-mln_morpho_rank_filter \
-mln_morpho_Rd \
-mln_morpho_skeleton_constrained \
-mln_morpho_thick_miss \
mln_morpho_thickening \
-mln_morpho_thin_fit \
-mln_morpho_thinning \
-mln_morpho_top_hat \
-mln_morpho_tree_all \
-mln_morpho_tree_compute_attribute_image \
-mln_morpho_tree_compute_parent \
-mln_morpho_tree_data \
+mln_morpho_dilation \
+mln_morpho_laplacian \
+mln_morpho_all \
+mln_morpho_opening_algebraic \
+mln_morpho_opening_attribute \
+mln_morpho_opening_volume \
+mln_morpho_closing_algebraic \
+mln_morpho_watershed_flooding \
+mln_morpho_watershed_all \
+mln_morpho_closing_area_on_vertices \
+mln_morpho_closing_volume \
+mln_morpho_attribute_all \
+mln_morpho_attribute_volume \
+mln_morpho_attribute_sum \
+mln_morpho_attribute_card \
+mln_morpho_minus \
+mln_morpho_gradient \
mln_morpho_tree_max \
+mln_morpho_tree_compute_parent \
+mln_morpho_tree_all \
mln_morpho_tree_utils \
-mln_norm_all \
-mln_norm_essential \
-mln_norm_l1 \
-mln_norm_l2 \
-mln_norm_linfty \
-mln_opt_at \
-mln_opt_element \
-mln_opt_value \
-mln_pw_all \
-mln_pw_cst \
-mln_pw_essential \
-mln_pw_image \
-mln_pw_value \
-mln_pw_var \
-mln_registration_all \
-mln_registration_essential \
-mln_registration_get_rot \
-mln_registration_get_rtransf \
-mln_registration_icp \
-mln_registration_icp2 \
-mln_registration_internal_rms \
-mln_registration_multiscale \
-mln_registration_registration \
-mln_set_all \
-mln_set_card \
-mln_set_compute \
-mln_set_diff \
-mln_set_essential \
-mln_set_get \
-mln_set_has \
-mln_set_inter \
-mln_set_sym_diff \
-mln_set_uni \
-mln_set_unique \
-mln_subsampling_all \
-mln_subsampling_essential \
-mln_subsampling_gaussian_subsampling \
-mln_subsampling_subsampling \
-mln_tag_all \
-mln_tag_essential \
-mln_tag_init \
-mln_tag_skeleton \
-mln_test_all \
-mln_test_essential \
-mln_test_positive \
-mln_test_predicate \
-mln_topo_adj_higher_dim_connected_n_face_iter \
-mln_topo_adj_higher_face_iter \
-mln_topo_adj_lower_dim_connected_n_face_iter \
-mln_topo_adj_lower_face_iter \
-mln_topo_adj_lower_higher_face_iter \
-mln_topo_adj_m_face_iter \
-mln_topo_algebraic_face \
-mln_topo_algebraic_n_face \
-mln_topo_all \
-mln_topo_attic_faces_iter \
-mln_topo_center_only_iter \
-mln_topo_centered_iter_adapter \
-mln_topo_complex \
-mln_topo_complex_iterators \
-mln_topo_essential \
-mln_topo_face \
-mln_topo_face_data \
+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_closing_sum \
+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_internal_complex_set_iterator_base \
-mln_topo_is_simple_2d \
+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_n_face_iter \
-mln_topo_n_faces_set \
+mln_topo_adj_lower_higher_face_iter \
+mln_topo_all \
+mln_topo_face_data \
mln_topo_static_n_face_iter \
-mln_trace_all \
-mln_trace_entering \
-mln_trace_essential \
-mln_trace_exiting \
-mln_trace_quiet \
-mln_trace_resume \
-mln_trace_stop \
-mln_trace_warning \
-mln_trait_all \
-mln_trait_ch_function_value \
-mln_trait_ch_value \
-mln_trait_concrete \
-mln_trait_essential \
-mln_trait_image_print \
-mln_trait_image_props \
-mln_trait_image_from_grid \
-mln_trait_images \
-mln_trait_neighborhood \
-mln_trait_op_all \
-mln_trait_op_and \
-mln_trait_op_decl \
-mln_trait_op_div \
-mln_trait_op_eq \
-mln_trait_op_essential \
-mln_trait_op_geq \
-mln_trait_op_greater \
-mln_trait_op_leq \
-mln_trait_op_less \
-mln_trait_op_lor \
-mln_trait_op_minus \
-mln_trait_op_mod \
-mln_trait_op_neq \
-mln_trait_op_not \
-mln_trait_op_or \
-mln_trait_op_ord \
-mln_trait_op_plus \
-mln_trait_op_postdec \
-mln_trait_op_postinc \
-mln_trait_op_predec \
-mln_trait_op_preinc \
-mln_trait_op_times \
-mln_trait_op_uminus \
-mln_trait_op_uplus \
-mln_trait_op_xor \
-mln_trait_promote \
-mln_trait_site_set_print \
-mln_trait_site_set_props \
-mln_trait_site_sets \
-mln_trait_solve \
-mln_trait_solve_binary \
-mln_trait_solve_unary \
-mln_trait_undef \
-mln_trait_value_all \
-mln_trait_value_essential \
-mln_trait_value_kind \
-mln_trait_value_nature \
-mln_trait_value_print \
-mln_trait_value_quant \
-mln_trait_value_ \
-mln_trait_window_print \
-mln_trait_window_props \
-mln_trait_windows \
-mln_transform_all \
-mln_transform_distance_front \
-mln_transform_distance_geodesic \
-mln_transform_essential \
-mln_transform_influence_zone_front \
-mln_transform_influence_zone_geodesic \
-mln_transform_internal_all \
-mln_transform_internal_closest_point_functor \
-mln_transform_internal_distance_functor \
-mln_transform_internal_influence_zone_functor \
-mln_util_all \
-mln_util_array \
-mln_util_branch_iter \
-mln_util_branch_iter_ind \
-mln_util_dindex \
-mln_util_eat \
-mln_util_edge \
-mln_util_essential \
-mln_util_fibonacci_heap \
-mln_util_graph \
-mln_util_greater_point \
-mln_util_greater_psite \
-mln_util_ignore \
-mln_util_index \
-mln_util_internal_boost_graph \
-mln_util_internal_boost_graph_access \
-mln_util_internal_boost_graph_property \
-mln_util_internal_boost_graph_structure \
-mln_util_internal_edge_impl \
-mln_util_internal_graph_base \
-mln_util_internal_graph_iter \
-mln_util_internal_graph_iter_base \
-mln_util_internal_graph_nbh_iter \
-mln_util_internal_graph_nbh_iter_base \
-mln_util_internal_vertex_impl \
-mln_util_lazy_set \
-mln_util_lemmings \
-mln_util_line_graph \
-mln_util_max \
-mln_util_multi_site \
-mln_util_nil \
-mln_util_ord \
-mln_util_ord_pair \
-mln_util_pix \
-mln_util_set \
-mln_util_site_pair \
-mln_util_soft_heap \
-mln_util_timer \
-mln_util_tracked_ptr \
-mln_util_tree \
-mln_util_tree_fast \
-mln_util_tree_fast_to_image \
-mln_util_tree_to_fast \
-mln_util_tree_to_image \
-mln_util_vertex \
-mln_util_yes \
-mln_value_aliases \
-mln_value_all \
-mln_value_builtin_all \
-mln_value_builtin_essential \
-mln_value_builtin_floatings \
-mln_value_builtin_integers \
-mln_value_builtin_ops \
-mln_value_builtin_promotions \
-mln_value_builtin_symbolics \
-mln_value_cast \
-mln_value_concept_all \
-mln_value_concept_built_in \
-mln_value_concept_data \
-mln_value_concept_essential \
-mln_value_concept_floating \
-mln_value_concept_integer \
-mln_value_concept_scalar \
-mln_value_concept_structured \
-mln_value_concept_symbolic \
-mln_value_concept_vectorial \
-mln_value_equiv \
-mln_value_essential \
-mln_value_float01 \
-mln_value_float01_ \
-mln_value_float01_16 \
-mln_value_float01_8 \
-mln_value_float01_f \
-mln_value_gl16 \
-mln_value_gl8 \
-mln_value_glf \
-mln_value_graylevel \
-mln_value_graylevel_f \
-mln_value_hsi \
-mln_value_hsl \
-mln_value_int_s \
-mln_value_int_s16 \
-mln_value_int_s32 \
-mln_value_int_s8 \
-mln_value_int_u \
-mln_value_int_u16 \
-mln_value_int_u32 \
-mln_value_int_u8 \
-mln_value_int_u_sat \
-mln_value_internal_all \
-mln_value_internal_convert \
-mln_value_internal_encoding \
-mln_value_internal_essential \
-mln_value_internal_gray_ \
-mln_value_internal_gray_f \
-mln_value_internal_integer \
-mln_value_internal_iterable_set \
-mln_value_internal_limits \
-mln_value_internal_value_like \
-mln_value_interval \
-mln_value_label \
-mln_value_label_16 \
-mln_value_label_8 \
-mln_value_lut_vec \
-mln_value_mixin \
-mln_value_ops \
-mln_value_other \
-mln_value_proxy \
-mln_value_rgb \
-mln_value_rgb16 \
-mln_value_rgb8 \
-mln_value_scalar \
-mln_value_set \
-mln_value_shell \
-mln_value_sign \
-mln_value_stack \
-mln_value_super_value \
-mln_value_viter \
-mln_win_all \
+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_cube3d \
+mln_win_segment1d \
mln_win_cuboid3d \
-mln_win_diag2d \
+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_ball3d \
mln_win_disk2d \
-mln_win_essential \
+mln_win_rectangle2d \
mln_win_hline2d \
-mln_win_inter \
mln_win_line \
-mln_win_multiple \
-mln_win_multiple_size \
-mln_win_octagon2d \
-mln_win_rectangle2d \
-mln_win_segment1d \
-mln_win_shift \
-mln_win_sym \
-mln_win_vline2d
+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_duplicate \
+mln_core_routine_init \
+mln_core_routine_ops \
+mln_core_routine_all \
+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_vec2d \
+mln_core_alias_all \
+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_vec3d \
+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_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_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_meta_fun \
+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_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_fun_image \
+mln_core_image_graph_elt_neighborhood \
+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_line_graph_elt_neighborhood \
+mln_core_image_extended \
+mln_core_image_p2p_image \
+mln_core_image_slice_image \
+mln_core_image_image2d_h \
+mln_core_image_image2d \
+mln_core_image_ch_piter \
+mln_core_image_complex_windows \
+mln_core_image_violent_cast_image \
+mln_core_image_mono_obased_rle_encode \
+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_mean_values \
+mln_labeling_blobs \
+mln_labeling_background \
+mln_labeling_n_max \
+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_labeling_fill_holes \
+mln_test_predicate \
+mln_test_all \
+mln_test_positive \
+mln_test_essential \
+mln_transform_distance_geodesic \
+mln_transform_internal_all \
+mln_transform_internal_closest_point_functor \
+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_closest_point_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_cloud_load \
+mln_io_cloud_all \
+mln_io_cloud_save \
+mln_io_all \
+mln_io_dump_load \
+mln_io_dump_all \
+mln_io_dump_save \
+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_slices_2d \
+mln_debug_draw_graph \
+mln_debug_put_word \
+mln_debug_histo \
+mln_debug_quiet \
+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_unique \
+mln_set_inter \
+mln_set_all \
+mln_set_get \
+mln_set_sym_diff \
+mln_set_has \
+mln_set_diff \
+mln_set_card \
+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_accu_all_SOURCES = mln_accu_all.cc
-mln_accu_bbox_SOURCES = mln_accu_bbox.cc
-mln_accu_center_SOURCES = mln_accu_center.cc
-mln_accu_compute_SOURCES = mln_accu_compute.cc
-mln_accu_convolve_SOURCES = mln_accu_convolve.cc
-mln_accu_count_SOURCES = mln_accu_count.cc
-mln_accu_count_adjacent_vertices_SOURCES = mln_accu_count_adjacent_vertices.cc
-mln_accu_essential_SOURCES = mln_accu_essential.cc
-mln_accu_height_SOURCES = mln_accu_height.cc
-mln_accu_histo_SOURCES = mln_accu_histo.cc
-mln_accu_internal_base_SOURCES = mln_accu_internal_base.cc
-mln_accu_land_SOURCES = mln_accu_land.cc
-mln_accu_land_basic_SOURCES = mln_accu_land_basic.cc
-mln_accu_line_SOURCES = mln_accu_line.cc
-mln_accu_lor_SOURCES = mln_accu_lor.cc
-mln_accu_lor_basic_SOURCES = mln_accu_lor_basic.cc
-mln_accu_maj_h_SOURCES = mln_accu_maj_h.cc
-mln_accu_max_SOURCES = mln_accu_max.cc
-mln_accu_max_h_SOURCES = mln_accu_max_h.cc
-mln_accu_mean_SOURCES = mln_accu_mean.cc
-mln_accu_median_alt_SOURCES = mln_accu_median_alt.cc
-mln_accu_median_h_SOURCES = mln_accu_median_h.cc
-mln_accu_min_SOURCES = mln_accu_min.cc
-mln_accu_min_h_SOURCES = mln_accu_min_h.cc
-mln_accu_min_max_SOURCES = mln_accu_min_max.cc
-mln_accu_nil_SOURCES = mln_accu_nil.cc
-mln_accu_p_SOURCES = mln_accu_p.cc
-mln_accu_pair_SOURCES = mln_accu_pair.cc
-mln_accu_rank_SOURCES = mln_accu_rank.cc
-mln_accu_rank_bool_SOURCES = mln_accu_rank_bool.cc
-mln_accu_rank_high_quant_SOURCES = mln_accu_rank_high_quant.cc
-mln_accu_rms_SOURCES = mln_accu_rms.cc
-mln_accu_sum_SOURCES = mln_accu_sum.cc
-mln_accu_take_SOURCES = mln_accu_take.cc
-mln_accu_transform_SOURCES = mln_accu_transform.cc
-mln_accu_transform_diagonal_SOURCES = mln_accu_transform_diagonal.cc
-mln_accu_transform_directional_SOURCES = mln_accu_transform_directional.cc
-mln_accu_transform_line_SOURCES = mln_accu_transform_line.cc
-mln_accu_transform_snake_SOURCES = mln_accu_transform_snake.cc
-mln_accu_transform_stop_SOURCES = mln_accu_transform_stop.cc
-mln_accu_tuple_SOURCES = mln_accu_tuple.cc
-mln_accu_v_SOURCES = mln_accu_v.cc
-mln_accu_volume_SOURCES = mln_accu_volume.cc
-mln_algebra_all_SOURCES = mln_algebra_all.cc
-mln_algebra_essential_SOURCES = mln_algebra_essential.cc
-mln_algebra_h_mat_SOURCES = mln_algebra_h_mat.cc
-mln_algebra_h_vec_SOURCES = mln_algebra_h_vec.cc
-mln_algebra_mat_SOURCES = mln_algebra_mat.cc
-mln_algebra_quat_SOURCES = mln_algebra_quat.cc
-mln_algebra_vec_SOURCES = mln_algebra_vec.cc
-mln_all_SOURCES = mln_all.cc
-mln_arith_all_SOURCES = mln_arith_all.cc
-mln_arith_diff_abs_SOURCES = mln_arith_diff_abs.cc
-mln_arith_essential_SOURCES = mln_arith_essential.cc
-mln_arith_includes_SOURCES = mln_arith_includes.cc
-mln_arith_min_SOURCES = mln_arith_min.cc
-mln_arith_minus_SOURCES = mln_arith_minus.cc
-mln_arith_plus_SOURCES = mln_arith_plus.cc
-mln_arith_revert_SOURCES = mln_arith_revert.cc
-mln_arith_times_SOURCES = mln_arith_times.cc
-mln_binarization_all_SOURCES = mln_binarization_all.cc
-mln_binarization_binarization_SOURCES = mln_binarization_binarization.cc
-mln_binarization_essential_SOURCES = mln_binarization_essential.cc
-mln_binarization_includes_SOURCES = mln_binarization_includes.cc
-mln_binarization_threshold_SOURCES = mln_binarization_threshold.cc
-mln_border_adjust_SOURCES = mln_border_adjust.cc
-mln_border_all_SOURCES = mln_border_all.cc
-mln_border_duplicate_SOURCES = mln_border_duplicate.cc
-mln_border_equalize_SOURCES = mln_border_equalize.cc
-mln_border_essential_SOURCES = mln_border_essential.cc
-mln_border_fill_SOURCES = mln_border_fill.cc
-mln_border_find_SOURCES = mln_border_find.cc
-mln_border_get_SOURCES = mln_border_get.cc
-mln_border_mirror_SOURCES = mln_border_mirror.cc
-mln_border_resize_SOURCES = mln_border_resize.cc
-mln_border_thickness_SOURCES = mln_border_thickness.cc
-mln_canvas_all_SOURCES = mln_canvas_all.cc
-mln_canvas_browsing_all_SOURCES = mln_canvas_browsing_all.cc
-mln_canvas_browsing_backdiagonal2d_SOURCES = mln_canvas_browsing_backdiagonal2d.cc
-mln_canvas_browsing_depth_first_search_SOURCES = mln_canvas_browsing_depth_first_search.cc
-mln_canvas_browsing_diagonal2d_SOURCES = mln_canvas_browsing_diagonal2d.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_browsing_fwd_SOURCES = mln_canvas_browsing_fwd.cc
-mln_canvas_browsing_hyper_directional_SOURCES = mln_canvas_browsing_hyper_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_snake_vert_SOURCES = mln_canvas_browsing_snake_vert.cc
-mln_canvas_chamfer_SOURCES = mln_canvas_chamfer.cc
-mln_canvas_distance_front_SOURCES = mln_canvas_distance_front.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_morpho_algebraic_union_find_SOURCES = mln_canvas_morpho_algebraic_union_find.cc
-mln_canvas_morpho_all_SOURCES = mln_canvas_morpho_all.cc
-mln_canvas_morpho_essential_SOURCES = mln_canvas_morpho_essential.cc
-mln_convert_all_SOURCES = mln_convert_all.cc
-mln_convert_essential_SOURCES = mln_convert_essential.cc
-mln_convert_from_to_SOURCES = mln_convert_from_to.cc
-mln_convert_impl_all_SOURCES = mln_convert_impl_all.cc
-mln_convert_impl_from_double_to_value_SOURCES = mln_convert_impl_from_double_to_value.cc
-mln_convert_impl_from_float_to_value_SOURCES = mln_convert_impl_from_float_to_value.cc
-mln_convert_impl_from_image_to_site_set_SOURCES = mln_convert_impl_from_image_to_site_set.cc
-mln_convert_impl_from_int_to_value_SOURCES = mln_convert_impl_from_int_to_value.cc
-mln_convert_impl_from_site_set_to_image_SOURCES = mln_convert_impl_from_site_set_to_image.cc
-mln_convert_impl_from_value_to_value_SOURCES = mln_convert_impl_from_value_to_value.cc
-mln_convert_to_SOURCES = mln_convert_to.cc
-mln_convert_to_dpoint_SOURCES = mln_convert_to_dpoint.cc
-mln_convert_to_fun_SOURCES = mln_convert_to_fun.cc
-mln_convert_to_image_SOURCES = mln_convert_to_image.cc
-mln_convert_to_p_array_SOURCES = mln_convert_to_p_array.cc
-mln_convert_to_p_set_SOURCES = mln_convert_to_p_set.cc
-mln_convert_to_upper_window_SOURCES = mln_convert_to_upper_window.cc
-mln_convert_to_window_SOURCES = mln_convert_to_window.cc
-mln_core_a_point_of_SOURCES = mln_core_a_point_of.cc
-mln_core_alias_all_SOURCES = mln_core_alias_all.cc
-mln_core_alias_box1d_SOURCES = mln_core_alias_box1d.cc
-mln_core_alias_box2d_SOURCES = mln_core_alias_box2d.cc
-mln_core_alias_box2d_h_SOURCES = mln_core_alias_box2d_h.cc
-mln_core_alias_box3d_SOURCES = mln_core_alias_box3d.cc
-mln_core_alias_complex_geometry_SOURCES = mln_core_alias_complex_geometry.cc
-mln_core_alias_complex_image_SOURCES = mln_core_alias_complex_image.cc
-mln_core_alias_dpoint1d_SOURCES = mln_core_alias_dpoint1d.cc
-mln_core_alias_dpoint2d_SOURCES = mln_core_alias_dpoint2d.cc
-mln_core_alias_dpoint2d_h_SOURCES = mln_core_alias_dpoint2d_h.cc
-mln_core_alias_dpoint3d_SOURCES = mln_core_alias_dpoint3d.cc
-mln_core_alias_neighb1d_SOURCES = mln_core_alias_neighb1d.cc
-mln_core_alias_neighb2d_SOURCES = mln_core_alias_neighb2d.cc
-mln_core_alias_neighb3d_SOURCES = mln_core_alias_neighb3d.cc
-mln_core_alias_p_run2d_SOURCES = mln_core_alias_p_run2d.cc
-mln_core_alias_p_runs2d_SOURCES = mln_core_alias_p_runs2d.cc
-mln_core_alias_point1d_SOURCES = mln_core_alias_point1d.cc
-mln_core_alias_point2d_SOURCES = mln_core_alias_point2d.cc
-mln_core_alias_point2d_h_SOURCES = mln_core_alias_point2d_h.cc
-mln_core_alias_point3d_SOURCES = mln_core_alias_point3d.cc
-mln_core_alias_point3df_SOURCES = mln_core_alias_point3df.cc
-mln_core_alias_vec3d_SOURCES = mln_core_alias_vec3d.cc
-mln_core_alias_w_window1d_float_SOURCES = mln_core_alias_w_window1d_float.cc
-mln_core_alias_w_window1d_int_SOURCES = mln_core_alias_w_window1d_int.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_w_window3d_float_SOURCES = mln_core_alias_w_window3d_float.cc
-mln_core_alias_w_window3d_int_SOURCES = mln_core_alias_w_window3d_int.cc
-mln_core_alias_window1d_SOURCES = mln_core_alias_window1d.cc
-mln_core_alias_window2d_SOURCES = mln_core_alias_window2d.cc
-mln_core_alias_window3d_SOURCES = mln_core_alias_window3d.cc
-mln_core_all_SOURCES = mln_core_all.cc
-mln_core_box_runstart_piter_SOURCES = mln_core_box_runstart_piter.cc
-mln_core_category_SOURCES = mln_core_category.cc
-mln_core_clock_neighb_SOURCES = mln_core_clock_neighb.cc
-mln_core_clock_neighb2d_SOURCES = mln_core_clock_neighb2d.cc
-mln_core_concept_accumulator_SOURCES = mln_core_concept_accumulator.cc
-mln_core_concept_all_SOURCES = mln_core_concept_all.cc
-mln_core_concept_box_SOURCES = mln_core_concept_box.cc
-mln_core_concept_browsing_SOURCES = mln_core_concept_browsing.cc
-mln_core_concept_delta_point_site_SOURCES = mln_core_concept_delta_point_site.cc
-mln_core_concept_dpoint_SOURCES = mln_core_concept_dpoint.cc
-mln_core_concept_function_SOURCES = mln_core_concept_function.cc
-mln_core_concept_gdpoint_SOURCES = mln_core_concept_gdpoint.cc
-mln_core_concept_generalized_pixel_SOURCES = mln_core_concept_generalized_pixel.cc
-mln_core_concept_gpoint_SOURCES = mln_core_concept_gpoint.cc
-mln_core_concept_graph_SOURCES = mln_core_concept_graph.cc
-mln_core_concept_image_SOURCES = mln_core_concept_image.cc
-mln_core_concept_iterator_SOURCES = mln_core_concept_iterator.cc
-mln_core_concept_literal_SOURCES = mln_core_concept_literal.cc
-mln_core_concept_mesh_SOURCES = mln_core_concept_mesh.cc
-mln_core_concept_meta_accumulator_SOURCES = mln_core_concept_meta_accumulator.cc
-mln_core_concept_meta_fun_SOURCES = mln_core_concept_meta_fun.cc
-mln_core_concept_neighborhood_SOURCES = mln_core_concept_neighborhood.cc
-mln_core_concept_object_SOURCES = mln_core_concept_object.cc
-mln_core_concept_pixel_iterator_SOURCES = mln_core_concept_pixel_iterator.cc
-mln_core_concept_point_SOURCES = mln_core_concept_point.cc
-mln_core_concept_point_site_SOURCES = mln_core_concept_point_site.cc
-mln_core_concept_proxy_SOURCES = mln_core_concept_proxy.cc
-mln_core_concept_pseudo_site_SOURCES = mln_core_concept_pseudo_site.cc
-mln_core_concept_regular_grid_SOURCES = mln_core_concept_regular_grid.cc
-mln_core_concept_site_SOURCES = mln_core_concept_site.cc
-mln_core_concept_site_iterator_SOURCES = mln_core_concept_site_iterator.cc
-mln_core_concept_site_proxy_SOURCES = mln_core_concept_site_proxy.cc
-mln_core_concept_site_set_SOURCES = mln_core_concept_site_set.cc
-mln_core_concept_value_SOURCES = mln_core_concept_value.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_weighted_window_SOURCES = mln_core_concept_weighted_window.cc
-mln_core_concept_window_SOURCES = mln_core_concept_window.cc
-mln_core_contract_SOURCES = mln_core_contract.cc
-mln_core_def_all_SOURCES = mln_core_def_all.cc
-mln_core_def_coord_SOURCES = mln_core_def_coord.cc
-mln_core_def_coordf_SOURCES = mln_core_def_coordf.cc
-mln_core_def_essential_SOURCES = mln_core_def_essential.cc
-mln_core_def_low_quant_nbits_SOURCES = mln_core_def_low_quant_nbits.cc
-mln_core_dpoint_SOURCES = mln_core_dpoint.cc
-mln_core_dpoints_pixter_SOURCES = mln_core_dpoints_pixter.cc
-mln_core_dpsites_piter_SOURCES = mln_core_dpsites_piter.cc
-mln_core_essential_SOURCES = mln_core_essential.cc
-mln_core_faces_psite_SOURCES = mln_core_faces_psite.cc
-mln_core_grids_SOURCES = mln_core_grids.cc
-mln_core_image_all_SOURCES = mln_core_image_all.cc
-mln_core_image_bgraph_image_SOURCES = mln_core_image_bgraph_image.cc
-mln_core_image_bgraph_psite_SOURCES = mln_core_image_bgraph_psite.cc
-mln_core_image_cast_image_SOURCES = mln_core_image_cast_image.cc
-mln_core_image_ch_piter_SOURCES = mln_core_image_ch_piter.cc
-mln_core_image_complex_image_SOURCES = mln_core_image_complex_image.cc
-mln_core_image_complex_neighborhood_piter_SOURCES = mln_core_image_complex_neighborhood_piter.cc
-mln_core_image_complex_neighborhoods_SOURCES = mln_core_image_complex_neighborhoods.cc
-mln_core_image_complex_window_piter_SOURCES = mln_core_image_complex_window_piter.cc
-mln_core_image_complex_windows_SOURCES = mln_core_image_complex_windows.cc
-mln_core_image_decorated_image_SOURCES = mln_core_image_decorated_image.cc
-mln_core_image_essential_SOURCES = mln_core_image_essential.cc
-mln_core_image_extended_SOURCES = mln_core_image_extended.cc
-mln_core_image_extension_fun_SOURCES = mln_core_image_extension_fun.cc
-mln_core_image_extension_ima_SOURCES = mln_core_image_extension_ima.cc
-mln_core_image_extension_val_SOURCES = mln_core_image_extension_val.cc
-mln_core_image_flat_image_SOURCES = mln_core_image_flat_image.cc
-mln_core_image_fun_image_SOURCES = mln_core_image_fun_image.cc
-mln_core_image_graph_elt_neighborhood_SOURCES = mln_core_image_graph_elt_neighborhood.cc
-mln_core_image_graph_elt_window_SOURCES = mln_core_image_graph_elt_window.cc
-mln_core_image_graph_window_piter_SOURCES = mln_core_image_graph_window_piter.cc
-mln_core_image_hexa_SOURCES = mln_core_image_hexa.cc
-mln_core_image_hexa_piter_SOURCES = mln_core_image_hexa_piter.cc
-mln_core_image_image1d_SOURCES = mln_core_image_image1d.cc
-mln_core_image_image2d_SOURCES = mln_core_image_image2d.cc
-mln_core_image_image2d_h_SOURCES = mln_core_image_image2d_h.cc
-mln_core_image_image3d_SOURCES = mln_core_image_image3d.cc
-mln_core_image_image_if_SOURCES = mln_core_image_image_if.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_line_graph_elt_neighborhood_SOURCES = mln_core_image_line_graph_elt_neighborhood.cc
-mln_core_image_line_graph_elt_window_SOURCES = mln_core_image_line_graph_elt_window.cc
-mln_core_image_mono_obased_rle_encode_SOURCES = mln_core_image_mono_obased_rle_encode.cc
-mln_core_image_mono_obased_rle_image_SOURCES = mln_core_image_mono_obased_rle_image.cc
-mln_core_image_mono_rle_encode_SOURCES = mln_core_image_mono_rle_encode.cc
-mln_core_image_mono_rle_image_SOURCES = mln_core_image_mono_rle_image.cc
-mln_core_image_obased_rle_encode_SOURCES = mln_core_image_obased_rle_encode.cc
-mln_core_image_obased_rle_image_SOURCES = mln_core_image_obased_rle_image.cc
-mln_core_image_p2p_image_SOURCES = mln_core_image_p2p_image.cc
-mln_core_image_plain_SOURCES = mln_core_image_plain.cc
-mln_core_image_rle_encode_SOURCES = mln_core_image_rle_encode.cc
-mln_core_image_rle_image_SOURCES = mln_core_image_rle_image.cc
-mln_core_image_safe_SOURCES = mln_core_image_safe.cc
-mln_core_image_slice_image_SOURCES = mln_core_image_slice_image.cc
-mln_core_image_sparse_encode_SOURCES = mln_core_image_sparse_encode.cc
-mln_core_image_sparse_image_SOURCES = mln_core_image_sparse_image.cc
-mln_core_image_sub_image_SOURCES = mln_core_image_sub_image.cc
-mln_core_image_sub_image_if_SOURCES = mln_core_image_sub_image_if.cc
-mln_core_image_t_image_SOURCES = mln_core_image_t_image.cc
-mln_core_image_tr_image_SOURCES = mln_core_image_tr_image.cc
-mln_core_image_tr_mesh_SOURCES = mln_core_image_tr_mesh.cc
-mln_core_image_value_enc_image_SOURCES = mln_core_image_value_enc_image.cc
-mln_core_image_value_encode_SOURCES = mln_core_image_value_encode.cc
-mln_core_image_violent_cast_image_SOURCES = mln_core_image_violent_cast_image.cc
-mln_core_internal_box_impl_SOURCES = mln_core_internal_box_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_classical_window_base_SOURCES = mln_core_internal_classical_window_base.cc
-mln_core_internal_complex_neighborhood_base_SOURCES = mln_core_internal_complex_neighborhood_base.cc
-mln_core_internal_complex_window_p_base_SOURCES = mln_core_internal_complex_window_p_base.cc
-mln_core_internal_coord_impl_SOURCES = mln_core_internal_coord_impl.cc
-mln_core_internal_data_SOURCES = mln_core_internal_data.cc
-mln_core_internal_exact_SOURCES = mln_core_internal_exact.cc
-mln_core_internal_fixme_SOURCES = mln_core_internal_fixme.cc
-mln_core_internal_force_exact_SOURCES = mln_core_internal_force_exact.cc
-mln_core_internal_geom_bbox_SOURCES = mln_core_internal_geom_bbox.cc
-mln_core_internal_graph_psite_base_SOURCES = mln_core_internal_graph_psite_base.cc
-mln_core_internal_graph_window_base_SOURCES = mln_core_internal_graph_window_base.cc
-mln_core_internal_image_base_SOURCES = mln_core_internal_image_base.cc
-mln_core_internal_image_domain_morpher_SOURCES = mln_core_internal_image_domain_morpher.cc
-mln_core_internal_image_identity_SOURCES = mln_core_internal_image_identity.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_value_morpher_SOURCES = mln_core_internal_image_value_morpher.cc
-mln_core_internal_morpher_lvalue_SOURCES = mln_core_internal_morpher_lvalue.cc
-mln_core_internal_neighb_niter_impl_SOURCES = mln_core_internal_neighb_niter_impl.cc
-mln_core_internal_neighborhood_base_SOURCES = mln_core_internal_neighborhood_base.cc
-mln_core_internal_p_complex_piter_base_SOURCES = mln_core_internal_p_complex_piter_base.cc
-mln_core_internal_piter_adaptor_SOURCES = mln_core_internal_piter_adaptor.cc
-mln_core_internal_pixel_impl_SOURCES = mln_core_internal_pixel_impl.cc
-mln_core_internal_pixel_iterator_base_SOURCES = mln_core_internal_pixel_iterator_base.cc
-mln_core_internal_pseudo_site_base_SOURCES = mln_core_internal_pseudo_site_base.cc
-mln_core_internal_run_image_SOURCES = mln_core_internal_run_image.cc
-mln_core_internal_set_of_SOURCES = mln_core_internal_set_of.cc
-mln_core_internal_site_iterator_base_SOURCES = mln_core_internal_site_iterator_base.cc
-mln_core_internal_site_relative_iterator_base_SOURCES = mln_core_internal_site_relative_iterator_base.cc
-mln_core_internal_site_set_base_SOURCES = mln_core_internal_site_set_base.cc
-mln_core_internal_site_set_impl_SOURCES = mln_core_internal_site_set_impl.cc
-mln_core_internal_site_set_iterator_base_SOURCES = mln_core_internal_site_set_iterator_base.cc
-mln_core_internal_weighted_window_base_SOURCES = mln_core_internal_weighted_window_base.cc
-mln_core_internal_window_base_SOURCES = mln_core_internal_window_base.cc
-mln_core_macros_SOURCES = mln_core_macros.cc
-mln_core_neighb_SOURCES = mln_core_neighb.cc
-mln_core_pixel_SOURCES = mln_core_pixel.cc
-mln_core_pixter1d_SOURCES = mln_core_pixter1d.cc
-mln_core_pixter2d_SOURCES = mln_core_pixter2d.cc
-mln_core_pixter3d_SOURCES = mln_core_pixter3d.cc
-mln_core_point_SOURCES = mln_core_point.cc
-mln_core_routine_all_SOURCES = mln_core_routine_all.cc
-mln_core_routine_duplicate_SOURCES = mln_core_routine_duplicate.cc
-mln_core_routine_essential_SOURCES = mln_core_routine_essential.cc
-mln_core_routine_exact_SOURCES = mln_core_routine_exact.cc
-mln_core_routine_extend_SOURCES = mln_core_routine_extend.cc
-mln_core_routine_init_SOURCES = mln_core_routine_init.cc
-mln_core_routine_initialize_SOURCES = mln_core_routine_initialize.cc
-mln_core_routine_ops_SOURCES = mln_core_routine_ops.cc
-mln_core_routine_primary_SOURCES = mln_core_routine_primary.cc
-mln_core_site_set_all_SOURCES = mln_core_site_set_all.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_box_SOURCES = mln_core_site_set_box.cc
-mln_core_site_set_box_piter_SOURCES = mln_core_site_set_box_piter.cc
-mln_core_site_set_complex_psite_SOURCES = mln_core_site_set_complex_psite.cc
-mln_core_site_set_essential_SOURCES = mln_core_site_set_essential.cc
-mln_core_site_set_operators_SOURCES = mln_core_site_set_operators.cc
-mln_core_site_set_p_array_SOURCES = mln_core_site_set_p_array.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_centered_SOURCES = mln_core_site_set_p_centered.cc
-mln_core_site_set_p_complex_SOURCES = mln_core_site_set_p_complex.cc
-mln_core_site_set_p_complex_piter_SOURCES = mln_core_site_set_p_complex_piter.cc
-mln_core_site_set_p_double_SOURCES = mln_core_site_set_p_double.cc
-mln_core_site_set_p_edges_SOURCES = mln_core_site_set_p_edges.cc
-mln_core_site_set_p_edges_psite_SOURCES = mln_core_site_set_p_edges_psite.cc
-mln_core_site_set_p_faces_SOURCES = mln_core_site_set_p_faces.cc
-mln_core_site_set_p_graph_piter_SOURCES = mln_core_site_set_p_graph_piter.cc
-mln_core_site_set_p_if_SOURCES = mln_core_site_set_p_if.cc
-mln_core_site_set_p_if_piter_SOURCES = mln_core_site_set_p_if_piter.cc
-mln_core_site_set_p_image_SOURCES = mln_core_site_set_p_image.cc
-mln_core_site_set_p_key_SOURCES = mln_core_site_set_p_key.cc
-mln_core_site_set_p_line2d_SOURCES = mln_core_site_set_p_line2d.cc
-mln_core_site_set_p_mutable_array_of_SOURCES = mln_core_site_set_p_mutable_array_of.cc
-mln_core_site_set_p_n_faces_piter_SOURCES = mln_core_site_set_p_n_faces_piter.cc
-mln_core_site_set_p_priority_SOURCES = mln_core_site_set_p_priority.cc
-mln_core_site_set_p_queue_SOURCES = mln_core_site_set_p_queue.cc
-mln_core_site_set_p_queue_fast_SOURCES = mln_core_site_set_p_queue_fast.cc
-mln_core_site_set_p_run_SOURCES = mln_core_site_set_p_run.cc
-mln_core_site_set_p_run_piter_SOURCES = mln_core_site_set_p_run_piter.cc
-mln_core_site_set_p_set_SOURCES = mln_core_site_set_p_set.cc
-mln_core_site_set_p_set_of_SOURCES = mln_core_site_set_p_set_of.cc
-mln_core_site_set_p_vaccess_SOURCES = mln_core_site_set_p_vaccess.cc
-mln_core_site_set_p_vertices_SOURCES = mln_core_site_set_p_vertices.cc
-mln_core_site_set_p_vertices_psite_SOURCES = mln_core_site_set_p_vertices_psite.cc
-mln_core_tags_SOURCES = mln_core_tags.cc
-mln_core_trait_all_SOURCES = mln_core_trait_all.cc
-mln_core_trait_essential_SOURCES = mln_core_trait_essential.cc
-mln_core_trait_op_mult_SOURCES = mln_core_trait_op_mult.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_var_SOURCES = mln_core_var.cc
-mln_core_w_window_SOURCES = mln_core_w_window.cc
-mln_core_window_SOURCES = mln_core_window.cc
+mln_histo_all_SOURCES = mln_histo_all.cc
+mln_histo_array_SOURCES = mln_histo_array.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_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_max_SOURCES = mln_literal_max.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_min_SOURCES = mln_literal_min.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_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_fibonacci_heap_SOURCES = mln_util_fibonacci_heap.cc
+mln_util_max_SOURCES = mln_util_max.cc
+mln_util_lazy_set_SOURCES = mln_util_lazy_set.cc
+mln_util_soft_heap_SOURCES = mln_util_soft_heap.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_data_memset__SOURCES = mln_data_memset_.cc
+mln_data_memcpy__SOURCES = mln_data_memcpy_.cc
mln_data_all_SOURCES = mln_data_all.cc
-mln_data_essential_SOURCES = mln_data_essential.cc
-mln_data_fill_SOURCES = mln_data_fill.cc
+mln_data_paste_SOURCES = mln_data_paste.cc
mln_data_fill_with_image_SOURCES = mln_data_fill_with_image.cc
mln_data_fill_with_value_SOURCES = mln_data_fill_with_value.cc
-mln_data_memcpy__SOURCES = mln_data_memcpy_.cc
-mln_data_memset__SOURCES = mln_data_memset_.cc
-mln_data_paste_SOURCES = mln_data_paste.cc
-mln_debug_all_SOURCES = mln_debug_all.cc
-mln_debug_colorize_SOURCES = mln_debug_colorize.cc
-mln_debug_draw_graph_SOURCES = mln_debug_draw_graph.cc
-mln_debug_essential_SOURCES = mln_debug_essential.cc
-mln_debug_format_SOURCES = mln_debug_format.cc
-mln_debug_iota_SOURCES = mln_debug_iota.cc
-mln_debug_println_SOURCES = mln_debug_println.cc
-mln_debug_println_with_border_SOURCES = mln_debug_println_with_border.cc
-mln_debug_put_word_SOURCES = mln_debug_put_word.cc
-mln_debug_quiet_SOURCES = mln_debug_quiet.cc
-mln_debug_slices_2d_SOURCES = mln_debug_slices_2d.cc
+mln_data_fill_SOURCES = mln_data_fill.cc
+mln_data_essential_SOURCES = mln_data_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_warning_SOURCES = mln_trace_warning.cc
+mln_trace_exiting_SOURCES = mln_trace_exiting.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_image3d_SOURCES = mln_make_image3d.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_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_box2d_SOURCES = mln_make_box2d.cc
+mln_make_h_mat_SOURCES = mln_make_h_mat.cc
+mln_make_w_window2d_SOURCES = mln_make_w_window2d.cc
+mln_make_box3d_SOURCES = mln_make_box3d.cc
+mln_make_region_adjacency_graph_SOURCES = mln_make_region_adjacency_graph.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_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_essential_SOURCES = mln_make_essential.cc
+mln_make_w_window1d_int_SOURCES = mln_make_w_window1d_int.cc
+mln_make_point2d_h_SOURCES = mln_make_point2d_h.cc
+mln_extract_red_SOURCES = mln_extract_red.cc
+mln_extract_hue_SOURCES = mln_extract_hue.cc
+mln_extract_lum_SOURCES = mln_extract_lum.cc
+mln_extract_all_SOURCES = mln_extract_all.cc
+mln_extract_green_SOURCES = mln_extract_green.cc
+mln_extract_blue_SOURCES = mln_extract_blue.cc
+mln_extract_sat_SOURCES = mln_extract_sat.cc
+mln_extract_essential_SOURCES = mln_extract_essential.cc
mln_display_all_SOURCES = mln_display_all.cc
mln_display_essential_SOURCES = mln_display_essential.cc
-mln_draw_all_SOURCES = mln_draw_all.cc
-mln_draw_box_SOURCES = mln_draw_box.cc
-mln_draw_essential_SOURCES = mln_draw_essential.cc
-mln_draw_line_SOURCES = mln_draw_line.cc
-mln_draw_plot_SOURCES = mln_draw_plot.cc
-mln_essential_1d_SOURCES = mln_essential_1d.cc
-mln_essential_2d_SOURCES = mln_essential_2d.cc
-mln_essential_3d_SOURCES = mln_essential_3d.cc
-mln_essential_routine_SOURCES = mln_essential_routine.cc
-mln_estim_all_SOURCES = mln_estim_all.cc
-mln_estim_essential_SOURCES = mln_estim_essential.cc
-mln_estim_mean_SOURCES = mln_estim_mean.cc
-mln_estim_min_max_SOURCES = mln_estim_min_max.cc
-mln_estim_sum_SOURCES = mln_estim_sum.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_adjust_fill_SOURCES = mln_extension_adjust_fill.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_fill_SOURCES = mln_extension_adjust_fill.cc
mln_extension_fill_SOURCES = mln_extension_fill.cc
-mln_extract_all_SOURCES = mln_extract_all.cc
-mln_extract_blue_SOURCES = mln_extract_blue.cc
-mln_extract_essential_SOURCES = mln_extract_essential.cc
-mln_extract_green_SOURCES = mln_extract_green.cc
-mln_extract_red_SOURCES = mln_extract_red.cc
-mln_fun_all_SOURCES = mln_fun_all.cc
-mln_fun_c_SOURCES = mln_fun_c.cc
-mln_fun_cast_SOURCES = mln_fun_cast.cc
-mln_fun_essential_SOURCES = mln_fun_essential.cc
-mln_fun_i2v_all_SOURCES = mln_fun_i2v_all.cc
-mln_fun_i2v_all_to_SOURCES = mln_fun_i2v_all_to.cc
-mln_fun_i2v_array_SOURCES = mln_fun_i2v_array.cc
-mln_fun_i2v_essential_SOURCES = mln_fun_i2v_essential.cc
-mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
-mln_fun_internal_ch_function_value_impl_SOURCES = mln_fun_internal_ch_function_value_impl.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_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_meta_blue_SOURCES = mln_fun_meta_blue.cc
-mln_fun_meta_green_SOURCES = mln_fun_meta_green.cc
-mln_fun_meta_hue_SOURCES = mln_fun_meta_hue.cc
-mln_fun_meta_inty_SOURCES = mln_fun_meta_inty.cc
-mln_fun_meta_red_SOURCES = mln_fun_meta_red.cc
-mln_fun_meta_sat_SOURCES = mln_fun_meta_sat.cc
-mln_fun_meta_to_enc_SOURCES = mln_fun_meta_to_enc.cc
-mln_fun_ops_SOURCES = mln_fun_ops.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_chess_SOURCES = mln_fun_p2b_chess.cc
mln_fun_p2b_essential_SOURCES = mln_fun_p2b_essential.cc
-mln_fun_p2b_has_SOURCES = mln_fun_p2b_has.cc
mln_fun_p2p_all_SOURCES = mln_fun_p2p_all.cc
-mln_fun_p2p_mirror_SOURCES = mln_fun_p2p_mirror.cc
mln_fun_p2p_translation_SOURCES = mln_fun_p2p_translation.cc
-mln_fun_p2v_all_SOURCES = mln_fun_p2v_all.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_ch_function_value_impl_SOURCES = mln_fun_internal_ch_function_value_impl.cc
+mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
+mln_fun_v2w_w2v_norm_SOURCES = mln_fun_v2w_w2v_norm.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_p2v_iota_SOURCES = mln_fun_p2v_iota.cc
-mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
-mln_fun_v2b_all_SOURCES = mln_fun_v2b_all.cc
-mln_fun_v2b_essential_SOURCES = mln_fun_v2b_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_v2v_abs_SOURCES = mln_fun_v2v_abs.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_rgb_to_hsl_SOURCES = mln_fun_v2v_rgb_to_hsl.cc
mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
mln_fun_v2v_ch_function_value_SOURCES = mln_fun_v2v_ch_function_value.cc
-mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
-mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.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_v2v_id_SOURCES = mln_fun_v2v_id.cc
-mln_fun_v2v_inc_SOURCES = mln_fun_v2v_inc.cc
-mln_fun_v2v_linear_SOURCES = mln_fun_v2v_linear.cc
-mln_fun_v2v_norm_SOURCES = mln_fun_v2v_norm.cc
-mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
-mln_fun_v2v_rgb_to_hsl_SOURCES = mln_fun_v2v_rgb_to_hsl.cc
-mln_fun_v2v_saturate_SOURCES = mln_fun_v2v_saturate.cc
mln_fun_v2w2v_cos_SOURCES = mln_fun_v2w2v_cos.cc
-mln_fun_v2w_w2v_norm_SOURCES = mln_fun_v2w_w2v_norm.cc
-mln_fun_vv2b_eq_SOURCES = mln_fun_vv2b_eq.cc
-mln_fun_vv2b_ge_SOURCES = mln_fun_vv2b_ge.cc
-mln_fun_vv2b_gt_SOURCES = mln_fun_vv2b_gt.cc
mln_fun_vv2b_implies_SOURCES = mln_fun_vv2b_implies.cc
mln_fun_vv2b_le_SOURCES = mln_fun_vv2b_le.cc
+mln_fun_vv2b_gt_SOURCES = mln_fun_vv2b_gt.cc
+mln_fun_vv2b_ge_SOURCES = mln_fun_vv2b_ge.cc
mln_fun_vv2b_lt_SOURCES = mln_fun_vv2b_lt.cc
-mln_fun_vv2v_all_SOURCES = mln_fun_vv2v_all.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_SOURCES = mln_fun_vv2v_land.cc
-mln_fun_vv2v_land_not_SOURCES = mln_fun_vv2v_land_not.cc
-mln_fun_vv2v_lor_SOURCES = mln_fun_vv2v_lor.cc
-mln_fun_vv2v_lxor_SOURCES = mln_fun_vv2v_lxor.cc
-mln_fun_vv2v_macros_SOURCES = mln_fun_vv2v_macros.cc
-mln_fun_vv2v_max_SOURCES = mln_fun_vv2v_max.cc
-mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
-mln_fun_vv2v_vec_SOURCES = mln_fun_vv2v_vec.cc
-mln_fun_x2p_all_SOURCES = mln_fun_x2p_all.cc
-mln_fun_x2p_closest_point_SOURCES = mln_fun_x2p_closest_point.cc
-mln_fun_x2p_essential_SOURCES = mln_fun_x2p_essential.cc
-mln_fun_x2v_all_SOURCES = mln_fun_x2v_all.cc
+mln_fun_vv2b_eq_SOURCES = mln_fun_vv2b_eq.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_wrap_SOURCES = mln_fun_l2l_wrap.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_meta_red_SOURCES = mln_fun_meta_red.cc
+mln_fun_meta_hue_SOURCES = mln_fun_meta_hue.cc
+mln_fun_meta_lum_SOURCES = mln_fun_meta_lum.cc
+mln_fun_meta_all_SOURCES = mln_fun_meta_all.cc
+mln_fun_meta_green_SOURCES = mln_fun_meta_green.cc
+mln_fun_meta_inty_SOURCES = mln_fun_meta_inty.cc
+mln_fun_meta_blue_SOURCES = mln_fun_meta_blue.cc
+mln_fun_meta_sat_SOURCES = mln_fun_meta_sat.cc
+mln_fun_meta_to_enc_SOURCES = mln_fun_meta_to_enc.cc
+mln_fun_x2v_trilinear_SOURCES = mln_fun_x2v_trilinear.cc
+mln_fun_x2v_linear_SOURCES = mln_fun_x2v_linear.cc
mln_fun_x2v_bilinear_SOURCES = mln_fun_x2v_bilinear.cc
-mln_fun_x2v_essential_SOURCES = mln_fun_x2v_essential.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_linear_SOURCES = mln_fun_x2v_linear.cc
mln_fun_x2v_nneighbor_SOURCES = mln_fun_x2v_nneighbor.cc
-mln_fun_x2x_all_SOURCES = mln_fun_x2x_all.cc
-mln_fun_x2x_composed_SOURCES = mln_fun_x2x_composed.cc
-mln_fun_x2x_essential_SOURCES = mln_fun_x2x_essential.cc
-mln_fun_x2x_rotation_SOURCES = mln_fun_x2x_rotation.cc
-mln_fun_x2x_translation_SOURCES = mln_fun_x2x_translation.cc
-mln_geom_all_SOURCES = mln_geom_all.cc
-mln_geom_bbox_SOURCES = mln_geom_bbox.cc
-mln_geom_chamfer_SOURCES = mln_geom_chamfer.cc
-mln_geom_complex_geometry_SOURCES = mln_geom_complex_geometry.cc
-mln_geom_delta_SOURCES = mln_geom_delta.cc
-mln_geom_essential_SOURCES = mln_geom_essential.cc
-mln_geom_max_col_SOURCES = mln_geom_max_col.cc
-mln_geom_max_ind_SOURCES = mln_geom_max_ind.cc
-mln_geom_max_row_SOURCES = mln_geom_max_row.cc
-mln_geom_max_sli_SOURCES = mln_geom_max_sli.cc
-mln_geom_min_col_SOURCES = mln_geom_min_col.cc
-mln_geom_min_ind_SOURCES = mln_geom_min_ind.cc
-mln_geom_min_row_SOURCES = mln_geom_min_row.cc
-mln_geom_min_sli_SOURCES = mln_geom_min_sli.cc
-mln_geom_ncols_SOURCES = mln_geom_ncols.cc
-mln_geom_ninds_SOURCES = mln_geom_ninds.cc
-mln_geom_nrows_SOURCES = mln_geom_nrows.cc
-mln_geom_nsites_SOURCES = mln_geom_nsites.cc
-mln_geom_nslis_SOURCES = mln_geom_nslis.cc
-mln_geom_pmin_pmax_SOURCES = mln_geom_pmin_pmax.cc
-mln_geom_seeds2tiling_SOURCES = mln_geom_seeds2tiling.cc
-mln_geom_seeds2tiling_roundness_SOURCES = mln_geom_seeds2tiling_roundness.cc
-mln_geom_size1d_SOURCES = mln_geom_size1d.cc
-mln_geom_size2d_SOURCES = mln_geom_size2d.cc
-mln_geom_size3d_SOURCES = mln_geom_size3d.cc
-mln_histo_all_SOURCES = mln_histo_all.cc
-mln_histo_array_SOURCES = mln_histo_array.cc
-mln_histo_compute_SOURCES = mln_histo_compute.cc
-mln_histo_essential_SOURCES = mln_histo_essential.cc
-mln_io_abort_SOURCES = mln_io_abort.cc
-mln_io_all_SOURCES = mln_io_all.cc
-mln_io_cloud_all_SOURCES = mln_io_cloud_all.cc
-mln_io_cloud_load_SOURCES = mln_io_cloud_load.cc
-mln_io_cloud_save_SOURCES = mln_io_cloud_save.cc
-mln_io_dump_all_SOURCES = mln_io_dump_all.cc
-mln_io_dump_load_SOURCES = mln_io_dump_load.cc
-mln_io_dump_save_SOURCES = mln_io_dump_save.cc
-mln_io_essential_SOURCES = mln_io_essential.cc
-mln_io_fits_all_SOURCES = mln_io_fits_all.cc
-mln_io_fits_load_SOURCES = mln_io_fits_load.cc
-mln_io_off_all_SOURCES = mln_io_off_all.cc
-mln_io_off_load_SOURCES = mln_io_off_load.cc
-mln_io_off_save_SOURCES = mln_io_off_save.cc
-mln_io_pbm_all_SOURCES = mln_io_pbm_all.cc
-mln_io_pbm_load_SOURCES = mln_io_pbm_load.cc
-mln_io_pbm_save_SOURCES = mln_io_pbm_save.cc
-mln_io_pfm_all_SOURCES = mln_io_pfm_all.cc
-mln_io_pfm_load_SOURCES = mln_io_pfm_load.cc
-mln_io_pfm_save_SOURCES = mln_io_pfm_save.cc
-mln_io_pgm_all_SOURCES = mln_io_pgm_all.cc
-mln_io_pgm_load_SOURCES = mln_io_pgm_load.cc
-mln_io_pgm_save_SOURCES = mln_io_pgm_save.cc
-mln_io_pnm_all_SOURCES = mln_io_pnm_all.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_macros_SOURCES = mln_io_pnm_macros.cc
-mln_io_pnm_max_component_SOURCES = mln_io_pnm_max_component.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_ppm_all_SOURCES = mln_io_ppm_all.cc
-mln_io_ppm_load_SOURCES = mln_io_ppm_load.cc
-mln_io_ppm_save_SOURCES = mln_io_ppm_save.cc
-mln_io_txt_all_SOURCES = mln_io_txt_all.cc
-mln_io_txt_save_SOURCES = mln_io_txt_save.cc
-mln_labeling_all_SOURCES = mln_labeling_all.cc
-mln_labeling_background_SOURCES = mln_labeling_background.cc
-mln_labeling_blobs_SOURCES = mln_labeling_blobs.cc
-mln_labeling_compute_SOURCES = mln_labeling_compute.cc
-mln_labeling_essential_SOURCES = mln_labeling_essential.cc
-mln_labeling_flat_zones_SOURCES = mln_labeling_flat_zones.cc
-mln_labeling_foreground_SOURCES = mln_labeling_foreground.cc
-mln_labeling_level_SOURCES = mln_labeling_level.cc
-mln_labeling_regional_maxima_SOURCES = mln_labeling_regional_maxima.cc
-mln_labeling_regional_minima_SOURCES = mln_labeling_regional_minima.cc
-mln_labeling_relabel_SOURCES = mln_labeling_relabel.cc
-mln_level_abs_SOURCES = mln_level_abs.cc
-mln_level_all_SOURCES = mln_level_all.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_double_to_value_SOURCES = mln_convert_impl_from_double_to_value.cc
+mln_convert_impl_from_site_set_to_image_SOURCES = mln_convert_impl_from_site_set_to_image.cc
+mln_convert_impl_from_image_to_site_set_SOURCES = mln_convert_impl_from_image_to_site_set.cc
+mln_convert_impl_from_float_to_value_SOURCES = mln_convert_impl_from_float_to_value.cc
+mln_convert_impl_from_int_to_value_SOURCES = mln_convert_impl_from_int_to_value.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_essential_SOURCES = mln_convert_essential.cc
+mln_value_shell_SOURCES = mln_value_shell.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_limits_SOURCES = mln_value_internal_limits.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_hsl_SOURCES = mln_value_hsl.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_mixin_SOURCES = mln_value_mixin.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_rms_SOURCES = mln_accu_rms.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_transform_line_SOURCES = mln_accu_transform_line.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_sort_offsets_SOURCES = mln_level_sort_offsets.cc
+mln_level_transform_inplace_SOURCES = mln_level_transform_inplace.cc
+mln_level_replace_SOURCES = mln_level_replace.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_compare_SOURCES = mln_level_compare.cc
+mln_level_saturate_SOURCES = mln_level_saturate.cc
+mln_level_all_SOURCES = mln_level_all.cc
+mln_level_fast_median_SOURCES = mln_level_fast_median.cc
+mln_level_abs_SOURCES = mln_level_abs.cc
+mln_level_transform_SOURCES = mln_level_transform.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_essential_SOURCES = mln_level_essential.cc
-mln_level_fast_median_SOURCES = mln_level_fast_median.cc
-mln_level_median_SOURCES = mln_level_median.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_replace_SOURCES = mln_level_replace.cc
-mln_level_saturate_SOURCES = mln_level_saturate.cc
-mln_level_sort_offsets_SOURCES = mln_level_sort_offsets.cc
mln_level_sort_psites_SOURCES = mln_level_sort_psites.cc
-mln_level_stretch_SOURCES = mln_level_stretch.cc
-mln_level_to_enc_SOURCES = mln_level_to_enc.cc
-mln_level_transform_SOURCES = mln_level_transform.cc
-mln_level_transform_inplace_SOURCES = mln_level_transform_inplace.cc
mln_level_update_SOURCES = mln_level_update.cc
-mln_level_was_median_SOURCES = mln_level_was_median.cc
-mln_linear_all_SOURCES = mln_linear_all.cc
-mln_linear_ch_convolve_SOURCES = mln_linear_ch_convolve.cc
-mln_linear_convolve_SOURCES = mln_linear_convolve.cc
-mln_linear_convolve_2x1d_SOURCES = mln_linear_convolve_2x1d.cc
-mln_linear_convolve_directional_SOURCES = mln_linear_convolve_directional.cc
-mln_linear_essential_SOURCES = mln_linear_essential.cc
-mln_linear_gaussian_SOURCES = mln_linear_gaussian.cc
-mln_linear_lap_SOURCES = mln_linear_lap.cc
-mln_linear_local_convolve_SOURCES = mln_linear_local_convolve.cc
-mln_linear_log_SOURCES = mln_linear_log.cc
-mln_linear_sobel_2d_SOURCES = mln_linear_sobel_2d.cc
-mln_literal_all_SOURCES = mln_literal_all.cc
-mln_literal_black_SOURCES = mln_literal_black.cc
-mln_literal_colors_SOURCES = mln_literal_colors.cc
-mln_literal_essential_SOURCES = mln_literal_essential.cc
-mln_literal_grays_SOURCES = mln_literal_grays.cc
-mln_literal_max_SOURCES = mln_literal_max.cc
-mln_literal_min_SOURCES = mln_literal_min.cc
-mln_literal_one_SOURCES = mln_literal_one.cc
-mln_literal_ops_SOURCES = mln_literal_ops.cc
-mln_literal_origin_SOURCES = mln_literal_origin.cc
-mln_literal_white_SOURCES = mln_literal_white.cc
-mln_literal_zero_SOURCES = mln_literal_zero.cc
-mln_logical_all_SOURCES = mln_logical_all.cc
-mln_logical_and_SOURCES = mln_logical_and.cc
-mln_logical_and_not_SOURCES = mln_logical_and_not.cc
-mln_logical_essential_SOURCES = mln_logical_essential.cc
-mln_logical_includes_SOURCES = mln_logical_includes.cc
-mln_logical_not_SOURCES = mln_logical_not.cc
-mln_logical_or_SOURCES = mln_logical_or.cc
-mln_logical_xor_SOURCES = mln_logical_xor.cc
-mln_make_all_SOURCES = mln_make_all.cc
-mln_make_box1d_SOURCES = mln_make_box1d.cc
-mln_make_box2d_SOURCES = mln_make_box2d.cc
-mln_make_box2d_h_SOURCES = mln_make_box2d_h.cc
-mln_make_box3d_SOURCES = mln_make_box3d.cc
-mln_make_double_neighb2d_SOURCES = mln_make_double_neighb2d.cc
-mln_make_dpoint2d_h_SOURCES = mln_make_dpoint2d_h.cc
-mln_make_dual_neighb_SOURCES = mln_make_dual_neighb.cc
-mln_make_essential_SOURCES = mln_make_essential.cc
-mln_make_graph_SOURCES = mln_make_graph.cc
-mln_make_h_mat_SOURCES = mln_make_h_mat.cc
-mln_make_image_SOURCES = mln_make_image.cc
-mln_make_image2d_SOURCES = mln_make_image2d.cc
-mln_make_image3d_SOURCES = mln_make_image3d.cc
-mln_make_mat_SOURCES = mln_make_mat.cc
-mln_make_pix_SOURCES = mln_make_pix.cc
-mln_make_pixel_SOURCES = mln_make_pixel.cc
-mln_make_point2d_h_SOURCES = mln_make_point2d_h.cc
-mln_make_relabelfun_SOURCES = mln_make_relabelfun.cc
-mln_make_vec_SOURCES = mln_make_vec.cc
-mln_make_voronoi_SOURCES = mln_make_voronoi.cc
-mln_make_w_window_SOURCES = mln_make_w_window.cc
-mln_make_w_window1d_SOURCES = mln_make_w_window1d.cc
-mln_make_w_window1d_int_SOURCES = mln_make_w_window1d_int.cc
-mln_make_w_window2d_SOURCES = mln_make_w_window2d.cc
-mln_make_w_window2d_int_SOURCES = mln_make_w_window2d_int.cc
-mln_make_w_window3d_SOURCES = mln_make_w_window3d.cc
-mln_make_w_window3d_int_SOURCES = mln_make_w_window3d_int.cc
-mln_make_w_window_directional_SOURCES = mln_make_w_window_directional.cc
-mln_make_win_chamfer_SOURCES = mln_make_win_chamfer.cc
-mln_math_abs_SOURCES = mln_math_abs.cc
-mln_math_acos_SOURCES = mln_math_acos.cc
+mln_level_essential_SOURCES = mln_level_essential.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_cos_SOURCES = mln_math_cos.cc
mln_math_diff_abs_SOURCES = mln_math_diff_abs.cc
-mln_math_essential_SOURCES = mln_math_essential.cc
-mln_math_jacobi_SOURCES = mln_math_jacobi.cc
-mln_math_max_SOURCES = mln_math_max.cc
-mln_math_min_SOURCES = mln_math_min.cc
mln_math_round_SOURCES = mln_math_round.cc
-mln_math_round_sat_SOURCES = mln_math_round_sat.cc
-mln_math_sign_SOURCES = mln_math_sign.cc
-mln_math_sqr_SOURCES = mln_math_sqr.cc
+mln_math_min_SOURCES = mln_math_min.cc
mln_math_sqrt_SOURCES = mln_math_sqrt.cc
-mln_metal_abort_SOURCES = mln_metal_abort.cc
-mln_metal_all_SOURCES = mln_metal_all.cc
-mln_metal_ands_SOURCES = mln_metal_ands.cc
-mln_metal_array_SOURCES = mln_metal_array.cc
-mln_metal_array1d_SOURCES = mln_metal_array1d.cc
-mln_metal_array2d_SOURCES = mln_metal_array2d.cc
-mln_metal_array3d_SOURCES = mln_metal_array3d.cc
-mln_metal_bexpr_SOURCES = mln_metal_bexpr.cc
-mln_metal_bool_SOURCES = mln_metal_bool.cc
-mln_metal_const_SOURCES = mln_metal_const.cc
-mln_metal_converts_to_SOURCES = mln_metal_converts_to.cc
-mln_metal_equal_SOURCES = mln_metal_equal.cc
-mln_metal_essential_SOURCES = mln_metal_essential.cc
-mln_metal_fix_return_SOURCES = mln_metal_fix_return.cc
-mln_metal_goes_to_SOURCES = mln_metal_goes_to.cc
-mln_metal_if_SOURCES = mln_metal_if.cc
-mln_metal_int_SOURCES = mln_metal_int.cc
-mln_metal_is_SOURCES = mln_metal_is.cc
-mln_metal_is_a_SOURCES = mln_metal_is_a.cc
+mln_math_essential_SOURCES = mln_math_essential.cc
+mln_math_acos_SOURCES = mln_math_acos.cc
+mln_math_round_sat_SOURCES = mln_math_round_sat.cc
+mln_opt_at_SOURCES = mln_opt_at.cc
+mln_opt_element_SOURCES = mln_opt_element.cc
+mln_opt_value_SOURCES = mln_opt_value.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_accumulators_SOURCES = mln_trait_accumulators.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_accumulator_props_SOURCES = mln_trait_accumulator_props.cc
+mln_trait_accumulator_print_SOURCES = mln_trait_accumulator_print.cc
+mln_trait_ch_function_value_SOURCES = mln_trait_ch_function_value.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_depth_first_search_SOURCES = mln_canvas_browsing_depth_first_search.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_connected_filter_SOURCES = mln_canvas_morpho_connected_filter.cc
+mln_canvas_morpho_algebraic_filter_SOURCES = mln_canvas_morpho_algebraic_filter.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_is_not_SOURCES = mln_metal_is_not.cc
-mln_metal_is_not_a_SOURCES = mln_metal_is_not_a.cc
-mln_metal_is_not_const_SOURCES = mln_metal_is_not_const.cc
-mln_metal_is_not_ref_SOURCES = mln_metal_is_not_ref.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_is_unqualif_SOURCES = mln_metal_is_unqualif.cc
-mln_metal_mat_SOURCES = mln_metal_mat.cc
-mln_metal_math_all_SOURCES = mln_metal_math_all.cc
-mln_metal_math_max_SOURCES = mln_metal_math_max.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_none_SOURCES = mln_metal_none.cc
-mln_metal_not_equal_SOURCES = mln_metal_not_equal.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_ret_SOURCES = mln_metal_ret.cc
-mln_metal_same_coord_SOURCES = mln_metal_same_coord.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_unconst_SOURCES = mln_metal_unconst.cc
-mln_metal_unptr_SOURCES = mln_metal_unptr.cc
-mln_metal_unqualif_SOURCES = mln_metal_unqualif.cc
-mln_metal_unref_SOURCES = mln_metal_unref.cc
-mln_metal_vec_SOURCES = mln_metal_vec.cc
-mln_morpho_all_SOURCES = mln_morpho_all.cc
-mln_morpho_closing_SOURCES = mln_morpho_closing.cc
-mln_morpho_closing_area_SOURCES = mln_morpho_closing_area.cc
-mln_morpho_closing_area_on_vertices_SOURCES = mln_morpho_closing_area_on_vertices.cc
-mln_morpho_closing_attribute_SOURCES = mln_morpho_closing_attribute.cc
-mln_morpho_closing_height_SOURCES = mln_morpho_closing_height.cc
-mln_morpho_closing_volume_SOURCES = mln_morpho_closing_volume.cc
-mln_morpho_complementation_SOURCES = mln_morpho_complementation.cc
-mln_morpho_contrast_SOURCES = mln_morpho_contrast.cc
-mln_morpho_dilation_SOURCES = mln_morpho_dilation.cc
-mln_morpho_elementary_all_SOURCES = mln_morpho_elementary_all.cc
-mln_morpho_elementary_closing_SOURCES = mln_morpho_elementary_closing.cc
-mln_morpho_elementary_dilation_SOURCES = mln_morpho_elementary_dilation.cc
-mln_morpho_elementary_erosion_SOURCES = mln_morpho_elementary_erosion.cc
-mln_morpho_elementary_essential_SOURCES = mln_morpho_elementary_essential.cc
-mln_morpho_elementary_gradient_SOURCES = mln_morpho_elementary_gradient.cc
-mln_morpho_elementary_gradient_external_SOURCES = mln_morpho_elementary_gradient_external.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_opening_SOURCES = mln_morpho_elementary_opening.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_erosion_SOURCES = mln_morpho_erosion.cc
-mln_morpho_essential_SOURCES = mln_morpho_essential.cc
-mln_morpho_general_SOURCES = mln_morpho_general.cc
-mln_morpho_gradient_SOURCES = mln_morpho_gradient.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_includes_SOURCES = mln_morpho_includes.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_laplacian_SOURCES = mln_morpho_laplacian.cc
-mln_morpho_line_gradient_SOURCES = mln_morpho_line_gradient.cc
-mln_morpho_meyer_wst_SOURCES = mln_morpho_meyer_wst.cc
-mln_morpho_min_SOURCES = mln_morpho_min.cc
-mln_morpho_minus_SOURCES = mln_morpho_minus.cc
-mln_morpho_opening_SOURCES = mln_morpho_opening.cc
+mln_morpho_contrast_SOURCES = mln_morpho_contrast.cc
mln_morpho_opening_area_SOURCES = mln_morpho_opening_area.cc
-mln_morpho_opening_area_on_vertices_SOURCES = mln_morpho_opening_area_on_vertices.cc
-mln_morpho_opening_attribute_SOURCES = mln_morpho_opening_attribute.cc
mln_morpho_opening_height_SOURCES = mln_morpho_opening_height.cc
-mln_morpho_opening_volume_SOURCES = mln_morpho_opening_volume.cc
-mln_morpho_plus_SOURCES = mln_morpho_plus.cc
-mln_morpho_rank_filter_SOURCES = mln_morpho_rank_filter.cc
-mln_morpho_Rd_SOURCES = mln_morpho_Rd.cc
-mln_morpho_skeleton_constrained_SOURCES = mln_morpho_skeleton_constrained.cc
-mln_morpho_thick_miss_SOURCES = mln_morpho_thick_miss.cc
mln_morpho_thickening_SOURCES = mln_morpho_thickening.cc
-mln_morpho_thin_fit_SOURCES = mln_morpho_thin_fit.cc
-mln_morpho_thinning_SOURCES = mln_morpho_thinning.cc
-mln_morpho_top_hat_SOURCES = mln_morpho_top_hat.cc
-mln_morpho_tree_all_SOURCES = mln_morpho_tree_all.cc
-mln_morpho_tree_compute_attribute_image_SOURCES = mln_morpho_tree_compute_attribute_image.cc
-mln_morpho_tree_compute_parent_SOURCES = mln_morpho_tree_compute_parent.cc
-mln_morpho_tree_data_SOURCES = mln_morpho_tree_data.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_algebraic_SOURCES = mln_morpho_opening_algebraic.cc
+mln_morpho_opening_attribute_SOURCES = mln_morpho_opening_attribute.cc
+mln_morpho_opening_volume_SOURCES = mln_morpho_opening_volume.cc
+mln_morpho_closing_algebraic_SOURCES = mln_morpho_closing_algebraic.cc
+mln_morpho_watershed_flooding_SOURCES = mln_morpho_watershed_flooding.cc
+mln_morpho_watershed_all_SOURCES = mln_morpho_watershed_all.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_attribute_all_SOURCES = mln_morpho_attribute_all.cc
+mln_morpho_attribute_volume_SOURCES = mln_morpho_attribute_volume.cc
+mln_morpho_attribute_sum_SOURCES = mln_morpho_attribute_sum.cc
+mln_morpho_attribute_card_SOURCES = mln_morpho_attribute_card.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_norm_all_SOURCES = mln_norm_all.cc
-mln_norm_essential_SOURCES = mln_norm_essential.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_opt_at_SOURCES = mln_opt_at.cc
-mln_opt_element_SOURCES = mln_opt_element.cc
-mln_opt_value_SOURCES = mln_opt_value.cc
-mln_pw_all_SOURCES = mln_pw_all.cc
-mln_pw_cst_SOURCES = mln_pw_cst.cc
-mln_pw_essential_SOURCES = mln_pw_essential.cc
-mln_pw_image_SOURCES = mln_pw_image.cc
-mln_pw_value_SOURCES = mln_pw_value.cc
-mln_pw_var_SOURCES = mln_pw_var.cc
-mln_registration_all_SOURCES = mln_registration_all.cc
-mln_registration_essential_SOURCES = mln_registration_essential.cc
-mln_registration_get_rot_SOURCES = mln_registration_get_rot.cc
-mln_registration_get_rtransf_SOURCES = mln_registration_get_rtransf.cc
-mln_registration_icp_SOURCES = mln_registration_icp.cc
-mln_registration_icp2_SOURCES = mln_registration_icp2.cc
-mln_registration_internal_rms_SOURCES = mln_registration_internal_rms.cc
-mln_registration_multiscale_SOURCES = mln_registration_multiscale.cc
-mln_registration_registration_SOURCES = mln_registration_registration.cc
-mln_set_all_SOURCES = mln_set_all.cc
-mln_set_card_SOURCES = mln_set_card.cc
-mln_set_compute_SOURCES = mln_set_compute.cc
-mln_set_diff_SOURCES = mln_set_diff.cc
-mln_set_essential_SOURCES = mln_set_essential.cc
-mln_set_get_SOURCES = mln_set_get.cc
-mln_set_has_SOURCES = mln_set_has.cc
-mln_set_inter_SOURCES = mln_set_inter.cc
-mln_set_sym_diff_SOURCES = mln_set_sym_diff.cc
-mln_set_uni_SOURCES = mln_set_uni.cc
-mln_set_unique_SOURCES = mln_set_unique.cc
-mln_subsampling_all_SOURCES = mln_subsampling_all.cc
-mln_subsampling_essential_SOURCES = mln_subsampling_essential.cc
-mln_subsampling_gaussian_subsampling_SOURCES = mln_subsampling_gaussian_subsampling.cc
-mln_subsampling_subsampling_SOURCES = mln_subsampling_subsampling.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_test_all_SOURCES = mln_test_all.cc
-mln_test_essential_SOURCES = mln_test_essential.cc
-mln_test_positive_SOURCES = mln_test_positive.cc
-mln_test_predicate_SOURCES = mln_test_predicate.cc
-mln_topo_adj_higher_dim_connected_n_face_iter_SOURCES = mln_topo_adj_higher_dim_connected_n_face_iter.cc
-mln_topo_adj_higher_face_iter_SOURCES = mln_topo_adj_higher_face_iter.cc
-mln_topo_adj_lower_dim_connected_n_face_iter_SOURCES = mln_topo_adj_lower_dim_connected_n_face_iter.cc
-mln_topo_adj_lower_face_iter_SOURCES = mln_topo_adj_lower_face_iter.cc
-mln_topo_adj_lower_higher_face_iter_SOURCES = mln_topo_adj_lower_higher_face_iter.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_all_SOURCES = mln_topo_all.cc
-mln_topo_attic_faces_iter_SOURCES = mln_topo_attic_faces_iter.cc
-mln_topo_center_only_iter_SOURCES = mln_topo_center_only_iter.cc
-mln_topo_centered_iter_adapter_SOURCES = mln_topo_centered_iter_adapter.cc
-mln_topo_complex_SOURCES = mln_topo_complex.cc
-mln_topo_complex_iterators_SOURCES = mln_topo_complex_iterators.cc
-mln_topo_essential_SOURCES = mln_topo_essential.cc
-mln_topo_face_SOURCES = mln_topo_face.cc
-mln_topo_face_data_SOURCES = mln_topo_face_data.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_closing_sum_SOURCES = mln_morpho_closing_sum.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_internal_complex_set_iterator_base_SOURCES = mln_topo_internal_complex_set_iterator_base.cc
-mln_topo_is_simple_2d_SOURCES = mln_topo_is_simple_2d.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_n_face_iter_SOURCES = mln_topo_n_face_iter.cc
-mln_topo_n_faces_set_SOURCES = mln_topo_n_faces_set.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_trace_all_SOURCES = mln_trace_all.cc
-mln_trace_entering_SOURCES = mln_trace_entering.cc
-mln_trace_essential_SOURCES = mln_trace_essential.cc
-mln_trace_exiting_SOURCES = mln_trace_exiting.cc
-mln_trace_quiet_SOURCES = mln_trace_quiet.cc
-mln_trace_resume_SOURCES = mln_trace_resume.cc
-mln_trace_stop_SOURCES = mln_trace_stop.cc
-mln_trace_warning_SOURCES = mln_trace_warning.cc
-mln_trait_all_SOURCES = mln_trait_all.cc
-mln_trait_ch_function_value_SOURCES = mln_trait_ch_function_value.cc
-mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
-mln_trait_concrete_SOURCES = mln_trait_concrete.cc
-mln_trait_essential_SOURCES = mln_trait_essential.cc
-mln_trait_image_print_SOURCES = mln_trait_image_print.cc
-mln_trait_image_props_SOURCES = mln_trait_image_props.cc
-mln_trait_image_from_grid_SOURCES = mln_trait_image_from_grid.cc
-mln_trait_images_SOURCES = mln_trait_images.cc
-mln_trait_neighborhood_SOURCES = mln_trait_neighborhood.cc
-mln_trait_op_all_SOURCES = mln_trait_op_all.cc
-mln_trait_op_and_SOURCES = mln_trait_op_and.cc
-mln_trait_op_decl_SOURCES = mln_trait_op_decl.cc
-mln_trait_op_div_SOURCES = mln_trait_op_div.cc
-mln_trait_op_eq_SOURCES = mln_trait_op_eq.cc
-mln_trait_op_essential_SOURCES = mln_trait_op_essential.cc
-mln_trait_op_geq_SOURCES = mln_trait_op_geq.cc
-mln_trait_op_greater_SOURCES = mln_trait_op_greater.cc
-mln_trait_op_leq_SOURCES = mln_trait_op_leq.cc
-mln_trait_op_less_SOURCES = mln_trait_op_less.cc
-mln_trait_op_lor_SOURCES = mln_trait_op_lor.cc
-mln_trait_op_minus_SOURCES = mln_trait_op_minus.cc
-mln_trait_op_mod_SOURCES = mln_trait_op_mod.cc
-mln_trait_op_neq_SOURCES = mln_trait_op_neq.cc
-mln_trait_op_not_SOURCES = mln_trait_op_not.cc
-mln_trait_op_or_SOURCES = mln_trait_op_or.cc
-mln_trait_op_ord_SOURCES = mln_trait_op_ord.cc
-mln_trait_op_plus_SOURCES = mln_trait_op_plus.cc
-mln_trait_op_postdec_SOURCES = mln_trait_op_postdec.cc
-mln_trait_op_postinc_SOURCES = mln_trait_op_postinc.cc
-mln_trait_op_predec_SOURCES = mln_trait_op_predec.cc
-mln_trait_op_preinc_SOURCES = mln_trait_op_preinc.cc
-mln_trait_op_times_SOURCES = mln_trait_op_times.cc
-mln_trait_op_uminus_SOURCES = mln_trait_op_uminus.cc
-mln_trait_op_uplus_SOURCES = mln_trait_op_uplus.cc
-mln_trait_op_xor_SOURCES = mln_trait_op_xor.cc
-mln_trait_promote_SOURCES = mln_trait_promote.cc
-mln_trait_site_set_print_SOURCES = mln_trait_site_set_print.cc
-mln_trait_site_set_props_SOURCES = mln_trait_site_set_props.cc
-mln_trait_site_sets_SOURCES = mln_trait_site_sets.cc
-mln_trait_solve_SOURCES = mln_trait_solve.cc
-mln_trait_solve_binary_SOURCES = mln_trait_solve_binary.cc
-mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
-mln_trait_undef_SOURCES = mln_trait_undef.cc
-mln_trait_value_all_SOURCES = mln_trait_value_all.cc
-mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
-mln_trait_value_kind_SOURCES = mln_trait_value_kind.cc
-mln_trait_value_nature_SOURCES = mln_trait_value_nature.cc
-mln_trait_value_print_SOURCES = mln_trait_value_print.cc
-mln_trait_value_quant_SOURCES = mln_trait_value_quant.cc
-mln_trait_value__SOURCES = mln_trait_value_.cc
-mln_trait_window_print_SOURCES = mln_trait_window_print.cc
-mln_trait_window_props_SOURCES = mln_trait_window_props.cc
-mln_trait_windows_SOURCES = mln_trait_windows.cc
-mln_transform_all_SOURCES = mln_transform_all.cc
-mln_transform_distance_front_SOURCES = mln_transform_distance_front.cc
-mln_transform_distance_geodesic_SOURCES = mln_transform_distance_geodesic.cc
-mln_transform_essential_SOURCES = mln_transform_essential.cc
-mln_transform_influence_zone_front_SOURCES = mln_transform_influence_zone_front.cc
-mln_transform_influence_zone_geodesic_SOURCES = mln_transform_influence_zone_geodesic.cc
-mln_transform_internal_all_SOURCES = mln_transform_internal_all.cc
-mln_transform_internal_closest_point_functor_SOURCES = mln_transform_internal_closest_point_functor.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_util_all_SOURCES = mln_util_all.cc
-mln_util_array_SOURCES = mln_util_array.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_dindex_SOURCES = mln_util_dindex.cc
-mln_util_eat_SOURCES = mln_util_eat.cc
-mln_util_edge_SOURCES = mln_util_edge.cc
-mln_util_essential_SOURCES = mln_util_essential.cc
-mln_util_fibonacci_heap_SOURCES = mln_util_fibonacci_heap.cc
-mln_util_graph_SOURCES = mln_util_graph.cc
-mln_util_greater_point_SOURCES = mln_util_greater_point.cc
-mln_util_greater_psite_SOURCES = mln_util_greater_psite.cc
-mln_util_ignore_SOURCES = mln_util_ignore.cc
-mln_util_index_SOURCES = mln_util_index.cc
-mln_util_internal_boost_graph_SOURCES = mln_util_internal_boost_graph.cc
-mln_util_internal_boost_graph_access_SOURCES = mln_util_internal_boost_graph_access.cc
-mln_util_internal_boost_graph_property_SOURCES = mln_util_internal_boost_graph_property.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_graph_iter_SOURCES = mln_util_internal_graph_iter.cc
-mln_util_internal_graph_iter_base_SOURCES = mln_util_internal_graph_iter_base.cc
-mln_util_internal_graph_nbh_iter_SOURCES = mln_util_internal_graph_nbh_iter.cc
-mln_util_internal_graph_nbh_iter_base_SOURCES = mln_util_internal_graph_nbh_iter_base.cc
-mln_util_internal_vertex_impl_SOURCES = mln_util_internal_vertex_impl.cc
-mln_util_lazy_set_SOURCES = mln_util_lazy_set.cc
-mln_util_lemmings_SOURCES = mln_util_lemmings.cc
-mln_util_line_graph_SOURCES = mln_util_line_graph.cc
-mln_util_max_SOURCES = mln_util_max.cc
-mln_util_multi_site_SOURCES = mln_util_multi_site.cc
-mln_util_nil_SOURCES = mln_util_nil.cc
-mln_util_ord_SOURCES = mln_util_ord.cc
-mln_util_ord_pair_SOURCES = mln_util_ord_pair.cc
-mln_util_pix_SOURCES = mln_util_pix.cc
-mln_util_set_SOURCES = mln_util_set.cc
-mln_util_site_pair_SOURCES = mln_util_site_pair.cc
-mln_util_soft_heap_SOURCES = mln_util_soft_heap.cc
-mln_util_timer_SOURCES = mln_util_timer.cc
-mln_util_tracked_ptr_SOURCES = mln_util_tracked_ptr.cc
-mln_util_tree_SOURCES = mln_util_tree.cc
-mln_util_tree_fast_SOURCES = mln_util_tree_fast.cc
-mln_util_tree_fast_to_image_SOURCES = mln_util_tree_fast_to_image.cc
-mln_util_tree_to_fast_SOURCES = mln_util_tree_to_fast.cc
-mln_util_tree_to_image_SOURCES = mln_util_tree_to_image.cc
-mln_util_vertex_SOURCES = mln_util_vertex.cc
-mln_util_yes_SOURCES = mln_util_yes.cc
-mln_value_aliases_SOURCES = mln_value_aliases.cc
-mln_value_all_SOURCES = mln_value_all.cc
-mln_value_builtin_all_SOURCES = mln_value_builtin_all.cc
-mln_value_builtin_essential_SOURCES = mln_value_builtin_essential.cc
-mln_value_builtin_floatings_SOURCES = mln_value_builtin_floatings.cc
-mln_value_builtin_integers_SOURCES = mln_value_builtin_integers.cc
-mln_value_builtin_ops_SOURCES = mln_value_builtin_ops.cc
-mln_value_builtin_promotions_SOURCES = mln_value_builtin_promotions.cc
-mln_value_builtin_symbolics_SOURCES = mln_value_builtin_symbolics.cc
-mln_value_cast_SOURCES = mln_value_cast.cc
-mln_value_concept_all_SOURCES = mln_value_concept_all.cc
-mln_value_concept_built_in_SOURCES = mln_value_concept_built_in.cc
-mln_value_concept_data_SOURCES = mln_value_concept_data.cc
-mln_value_concept_essential_SOURCES = mln_value_concept_essential.cc
-mln_value_concept_floating_SOURCES = mln_value_concept_floating.cc
-mln_value_concept_integer_SOURCES = mln_value_concept_integer.cc
-mln_value_concept_scalar_SOURCES = mln_value_concept_scalar.cc
-mln_value_concept_structured_SOURCES = mln_value_concept_structured.cc
-mln_value_concept_symbolic_SOURCES = mln_value_concept_symbolic.cc
-mln_value_concept_vectorial_SOURCES = mln_value_concept_vectorial.cc
-mln_value_equiv_SOURCES = mln_value_equiv.cc
-mln_value_essential_SOURCES = mln_value_essential.cc
-mln_value_float01_SOURCES = mln_value_float01.cc
-mln_value_float01__SOURCES = mln_value_float01_.cc
-mln_value_float01_16_SOURCES = mln_value_float01_16.cc
-mln_value_float01_8_SOURCES = mln_value_float01_8.cc
-mln_value_float01_f_SOURCES = mln_value_float01_f.cc
-mln_value_gl16_SOURCES = mln_value_gl16.cc
-mln_value_gl8_SOURCES = mln_value_gl8.cc
-mln_value_glf_SOURCES = mln_value_glf.cc
-mln_value_graylevel_SOURCES = mln_value_graylevel.cc
-mln_value_graylevel_f_SOURCES = mln_value_graylevel_f.cc
-mln_value_hsi_SOURCES = mln_value_hsi.cc
-mln_value_hsl_SOURCES = mln_value_hsl.cc
-mln_value_int_s_SOURCES = mln_value_int_s.cc
-mln_value_int_s16_SOURCES = mln_value_int_s16.cc
-mln_value_int_s32_SOURCES = mln_value_int_s32.cc
-mln_value_int_s8_SOURCES = mln_value_int_s8.cc
-mln_value_int_u_SOURCES = mln_value_int_u.cc
-mln_value_int_u16_SOURCES = mln_value_int_u16.cc
-mln_value_int_u32_SOURCES = mln_value_int_u32.cc
-mln_value_int_u8_SOURCES = mln_value_int_u8.cc
-mln_value_int_u_sat_SOURCES = mln_value_int_u_sat.cc
-mln_value_internal_all_SOURCES = mln_value_internal_all.cc
-mln_value_internal_convert_SOURCES = mln_value_internal_convert.cc
-mln_value_internal_encoding_SOURCES = mln_value_internal_encoding.cc
-mln_value_internal_essential_SOURCES = mln_value_internal_essential.cc
-mln_value_internal_gray__SOURCES = mln_value_internal_gray_.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_iterable_set_SOURCES = mln_value_internal_iterable_set.cc
-mln_value_internal_limits_SOURCES = mln_value_internal_limits.cc
-mln_value_internal_value_like_SOURCES = mln_value_internal_value_like.cc
-mln_value_interval_SOURCES = mln_value_interval.cc
-mln_value_label_SOURCES = mln_value_label.cc
-mln_value_label_16_SOURCES = mln_value_label_16.cc
-mln_value_label_8_SOURCES = mln_value_label_8.cc
-mln_value_lut_vec_SOURCES = mln_value_lut_vec.cc
-mln_value_mixin_SOURCES = mln_value_mixin.cc
-mln_value_ops_SOURCES = mln_value_ops.cc
-mln_value_other_SOURCES = mln_value_other.cc
-mln_value_proxy_SOURCES = mln_value_proxy.cc
-mln_value_rgb_SOURCES = mln_value_rgb.cc
-mln_value_rgb16_SOURCES = mln_value_rgb16.cc
-mln_value_rgb8_SOURCES = mln_value_rgb8.cc
-mln_value_scalar_SOURCES = mln_value_scalar.cc
-mln_value_set_SOURCES = mln_value_set.cc
-mln_value_shell_SOURCES = mln_value_shell.cc
-mln_value_sign_SOURCES = mln_value_sign.cc
-mln_value_stack_SOURCES = mln_value_stack.cc
-mln_value_super_value_SOURCES = mln_value_super_value.cc
-mln_value_viter_SOURCES = mln_value_viter.cc
-mln_win_all_SOURCES = mln_win_all.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_2d_SOURCES = mln_essential_2d.cc
+mln_win_inter_SOURCES = mln_win_inter.cc
mln_win_backdiag2d_SOURCES = mln_win_backdiag2d.cc
-mln_win_cube3d_SOURCES = mln_win_cube3d.cc
+mln_win_segment1d_SOURCES = mln_win_segment1d.cc
mln_win_cuboid3d_SOURCES = mln_win_cuboid3d.cc
-mln_win_diag2d_SOURCES = mln_win_diag2d.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_ball3d_SOURCES = mln_win_ball3d.cc
mln_win_disk2d_SOURCES = mln_win_disk2d.cc
-mln_win_essential_SOURCES = mln_win_essential.cc
+mln_win_rectangle2d_SOURCES = mln_win_rectangle2d.cc
mln_win_hline2d_SOURCES = mln_win_hline2d.cc
-mln_win_inter_SOURCES = mln_win_inter.cc
mln_win_line_SOURCES = mln_win_line.cc
-mln_win_multiple_SOURCES = mln_win_multiple.cc
-mln_win_multiple_size_SOURCES = mln_win_multiple_size.cc
-mln_win_octagon2d_SOURCES = mln_win_octagon2d.cc
-mln_win_rectangle2d_SOURCES = mln_win_rectangle2d.cc
-mln_win_segment1d_SOURCES = mln_win_segment1d.cc
-mln_win_shift_SOURCES = mln_win_shift.cc
-mln_win_sym_SOURCES = mln_win_sym.cc
-mln_win_vline2d_SOURCES = mln_win_vline2d.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_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_edges_psite_SOURCES = mln_core_site_set_p_edges_psite.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_p_line2d_SOURCES = mln_core_site_set_p_line2d.cc
+mln_core_site_set_p_queue_fast_SOURCES = mln_core_site_set_p_queue_fast.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_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_duplicate_SOURCES = mln_core_routine_duplicate.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_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_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_vec2d_SOURCES = mln_core_alias_vec2d.cc
+mln_core_alias_all_SOURCES = mln_core_alias_all.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_vec3d_SOURCES = mln_core_alias_vec3d.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_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_box_SOURCES = mln_core_concept_box.cc
+mln_core_concept_generalized_pixel_SOURCES = mln_core_concept_generalized_pixel.cc
+mln_core_concept_graph_SOURCES = mln_core_concept_graph.cc
+mln_core_concept_iterator_SOURCES = mln_core_concept_iterator.cc
+mln_core_concept_pseudo_site_SOURCES = mln_core_concept_pseudo_site.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_meta_fun_SOURCES = mln_core_concept_meta_fun.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_browsing_SOURCES = mln_core_concept_browsing.cc
+mln_core_pixel_SOURCES = mln_core_pixel.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_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_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_t_image_SOURCES = mln_core_image_t_image.cc
+mln_core_image_hexa_piter_SOURCES = mln_core_image_hexa_piter.cc
+mln_core_image_value_enc_image_SOURCES = mln_core_image_value_enc_image.cc
+mln_core_image_fun_image_SOURCES = mln_core_image_fun_image.cc
+mln_core_image_graph_elt_neighborhood_SOURCES = mln_core_image_graph_elt_neighborhood.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_complex_image_SOURCES = mln_core_image_complex_image.cc
+mln_core_image_cast_image_SOURCES = mln_core_image_cast_image.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_line_graph_elt_window_SOURCES = mln_core_image_line_graph_elt_window.cc
+mln_core_image_mono_rle_encode_SOURCES = mln_core_image_mono_rle_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_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_line_graph_elt_neighborhood_SOURCES = mln_core_image_line_graph_elt_neighborhood.cc
+mln_core_image_extended_SOURCES = mln_core_image_extended.cc
+mln_core_image_p2p_image_SOURCES = mln_core_image_p2p_image.cc
+mln_core_image_slice_image_SOURCES = mln_core_image_slice_image.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_image_violent_cast_image_SOURCES = mln_core_image_violent_cast_image.cc
+mln_core_image_mono_obased_rle_encode_SOURCES = mln_core_image_mono_obased_rle_encode.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_mean_values_SOURCES = mln_labeling_mean_values.cc
+mln_labeling_blobs_SOURCES = mln_labeling_blobs.cc
+mln_labeling_background_SOURCES = mln_labeling_background.cc
+mln_labeling_n_max_SOURCES = mln_labeling_n_max.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_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_labeling_fill_holes_SOURCES = mln_labeling_fill_holes.cc
+mln_test_predicate_SOURCES = mln_test_predicate.cc
+mln_test_all_SOURCES = mln_test_all.cc
+mln_test_positive_SOURCES = mln_test_positive.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_closest_point_functor_SOURCES = mln_transform_internal_closest_point_functor.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_closest_point_geodesic_SOURCES = mln_transform_closest_point_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_cloud_load_SOURCES = mln_io_cloud_load.cc
+mln_io_cloud_all_SOURCES = mln_io_cloud_all.cc
+mln_io_cloud_save_SOURCES = mln_io_cloud_save.cc
+mln_io_all_SOURCES = mln_io_all.cc
+mln_io_dump_load_SOURCES = mln_io_dump_load.cc
+mln_io_dump_all_SOURCES = mln_io_dump_all.cc
+mln_io_dump_save_SOURCES = mln_io_dump_save.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_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_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_all_SOURCES = mln_debug_all.cc
+mln_debug_println_with_border_SOURCES = mln_debug_println_with_border.cc
+mln_debug_colorize_SOURCES = mln_debug_colorize.cc
+mln_debug_slices_2d_SOURCES = mln_debug_slices_2d.cc
+mln_debug_draw_graph_SOURCES = mln_debug_draw_graph.cc
+mln_debug_put_word_SOURCES = mln_debug_put_word.cc
+mln_debug_histo_SOURCES = mln_debug_histo.cc
+mln_debug_quiet_SOURCES = mln_debug_quiet.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_unique_SOURCES = mln_set_unique.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_card_SOURCES = mln_set_card.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_all_SOURCES = mln_subsampling_all.cc
+mln_subsampling_subsampling_SOURCES = mln_subsampling_subsampling.cc
+mln_subsampling_essential_SOURCES = mln_subsampling_essential.cc
--
1.5.6.5
1
0
* doc/Doxyfile.in,
* doc/doc.mk,
* doc/tutorial/tools/split_sample.sh,
* doc/tutorial/tutorial.tex: fix typo.
* doc/tutorial/Makefile.am: use $(srcdir) instead of $(top_srcdir).
* doc/tutorial/examples/examples.mk,
* doc/tutorial/figures/figures.mk,
* doc/tutorial/outputs/outputs.mk,
* doc/tutorial/samples/samples.mk: update.
* doc/tutorial/figures/tuto2_first_image-1.pbm: new figure.
* doc/tutorial/samples/ima2d-3.cc: fix missing include.
---
milena/ChangeLog | 20 +++++
milena/doc/Doxyfile.in | 2 +-
milena/doc/doc.mk | 2 +-
milena/doc/tutorial/Makefile.am | 22 +++---
milena/doc/tutorial/examples/examples.mk | 38 +++++-----
milena/doc/tutorial/figures/figures.mk | 45 ++++++------
.../doc/tutorial/figures/tuto2_first_image-1.pbm | 5 +
milena/doc/tutorial/outputs/outputs.mk | 74 +++++++++---------
milena/doc/tutorial/samples/ima2d-3.cc | 1 +
milena/doc/tutorial/samples/samples.mk | 78 ++++++++++----------
milena/doc/tutorial/tools/split_sample.sh | 2 +-
milena/doc/tutorial/tutorial.tex | 2 +-
12 files changed, 159 insertions(+), 132 deletions(-)
create mode 100644 milena/doc/tutorial/figures/tuto2_first_image-1.pbm
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 1f48bac..fca5a56 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,23 @@
+2009-02-20 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix doc generation.
+
+ * doc/Doxyfile.in,
+ * doc/doc.mk,
+ * doc/tutorial/tools/split_sample.sh,
+ * doc/tutorial/tutorial.tex: fix typo.
+
+ * doc/tutorial/Makefile.am: use $(srcdir) instead of $(top_srcdir).
+
+ * doc/tutorial/examples/examples.mk,
+ * doc/tutorial/figures/figures.mk,
+ * doc/tutorial/outputs/outputs.mk,
+ * doc/tutorial/samples/samples.mk: update.
+
+ * doc/tutorial/figures/tuto2_first_image-1.pbm: new figure.
+
+ * doc/tutorial/samples/ima2d-3.cc: fix missing include.
+
2009-02-19 Guillaume Lazzara <z(a)lrde.epita.fr>
Give access to the underlying transformation in fun::x2x:composed.
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 448bc3d..cda47dc 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -92,7 +92,7 @@ EXCLUDE_SYMBOLS =
EXAMPLE_PATH = @top_srcdir@/milena/doc/tutorial/samples \
@top_builddir@/milena/doc/tutorial/samples \
@top_builddir@/milena/doc/tutorial/outputs \
- @top_builddir@/milena/doc/tutorial/outputs/split \
+ @top_builddir@/milena/doc/tutorial/outputs/splitted \
@top_srcdir@/milena/doc/tutorial/outputs
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
diff --git a/milena/doc/doc.mk b/milena/doc/doc.mk
index 50aaefc..b41750d 100644
--- a/milena/doc/doc.mk
+++ b/milena/doc/doc.mk
@@ -11,6 +11,6 @@ SAMPLES_SRCDIR = $(TUTORIAL_SRCDIR)/samples
TUTORIAL_BUILDDIR = $(top_builddir)/milena/doc/tutorial
OUTPUTS_BUILDDIR = $(TUTORIAL_BUILDDIR)/outputs
-SPLIT_OUTPUTS_BUILDDIR = $(TUTORIAL_BUILDDIR)/outputs/split
+SPLITTED_OUTPUTS_BUILDDIR = $(TUTORIAL_BUILDDIR)/outputs/splitted
FIGURES_BUILDDIR = $(TUTORIAL_BUILDDIR)/figures
SAMPLES_BUILDDIR = $(TUTORIAL_BUILDDIR)/samples
diff --git a/milena/doc/tutorial/Makefile.am b/milena/doc/tutorial/Makefile.am
index 447dcbe..ceb4534 100644
--- a/milena/doc/tutorial/Makefile.am
+++ b/milena/doc/tutorial/Makefile.am
@@ -41,24 +41,24 @@ tutorial.tex \
tutorial.pdf
.PHONY: regen-dist
-regen-dist: $(top_srcdir)/headers.stamp
+regen-dist: $(srcdir)/headers.stamp
-$(top_srcdir)/milena/doc/tutorial/examples/examples.mk: $(top_srcdir)/headers.stamp
-$(top_srcdir)/milena/doc/tutorial/figures/figures.mk: $(top_srcdir)/headers.stamp
-$(top_srcdir)/milena/doc/tutorial/outputs/outputs.mk: $(top_srcdir)/headers.stamp
-$(top_srcdir)/milena/doc/tutorial/samples/samples.mk: $(top_srcdir)/headers.stamp
+$(srcdir)/examples/examples.mk: $(srcdir)/headers.stamp
+$(srcdir)/figures/figures.mk: $(srcdir)/headers.stamp
+$(srcdir)/outputs/outputs.mk: $(srcdir)/headers.stamp
+$(srcdir)/samples/samples.mk: $(srcdir)/headers.stamp
-EXTRA_DIST += $(top_srcdir)/headers.stamp
-$(top_srcdir)/headers.stamp: $(top_srcdir)/milena/doc/tutorial/generate_dist_files.sh
+EXTRA_DIST += $(srcdir)/headers.stamp
+$(srcdir)/headers.stamp: $(srcdir)/generate_dist_files.sh
@rm -f $@.tmp
@touch $@.tmp
cd $(srcdir) && ./generate_dist_files.sh
@mv -f $@.tmp $@
-include $(top_srcdir)/milena/doc/tutorial/examples/examples.mk
-include $(top_srcdir)/milena/doc/tutorial/figures/figures.mk
-include $(top_srcdir)/milena/doc/tutorial/outputs/outputs.mk
-include $(top_srcdir)/milena/doc/tutorial/samples/samples.mk
+include $(srcdir)/examples/examples.mk
+include $(srcdir)/figures/figures.mk
+include $(srcdir)/outputs/outputs.mk
+include $(srcdir)/samples/samples.mk
EXTRA_DIST += \
tools/sample_utils.hh \
diff --git a/milena/doc/tutorial/examples/examples.mk b/milena/doc/tutorial/examples/examples.mk
index b6704dc..1ff49cc 100644
--- a/milena/doc/tutorial/examples/examples.mk
+++ b/milena/doc/tutorial/examples/examples.mk
@@ -1,29 +1,29 @@
## Generated by ../generate_dist_files, do not modify.
EXTRA_DIST += \
-examples/accu.cc \
-examples/box.cc \
examples/cpp_issue.cc \
-examples/examples.mk \
-examples/for_Z.cc \
+examples/sub_image.cc \
+examples/sub_image_if.cc \
+examples/p_vaccess.cc \
+examples/win_multiple.cc \
examples/image2d.cc \
-examples/image_flat.cc \
-examples/image_if.cc \
examples/image_plain.cc \
-examples/image_safe.cc \
+examples/p_run.cc \
+examples/proxy.cc \
examples/p_array.2.cc \
-examples/p_array.cc \
-examples/p_image.cc \
-examples/p_key.2.cc \
+examples/examples.mk \
+examples/for_Z.cc \
+examples/image_if.cc \
examples/p_key.cc \
-examples/p_line2d.cc \
examples/p_mutable_array_of.cc \
examples/p_queue.cc \
-examples/p_run.cc \
-examples/p_vaccess.cc \
-examples/proxy.cc \
-examples/sub_image.cc \
-examples/sub_image_if.cc \
-examples/vec.cc \
-examples/win_multiple.cc \
-examples/window.cc
+examples/image_flat.cc \
+examples/p_image.cc \
+examples/box.cc \
+examples/p_line2d.cc \
+examples/p_array.cc \
+examples/accu.cc \
+examples/p_key.2.cc \
+examples/window.cc \
+examples/image_safe.cc \
+examples/vec.cc
diff --git a/milena/doc/tutorial/figures/figures.mk b/milena/doc/tutorial/figures/figures.mk
index 39793cc..400b2ff 100644
--- a/milena/doc/tutorial/figures/figures.mk
+++ b/milena/doc/tutorial/figures/figures.mk
@@ -1,32 +1,33 @@
## Generated by ../generate_dist_files, do not modify.
EXTRA_DIST += \
-figures/figures.mk \
-figures/fill-subdomain-1.pbm \
-figures/fill-subdomain-2.ppm \
-figures/fill-subdomain-3.ppm \
-figures/fill-subdomain-4.ppm \
-figures/fill-subimage-cfun-1.ppm \
-figures/ima2d-rot-1.ppm \
figures/ima2d-rot-2.ppm \
-figures/ima_save.pbm \
-figures/labeling-compute-1.pbm \
+figures/tuto3_rw_image-1.ppm \
+figures/logical-not-2.pbm \
+figures/fill-subdomain-2.ppm \
+figures/tuto4_genericity_and_algorithms-9.pgm \
figures/labeling-compute-2.ppm \
+figures/tuto4_genericity_and_algorithms-7.pgm \
+figures/tuto4_genericity_and_algorithms-5.ppm \
+figures/ima2d-rot-1.ppm \
+figures/fill-subdomain-3.ppm \
+figures/tuto4_genericity_and_algorithms-9.ppm \
figures/logical-not-1.pbm \
-figures/logical-not-2.pbm \
+figures/ima_save.pbm \
+figures/tuto2_first_image-1.pbm \
+figures/figures.mk \
+figures/fill-subimage-cfun-1.ppm \
+figures/fill-subdomain-4.ppm \
+figures/tuto4_genericity_and_algorithms-7.ppm \
+figures/tuto4_genericity_and_algorithms-6.ppm \
figures/logical-not-3.pbm \
-figures/tuto3_rw_image-1.ppm \
-figures/tuto3_rw_image-2.ppm \
-figures/tuto3_rw_image-3.ppm \
-figures/tuto4_genericity_and_algorithms-1.ppm \
-figures/tuto4_genericity_and_algorithms-2.ppm \
figures/tuto4_genericity_and_algorithms-3.pbm \
+figures/tuto4_genericity_and_algorithms-1.ppm \
+figures/tuto4_genericity_and_algorithms-8.ppm \
+figures/labeling-compute-1.pbm \
+figures/tuto3_rw_image-3.ppm \
figures/tuto4_genericity_and_algorithms-4.ppm \
-figures/tuto4_genericity_and_algorithms-5.ppm \
-figures/tuto4_genericity_and_algorithms-6.ppm \
-figures/tuto4_genericity_and_algorithms-7.pgm \
-figures/tuto4_genericity_and_algorithms-7.ppm \
figures/tuto4_genericity_and_algorithms-8.pgm \
-figures/tuto4_genericity_and_algorithms-8.ppm \
-figures/tuto4_genericity_and_algorithms-9.pgm \
-figures/tuto4_genericity_and_algorithms-9.ppm
+figures/tuto4_genericity_and_algorithms-2.ppm \
+figures/fill-subdomain-1.pbm \
+figures/tuto3_rw_image-2.ppm
diff --git a/milena/doc/tutorial/figures/tuto2_first_image-1.pbm b/milena/doc/tutorial/figures/tuto2_first_image-1.pbm
new file mode 100644
index 0000000..03baef0
--- /dev/null
+++ b/milena/doc/tutorial/figures/tuto2_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/outputs.mk b/milena/doc/tutorial/outputs/outputs.mk
index cc0a31d..dfba0d6 100644
--- a/milena/doc/tutorial/outputs/outputs.mk
+++ b/milena/doc/tutorial/outputs/outputs.mk
@@ -1,54 +1,54 @@
## Generated by ../generate_dist_files, do not modify.
EXTRA_DIST += \
+outputs/win-create-1-display.txt \
+outputs/win-create-2.txt \
outputs/accu-right-instanciation.txt \
+outputs/ima2d-1.txt \
outputs/borderthickness.txt \
-outputs/box2d-bbox.txt \
-outputs/domain-display.txt \
-outputs/dpoint-1.txt \
-outputs/estim-sites.txt \
-outputs/extension-ignore.txt \
-outputs/fill-call-1.txt \
-outputs/fill-part-image.txt \
-outputs/fill-subdomain-shorter.txt \
-outputs/fill-subdomain.txt \
+outputs/ima-save.txt \
outputs/fill-subimage-cfun.txt \
-outputs/fill.txt \
+outputs/labeling-compute.txt \
+outputs/parray-display-1.txt \
+outputs/fill-subdomain-shorter.txt \
+outputs/dpoint-1.txt \
outputs/forall-piter.txt \
-outputs/fun-p2v-1.txt \
-outputs/graph-data.txt \
+outputs/predicate-1.txt \
+outputs/box2d-bbox.txt \
outputs/graph-iter.txt \
outputs/graph-output-1.txt \
-outputs/ima-has.txt \
-outputs/ima-save.txt \
+outputs/fill-call-1.txt \
+outputs/ima2d-rot.txt \
+outputs/paste-call-1.txt \
+outputs/fun-p2v-1.txt \
+outputs/estim-sites.txt \
+outputs/parray-append.txt \
+outputs/fill-subdomain.txt \
outputs/ima-size.txt \
-outputs/ima2d-1.txt \
-outputs/ima2d-2.txt \
-outputs/ima2d-3.txt \
-outputs/ima2d-4.txt \
-outputs/ima2d-5.txt \
+outputs/tuto2_first_image.txt \
+outputs/logical-not.txt \
+outputs/ima2d-display-output-2.txt \
+outputs/ima2d-decl-2.txt \
+outputs/paste.txt \
+outputs/outputs.mk \
outputs/ima2d-6-clone.txt \
outputs/ima2d-7.txt \
-outputs/ima2d-decl-2.txt \
+outputs/tuto3_rw_image.txt \
+outputs/parray-bbox.txt \
+outputs/domain-display.txt \
outputs/ima2d-display-1.txt \
+outputs/win-create-1.txt \
outputs/ima2d-display-2.txt \
outputs/ima2d-display-output-1.txt \
-outputs/ima2d-display-output-2.txt \
-outputs/ima2d-rot.txt \
-outputs/labeling-compute.txt \
-outputs/logical-not.txt \
+outputs/fill-part-image.txt \
+outputs/tuto4_genericity_and_algorithms.txt \
+outputs/ima-has.txt \
+outputs/ima2d-5.txt \
+outputs/ima2d-4.txt \
outputs/mln_var.txt \
-outputs/outputs.mk \
-outputs/parray-append.txt \
-outputs/parray-bbox.txt \
-outputs/parray-display-1.txt \
-outputs/paste-call-1.txt \
-outputs/paste.txt \
+outputs/fill.txt \
outputs/point-1.txt \
-outputs/predicate-1.txt \
-outputs/tuto2_first_image.txt \
-outputs/tuto3_rw_image.txt \
-outputs/tuto4_genericity_and_algorithms.txt \
-outputs/win-create-1-display.txt \
-outputs/win-create-1.txt \
-outputs/win-create-2.txt
+outputs/extension-ignore.txt \
+outputs/graph-data.txt \
+outputs/ima2d-2.txt \
+outputs/ima2d-3.txt
diff --git a/milena/doc/tutorial/samples/ima2d-3.cc b/milena/doc/tutorial/samples/ima2d-3.cc
index 97d1ebf..62be1ba 100644
--- a/milena/doc/tutorial/samples/ima2d-3.cc
+++ b/milena/doc/tutorial/samples/ima2d-3.cc
@@ -1,6 +1,7 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/alias/box2d.hh>
#include <mln/opt/at.hh>
+#include <mln/value/int_u8.hh>
int main()
{
diff --git a/milena/doc/tutorial/samples/samples.mk b/milena/doc/tutorial/samples/samples.mk
index ad479aa..442eec6 100644
--- a/milena/doc/tutorial/samples/samples.mk
+++ b/milena/doc/tutorial/samples/samples.mk
@@ -1,54 +1,54 @@
## Generated by ../generate_dist_files, do not modify.
EXTRA_DIST += \
-samples/accu-right-instanciation.cc \
-samples/accu-wrong-instanciation.cc.raw \
-samples/borderthickness.cc \
-samples/box2d-bbox.cc \
-samples/domain-display.cc \
+samples/paste-call-1.cc \
samples/dpoint-1.cc \
-samples/estim-sites.cc \
-samples/extension-ignore.cc \
-samples/fill-call-1.cc \
-samples/fill-part-image.cc \
+samples/parray-append.cc \
samples/fill-proto.cc.raw \
-samples/fill-subdomain-shorter.cc \
-samples/fill-subdomain.cc \
-samples/fill-subimage-cfun.cc \
-samples/fill.cc \
-samples/forall-piter.cc \
-samples/fun-p2v-1.cc \
-samples/graph-data.cc \
+samples/ima2d-restricted-1.cc.raw \
samples/graph-iter.cc \
-samples/ima-has.cc \
-samples/ima-load.cc \
+samples/labeling-compute.cc \
+samples/ima2d-7.cc \
+samples/ima2d-restricted-2.cc.raw \
+samples/fill-subimage-cfun.cc \
samples/ima-save.cc \
+samples/point-1.cc \
+samples/box2d-bbox.cc \
+samples/forall-piter.cc \
samples/ima-size.cc \
-samples/ima2d-1.cc \
-samples/ima2d-2.cc \
-samples/ima2d-3.cc \
-samples/ima2d-4.cc \
+samples/borderthickness.cc \
+samples/Makefile.in \
+samples/ima-load.cc \
+samples/ima-has.cc \
+samples/win-create-1.cc \
+samples/samples.mk \
+samples/accu-wrong-instanciation.cc.raw \
+samples/accu-right-instanciation.cc \
samples/ima2d-5.cc \
-samples/ima2d-6-clone.cc \
-samples/ima2d-7.cc \
-samples/ima2d-restricted-1.cc.raw \
-samples/ima2d-restricted-2.cc.raw \
-samples/ima2d-restricted-3.cc.raw \
-samples/ima2d-rot.cc \
-samples/labeling-compute.cc \
-samples/logical-not.cc \
+samples/fill-subdomain.cc \
+samples/fill-subdomain-shorter.cc \
+samples/tuto3_rw_image.cc \
+samples/ima2d-2.cc \
+samples/extension-ignore.cc \
samples/Makefile.am \
-samples/Makefile.in \
-samples/mln_var.cc \
-samples/parray-append.cc \
samples/parray-bbox.cc \
-samples/paste-call-1.cc \
-samples/paste.cc \
-samples/point-1.cc \
+samples/graph-data.cc \
+samples/mln_var.cc \
+samples/ima2d-4.cc \
samples/predicate-1.cc \
-samples/samples.mk \
+samples/ima2d-3.cc \
samples/tuto2_first_image.cc \
-samples/tuto3_rw_image.cc \
+samples/ima2d-1.cc \
+samples/estim-sites.cc \
+samples/ima2d-6-clone.cc \
+samples/ima2d-restricted-3.cc.raw \
+samples/logical-not.cc \
+samples/fun-p2v-1.cc \
+samples/ima2d-rot.cc \
+samples/fill-part-image.cc \
+samples/domain-display.cc \
samples/tuto4_genericity_and_algorithms.cc \
-samples/win-create-1.cc \
+samples/paste.cc \
+samples/fill.cc \
+samples/fill-call-1.cc \
samples/win-create-2.cc
diff --git a/milena/doc/tutorial/tools/split_sample.sh b/milena/doc/tutorial/tools/split_sample.sh
index 1a4d434..5c508fb 100755
--- a/milena/doc/tutorial/tools/split_sample.sh
+++ b/milena/doc/tutorial/tools/split_sample.sh
@@ -18,5 +18,5 @@ for begin in $begins; do
done
if [ $split ] && [ $i -gt 1 ]; then
- echo "* $1 has been split in $i files."
+ echo "* $1 has been splitted in $i files."
fi
diff --git a/milena/doc/tutorial/tutorial.tex b/milena/doc/tutorial/tutorial.tex
index 6dd2d0c..f610437 100644
--- a/milena/doc/tutorial/tutorial.tex
+++ b/milena/doc/tutorial/tutorial.tex
@@ -153,7 +153,7 @@ $$
\renewcommand{\doxycode}[2][1]{\lstinputlisting[frame=single]{samples/#2-#1.cc}}
\renewcommand{\doxyrawcode}[1]{\lstinputlisting[frame=single]{samples/#1.cc.raw}}
\renewcommand{\doxyoutput}[1]{\lstinputlisting[frame=single]{outputs/#1.txt}}
-\renewcommand{\doxymoutput}[2][1]{\lstinputlisting[frame=single]{outputs/split/#2-#1.txt}}
+\renewcommand{\doxymoutput}[2][1]{\lstinputlisting[frame=single]{outputs/splitted/#2-#1.txt}}
\renewcommand{\doxyfigure}[3][1]{%
\pgfimage[width=#3]{figures/#2-#1}%
\label{#1}%
--
1.5.6.5
1
0
---
milena/mln/algebra/quat.hh | 25 +++++++
milena/mln/canvas/morpho/connected_filter.hh | 9 ---
milena/mln/core/concept/gpoint.hh | 2 +-
milena/mln/core/point.hh | 96 +++++++++++++-------------
milena/mln/fun/x2v/bilinear.hh | 8 +-
milena/mln/fun/x2v/trilinear.hh | 6 +-
milena/mln/fun/x2x/rotation.hh | 6 +-
milena/mln/registration/icp.hh | 42 ++++++------
8 files changed, 104 insertions(+), 90 deletions(-)
diff --git a/milena/mln/algebra/quat.hh b/milena/mln/algebra/quat.hh
index 33e7d07..8784883 100644
--- a/milena/mln/algebra/quat.hh
+++ b/milena/mln/algebra/quat.hh
@@ -162,6 +162,11 @@ namespace mln
/// Explicit conversion to a 4D algebra::vec.
const algebra::vec<4,float>& to_vec() const;
+ /// Implicit conversion to a 4D algebra::vec.
+ operator const algebra::vec<4,float>&() const;
+ operator const algebra::vec<4,float>&();
+ operator algebra::vec<4,float>() const;
+ operator algebra::vec<4,float>();
/// Give the scalar part.
float s() const;
@@ -340,6 +345,26 @@ namespace mln
}
inline
+ quat::operator const algebra::vec<4,float>&() const
+ {
+ return this->v_;
+ }
+
+ inline
+ quat::operator const algebra::vec<4,float>&()
+ {
+ return this->v_;
+ }
+
+ inline
+ quat::operator algebra::vec<4,float>()
+ {
+ return this->v_;
+ }
+
+
+
+ inline
float
quat::s() const
{
diff --git a/milena/mln/canvas/morpho/connected_filter.hh b/milena/mln/canvas/morpho/connected_filter.hh
index f6e852e..beec8e4 100644
--- a/milena/mln/canvas/morpho/connected_filter.hh
+++ b/milena/mln/canvas/morpho/connected_filter.hh
@@ -74,11 +74,8 @@ namespace mln {
void take_as_init_fastest (trait::accumulator::when_pix::use_none, A& accu,
const I& input, const unsigned p)
{
-<<<<<<< HEAD:milena/mln/canvas/morpho/connected_filter.hh
(void)input;
(void)p;
-=======
->>>>>>> Merge leveling and algebraic filters into connected filter.:milena/mln/canvas/morpho/connected_filter.hh
accu.take_as_init ();
}
@@ -86,10 +83,7 @@ namespace mln {
void take_as_init (trait::accumulator::when_pix::use_p, A& accu,
const I& input, const P& p)
{
-<<<<<<< HEAD:milena/mln/canvas/morpho/connected_filter.hh
(void)input;
-=======
->>>>>>> Merge leveling and algebraic filters into connected filter.:milena/mln/canvas/morpho/connected_filter.hh
accu.take_as_init (p);
}
@@ -97,10 +91,7 @@ namespace mln {
void take_as_init (trait::accumulator::when_pix::use_none, A& accu,
const I& input, const P& p)
{
-<<<<<<< HEAD:milena/mln/canvas/morpho/connected_filter.hh
(void)input;
-=======
->>>>>>> Merge leveling and algebraic filters into connected filter.:milena/mln/canvas/morpho/connected_filter.hh
accu.take_as_init (p);
}
diff --git a/milena/mln/core/concept/gpoint.hh b/milena/mln/core/concept/gpoint.hh
index 12f1b38..40a2420 100644
--- a/milena/mln/core/concept/gpoint.hh
+++ b/milena/mln/core/concept/gpoint.hh
@@ -281,7 +281,7 @@ namespace mln
typedef mln_grid(E) grid;
typedef mln_delta(E) delta;
typedef mln_vec(E) vec;
- const vec& (E::*m)() const = & E::to_vec;
+ vec (E::*m)() const = & E::to_vec;
m = 0;
}
diff --git a/milena/mln/core/point.hh b/milena/mln/core/point.hh
index a661fe5..1d618cc 100644
--- a/milena/mln/core/point.hh
+++ b/milena/mln/core/point.hh
@@ -61,22 +61,6 @@ namespace mln
/// \}
- namespace internal
- {
-
- // Helper point_to_.
-
- template <typename G, typename C>
- struct point_to_
- {
- typedef algebra::vec<G::dim, C> metal_vec;
- typedef mln::algebra::h_vec<G::dim, C> h_vec;
- };
-
- } // end of namespace mln::internal
-
-
-
/// Generic point class.
///
/// Parameters are \c n the dimension of the space and \c C the
@@ -108,10 +92,10 @@ namespace mln
typedef C coord;
/// Algebra vector (vec) associated type.
- typedef algebra::vec<G::dim, C> vec;
+ typedef algebra::vec<G::dim, float> vec;
/// Algebra hexagonal vector (hvec) associated type.
- typedef algebra::h_vec<G::dim, C> h_vec;
+ typedef algebra::h_vec<G::dim, float> h_vec;
/// Read-only access to the \p i-th coordinate value.
/// \param[in] i The coordinate index.
@@ -171,23 +155,17 @@ namespace mln
/// Shifting by \p the inverse of dp.
point<G,C>& operator-=(const delta& dp);
- /// Hook to coordinates.
- operator typename internal::point_to_<G, C>::metal_vec () const;
- /* FIXME: Seems highly non-generic! Moreover, causes
- overloading/duplicate errors with the previous operator when
- C == float. Disable it for the moment.
-
+ /* FIXME: Seems highly non-generic!
This (non documented change, even in ChangeLog) change was
introduce by revision 1224, see
https://trac.lrde.org/olena/changeset/1224#file2
https://www.lrde.epita.fr/pipermail/olena-patches/2007-October/001592.html
*/
-#if 0
operator algebra::vec<G::dim, float> () const;
-#endif
+ operator algebra::vec<G::dim, float> ();
/// Explicit conversion towards mln::algebra::vec.
- const vec& to_vec() const;
+ vec to_vec() const;
/// Transform to point in homogene coordinate system.
h_vec to_h_vec() const;
@@ -214,7 +192,8 @@ namespace mln
template <typename G, typename C, typename E>
struct subject_point_impl< point<G,C>, E >
{
- const typename point<G,C>::vec& to_vec() const;
+ typename point<G,C>::vec to_vec() const;
+ operator algebra::vec<G::dim, float>() const;
private:
const E& exact_() const;
@@ -281,7 +260,11 @@ namespace mln
inline
point<G,C>::point(const algebra::vec<dim,C2>& v)
{
- coord_ = v;
+ unsigned j = 0;
+ for (unsigned i = dim - 2; i < dim; ++i)
+ coord_[i] = v[j++];
+ for (unsigned i = 2; i < dim; ++i, ++j)
+ coord_[i-j] = v[j];
}
template <typename G, typename C>
@@ -406,30 +389,33 @@ namespace mln
template <typename G, typename C>
inline
- point<G,C>::operator typename internal::point_to_<G, C>::metal_vec () const
+ point<G,C>::operator algebra::vec<G::dim,float> () const
{
- return coord_; // FIXME: Is it OK?
+ return to_vec();
}
- // FIXME: See declaration of this member above.
-#if 0
template <typename G, typename C>
inline
- point<G,C>::operator algebra::vec<G::dim, float> () const
+ point<G,C>::operator algebra::vec<G::dim,float> ()
{
- algebra::vec<dim, float> tmp;
- for (unsigned int i = 0; i < dim; ++i)
- tmp[i] = coord_[i];
- return tmp;
+ return to_vec();
}
-#endif
+
template <typename G, typename C>
inline
- const typename point<G,C>::vec&
+ typename point<G,C>::vec
point<G,C>::to_vec() const
{
- return coord_;
+ algebra::vec<G::dim, float> tmp;
+
+ unsigned j = 0;
+ for (unsigned i = dim - 2; i < dim; ++i)
+ tmp[j++] = coord_[i];
+ for (unsigned i = 2; i < dim; ++i, ++j)
+ tmp[j] = coord_[i-j];
+
+ return tmp;
}
template <typename G, typename C>
@@ -437,9 +423,15 @@ namespace mln
typename point<G,C>::h_vec
point<G,C>::to_h_vec() const
{
- algebra::h_vec<G::dim, C> tmp;
- for (unsigned i = 0; i < dim; ++i)
- tmp[i] = coord_[i];
+ algebra::h_vec<G::dim, float> tmp;
+
+ unsigned j = 0;
+ for (unsigned i = dim - 2; i < dim; ++i)
+ tmp[j++] = coord_[i];
+
+ for (unsigned i = 2; i < dim; ++i, ++j)
+ tmp[j] = coord_[i-j];
+
tmp[G::dim] = 1;
return tmp;
}
@@ -476,20 +468,27 @@ namespace mln
template <typename G, typename C, typename E>
inline
- const typename point<G,C>::vec&
+ typename point<G,C>::vec
subject_point_impl< point<G,C>, E >::to_vec() const
{
return exact_().get_subject().to_vec();
}
+ template <typename G, typename C, typename E>
+ inline
+ subject_point_impl< point<G,C>, E >::operator algebra::vec<G::dim, float>() const
+ {
+ return exact_().get_subject();
+ }
+
} // end of namespace mln::internal
template <typename G, typename C>
inline
- const algebra::vec<point<G,C>::dim - 1, C>&
+ algebra::vec<point<G,C>::dim - 1, C>
cut_(const point<G,C>& p)
{
- return *(const algebra::vec<point<G,C>::dim - 1, C>*)(& p.to_vec());
+ return *(algebra::vec<point<G,C>::dim - 1, C>*)(& p.to_vec());
}
template <typename C>
@@ -502,7 +501,8 @@ namespace mln
}
# endif // ! MLN_INCLUDE_ONLY
-
+
+
} // end of namespace mln
diff --git a/milena/mln/fun/x2v/bilinear.hh b/milena/mln/fun/x2v/bilinear.hh
index e264462..1daefa8 100644
--- a/milena/mln/fun/x2v/bilinear.hh
+++ b/milena/mln/fun/x2v/bilinear.hh
@@ -79,7 +79,7 @@ namespace mln
template <typename I>
bilinear<I>::bilinear(const I& ima) : ima(ima)
{
- //mlc_bool(I::psite::dim == 2)::check();
+ mlc_or(mlc_bool(I::psite::dim == 2), mlc_bool(I::psite::dim == 3))::check();
}
template <typename I>
@@ -141,14 +141,14 @@ namespace mln
// | | |
// q11----r1----q21
- double x = v[1];
- double y = v[2];
+ double x = v[0];
+ double y = v[1];
double x1 = std::floor(x);
double x2 = std::floor(x) + 1;
double y1 = std::floor(y);
double y2 = std::floor(y) + 1;
- def::coord z = math::round<float>()(v[0]);
+ def::coord z = math::round<float>()(v[3]);
//Following access are supposed valid.
vsum q11 = ima(point3d(z, static_cast<unsigned>(x1), static_cast<unsigned>(y1)));
diff --git a/milena/mln/fun/x2v/trilinear.hh b/milena/mln/fun/x2v/trilinear.hh
index 3015502..2a1d594 100644
--- a/milena/mln/fun/x2v/trilinear.hh
+++ b/milena/mln/fun/x2v/trilinear.hh
@@ -86,9 +86,9 @@ namespace mln
{
typedef mln_sum(mln_value(I)) vsum;
- double x = v[1]; // row
- double y = v[2]; // col
- double z = v[0]; // sli
+ double x = v[0]; // row
+ double y = v[1]; // col
+ double z = v[2]; // sli
math::round<double> f;
unsigned x1 = f(std::floor(x));
diff --git a/milena/mln/fun/x2x/rotation.hh b/milena/mln/fun/x2x/rotation.hh
index 9addb50..cbe1dd2 100644
--- a/milena/mln/fun/x2x/rotation.hh
+++ b/milena/mln/fun/x2x/rotation.hh
@@ -197,10 +197,9 @@ namespace mln
inline
rotation<n,C>::rotation(const algebra::quat& q)
{
- mln_precondition(q.is_unit());
-
// FIXME: Should also work for 2d.
- mln_precondition(n == 3);
+ mlc_bool(n == 3)::check();
+ mln_precondition(q.is_unit());
float
w = q.to_vec()[0],
@@ -221,6 +220,7 @@ namespace mln
axis_[0] = x;
axis_[1] = y;
axis_[2] = z;
+ axis_.normalize();
}
diff --git a/milena/mln/registration/icp.hh b/milena/mln/registration/icp.hh
index de763ea..3fc54c0 100644
--- a/milena/mln/registration/icp.hh
+++ b/milena/mln/registration/icp.hh
@@ -229,17 +229,18 @@ namespace mln
mln_site(I) operator()(const vec3d_f& v) const
{
- vec3d_f best_x = convert::to<vec3d_f>(X_[0].to_vec());
+ vec3d_f best_x = X_[0];
float best_d = norm::l2_distance(v, best_x);
mln_piter(X_t) X_i(X_);
for_all(X_i)
{
- float d = norm::l2_distance(v, convert::to<vec3d_f>(X_i));
+ vec3d_f X_i_vec = X_i;
+ float d = norm::l2_distance(v, X_i_vec);
if (d < best_d)
{
best_d = d;
- best_x = X_i.to_vec();
+ best_x = X_i_vec;
}
}
return best_x;
@@ -266,11 +267,11 @@ namespace mln
mln_piter(p_array<P>) p(kept);
for_all(p)
- ext_result(qR.rotate(p.to_vec()) + qT) = literal::green;
+ ext_result(qR.rotate(p) + qT) = literal::green;
mln_piter(p_array<P>) p2(removed);
for_all(p2)
- ext_result(qR.rotate(p2.to_vec()) + qT) = literal::red;
+ ext_result(qR.rotate(p2) + qT) = literal::red;
io::ppm::save(slice(ext_result,0), "registered-2.ppm");
}
@@ -289,7 +290,7 @@ namespace mln
mln_piter(p_array<P>) p(P_);
for_all(p)
{
- vec3d_f Pk_i = pair.first.rotate(p.to_vec()) + pair.second;
+ vec3d_f Pk_i = pair.first.rotate(p) + pair.second;
vec3d_f Yk_i = closest_point(Pk_i).to_vec();
// yk_i - pk_i
e_k_accu.take(Yk_i - Pk_i);
@@ -317,8 +318,8 @@ namespace mln
for_all(p)
{
- vec3d_f Pk_i = pair.first.rotate(p.to_vec()) + pair.second;
- vec3d_f Yk_i = closest_point(Pk_i).to_vec();
+ vec3d_f Pk_i = pair.first.rotate(p) + pair.second;
+ vec3d_f Yk_i = closest_point(Pk_i);
int d_i = closest_point.dmap_X_(Pk_i);
if (d_i >= d_min && d_i <= d_max)
@@ -399,7 +400,7 @@ namespace mln
for_all(p)
{
vec3d_f Pk_i = pair.first.rotate(p.to_vec()) + pair.second;
- vec3d_f Yk_i = closest_point(Pk_i).to_vec();
+ vec3d_f Yk_i = closest_point(Pk_i);
int d_i = closest_point.dmap_X_(Pk_i);
if (d_i >= d_min && d_i <= d_max)
@@ -440,31 +441,27 @@ namespace mln
const std::pair<algebra::quat,mln_vec(P)>& pair,
const std::string& period, const value::rgb8& c)
{
-# ifndef NDEBUG
data::fill(out, literal::black);
data::fill((out | X).rw(), literal::white);
-# endif // !NDEBUG
mln_piter(p_array<P>) p1(P_);
for_all(p1)
{
- vec3d_f Pk_i = pair.first.rotate(p1.to_vec()) + pair.second;
+ vec3d_f Pk_i = pair.first.rotate(p1) + pair.second;
out(Pk_i) = literal::red;
}
mln_piter(p_array<P>) p2(P_sub);
for_all(p2)
{
- vec3d_f Pk_i = pair.first.rotate(p2.to_vec()) + pair.second;
+ vec3d_f Pk_i = pair.first.rotate(p2) + pair.second;
out(Pk_i) = c;
}
-# ifndef NDEBUG
std::ostringstream ss;
ss << prefix << "_" << r << "_" << period << ".ppm";
io::ppm::save(slice(out,0), ss.str());
-# endif // ! NDEBUG
}
@@ -483,8 +480,9 @@ namespace mln
for_all(p)
{
// yk_i - pk+1_i
- vec3d_f Pk_i = qR_old.rotate(p.to_vec()) + qT_old;
- vec3d_f Pk_1_i = qR.rotate(p.to_vec()) + qT;
+ vec3d_f P_i = p;
+ vec3d_f Pk_i = qR_old.rotate(P_i) + qT_old;
+ vec3d_f Pk_1_i = qR.rotate(P_i) + qT;
accu.take(closest_point(Pk_i).to_vec() - Pk_1_i);
}
return accu.to_result();
@@ -508,9 +506,9 @@ namespace mln
// FIXME: could we use an accu?
for_all(p)
{
- vec3d_f P_i = p.to_vec();
- vec3d_f Pk_i = qR.rotate(p.to_vec()) + qT;
- vec3d_f Yk_i = closest_point(Pk_i).to_vec();
+ vec3d_f P_i = p;
+ vec3d_f Pk_i = qR.rotate(P_i) + qT;
+ vec3d_f Yk_i = closest_point(Pk_i);
Spx += make::mat(P_i - mu_P) * trans(make::mat(Yk_i - mu_Yk));
}
Spx /= P_.nsites();
@@ -564,7 +562,7 @@ namespace mln
{
// yk_i - pk_i
vec3d_f Pk_i = qR.rotate(p.to_vec()) + qT;
- vec3d_f Yk_i = closest_point(Pk_i).to_vec();
+ vec3d_f Yk_i = closest_point(Pk_i);
mu_yk.take(Yk_i);
e_k_accu.take(Yk_i - Pk_i);
}
@@ -641,7 +639,7 @@ namespace mln
image3d<value::rgb8> tmp_ = duplicate(debug);
mln_piter(p_array<P>) p_dbg(P_);
for_all(p_dbg)
- tmp_(qR_old.rotate(p_dbg.to_vec()) + qT_old) = literal::green;
+ tmp_(qR_old.rotate(p_dbg) + qT_old) = literal::green;
std::ostringstream ss;
ss << "tmp_0";
if (k < 10)
--
1.5.6.5
1
0
3396: Give access to the underlying transformation in fun::x2x:composed.
by Guillaume Lazzara 20 Feb '09
by Guillaume Lazzara 20 Feb '09
20 Feb '09
* mln/fun/x2x/composed.hh: add getters and rename setters.
---
milena/ChangeLog | 6 ++++
milena/mln/fun/x2x/composed.hh | 59 ++++++++++++++++++++++++++++++++++-----
2 files changed, 57 insertions(+), 8 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index d149ee5..1f48bac 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-19 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Give access to the underlying transformation in fun::x2x:composed.
+
+ * mln/fun/x2x/composed.hh: add getters and rename setters.
+
2009-02-19 Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
Add a resolve mechanism for use in meta functions.
diff --git a/milena/mln/fun/x2x/composed.hh b/milena/mln/fun/x2x/composed.hh
index 1509f1c..0bc20b3 100644
--- a/milena/mln/fun/x2x/composed.hh
+++ b/milena/mln/fun/x2x/composed.hh
@@ -77,10 +77,15 @@ namespace mln
using super_::operator();
+ /// Set the new second transformation.
+ const T2& second() const;
+ /// Set the new first transformation.
+ const T1& first() const;
+
/// Set the new second transformation.
- void set_first(const T2& f);
+ void set_second(const T2& f);
/// Set the new first transformation.
- void set_second(const T1& g);
+ void set_first(const T1& g);
/// Type of the inverse function.
typedef composed<mln_invert(T1),mln_invert(T2)> invert;
@@ -111,9 +116,14 @@ namespace mln
using super_::operator();
/// Set the new second transformation.
- void set_first(const T2& f);
+ void set_second(const T2& f);
+ /// Set the new first transformation.
+ void set_first(const T1& g);
+
+ /// Set the new second transformation.
+ const T2& second() const;
/// Set the new first transformation.
- void set_second(const T1& g);
+ const T1& first() const;
//protected:
@@ -198,7 +208,7 @@ namespace mln
template <typename T2, typename T1, typename E>
inline
void
- helper_composed_<T2,T1,E,true>::set_first(const T2& f)
+ helper_composed_<T2,T1,E,true>::set_second(const T2& f)
{
this->f_ = f;
this->m_ = this->f_.mat() * this->g_.mat();
@@ -207,12 +217,28 @@ namespace mln
template <typename T2, typename T1, typename E>
inline
void
- helper_composed_<T2,T1,E,true>::set_second(const T1& g)
+ helper_composed_<T2,T1,E,true>::set_first(const T1& g)
{
this->g_ = g;
this->m_ = this->f_.mat() * this->g_.mat();
}
+ template <typename T2, typename T1, typename E>
+ inline
+ const T2&
+ helper_composed_<T2,T1,E,true>::second() const
+ {
+ return this->f_;
+ }
+
+ template <typename T2, typename T1, typename E>
+ inline
+ const T1&
+ helper_composed_<T2,T1,E,true>::first() const
+ {
+ return this->g_;
+ }
+
// Implementation of the non bijective version.
template <typename T2, typename T1, typename E>
inline
@@ -232,7 +258,7 @@ namespace mln
template <typename T2, typename T1, typename E>
inline
void
- helper_composed_<T2,T1,E,false>::set_first(const T2& f)
+ helper_composed_<T2,T1,E,false>::set_second(const T2& f)
{
this->f_ = f;
this->m_ = this->f_.mat() * this->g_.mat();
@@ -241,12 +267,29 @@ namespace mln
template <typename T2, typename T1, typename E>
inline
void
- helper_composed_<T2,T1,E,false>::set_second(const T1& g)
+ helper_composed_<T2,T1,E,false>::set_first(const T1& g)
{
this->g_ = g;
this->m_ = this->f_.mat() * this->g_.mat();
}
+ template <typename T2, typename T1, typename E>
+ inline
+ const T2&
+ helper_composed_<T2,T1,E,false>::second() const
+ {
+ return this->f_;
+ }
+
+ template <typename T2, typename T1, typename E>
+ inline
+ const T1&
+ helper_composed_<T2,T1,E,false>::first() const
+ {
+ return this->g_;
+ }
+
+
} // end of namespace mln::fun::x2x::internal
} // end of namespace mln::fun::x2x
--
1.5.6.5
1
0
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
ChangeLog:
2009-02-19 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Experiment DICOM support with GDCM.
* fabien/gdcm/Makefile: Specific Makefile to test.
* fabien/gdcm/gdcm.cc: New test file.
* fabien/gdcm/load.hh: Implement GDCM DICOM support.
* fabien/magick/Makefile: Update.
* fabien/magick/load.hh: Update ImageMagick DICOM support.
* fabien/magick/magick.cc: Update.
---
gdcm/Makefile | 12 +++
gdcm/gdcm.cc | 18 +++++
gdcm/load.hh | 196 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
magick/load.hh | 10 ++
magick/magick.cc | 3
5 files changed, 238 insertions(+), 1 deletion(-)
Index: trunk/milena/sandbox/fabien/gdcm/Makefile
===================================================================
--- trunk/milena/sandbox/fabien/gdcm/Makefile (revision 0)
+++ trunk/milena/sandbox/fabien/gdcm/Makefile (revision 3394)
@@ -0,0 +1,12 @@
+all: gdcm.cc
+ g++ -I../../../ \
+ -I/Users/HiSoKa/Downloads/gdcm-2.0.10/Source/Common/ \
+ -I/Users/HiSoKa/Downloads/gdcmbin/Source/Common/ \
+ -I/Users/HiSoKa/Downloads/gdcm-2.0.10/Source/DataDictionary/ \
+ -I/Users/HiSoKa/Downloads/gdcm-2.0.10/Source/MediaStorageAndFileFormat/ \
+ -I/Users/HiSoKa/Downloads/gdcm-2.0.10/Source/DataStructureAndEncodingDefinition/ \
+ -L/Users/HiSoKa/Downloads/gdcmbin/bin \
+ -lgdcmCommon -lgdcmDICT -lgdcmDSED -lgdcmIOD -lgdcmMSFF -lgdcmexpat -lgdcmjpeg12 -lgdcmjpeg16 -lgdcmjpeg8 -lgdcmopenjpeg -lgdcmuuid -lgdcmzlib \
+ -framework CoreFoundation \
+ -DNDEBUG \
+ gdcm.cc -o mln_gdcm
Index: trunk/milena/sandbox/fabien/gdcm/load.hh
===================================================================
--- trunk/milena/sandbox/fabien/gdcm/load.hh (revision 0)
+++ trunk/milena/sandbox/fabien/gdcm/load.hh (revision 3394)
@@ -0,0 +1,196 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory
+//
+// 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_IO_DICOM_LOAD_HH
+# define MLN_IO_DICOM_LOAD_HH
+
+/*!
+ * \file mln/io/magick/load.hh
+ *
+ * \brief Define a function which loads an image of kind magick with
+ * given path.
+ *
+ */
+
+# include <mln/core/image/image2d.hh>
+# include <mln/core/image/image3d.hh>
+
+# include <mln/value/int_u16.hh>
+
+# include <gdcmReader.h>
+# include <gdcmImageReader.h>
+# include <gdcmWriter.h>
+# include <gdcmDataSet.h>
+# include <gdcmAttribute.h>
+
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace dicom
+ {
+
+ /*! Load a gdcm image in a Milena image.
+ *
+ * \param[out] ima A reference to the image which will receive
+ * data.
+ * \param[in] filename The source.
+ */
+ template <typename I>
+ void load(Image<I>& ima,
+ const std::string& filename);
+
+ /*! Load a gdcm image in a Milena image. To use this routine, you
+ * should specialize the template whith the value type of the
+ * image loaded. (ex : load<value::int_u8>("...") )
+ *
+ * \param[in] filename The image source.
+ *
+ * \return An image2d which contains loaded data.
+ */
+ template <typename V>
+ image2d<V> load(const std::string& filename);
+
+ /*! Load a gdcm image in a Milena image. To use this routine, you
+ * should specialize the template whith the value type of the
+ * image loaded. (ex : load<value::int_u8>("...") )
+ *
+ * \param[in] filename The image source.
+ *
+ * \return An image2d which contains loaded data.
+ */
+ template <typename V>
+ image3d<V> load(const std::string& filename);
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename V>
+ inline
+ image2d<V> load(const std::string& filename)
+ {
+ trace::entering("mln::io::gdcm::load");
+ image2d<V> ima;// = io::pnm::load<V>(MAGICK, filename);
+ trace::exiting("mln::io::gdcm::load");
+ return ima;
+ }
+
+ template <typename V>
+ inline
+ image3d<V> load(const std::string& filename)
+ {
+ trace::entering("mln::io::gdcm::load");
+ image2d<V> ima;// = io::pnm::load<V>(MAGICK, filename);
+ trace::exiting("mln::io::gdcm::load");
+ return ima;
+ }
+
+
+ template <typename I>
+ inline
+ void load(Image<I>& ima_,
+ const std::string& filename)
+ {
+ trace::entering("mln::io::gdcm::load");
+
+ using value::int_u16;
+ I& ima = exact(ima_);
+
+ gdcm::ImageReader r;
+ r.SetFileName(filename.c_str());
+ if (!r.Read())
+ {
+ std::cerr << "error: cannot open file '" << filename << "'!";
+ abort();
+ }
+
+ gdcm::File &file = r.GetFile();
+ gdcm::DataSet& ds = file.GetDataSet();
+
+ gdcm::Image& image = r.GetImage();
+
+ std::cout << std::endl << "Image information" << std::endl
+ << "=================" << std::endl;
+ image.Print(std::cout);
+
+ std::cout << std::endl << "Buffer information" << std::endl
+ << "=================" << std::endl;
+ std::cout << "Buffer length: " << image.GetBufferLength() << std::endl;
+ char* dataBuffer = new char[image.GetBufferLength()];
+ if (image.GetBuffer(dataBuffer))
+ std::cout << "GetBuffer success" << std::endl;
+ else
+ std::cout << "GetBuffer failure" << std::endl;
+
+ int ndims = image.GetNumberOfDimensions();
+ const unsigned int* dims = image.GetDimensions();
+
+ // FIXME: Check ScalarType
+ if (ndims == 1)
+ {
+
+ }
+ if (ndims == 2)
+ {
+ //image2d<int_u16> mln_ima(dims[1], dims[0]);
+ //mln_piter(image2d<int_u16>) p(ima.domain());
+ //for_all(p)
+ //{
+ // ima(p) = dataBuffer[(p.col() + p.row() * dims[0]) * 2] * 256 +
+ // dataBuffer[(p.col() + p.row() * dims[0]) * 2 + 1];
+ //}
+ }
+ if (ndims == 3)
+ {
+ //image3d<int_u16> ima(dims[2], dims[1], dims[0]);
+ mln_site(I) pmin(0, 0, 0);
+ mln_site(I) pmax(dims[2], dims[1], dims[0]);
+ mln_concrete(I) result(box<mln_site(I)>(pmin, pmax));
+ initialize(ima, result);
+ mln_piter(image3d<int_u16>) p(ima.domain());
+ for_all(p)
+ {
+ ima(p) = dataBuffer[(p.col() + p.row() * dims[0] + p.sli() * dims[0] * dims[1]) * 2] * 256+
+ dataBuffer[(p.col() + p.row() * dims[0] + p.sli() * dims[0] * dims[1]) * 2 + 1];
+ }
+ }
+
+ trace::exiting("mln::io::dicom::load");
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io::dicom
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_DICOM_LOAD_HH
Index: trunk/milena/sandbox/fabien/gdcm/gdcm.cc
===================================================================
--- trunk/milena/sandbox/fabien/gdcm/gdcm.cc (revision 0)
+++ trunk/milena/sandbox/fabien/gdcm/gdcm.cc (revision 3394)
@@ -0,0 +1,18 @@
+#include <mln/core/image/image2d.hh>
+#include <mln/value/int_u8.hh>
+#include <mln/value/int_u16.hh>
+
+#include "load.hh"
+
+#include <mln/io/dump/save.hh>
+
+int main()
+{
+ using namespace mln;
+ using value::int_u16;
+
+ image3d<int_u16> lena;
+
+ io::dicom::load(lena, "/Users/HiSoKa/Work/IGR/souris18/irm/IM_0052.dcm");
+ io::dump::save(lena, "IM_0052.dump");
+}
Index: trunk/milena/sandbox/fabien/magick/magick.cc
===================================================================
--- trunk/milena/sandbox/fabien/magick/magick.cc (revision 3393)
+++ trunk/milena/sandbox/fabien/magick/magick.cc (revision 3394)
@@ -10,5 +10,6 @@
image2d<int_u8> lena;
- io::magick::load(lena, "/Users/HiSoKa/Work/LRDE/Olena/resources/CardiacCT/178562160.dcm");
+ //io::magick::load(lena, "/Users/HiSoKa/Work/LRDE/Olena/resources/CardiacCT/178562160.dcm");
+ io::magick::load(lena, "/Users/HiSoKa/Work/IGR/souris18/irm/IM_0052.dcm");
}
Index: trunk/milena/sandbox/fabien/magick/Makefile
===================================================================
Index: trunk/milena/sandbox/fabien/magick/load.hh
===================================================================
--- trunk/milena/sandbox/fabien/magick/load.hh (revision 3393)
+++ trunk/milena/sandbox/fabien/magick/load.hh (revision 3394)
@@ -124,8 +124,18 @@
std::cout << "height: " << file.rows() << std::endl;
std::cout << "x resolution: " << file.xResolution() << std::endl;
std::cout << "y resolution: " << file.yResolution() << std::endl;
+ std::cout << "depth: " << file.depth() << std::endl;
+ //std::cout << "packets: " << file.packets() << std::endl;
+ //std::cout << "packet size: " << file.packetSize() << std::endl;
std::cout << "comment: " << file.comment() << std::endl;
std::cout << "format: " << file.format() << std::endl;
+ std::cout << "number of scenes: " << file.imageInfo()->number_scenes << std::endl;
+ std::cout << "scene: " << file.imageInfo()->scene << std::endl;
+ std::cout << "filename: " << file.imageInfo()->filename << std::endl;
+
+ //Magick::Pixels::Pixels pixels(file);
+ //std::cout << "sizeof PixelPacket: " << sizeof (pixel_cache) << std::endl;
+ //std::cout << "sizeof *PixelPacket: " << sizeof (*pixel_cache) << std::endl;
trace::exiting("mln::io::magick::load");
}
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog
from Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
Add a resolve mechanism for use in meta functions.
* mln/fun/internal/resolve.hh New.
* mln/metal/is_a.hh (mlc_is_a__1comma): New macro.
* mln/trait/solve_binary.hh: Upgrade file doc style.
fun/internal/resolve.hh | 78 ++++++++++++++++++++++++++++++++++++++++++++++++
metal/is_a.hh | 15 ++++++---
trait/solve_binary.hh | 13 +++-----
3 files changed, 93 insertions(+), 13 deletions(-)
Index: mln/trait/solve_binary.hh
--- mln/trait/solve_binary.hh (revision 3392)
+++ mln/trait/solve_binary.hh (working copy)
@@ -1,4 +1,5 @@
-// Copyright (C) 2006, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2006, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,13 +29,9 @@
#ifndef MLN_TRAIT_SOLVE_BINARY_HH
# define MLN_TRAIT_SOLVE_BINARY_HH
-/*!
- * \file mln/trait/solve_binary.hh
- *
- * \brief FIXME
- *
- *
- */
+/// \file mln/trait/solve_binary.hh
+///
+/// FIXME
# include <mln/core/category.hh>
# include <mln/core/routine/exact.hh>
Index: mln/metal/is_a.hh
--- mln/metal/is_a.hh (revision 3392)
+++ mln/metal/is_a.hh (working copy)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +29,9 @@
#ifndef MLN_METAL_IS_A_HH
# define MLN_METAL_IS_A_HH
-/*! \file mln/metal/is_a.hh
- *
- * \brief Definition of a type that means "is_a".
- */
+/// \file mln/metal/is_a.hh
+///
+/// \brief Definition of a type that means "is_a".
# include <mln/metal/bool.hh>
@@ -47,6 +47,11 @@
# define mlc_is_a(T, M) mln::metal::is_a<T, M>
+// Allows to write somthing like "mlc_is_a(T<P1,P2>, M)" without
+// getting trouble with the preprocessor due to the 1st comma.
+# define mlc_is_a__1comma(Tleft, Tright, M) mln::metal::is_a< Tleft,Tright , M >
+
+
namespace mln
{
Index: mln/fun/internal/resolve.hh
--- mln/fun/internal/resolve.hh (revision 0)
+++ mln/fun/internal/resolve.hh (revision 0)
@@ -0,0 +1,78 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// 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_FUN_INTERNAL_RESOLVE_HH
+# define MLN_FUN_INTERNAL_RESOLVE_HH
+
+/// \file mln/fun/internal/resolve.hh
+///
+/// \brief FIXME.
+
+# include <mln/core/concept/function.hh>
+# include <mln/trait/solve.hh>
+# include <mln/value/builtin/all.hh>
+
+
+# define mln_fun_internal_resolve(F) typename fun::internal::resolve< F >::ret
+
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ namespace internal
+ {
+
+ template <typename F>
+ struct resolve;
+
+ template < template <class, class> class F,
+ typename L,
+ typename R >
+ struct resolve< F<L,R> > : public mln::trait::solve_binary< F, L, R >,
+ private mlc_is_a__1comma(F<L,R>, Function)::check_t
+ {
+ };
+
+ template < template <class> class F,
+ typename T >
+ struct resolve< F<T> > : public mln::trait::solve_unary< F, T >,
+ private mlc_is_a(F<T>, Function)::check_t
+ {
+ };
+
+ } // end of namespace mln::fun::internal
+
+ } // end of namespace mln::fun
+
+} // end of namespace mln
+
+
+#endif // ! MLN_FUN_INTERNAL_RESOLVE_HH
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
Index: ChangeLog
from Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
Add sample code of 'inf' for Fred.
* theo/csi: New directory.
* theo/csi/fred.cc: New.
fred.cc | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 148 insertions(+)
Index: theo/csi/fred.cc
--- theo/csi/fred.cc (revision 0)
+++ theo/csi/fred.cc (revision 0)
@@ -0,0 +1,148 @@
+#include <mln/core/concept/function.hh>
+#include <mln/core/concept/value.hh>
+#include <mln/fun/internal/resolve.hh>
+
+
+namespace mln
+{
+
+
+ // Forward declaration.
+ namespace fun {
+ namespace vv2v {
+ template <typename T> struct inf;
+ }
+ }
+
+
+ namespace trait
+ {
+
+ // Default (whatever the category):
+ // "inf" performs a "min"!
+ template <template <class> class Category, typename T>
+ struct set_unary_< fun::vv2v::inf, Category, T >
+ {
+ typedef set_unary_< fun::vv2v::inf, Category, T > ret;
+
+ static T exec(const T& t1, const T& t2)
+ {
+ return t1 < t2 ? t1 : t2;
+ }
+
+ // In the case of a binary function with two different argument
+ // types, we shall instrument this definition with the result
+ // type...
+ };
+
+ } // mln::trait
+
+
+
+ namespace fun
+ {
+
+ namespace vv2v
+ {
+
+ // fun::vv2v::inf<T>
+
+ template <typename T>
+ struct inf : Function_vv2v< inf<T> >
+ {
+ typedef T result;
+
+ typedef mln_fun_internal_resolve(inf) impl;
+
+ T operator()(const T& t1, const T& t2) const
+ {
+ return impl::exec(t1, t2);
+ }
+ };
+
+
+ // fun::vv2v::meta::inf
+
+ namespace meta
+ {
+
+ struct inf
+ {
+
+ // A meta-fun can act as a function :-)
+
+ template <typename T>
+ T operator()(const T& t1, const T& t2) const
+ // Here, we know the result type of vv2v::inf<T> so
+ // we explictly write it.
+ {
+ fun::vv2v::inf<T> f;
+ return f(t1, t2);
+ }
+
+ // The "meta-fun -> fun" code is similar to the one in
+ // mln/accu/min.hh
+ template <typename T>
+ struct with
+ {
+ typedef fun::vv2v::inf<T> ret;
+ };
+ };
+
+ } // mln::fun::vv2v::meta
+
+ } // mln::fun::vv2v
+
+ } // mln::fun
+
+
+
+ // Yay! A special type equipped with a particular 'inf'.
+
+ struct rgb : Value<rgb>
+ {
+ typedef rgb enc;
+ typedef rgb equiv; // Those couple of typedefs are required by the concept.
+ rgb() {}
+ rgb(int r, int g, int b) : r(r), g(g), b(b) {}
+ int r, g, b;
+ };
+
+ std::ostream& operator<<(std::ostream& ostr, const rgb& c)
+ {
+ ostr << c.r << ' ' << c.g << ' ' << c.b;
+ }
+
+ namespace trait
+ {
+
+ template <>
+ struct set_precise_unary_< fun::vv2v::inf, rgb >
+ {
+ typedef set_precise_unary_< fun::vv2v::inf, rgb > ret;
+
+ static rgb exec(const rgb& c1, const rgb& c2)
+ {
+ // "Inf" is component-wise "min".
+ return rgb(c1.r < c2.r ? c1.r : c2.r,
+ c1.g < c2.g ? c1.g : c2.g,
+ c1.b < c2.b ? c1.b : c2.b);
+ }
+ };
+
+ } // mln::trait
+
+} // mln
+
+
+
+int main()
+{
+ using namespace mln;
+
+ fun::vv2v::meta::inf inf;
+ std::cout << inf(3, 5) << std::endl;
+
+ rgb c1(1, 2, 3), c2(2, 1, 2);
+ std::cout << inf(c1, c2) << std::endl;
+}
1
0