Todo List

Class mln::accu::internal::couple< A1, A2, R, E >
Check that, when T is not provided, A1 and A2 have the same value.

Class mln::accu::pair< A1, A2, T >
Check that, when T is not provided, A1 and A2 have the same value.

Class mln::Generalized_Pixel< E >
(later) Add an access to the targetted image.

Class mln::internal::set_of_< E >
Add a remove method.

Member mln::p_faces::p_faces (const p_complex< D, P > &pc)
When available, get location information from pc.

Class mln::p_run< P >
Test if P being a Point_Site is ok.

Class mln::util::lazy_set_< E >
Add a remove method.

File adjacency_matrix.hh
the underlying data structure is chosen according to the value type quantification however we may like to make it depend on the number of elements.

File adjacency_matrix.hh
Have theo re-read this file.

File extension/adjust.hh
Fix doc.

File adjust_duplicate.hh
Fix doc.

File adjust_fill.hh
Fix doc.

File accu/all.hh
Update accumulators s.a. count so that they are like min_/min.

File accu/all.hh
Propagate those updates to mln/estim/.

File accu/all.hh
Update the include list...

File all.hh
Do not include essentials.

File core/routine/all.hh
Move files, update, and activate.

File extension/all.hh
Also include "extension images" + "extended"?

File fun/all.hh
Incomplete list of files.

File labeling/all.hh
Many files in this directory have to be updated with the test and dispatch mechanisms.

File value/all.hh
Incomplete list of files.

Member mln::data::apply (Image< I > &input, const Function_v2v< F > &f)
Add versions for lowq images.

File util/array.hh
Zed: Add a lazy removal method (based on an extra attribute std::vector<bool> has_). Then add a purge/compress method.

File asf-complex1d.cc
There should be a second version of this program, where the graph structure is implemented with an actual mln::util::graph.

File geom/bbox.hh
Re-activate precondition so introduce "set::nsites(Site_Set)"...

File geom/bbox.hh
Add a static check "domain is ok for bbox (like grid)".

File geom/bbox.hh
Add the weighted_window case.

File binarization.hh
Rename and/or remove (that is this?)

File labeling/blobs.hh
Handle abort in a nice way...

File labeling/blobs.hh
Add a 2nd version precising the 'value' to label.

File core/site_set/box.hh
Test if the safety code in box::box() is not too slow.

File make/box2d.hh
Accept long int as args and test overflow (out of def::coord bounds).

File c.hh
Fix category: super is not defined! See mln/value/builtin/integers.hh for an example.

File morpho/attribute/card.hh
Add a static check in the accumulator concept so that when_pix::use_none => take_as_init() is provided.

File fun/v2v/cast.hh
The function is intrisically meta; how to handle that particular case?

File cast_image.hh
Rename as cast_image (without '_')!

File center.hh
Fix to_result() value when invalid...

File classical_window_base.hh
Remove the .vect() method.

File classical_window_base.hh
Add a test that overridden delta_() and win.delta() give the same result.

File coefficients.hh
Add a clean reference Rachid Deriche Recursively implementing the gaussian and its derivatives (1993)

File trait/value/internal/comp.hh
Revamp to directly access to the most internal helper instead of bumping from one helper to another.

File accu/compute.hh
Specialize for fastest images.

File labeling/compute.hh
write fastest version.

File compute_attribute_image.hh
Specialize for low quant (and try fastest).

File compute_parent.hh
Specialize for low quant (and try fastest).

File compute_parent.hh
Augment and improve documentation.

File compute_parent.hh
Change data::sort so that the explanations below are valid whatever the choice 'increasing or decreasing'.

File compute_with_weights.hh
Add a meta version for the labeling variation.

File contrast.hh
Save memory.

File mln/data/convert.hh
Re-write doc.

File mln/fun/v2v/convert.hh
The function is intrisically meta; how to handle that particular case?

File count.hh
Add an optional parameter to set the type of the counter.

File morpho/attribute/count_adjacent_vertices.hh
Check that the image is based on a graph.

File util/couple.hh
revamp and refactor with util::site_pair or ord_pair.

File milena/mln/core/internal/data.hh
Rename as image_data (more explicit!)

File milena/mln/morpho/tree/data.hh
Think about site iterator (using image site iterator instead of S container iterator) to go faster.

File delta.hh
Add doc.

File set/diff.hh
Add a diff(Site_Set& in_place, Function_v2b).

File arith/diff_abs.hh
Speedup; some versions are not optimal.

File dilation.hh
The overloads are hidden and I don't know why!

File dindex.hh
Remove coord and dim, then make window<dindex> work.

File dindex.hh
Add inheritance to Object so add operators and traits.

File distance_functor.hh
Move all functors into their corresponding file.

File arith/div.hh
Speedup; some versions are not optimal.

File double_neighb2d.hh
Add overload with 'when_*' being Neighborhood<N>...

File dpoints_pixter.hh
In init_ use offsets_wrt (defined in concept/window.hh).

File draw_graph.hh
write a version for graph images.

Member mln::border::duplicate (const Image< I > &ima)
Optimize with memcpy if possible.

File extension/duplicate.hh
Fix doc.

File elementary.hh
Add fastest version.

File enlarge.hh
Make it much more generic.

File erosion.hh
The overloads are hidden and I don't know why!

File extension/essential.hh
Also include "extension images" + "extended"?

File extend.hh
Use the 'instant' mechanism.

File extend.hh
Deal with ambiguities.

File extend.hh
Check that there is no extension yet (except "extendable").

File extended.hh
Add a special case for "ima | box"; think about some other special cases...

File extension_fun.hh
Deal with two-ways functions...

File extension_fun.hh
Use an envelop as lvalue to test extension writing.

File extension_val.hh
Use the 'instant' mechanism.

File extension_val.hh
Use an envelop as lvalue to test extension writing.

File fast_median.hh
There are implicit assumptions about input being 2D!!!

Member mln::border::fill (const Image< I > &ima, const typename I::value &v)
Optimize with memset if possible.

File data/fill.hh
Add a conversion "arr->fun" then get rid of the C array overload.

File extension/fill.hh
Test the compatibility between val and mln_value(I) because, while unmorphing, this type can change...

Member mln::extension::fill (const Image< I > &ima, const typename I::value &val)
Optimize with memset if possible.

File fill_with_image.hh
Specialize with line_piter...

File fill_with_value.hh
Move specializations in a extra file.

File fill_with_value.hh
Activate fill_with_value_cell_wise.

File fill_with_value.hh
Optimize when ima is large and sizeof(mln_value(I)) > 1.

File linear/gaussian/filter.hh
Add a clean reference Rachid Deriche Recursively implementing the gaussian and its derivatives (1993)

File find_root.hh
write a 'parent' image instead?

File flat_image.hh
Zed: Address the values v. destination issue.

File from_double_to_value.hh
Augment code + add checks.

File from_float_to_value.hh
Augment code + add checks.

File from_image_to_site_set.hh
Augment code + add checks.

File from_image_to_site_set.hh
Add (?) the case p_run-based -> site set.

File from_int_to_value.hh
Augment code + add checks.

File from_to.hh
Test the effectiveness of guards.

File from_to.hh
Dispatch code in appropriate files.

File from_to.hh
Find a solution for g++-2.95 and '...'; see FIXME below.

File from_unsigned_to_value.hh
Augment code + add checks.

File from_value_to_value.hh
Augment code + add checks.

File gaussian.hh
Add a clean reference Rachid Deriche Recursively implementing the gaussian and its derivatives (1993)

File gaussian_1d.hh
This is experimental code to be merged with regular code...

File gaussian_directional_2d.hh
This is experimental code to be merged with regular code...

File general.hh
Have infimum and supremum for value types, apart from morphology!

File set/get.hh
Layout and specialize.

File elementary/gradient.hh
Add fastest version for sets.

File gradient.hh
Save memory.

File gradient_external.hh
Fix the extension issue (see todo in like_ero_fun and _set).

File gradient_internal.hh
Fix the extension issue (see todo in like_ero_fun and _set).

File graph_elt_window_if.hh
Allow to pass a function instead of an image.

File graph_first_search.hh
Code "next(const S& stack)".

File graph_iter_base.hh
Have special types for ids (vertex_id) to disambiguate the conversion op.

File graph_psite_base.hh
Do not compile when id_t is unsigned (so the conversion operator is defined twice!)

File algebra/h_mat.hh
Add traits.

File set/has.hh
Layout and specialize.

File morpho/closing/height.hh
The test result looks very weird... Debug!

File accu/histo.hh
Use histo::array instead of std::vector!

File debug/histo.hh
Move to io::histo::save.

File hit_or_miss.hh
Save memory.

File hsl_to_rgb.hh
Etienne: Remove the global variables!

File icp.hh
encode distances on 12 bits.

File make/image.hh
I guess that we should modify V into mln_unconst(V); test with C arrays being "const int[]" and run g++-2.95...

File image1d.hh
Rewrite from_to(histo, image1d) after Etienne's work.

File core/image/image2d.hh
Re-activate include at EOF when make::image2d is up again.

File core/image/image2d.hh
Rename delta_index and point_at_index as offset and point_at_offset.

File make/image2d.hh
Think about removing make::image2d since it is redundant with convert::to and convert::from_to.

File make/image3d.hh
Think about removing make::image3d since it is redundant with convert::to and convert::from_to.

File core/internal/image_base.hh
Provide coord iff the site is a grid point.

File internal/check/image_fastest.hh
Check and convert p in index_of_point towards E::psite.

File image_identity.hh
Move "fastest impl" elsewhere; it can be used by some other classes.

File image_morpher.hh
Add the appropriate checks in .rw().

File mln/trait/images.hh
Split this file into many.

File mln/trait/images.hh
the 'nature' prop is not set yet in image types.

File mln/trait/images.hh
The image list is not up-to-date (and move it elsewhere !)

File fun/meta/impl.hh
Remove this deprecated code and its deps.

File linear/gaussian/impl.hh
Add a clean reference Rachid Deriche Recursively implementing the gaussian and its derivatives (1993)

File index.hh
Remove coord and dim, then make window<dindex> work.

File index.hh
Add inheritance to Object so add operators and traits.

File influence_zone_adjacency_graph.hh
Add dispatch for fast images.

File influence_zone_adjacency_graph.hh
Use an adjacency matrix when available in the library.

File concept/integer.hh
Similar files needs to be cleaned-up.

File interpolated.hh
think having has(algebra::vec v) as a method

File interval.hh
Likewise, code value::not_equal(t), less_than, etc.

File is_separator.hh
Make it work in n-D.

File accu/logic/land.hh
Have land be parameterized.

File land_basic.hh
Have land_basic be parameterized.

File elementary/laplacian.hh
Handle the set case?

File laplacian.hh
Save memory.

File like_ero_fun.hh
Add a choice between adjust_fill and adjust_duplicate.

File like_ero_set.hh
Add a choice between adjust_fill and adjust_duplicate.

File accu/line.hh
Suppress integer manipulations (redundant with ptr arith).

File cloud/load.hh
Support 1 and 2d images.

File cloud/load.hh
Make it generic?

File tiff/load.hh
Add support for several tiles.

File tiff/load.hh
Use ReadScanline instead of ReadRGBAImage in order to avoid a dispatch and share the same code whatever is the value type.

File accu/logic/lor.hh
Have lor be parameterized.

File trait/op/lor.hh
Add land (for logical and).

File lor_basic.hh
Have lor_basic be parameterized.

File lut_vec.hh
Use fun::saturate in lut_vec ctor.

File max_site.hh
Use accu::pair just like in accu::stat::min_max.

File accu/stat/mean.hh
Use accu::pair just like in accu::stat::min_max.

File mean_values.hh
handle mean value for label 0 correctly.

File mean_values.hh
merge rgb and generic version.

File median.hh
Add versions for fastest and semi-linear images.

File memcpy_.hh
Overload with images and points; Cf. memset_.

File accu/stat/min_max.hh
A macro to create such accumulators.

File estim/min_max.hh
Overload while returning an std::pair.

File arith/minus.hh
Speedup; some versions are not optimal.

File border/mirror.hh
Awful code: rewrite it!

Member mln::border::mirror (const Image< I > &ima)
Implement 3d version + optimize with memset if possible.

File mixed_neighb.hh
See if the impl of from_to is fine. What about removing the origin? etc.

File multiple.hh
Implementation of the bkd_qiter (see FIXME).

File multiple_size.hh
Use n for tests and code!!!

File mln/core/neighb.hh
See if the impl of from_to is fine. What about removing the origin? etc.

File core/alias/neighb2d.hh
Add symmetry and non-centering tests in conversion.

File make/neighb2d.hh
Add overload with 'when_*' being Neighborhood<N>...

File neighborhood_base.hh
Complete conditional implementation inheritance w.r.t. properties.

File accu/nil.hh
A macro to generate the meta version.

File operators.hh
Fix code for multi-sets.

File p_array.hh
Add a facade to index_of_in so that it dispatches when calling it with Object<p_array_site>.

File p_array.hh
Use util::index (instead of int) as many times as possible.

File p_array.hh
See also the 'todo' entry in mln/core/concept/pseudo_site.hh.

File p_centered.hh
Add the bkd iter.

File p_centered.hh
Code is_valid() and change_target() for the site set.

Member mln::operator<= (const p_complex< D, G > &lhs, const p_complex< D, G > &rhs)
Refine this later, when we are able to express subcomplex relations.

File p_double.hh
Document!

File p_double.hh
Add tests about validity of compounded site sets (?)

Member mln::operator<= (const p_edges< G, F > &lhs, const p_edges< G, F > &rhs)
Refine this later, when we are able to express subgraph relations.

Member mln::operator<= (const p_faces< N, D, P > &lhs, const p_faces< N, D, P > &rhs)
Refine this later, when we are able to express subcomplex relations.

File p_if.hh
Change s_ attribute type to S*.

File p_image.hh
Add an init method (deferred initialization).

File p_key.hh
Be more verbose in run_().

File p_mutable_array_of.hh
Zed: Add another version (p_array_of) of this class that can inherit, when possible, nsites and bbox (just like in p_vaccess). It is a different class since such a feature is incompatible with the "op[] mutable".

File p_mutable_array_of.hh
Zed: Add element browsing.

File p_queue_fast.hh
Add insert.

File p_run.hh
Use a lazy approach (in subj) like in p_array psite.

File p_set_of.hh
Zed: Add element browsing.

File p_vaccess.hh
Fix the FIXMEs.

Member mln::operator<= (const p_vertices< G, F > &lhs, const p_vertices< G, F > &rhs)
Refine this later, when we are able to express subgraph relations.

File piter_adaptor.hh
Rename as site_iterator_adaptor_base.

File piter_adaptor.hh
Distinguish between adaptors of site_set_iterator, site_relative_iterator, etc. (?)

File util/pix.hh
Rename as util::pixel.

File util/pix.hh
Think about separating this class between util::pixel<"mutable" I> and util::pixel<const I>.

File util/pix.hh
Look at the todo entry of mln/core/pixel.hh.

File core/pixel.hh
Answer these questions:

File pixel_impl.hh
Clean-up code.

File arith/plus.hh
Speedup; some versions are not optimal.

File point.hh
the structure subject_point_impl is useless: first it is only used for 3D points (and it can be usefull for other points); second there is a room for the couple of methods (in the subject_impl specializations defined in core/alias/point*d.hh).

File primary.hh
We also need to get the extension image to handle border routines.

File println.hh
Revamp.

File image/props.hh
Remove space_from_point and fwd decls at EOF.

File site_set/props.hh
Precise the differences (?) between dynamic, growing, and free...

File window/props.hh
Precise the differences (?) between dynamic, growing, and free...

File core/concept/proxy.hh
preinc and predec are not tested; post-like ops are not handled.

File core/concept/proxy.hh
add "op=(T)" when possible, so add a constness property.

File core/concept/proxy.hh
add "opT()const" when possible.

File value/proxy.hh
Maybe we should overload conversion operator with proxy or... (we have to choose) maybe we should add cpy ctors (with proxy and proxy<J>).

File value/proxy.hh
Rename value::proxy as value::shell and fix the specific code from Fred (the 2nd parameter, namely F, is useless)

File value/proxy.hh
Checks in ~proxy eventually should be re-activated.

File pseudo_site.hh
Inconsistency: "if_possible::change_target" expects "::target_t" from a pseudo-site, whereas the concept checks for "::target".

File quat.hh
Inline computations in rotate routine.

File rag_and_labeled_wsl.hh
Do not use mln_max() as background label!

File rank.hh
It should be renamed as rank_h since it relies on histogram (thus low quantization).

File rank_bool.hh
There is no-arg-ctor so this accumulator does not support deferred initialization!

File rank_bool.hh
Add untake routines...

File rank_filter.hh
Rely on the same mechanism as erosion/dilation.

File Rd.hh
Reform code! Also go and see sandbox/theo/Rd.

File rectangle2d.hh
Reactivate includes at EOF.

File region_adjacency_graph.hh
add dispatch.

File resize.hh
This code is not complete: an image can be composed of several images whose multiple borders have to be resized! For instance an image extended by an image, or a stack of images.

File revert.hh
Add static assertion and save one iterator in in-place version.

File root.hh
Have consistent writing of math meta-routines.

File rotation.hh
store the quaternion instead of (axis, alpha) => better precision while composing two rotation matrices.

File safe.hh
Use 'instant' as the routine safe returns.

File samples-complex1d.cc
There should be a second version of this program, where the graph structure is implemented with an actual mln::util::graph.

File dump/save.hh
handle endianness.

File fld/save.hh
Handle not high speed images.

File magick/save.hh
At the moment it works; is it a miracle?

File separator_to_pixels.hh
Generalize to n-D.

File util/set.hh
Clean code and test!

File util/set.hh
Zed: Group methods into 2 categories: when frozen, when not.

File site_iterator.hh
Fix mln/core/concept/doc/site_iterator.hh

File site_relative_iterator_base.hh
Add a method to get the site set (if the center is defined) or the site set at a given center.

File mln/core/concept/site_set.hh
Add a "composite" property.

File skeleton_constrained.hh
Add an extension handling policy for the user to set it.

File slice_image.hh
Write init_.

File sobel_2d.hh
Extends to the case of other dimensions (only the 2-d case is handled here).

File sort_offsets.hh
Factor code + optimize.

File sort_psites.hh
Factor code + optimize.

File metal/math/sqrt.hh
Rely on nth-root.

File stretch.hh
Make it work with other types than scalars (e.g., vectors).

File stretch.hh
Think about adding a stretch_inplace(?)

File sub_image.hh
Add a special case for "ima | box"; think about some other special cases...

File sub_image_if.hh
Activate preconditions.

File estim/sum.hh
Sum works on level so move into mln/level; otherwise on pix then ambiguous.

File take_n_times.hh
Add versions with n as unsigned.

File templated_by.hh
: make it more generic, make it work on g++-2.95 (where templated_by< X, Y >check() compile)

File thru_image.hh
Debug constness of thru_image

File arith/times.hh
Speedup; some versions are not optimal.

File to.hh
Prefer a static check that fails in the "unknown" case.

File to_p_array.hh
Move these conversion in from_to related mechanisms.

File elementary/top_hat.hh
Save memory.

File top_hat.hh
Save memory.

File data/transform.hh
Clean this file + overload with pixel iterators.

File data/transform.hh
Re-activate tests and make them static.

File transform_diagonal.hh
Split dispatch and impl.

File transform_diagonal.hh
Pass the accumulator to the function-object.

File transform_directional.hh
Split dispatch and impl.

File transform_directional.hh
Pass the accumulator to the function-object.

File transform_inplace.hh
Take into account more properties; see data/transform.hh.

File transform_line.hh
Import code from sandox/geraud/browsing/fwd.cc to handle the case of no-domain-extension.

File transform_line.hh
Make a particular version that ignores any domain extension.

File transform_snake.hh
Make it n-D.

File transform_snake.hh
Split dispatch and impl.

File transform_snake.hh
Pass the accumulator to the function-object.

File transformed_image.hh
It is a rough code.

File unqualif.hh
Handle (or not) 'T*'.

File utils.hh
Remove this file after ./data.hh is completed!

File video.hh
Can we get rid of 'deja_vu' (while playing with the border) in the fastest video version?

File viter.hh
Proxify it!

File core/w_window.hh
Generalize W_Window -> Image.

File weighted_window.hh
Make sym() be optional.

File win_chamfer.hh
Revamp!

File concept/window.hh
Operator== should test if the cmp is possible.

File concept/window.hh
The is_centered() method could also exist when the window is not regular...

File window.hh
Make naming coherent: we have window (without '_') but point_, neighb_, etc.

File window.hh
Code other comparisons (< and <=).

File window.hh
Add static checks in insert methods.

File window.hh
Rename dps_hook_ as util_set_.

File fun/v2v/wrap.hh
Prefer not to cast towards 'unsigned long'; use a procedure such as enc(l) that can work on 'unsigned', 'int_u8', 'label<n>', and also other label types.

File zero.hh
Macro-ification of similar code (when no trivial conversion ops are involved).

Namespace mln
Complete those definitions (...) + Overload for const (?)

Namespace mln
Optimize deduced ops to eliminate object creation. E.g. in the unary minus op: literal::zero_t* p_zero = 0; return O(*p_zero) - exact(rhs); can become: static O zero =... return zero - exact(rhs);

Namespace mln
Address the remark in op/=.

Namespace mln
Rename 'front' because it is ambiguous for C++ users; we have:
  • 'p_queuepop' means 'dequepop_front'
  • 'p_queuepop_front' means 'return deque::front and run deque::pop_front'

Namespace mln
Implements parameter support

Namespace mln
try not to use tracked_ptr.

Namespace mln
try not to call T::plus_infty(). This is not generic enough but it works with mln::point<>.

Generated on Sun Apr 25 01:49:38 2010 for Milena (Olena) by  doxygen 1.5.6