#179: Float precision issues with epsilon
---------------------+------------------------------------------------------
Reporter: lazzara | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: |
---------------------+------------------------------------------------------
In level::stretch, we use float variables to do the following:
{{{
float
epsilon = mln_epsilon(float),
M = mln_max(V) + 0.5f - epsilon,
m = 0.0f - 0.5f + epsilon;
}}}
'm' is precise enough since it is a really low value. However, M is not
precise enough since mln_max(V) may be a high value, so we will loose
decimal precision if we store that number as float. As a result, M is
always equal to 'mln_max(V) + 0.5' which introduce a bug in
level::stretch.
This issue can be avoided by using double variables instead, but do we
really want that?
Don't we want to handle that issue in a more generic way?
--
Ticket URL: <https://trac.lrde.org/olena/ticket/179>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#165: Separate sites sets from their psites?
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: proposal | Status: new
Priority: major | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
Many files containing the definitions site sets, located in
source:branches/cleanup-2008/milena/mln/core/site_set/, include the
related psite and piters. Split them into several files? (And add
convenience headers including all of them?)
--
Ticket URL: <https://trac.lrde.org/olena/ticket/165>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#155: Reuse existing script to factor the Makefile machinery in Swilena
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: levill_r
Type: enhancement | Status: new
Priority: minor | Milestone: Olena 1.0
Component: Swilena | Version: 1.0
Keywords: |
-------------------------+--------------------------------------------------
For instance, there are parts to be factored in
source:trunk/swilena/python/Makefile.am.
See what TC, Olena 0.11 and clspr used.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/155>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#156: Kill a maximum of warnings in Swilena
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: levill_r
Type: enhancement | Status: new
Priority: minor | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: |
-------------------------+--------------------------------------------------
The Python wrappers have been written quickly, and they lack some
information (base classes, etc.), making `swig` emit a lot of warnings.
Most of them are harmless, however they clutter the output of the build.
Get rid of them.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/156>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#128: Handle carefully tests using X11
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 1.0ß
Component: Milena | Version: 1.0
Keywords: test |
----------------------+-----------------------------------------------------
Some tests require X11 visualization programs such as `display` (from
!ImageMagick) or `xv`. This is an issue since
* the they might not be installed on the machine;
* the host/session on which tests are executed might not run a X11
display.
IMHO, we could either
1. move them out of the `check` target (and have them launched by the
`check-all`/`check-full` target, or a check-x11 target); or
2. have `configure` check whether the required programs are present, as
well as a (usable) X11 session.
(Maybe the Vaucanson Team ran into such questions; ask them.)
--
Ticket URL: <https://trac.lrde.org/olena/ticket/128>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
#125: Ambiguity in comparaison with literals
--------------------------------+-------------------------------------------
Reporter: garrigues | Owner: theo
Type: defect | Status: new
Priority: major | Milestone: Olena 1.0ß
Component: Milena | Version: 1.0
Keywords: literals operators |
--------------------------------+-------------------------------------------
This test shows the problem :
{{{
#!cpp
# include <mln/value/gl8.hh>
# include <mln/literal/all.hh>
int main()
{
using mln::value::gl8;
using mln::literal::white;
gl8 b;
b == white;
}
}}}
The compiler can't find the right operator== to compate graylevel with
literals.
Here is the error output :
{{{
test.cc: In function 'int main()':
test.cc:11: error: ISO C++ says that these are ambiguous, even though the
worst conversion for the first is better than the worst conversion for the
second:
../../mln/literal/ops.hh:252: note: candidate 1: typename
mln::trait::op::eq<O, O>::ret mln::operator==(const mln::Object<E>&, const
mln::Literal<L>&) [with O = mln::value::graylevel<8u>, L =
mln::literal::white_t]
../../mln/value/internal/gray_f.hh:317: note: candidate 2: bool
mln::value::operator==(const mln::value::Integer<I>&, const
mln::value::graylevel_f&) [with I = mln::value::graylevel<8u>]
}}}
--
Ticket URL: <https://trac.lrde.epita.fr/olena/ticket/125>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
#157: Improve depency tracking in Swilena
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: enhancement | Status: new
Priority: minor | Milestone: Olena 1.0
Component: Swilena | Version: 1.0
Keywords: |
-------------------------+--------------------------------------------------
Our hand-made build system does not seem to track dependencies very well
in Swilena/Python. Improve this.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/157>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#180: algebra::vec's != operators cannot be used.
---------------------+------------------------------------------------------
Reporter: lazzara | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: |
---------------------+------------------------------------------------------
The following example does not compile.
test.cc:
{{{
# include <mln/algebra/vec.hh>
int main()
{
using namespace mln::algebra;
vec<3, float> a, b;
bool c = (a != b);
}
}}}
g++ -I. test.cc
{{{
test.cc: In function 'int main()':
test.cc:6: error: cannot convert 'mln::algebra::vec<3u, bool>' to 'bool'
in initialization
./mln/core/routine/ops.hh: In function 'typename mln::trait::op::neq<L,
R>::ret mln::operator!=(const mln::Object<E>&, const mln::Object<O2>&)
[with O1 = mln::algebra::vec<3u, float>, O2 = mln::algebra::vec<3u,
float>]':
test.cc:6: instantiated from here
./mln/core/routine/ops.hh:528: error: conversion from 'bool' to non-scalar
type 'mln::algebra::vec<3u, bool>' requested
}}}
Note that if '(a != b)' is replaced by '(a == b)' or '!(a == b)', this
example compiles.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/180>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#144: Fix load (and maybe save) routine(s) for ASCII-encoded PBM images
-------------------------------------+--------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: defect | Status: new
Priority: critical | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: I/O IO input output pbm |
-------------------------------------+--------------------------------------
Théo discovered on May 28, 2008 that the load routine for ASCII-encoded
PBM (boolean) images was broken (and maybe the save routine, too).
The other ASCII-based Netpbm should be checked as well. Don't close this
ticket until all of these routine have been inspected and declared safe!
--
Ticket URL: <https://trac.lrde.org/olena/ticket/144>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.