#199: Stop using recursive Makefiles in milena/tests/?
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: proposal | Status: new
Priority: trivial | Milestone: Olena 1.1
Component: Milena | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
This is an open debate, not a well-defined task.
As of r3946, there are more than a hundred `Makefile`s under
source:trunk/milena/tests/. This has a huge impact on configuration and
build times.
Akim suggests we use `Makefile` inclusions instead of `Makefile` recursion
to speed up things. This also means losing the possibility to invoke
`make` in a specific subdirectory of `milena/tests/`, which is very handy.
Akim says we can substitute the feature by using scripts relying on the
control version program (http://lists.gnu.org/archive/html/automake-
patches/2009-03/msg00079.html).
Let's discuss this, and see what we can do after the 1.0 release.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/199>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#134: Overhaul the generation of the documentation
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: levill_r
Type: enhancement | Status: new
Priority: major | Milestone: Olena 1.0ß
Component: Milena | Version: 1.0
Keywords: doc |
-------------------------+--------------------------------------------------
Changes introduced in r1606 downgraded many features that were present
before! In particular, source:trunk/milena/doc/Doxyfile.in has been
downgraded from Doxygen version 1.5.2 to Doxygen 1.5.1 (why!?).
Let's start again on a sound basis. The best way is probably to reused
`Doxyfile.in` from a previous revision (e.g,
source:trunk/milena/doc/Doxyfile.in#1476), and add current features (e.g.,
double documentation generation).
--
Ticket URL: <https://trac.lrde.org/olena/ticket/134>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#213: Fix the build system to have « make -j » work
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 1.1
Component: Milena | Version: 2.0
Keywords: |
----------------------+-----------------------------------------------------
We cannot safely use parallel make (`make -j`''n'') with current build
system, mainly because of `milena/doc/*`. Once this part is revamped,
ensure `make -j2` (or more) works.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/213>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#203: Document commit procedures
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: levill_r
Type: task | Status: new
Priority: critical | Milestone:
Component: Trac | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
There are just too many mistakes in commits. The LRDE Guidelines warns
about many of them, but IMHO it is not enough.
A draft summary:
* Read comments from other about your patches (and patch proposals), and
take them into account.
* Use tools, but don't be fooled by them (know their limits): Vcs, `svn-
wrapper`, etc. A flaw in a tool is not an excuse for a dirty patch.
* Learn what a (good) !ChangeLog entry is.
* Kwow why !ChangeLogs matter (whatever their form), both technically
and legally.
* Learn how to fix !ChangeLogs correctly.
* Resist to the temptation to commit too fast.
* Don't break things: run `make` (and possibly `make check`) before
committing.
* Do not commit too many things at once: one idea/one task = one
commit.
* Reread you patches before sending them.
* Use ispell (when writing documentation).
* Learn how to use `git-svn` (or `git`, if it is available) instead of
`svn`.
* Learn from others: some tools take time to understand and master (Make,
Autoconf, Automake, shells, etc.).
Olena Teammates shall print and read this page once complete.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/203>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#147: Write a script to automatically generate file skeletons for Olena
-----------------------+----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: task | Status: new
Priority: trivial | Milestone:
Component: Milena | Version: 1.0
Keywords: generator |
-----------------------+----------------------------------------------------
A Ruby script would be nice, but the language doesn't really matter.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/147>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#160: Revamp complexes
----------------------------+-----------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: enhancement | Status: new
Priority: minor | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: cleanup rename |
----------------------------+-----------------------------------------------
* Move complexes from `mln/core/` to `mln/topo/`.
* The '''dynamic''' access(es) to the set of ''n''-faces of a complex
(e.g., `mln::complex::nfaces(unsigned)`) has (have) a linear complexity!
We should get rid of that. We could create an index at the creation of
the complex, mapping dynamic dimension numbers to the corresponding
(static) mixin/data. Ask Roland for details.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/160>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#188: Implement more windows, neighborhoods, and corresponding iterators for
complex-based images
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: levill_r
Type: task | Status: new
Priority: minor | Milestone: Olena 1.1
Component: Milena | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
This ticket is a sequel to #162.
In addition to the neighborhoods, windows, and iterators for complex-based
images from #162, implement windows/neighborhoods (and corresponding
iterators) returning the following elements (where ''n'' is a (fixed)
dimension and ''p'' a psite on an ''n''-face).
`complex_cell_window`:: the set of the faces in the « cell » including
''p'' (named « ''p''-hat » in
couprie.08.pami), i.e. the set of all ''m''-faces transitively adjacent
to ''p'',
where ''m'' is in [0, ''n''-1].[[BR]]
In that definition, ''p'' is said adjacent to an ''m''-face ''q'' if
there is a sequence (''m,,1,,'', ''m,,2,,'', ..., ''m,,k,,'') of faces so
that
* ''m,,1,,'' is an (''n''-1)-face adjacent to ''p'' ;
* ''m,,2,,'' is an (''n''-2)-face adjacent to ''m,,1,,'' ;
* ... (and so on)
* ''m,,k,,'' is an (''m''+1)-face adjacent to ''q''.
`complex_boundary_cell_window`:: Likewise, but excluding ''p'' (named «
''p''-hat* » in couprie.08.pami).
And maybe:
`complex_lower_dims_connected_window`:: the set of ''n''-faces sharing a
(''n''-1)-face or (''n''-2)-face etc. (by transitivity) with ''p'' (is it
useful?);
`complex_higher_dims_connected_window`:: the set of ''n''-faces sharing a
(''n''+1)-face or (''n''+2)-face etc. (by transitivity) with ''p'' (is it
useful?);
* what else?
As in #139,
* we might want to factor things using implementation classes:
* ``mln::internal::complex_vicinity``
* ``mln::internal::complex_vicinity_piter``
(we might even be able to factor them with graph-based ones);
* we could have one or several generic classes, using static or dynamic
predicates, to implement those windows and neighborhoods.
Note that some of these iterators might implement operators on complexes,
see
http://en.wikipedia.org/wiki/Simplicial_complex#Closure.2C_star.2C_and_link.
Do not forget to update [wiki:Olena/ComplexBasedImages].
--
Ticket URL: <https://trac.lrde.org/olena/ticket/188>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#139: Factor common code shared by graph-related piters, windows and
neighborhoods
--------------------------+-------------------------------------------------
Reporter: levill_r | Owner: levill_r
Type: enhancement | Status: new
Priority: major | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: graph factor |
--------------------------+-------------------------------------------------
This tasks refers to these classes:
* `mln::graph_elt_window`
* `mln::graph_elt_neighborhood`
* `mln::line_graph_elt_window`
* `mln::line_graph_elt_neighborhood`
* `mln::graph_window_fwd_piter`
* `mln::graph_window_bkd_piter`
* `mln::graph_neighborhood_fwd_piter`
* `mln::graph_neighborhood_bkd_piter`
* `mln::line_graph_window_fwd_piter`
* `mln::line_graph_window_bkd_piter`
* `mln::line_graph_neighborhood_fwd_piter`
* `mln::line_graph_neighborhood_bkd_piter`
Note: we should factor other graph-related classes as well (psites,
images, etc.), but this is less urgent; open another ticket to handle
those.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/139>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.