#126: Speed up tests
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: enhancement | Status: new
Priority: major | Milestone: Olena 1.0ß
Component: Milena | Version: 1.0
Keywords: |
-------------------------+--------------------------------------------------
Some tests take a very long time to execute. Main causes are:
* input image(s) are too big [[BR]] => they should be reduced (sometimes,
testing on `lena.pgm` is just too costly);
* the default, non-optimized compilation settings (`-O0 -ggdb`) produces
very inefficient code for certain algorithms [[BR]] => we should locally
increase the level of optimization (e.g., `-O1` or `-O2`) for these tests,
and '''document''' this in `Makefile.am` (explain why we made changes in
`CXXFLAGS` for a given test).
We might want to make a list of lengthy tests here before solving this
ticket.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/126>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
#129: Reintegrate oln.m4 (full or a part of it) into Olena 1.0
-----------------------------------+----------------------------------------
Reporter: levill_r | Owner: levill_r
Type: enhancement | Status: new
Priority: minor | Milestone: Olena 1.0ß
Component: Olena | Version: 1.0
Keywords: configure autoconf M4 |
-----------------------------------+----------------------------------------
In Olena 0.11, `oln.m4` (which might be renamed to `olena.m4`) provided
useful services to both the Olena package (search for libraries, set up
flags for tests, etc.) and autoconfiscated packages using Olena, by
providing a `--with-oln` (to be renamed to `--with-olena`) flag.
We should reintegrate a part of these features, possibly in two M4 macro
packages:
* one for Olena,
* one for Olena-based projects.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/129>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
#132: Use gcov
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: task | Status: new
Priority: major | Milestone: Olena 1.0ß
Component: Milena | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
1. Use `gcov` to check which parts of Olena are actually covered
(instantiated and checked) by the test suite.
1. Automate with make.
1. Optionally use the LTP GCOV Extension (`lcov`) :
http://ltp.sourceforge.net/coverage/lcov.php
--
Ticket URL: <https://trac.lrde.org/olena/ticket/132>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
#124: Ensure I/O operations on images holding greater-than-8-bit values are
robust w.r.t. endianness
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: task | Status: new
Priority: minor | Milestone: Olena 1.0ß
Component: Milena | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
This might be difficult to check, since it's platform-dependant. At
least, we should check this (with the build farm) on a host with an
endianness different than IA-32's or Intel 64's (e.g., a SPARC station).
According to http://en.wikipedia.org/wiki/Endianness,
* Intel IA-32 (and probably Intel 64 and AMD 64) are little-endian;
* Motorola 68k, Sun SPARC and IBM System/370 processors are little-
endian;
* PowerPC, ARM, DEC Alpha, MIPS, HP PA-RISC and Intel IA-64 processors
are bi-endian.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/124>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image 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.
#122: [TRAITS] image_if_base
---------------------+------------------------------------------------------
Reporter: duhamel | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 1.0ß
Component: Milena | Version: 1.0
Keywords: |
---------------------+------------------------------------------------------
In source:trunk/milena/mln/core/internal/image_if_base.hh data trait is
suspect.
For example an image_if from an image1d has always data trait raw !
--
Ticket URL: <https://trac.lrde.org/olena/ticket/122>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
#131: Implement area closing and attribue closing
--------------------------------------------------------+-------------------
Reporter: levill_r | Owner: Olena Team
Type: defect | Status: new
Priority: minor | Milestone: Static 1.0
Component: Milena | Version: 1.0
Keywords: completion dual naming routines algorithms |
--------------------------------------------------------+-------------------
Currently, these files are available:
* source:trunk/morpho/mln/opening_area.hh
* source:trunk/morpho/mln/opening_attribute.hh
but there is no equivalent for closings. Implement them.
BTW, these files and their routines are called `opening_area` and
`opening_attribute`, which is not elegant. Of course the goal is to put
forward the opening term; but IMHO, we should use namespace to do this,
not prefixes. Or rename them to `area_opening` and `attribute_opening`,
which are much more natural. Anyway, any further discussion on the subject
of naming algorithms should be carried on in another ticket.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/131>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
#130: Don not pass neighborhoods as argument to algorithms
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 1.0ß
Component: Milena | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
Neighborhoods shall be bound to images: they are a property of them.
Hence an algorithm (at least a facade) shall not accept an image along
with an ''external'' neighborhood. Most of the time, these algorithms are
based on windows improperly called neighborhoods.
Here is the list of files to revamp, as of revision 1663:
* source:trunk/labeling/level.spe.hh
* source:trunk/labeling/regional_maxima.hh
* source:trunk/labeling/regional_minima.hh
* source:trunk/make/voronoi.hh
* source:trunk/milena/mln/geom/labeling/blobs.hh
* source:trunk/milena/mln/geom/seeds2tiling_roundness.hh
* source:trunk/milena/mln/labeling/background.hh
* source:trunk/milena/mln/labeling/flat_zones.hh
* source:trunk/milena/mln/labeling/foreground.hh
* source:trunk/milena/mln/labeling/level.hh
* source:trunk/morpho/Rd.hh
* source:trunk/morpho/dilation.hh
* source:trunk/morpho/opening_area.hh
* source:trunk/morpho/opening_attribute.hh
--
Ticket URL: <https://trac.lrde.org/olena/ticket/130>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
#127: Generalize the definition of the Sobel gradient
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: enhancement | Status: new
Priority: trivial | Milestone:
Component: Milena | Version: 1.0
Keywords: |
-------------------------+--------------------------------------------------
For the moment (rev. 1656), the Sobel gradient only works on 2-D images.
We could generalize its definition to n-D (regular) images. For instance,
a 3-D version is mentioned in
http://www.aravind.ca/cs788h_Final_Project/gradient_estimators.htm.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/127>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.