This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch mesh-segm-skel has been updated
via 5e82f8f41121a6f4724fcbe6687673f070c6bf31 (commit)
via dd86adeb2178f0fa89f6183589eba917f7a0e9c1 (commit)
from c68caaf54cabebfd094a596d54fa6517dac6278b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
5e82f8f Configure tests in mesh-segm-skel apps.
dd86ade mesh-complex-pinv-curv-segm and mesh-complex-pinv-curv-skel apps.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 8 ++++++
configure.ac | 4 +++
milena/ChangeLog | 25 ++++++++++++++++++++
milena/apps/mesh-segm-skel/Makefile.am | 20 ++++++++++++----
.../mesh-segm-skel/mesh-complex-max-curv-segm.cc | 19 ++++-----------
.../mesh-segm-skel/mesh-complex-max-curv-skel.cc | 12 ++-------
...curv-segm.cc => mesh-complex-pinv-curv-segm.cc} | 20 ++++++---------
...curv-skel.cc => mesh-complex-pinv-curv-skel.cc} | 23 ++++++++---------
...segm.in => test-mesh-complex-pinv-curv-segm.in} | 9 ++++---
...skel.in => test-mesh-complex-pinv-curv-skel.in} | 6 ++--
10 files changed, 87 insertions(+), 59 deletions(-)
copy milena/apps/mesh-segm-skel/{mesh-complex-max-curv-segm.cc => mesh-complex-pinv-curv-segm.cc} (91%)
copy milena/apps/mesh-segm-skel/{mesh-complex-max-curv-skel.cc => mesh-complex-pinv-curv-skel.cc} (94%)
copy milena/apps/mesh-segm-skel/{test-mesh-segm.in => test-mesh-complex-pinv-curv-segm.in} (65%)
mode change 100755 => 100644
copy milena/apps/mesh-segm-skel/{test-mesh-complex-max-curv-skel.in => test-mesh-complex-pinv-curv-skel.in} (72%)
hooks/post-receive
--
Olena, a generic and efficient image processing platform
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch swilena has been updated
via 208f43e3faa18851968542e4c15336b1b3ba1bf4 (commit)
from 2358392f48a9191f72851cc299eb5bedcf303659 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
208f43e Have AC_PROG_SWIG be more flexible w.r.t. major/minor version numbers.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
m4/swig.m4 | 9 ++++++---
2 files changed, 12 insertions(+), 3 deletions(-)
hooks/post-receive
--
Olena, a generic and efficient image processing platform
* apps/mesh-segm-skel/mesh-complex-pinv-curv-segm.cc,
* apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc:
New.
* apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc,
* apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc:
Remove dead code.
* apps/mesh-segm-skel/test-mesh-complex-pinv-curv-segm.in,
* apps/mesh-segm-skel/test-mesh-complex-pinv-curv-skel.in:
New.
* apps/mesh-segm-skel/Makefile.am (bin_PROGRAMS): Add
mesh-complex-pinv-curv-segm and mesh-complex-pinv-curv-skel.
(mesh_complex_pinv_curv_segm_SOURCES)
(mesh_complex_pinv_curv_skel_SOURCES):
New.
(TESTS): Add test-mesh-complex-pinv-curv-segm and
test-mesh-complex-pinv-curv-skel.
(MOSTLYCLEANFILES): Add socket-complex-pinv-curv-segm.off,
teapot-complex-pinv-curv-segm.off,
socket-complex-pinv-curv-skel.off and
teapot-complex-pinv-curv-skel.off.
---
milena/ChangeLog | 25 ++++++++++++++++++++
milena/apps/mesh-segm-skel/Makefile.am | 20 ++++++++++++----
.../mesh-segm-skel/mesh-complex-max-curv-segm.cc | 19 ++++-----------
.../mesh-segm-skel/mesh-complex-max-curv-skel.cc | 12 ++-------
...curv-segm.cc => mesh-complex-pinv-curv-segm.cc} | 20 ++++++---------
...curv-skel.cc => mesh-complex-pinv-curv-skel.cc} | 23 ++++++++---------
...segm.in => test-mesh-complex-pinv-curv-segm.in} | 9 ++++---
...skel.in => test-mesh-complex-pinv-curv-skel.in} | 6 ++--
8 files changed, 75 insertions(+), 59 deletions(-)
copy milena/apps/mesh-segm-skel/{mesh-complex-max-curv-segm.cc => mesh-complex-pinv-curv-segm.cc} (91%)
copy milena/apps/mesh-segm-skel/{mesh-complex-max-curv-skel.cc => mesh-complex-pinv-curv-skel.cc} (94%)
copy milena/apps/mesh-segm-skel/{test-mesh-segm.in => test-mesh-complex-pinv-curv-segm.in} (65%)
mode change 100755 => 100644
copy milena/apps/mesh-segm-skel/{test-mesh-complex-max-curv-skel.in => test-mesh-complex-pinv-curv-skel.in} (72%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 1fe8399..3d8b6bc 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,28 @@
+2010-07-15 Roland Levillain <roland(a)lrde.epita.fr>
+
+ mesh-complex-pinv-curv-segm and mesh-complex-pinv-curv-skel apps.
+
+ * apps/mesh-segm-skel/mesh-complex-pinv-curv-segm.cc,
+ * apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc:
+ New.
+ * apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc,
+ * apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc:
+ Remove dead code.
+ * apps/mesh-segm-skel/test-mesh-complex-pinv-curv-segm.in,
+ * apps/mesh-segm-skel/test-mesh-complex-pinv-curv-skel.in:
+ New.
+ * apps/mesh-segm-skel/Makefile.am (bin_PROGRAMS): Add
+ mesh-complex-pinv-curv-segm and mesh-complex-pinv-curv-skel.
+ (mesh_complex_pinv_curv_segm_SOURCES)
+ (mesh_complex_pinv_curv_skel_SOURCES):
+ New.
+ (TESTS): Add test-mesh-complex-pinv-curv-segm and
+ test-mesh-complex-pinv-curv-skel.
+ (MOSTLYCLEANFILES): Add socket-complex-pinv-curv-segm.off,
+ teapot-complex-pinv-curv-segm.off,
+ socket-complex-pinv-curv-skel.off and
+ teapot-complex-pinv-curv-skel.off.
+
2010-06-14 Roland Levillain <roland(a)lrde.epita.fr>
Actually use the maximal curvature in mesh-complex-max-curv-segm.
diff --git a/milena/apps/mesh-segm-skel/Makefile.am b/milena/apps/mesh-segm-skel/Makefile.am
index 868c7d6..5dda5ec 100644
--- a/milena/apps/mesh-segm-skel/Makefile.am
+++ b/milena/apps/mesh-segm-skel/Makefile.am
@@ -171,9 +171,13 @@ MOSTLYCLEANFILES += \
socket-complex-max-curv-segm.off \
teapot-complex-max-curv-segm.off
-# FIXME: Implement `mesh-complex-pinv-curv-segm' (factor as much
-# code as possible with `mesh-complex-max-curv-segm'.
-# ...
+# Likewise, but using pseudo-inverse curvature.
+bin_PROGRAMS += mesh-complex-pinv-curv-segm
+mesh_complex_pinv_curv_segm_SOURCES = mesh-complex-pinv-curv-segm.cc
+TESTS += test-mesh-complex-pinv-curv-segm
+MOSTLYCLEANFILES += \
+ socket-complex-pinv-curv-segm.off \
+ teapot-complex-pinv-curv-segm.off
## Skeletonization.
## ----------------
@@ -187,8 +191,6 @@ MOSTLYCLEANFILES += \
teapot-max-curv.off \
three-triangles-skel.off
-# FIXME: Implement `mesh-complex-{max,pinv}-curv-skel'.
-# ...
bin_PROGRAMS += mesh-complex-max-curv-skel
mesh_complex_max_curv_skel_SOURCES = \
mesh-complex-max-curv-skel.cc save_bin_alt.hh
@@ -196,3 +198,11 @@ TESTS += test-mesh-complex-max-curv-skel
MOSTLYCLEANFILES += \
socket-complex-max-curv-skel.off \
teapot-complex-max-curv-skel.off
+
+bin_PROGRAMS += mesh-complex-pinv-curv-skel
+mesh_complex_pinv_curv_skel_SOURCES = \
+ mesh-complex-pinv-curv-skel.cc save_bin_alt.hh
+TESTS += test-mesh-complex-pinv-curv-skel
+MOSTLYCLEANFILES += \
+ socket-complex-pinv-curv-skel.off \
+ teapot-complex-pinv-curv-skel.off
diff --git a/milena/apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc b/milena/apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc
index a7a741a..aa55244 100644
--- a/milena/apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc
+++ b/milena/apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Milena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -30,6 +31,8 @@
/// surface of the (triangle) mesh of a statue, then performing a
/// WST-based segmentation, using a complex-based image.
+// Factor with mesh-complex-pinv-curv-segm.cc.
+
#include <cstdlib>
#include <cmath>
@@ -53,10 +56,6 @@
#include "trimesh/misc.hh"
-// Doesn't C++ have a better way to express Pi?
-static const float pi = 4 * atanf(1);
-
-
int main(int argc, char* argv[])
{
if (argc != 4)
@@ -91,17 +90,9 @@ int main(int argc, char* argv[])
mln::p_n_faces_fwd_piter<D, G> v(float_ima.domain(), 0);
for_all(v)
{
- // FIXME: The program should allow the user to choose the kind
- // of measure (curvature).
-#if 0
- float h = (curv.first(v) + curv.second(v)) / 2;
- // Pseudo-inverse curvature.
- float h_inv = 1 / pi * (atan(-h) + pi / 2);
- float_ima(v) = h_inv;
-#endif
// Max curvature.
float_ima(v) = mln::math::max(mln::math::sqr(curv.first(v)),
- mln::math::sqr(curv.second(v)));
+ mln::math::sqr(curv.second(v)));
}
// Values on edges.
diff --git a/milena/apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc b/milena/apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc
index a174dd6..b910aae 100644
--- a/milena/apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc
+++ b/milena/apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc
@@ -29,9 +29,11 @@
/// \file apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc
/// \brief A program computing the maximal curvature values from the
/// surface of the (triangle) mesh of a statue, then computing a
-/// skeleton of this surface (by/ thinning), using a complex-based
+/// skeleton of this surface (by thinning), using a complex-based
/// image.
+// FIXME: Factor with mesh-complex-pinv-curv-skel.cc.
+
#include <iostream>
#include <mln/core/image/complex_image.hh>
@@ -92,14 +94,6 @@ main(int argc, char* argv[])
mln::p_n_faces_fwd_piter<D, G> v(float_ima.domain(), 0);
for_all(v)
{
- // FIXME: The program should allow the user to choose the kind
- // of measure (curvature).
-#if 0
- float h = (curv.first(v) + curv.second(v)) / 2;
- // Pseudo-inverse curvature.
- float h_inv = 1 / pi * (atan(-h) + pi / 2);
- float_ima(v) = h_inv;
-#endif
// Max curvature.
float_ima(v) = mln::math::max(mln::math::sqr(curv.first(v)),
mln::math::sqr(curv.second(v)));
diff --git a/milena/apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc b/milena/apps/mesh-segm-skel/mesh-complex-pinv-curv-segm.cc
similarity index 91%
copy from milena/apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc
copy to milena/apps/mesh-segm-skel/mesh-complex-pinv-curv-segm.cc
index a7a741a..fe7ee70 100644
--- a/milena/apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc
+++ b/milena/apps/mesh-segm-skel/mesh-complex-pinv-curv-segm.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Milena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file apps/mesh-segm-skel/mesh-complex-max-curv-segm.cc
-/// \brief A program computing the maximal curvature values from the
-/// surface of the (triangle) mesh of a statue, then performing a
-/// WST-based segmentation, using a complex-based image.
+/// \file apps/mesh-segm-skel/mesh-complex-pinv-curv-segm.cc
+/// \brief A program computing the pseudo-inverse curvature values
+/// from the surface of the (triangle) mesh of a statue, then
+/// performing a WST-based segmentation, using a complex-based image.
+
+// Factor with mesh-complex-max-curv-segm.cc.
#include <cstdlib>
#include <cmath>
@@ -91,17 +94,10 @@ int main(int argc, char* argv[])
mln::p_n_faces_fwd_piter<D, G> v(float_ima.domain(), 0);
for_all(v)
{
- // FIXME: The program should allow the user to choose the kind
- // of measure (curvature).
-#if 0
float h = (curv.first(v) + curv.second(v)) / 2;
// Pseudo-inverse curvature.
float h_inv = 1 / pi * (atan(-h) + pi / 2);
float_ima(v) = h_inv;
-#endif
- // Max curvature.
- float_ima(v) = mln::math::max(mln::math::sqr(curv.first(v)),
- mln::math::sqr(curv.second(v)));
}
// Values on edges.
diff --git a/milena/apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc b/milena/apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc
similarity index 94%
copy from milena/apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc
copy to milena/apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc
index a174dd6..4a59a6b 100644
--- a/milena/apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc
+++ b/milena/apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc
@@ -26,11 +26,13 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc
-/// \brief A program computing the maximal curvature values from the
-/// surface of the (triangle) mesh of a statue, then computing a
-/// skeleton of this surface (by/ thinning), using a complex-based
-/// image.
+/// \file apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc
+/// \brief A program computing the pseudo-inverse curvature values
+/// from the surface of the (triangle) mesh of a statue, then
+/// computing a skeleton of this surface (by thinning), using a
+/// complex-based image.
+
+// FIXME: Factor with mesh-complex-max-curv-skel.cc.
#include <iostream>
@@ -57,6 +59,10 @@
#include "trimesh/misc.hh"
+// Doesn't C++ have a better way to express Pi?
+static const float pi = 4 * atanf(1);
+
+
int
main(int argc, char* argv[])
{
@@ -92,17 +98,10 @@ main(int argc, char* argv[])
mln::p_n_faces_fwd_piter<D, G> v(float_ima.domain(), 0);
for_all(v)
{
- // FIXME: The program should allow the user to choose the kind
- // of measure (curvature).
-#if 0
float h = (curv.first(v) + curv.second(v)) / 2;
// Pseudo-inverse curvature.
float h_inv = 1 / pi * (atan(-h) + pi / 2);
float_ima(v) = h_inv;
-#endif
- // Max curvature.
- float_ima(v) = mln::math::max(mln::math::sqr(curv.first(v)),
- mln::math::sqr(curv.second(v)));
}
// Values on triangles.
diff --git a/milena/apps/mesh-segm-skel/test-mesh-segm.in b/milena/apps/mesh-segm-skel/test-mesh-complex-pinv-curv-segm.in
old mode 100755
new mode 100644
similarity index 65%
copy from milena/apps/mesh-segm-skel/test-mesh-segm.in
copy to milena/apps/mesh-segm-skel/test-mesh-complex-pinv-curv-segm.in
index e70e63a..345aefd
--- a/milena/apps/mesh-segm-skel/test-mesh-segm.in
+++ b/milena/apps/mesh-segm-skel/test-mesh-complex-pinv-curv-segm.in
@@ -1,6 +1,7 @@
#! /bin/sh
-# Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE).
+# Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+# Laboratory (LRDE).
#
# This file is part of Olena.
#
@@ -20,7 +21,7 @@ set -ex
mesh_dir=@top_srcdir@/milena/mesh
-time ./mesh-segm $mesh_dir/socket.off 25 socket-segm.off
-time ./mesh-segm $mesh_dir/teapot.off 50 teapot-segm.off
+time ./mesh-complex-pinv-curv-segm $mesh_dir/socket.off 25 socket-complex-pinv-curv-segm.off
+time ./mesh-complex-pinv-curv-segm $mesh_dir/teapot.off 50 teapot-complex-pinv-curv-segm.off
# FIXME: Too long. Should be run with (future) target `check-full'.
-#time ./mesh-segm $mesh_dir/bunny-holefilled.off 500 bunny-holefilled-segm.off
+#time ./mesh-complex-pinv-curv-segm $mesh_dir/bunny-holefilled.off 500 bunny-holefilled-complex-pinv-curv-segm.off
diff --git a/milena/apps/mesh-segm-skel/test-mesh-complex-max-curv-skel.in b/milena/apps/mesh-segm-skel/test-mesh-complex-pinv-curv-skel.in
similarity index 72%
copy from milena/apps/mesh-segm-skel/test-mesh-complex-max-curv-skel.in
copy to milena/apps/mesh-segm-skel/test-mesh-complex-pinv-curv-skel.in
index ea7f604..0af2151 100644
--- a/milena/apps/mesh-segm-skel/test-mesh-complex-max-curv-skel.in
+++ b/milena/apps/mesh-segm-skel/test-mesh-complex-pinv-curv-skel.in
@@ -20,7 +20,7 @@ set -ex
mesh_dir=@top_srcdir@/milena/mesh
-time ./mesh-complex-max-curv-skel $mesh_dir/socket.off 10 socket-complex-max-curv-skel.off
-time ./mesh-complex-max-curv-skel $mesh_dir/teapot.off 20 teapot-complex-max-curv-skel.off
+time ./mesh-complex-pinv-curv-skel $mesh_dir/socket.off 10 socket-complex-pinv-curv-skel.off
+time ./mesh-complex-pinv-curv-skel $mesh_dir/teapot.off 20 teapot-complex-pinv-curv-skel.off
# FIXME: Too long. Should be run with (future) target `check-full'.
-#time ./mesh-complex-max-curv-skel $mesh_dir/bunny-holefilled.off 50 bunny-holefilled-complex-max-curv-skel.off
+time ./mesh-complex-pinv-curv-skel $mesh_dir/bunny-holefilled.off 50 bunny-holefilled-complex-pinv-curv-skel.off
--
1.5.6.5