#273: make mln::value::int_u32 usable
----------------------+------------------------
Reporter: levill_r | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 2.1
Component: Milena | Version: 2.0
Keywords: |
----------------------+------------------------
Due to the limitations of the built-in `int` type on GNU/Linux with GCC
(which is a 32-bit signed integer, even on 64-bit hosts),
`mln::value::int_u32` does not compile properly. For instance, here is
the compile error output of the `milena/tests/value/int_u32` test on
Debian GNU/Linux 7.1 amd64 with `g++` 4.7.2 (Debian 4.7.2-5) :
{{{
In file included from ../../../../milena/mln/metal/math/all.hh:54:0,
from ../../../../milena/mln/core/concept/object.hh:54,
from ../../../../milena/mln/core/internal/exact.hh:142,
from ../../../../milena/mln/core/routine/exact.hh:44,
from ../../../../milena/mln/trait/solve_unary.hh:38,
from ../../../../milena/mln/trait/solve.hh:162,
from ../../../../milena/mln/trait/promote.hh:38,
from ../../../../milena/mln/trait/op/plus.hh:63,
from ../../../../milena/mln/trait/op/all.hh:38,
from ../../../../milena/mln/value/ops.hh:34,
from ../../../../milena/mln/value/int_u.hh:35,
from ../../../../milena/mln/value/int_u32.hh:35,
from ../../../../milena/tests/value/int_u32.cc:30:
../../../../milena/mln/metal/math/pow.hh: In instantiation of ‘const int
mln::metal::math::impl::pow_int_<2, 31>::value’:
../../../../milena/mln/metal/math/pow.hh:61:51: required from ‘const int
mln::metal::math::impl::pow_int_<2, 32>::value’
../../../../milena/mln/value/int_u.hh:99:84: required from ‘static const
self_ mln::trait::value_<mln::value::int_u<n> >::max() [with unsigned int
n = 32u; mln::trait::value_<mln::value::int_u<n> >::self_ =
mln::value::int_u<32u>]’
../../../../milena/tests/value/int_u32.cc:35:61: required from here
../../../../milena/mln/metal/math/pow.hh:61:51: warning: integer overflow
in expression [-Woverflow]
../../../../milena/mln/metal/math/pow.hh: In instantiation of ‘const int
mln::metal::math::impl::pow_int_<2, 32>::value’:
../../../../milena/mln/value/int_u.hh:99:84: required from ‘static const
self_ mln::trait::value_<mln::value::int_u<n> >::max() [with unsigned int
n = 32u; mln::trait::value_<mln::value::int_u<n> >::self_ =
mln::value::int_u<32u>]’
../../../../milena/tests/value/int_u32.cc:35:61: required from here
../../../../milena/mln/metal/math/pow.hh:61:51: error: initializer invalid
for static member with constructor
../../../../milena/mln/metal/math/pow.hh:61:51: error: (an out of class
initialization is required)
../../../../milena/mln/metal/math/pow.hh:61:51: error:
‘mln::metal::math::impl::pow_int_<2, 32>::value’ cannot be initialized by
a non-constant expression when being declared
}}}
Maybe we should redefine `mln::metal::math::pow` as well.
--
Ticket URL: <https://trac.lrde.epita.fr/olena/ticket/273>
Olena <http://olena.lrde.epita.fr>
Olena, a software platform dedicated to image processing.
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 topological-wst has been deleted
was 7e43020f1b94958d6287965abf4cb4cab901895b
-----------------------------------------------------------------------
7e43020f1b94958d6287965abf4cb4cab901895b Catch up with the new interface of the topological watershed.
-----------------------------------------------------------------------
hooks/post-receive
--
Olena, a generic and efficient image processing platform
#215: Clean up and integrate the Topological Watershed Transform
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: task | Status: new
Priority: major | Milestone: Olena 1.1
Component: Milena | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
Alexandre Abraham's implementation of the Topological WST is working (see
an example of use in source:trunk/milena/sandbox/roland/constrained-
connectivity.cc) but there are a few issues here and there (notably w.r.t.
genericity). Clean it up, and move it to
source:trunk/milena/mln/morpho/watershed/.
Do not forget to tag the initial file as outdated in the sandbox (or even
to remove it).
--
Ticket URL: <https://trac.lrde.org/olena/ticket/215>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
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 next has been updated
via 7e43020f1b94958d6287965abf4cb4cab901895b (commit)
via 0a1c7ac3b44b539d21e4b3f50738291b2f79e093 (commit)
via 26d31484856f050052cfed5122507ad24926e81a (commit)
from c1215ffb093c6e4b0bfbb8d6d0c522e4591c9979 (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 -----------------------------------------------------------------
No new revisions were added by this update.
-----------------------------------------------------------------------
Summary of changes:
milena/ChangeLog | 23 +++
.../constrained-connectivity.cc | 10 +-
.../mesh-segm-skel/mesh-complex-max-curv-segm.cc | 10 +-
.../apps/mesh-segm-skel/mesh-complex-max-curv.cc | 7 +-
milena/mln/core/site_set/p_set.hh | 14 +-
milena/mln/morpho/watershed/topological.hh | 194 ++++++++++----------
6 files changed, 146 insertions(+), 112 deletions(-)
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 topological-wst has been updated
via 7e43020f1b94958d6287965abf4cb4cab901895b (commit)
from 0a1c7ac3b44b539d21e4b3f50738291b2f79e093 (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 -----------------------------------------------------------------
7e43020 Catch up with the new interface of the topological watershed.
-----------------------------------------------------------------------
Summary of changes:
milena/ChangeLog | 6 ++++++
.../constrained-connectivity/constrained-connectivity.cc | 10 +++++-----
2 files changed, 11 insertions(+), 5 deletions(-)
hooks/post-receive
--
Olena, a generic and efficient image processing platform
* apps/constrained-connectivity/constrained-connectivity.cc: Here.
---
milena/ChangeLog | 6 ++++++
.../constrained-connectivity/constrained-connectivity.cc | 10 +++++-----
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index a11c82d..1d143cb 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,9 @@
+2013-08-29 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Catch up with the new interface of the topological watershed.
+
+ * apps/constrained-connectivity/constrained-connectivity.cc: Here.
+
2010-05-11 Roland Levillain <roland(a)lrde.epita.fr>
Have the topological WST be more generic.
diff --git a/milena/apps/constrained-connectivity/constrained-connectivity.cc b/milena/apps/constrained-connectivity/constrained-connectivity.cc
index 3dab1dc..d6ad094 100644
--- a/milena/apps/constrained-connectivity/constrained-connectivity.cc
+++ b/milena/apps/constrained-connectivity/constrained-connectivity.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2013 EPITA Research and Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -164,11 +164,11 @@ int main(int argc, char* argv[])
This requires some changes in the topological WST implementation,
to make its component tree structure compatible with
morpho::tree::data. */
- typedef p_array<tree_t::site> sites_t;
- sites_t sites = data::sort_psites_decreasing(w);
- morpho::tree::data<w_t, sites_t> t(w, sites, world::inter_pixel::e2e());
+ typedef p_array<tree_t::psite> psites_t;
+ psites_t psites = data::sort_psites_decreasing(w);
+ morpho::tree::data<w_t, psites_t> t(w, psites, world::inter_pixel::e2e());
- // Create initial images for min and max values on sites (not components).
+ // Create initial images for min and max values on psites (not components).
mln_ch_value_(w_t, accu::stat::min<int_u8>) init_min_val;
initialize (init_min_val, w);
mln_ch_value_(w_t, accu::stat::max<int_u8>) init_max_val;
--
1.7.10.4