A list of suggestions for Olena.

Add any idea or suggestion you have, regarding implementation of Olena, its contents, its use, etc.

  • In the doc, "apply(convert::stretch<int_u8>(), res_img)" should be used for all algorithm that produces labels.
  • Core need some directories to make it more readable. Rename fwd_iter1d, ... to iter_fwd_1d, ...
  • Improve image I/O: have a look at pam to handle output on int_u32, float and complex images.
  • Extend winiter: Add an orientation meaning in traversing dpoints (clockwise, counter-clockwise...):
1 window2d w = win_c4p();
2 winiter<window2d> dp(w, clockwise);
3 for_all(dp)
4 	[...]
  • Expand Types's behaviour and operations to image:
1 image2d< int_u<3, strict> > a;
2 image2d< int_u<4, strict> > b = a;
4 image2d< int_u<3, unsafe> > c = b + a;
  • Bitwise operations upon scalar type.
  • Olena type names

Olena has got point2d, dpoint2d, window2d, w_window2d, neighborhood2d. That's great. But the size type is called image2d_size ! It should be size2d.

  • Removing dp of a window

A window::rm(const dpoint& ) method should be great. This is usefull for interactive edition of a window.

  • Adding a way to specify the border size when we create an image by "IO" :

image2d<int_u8> lena("./lena.pgm", 5); (currently you can use the argument "border size" in the other constructors of image)

  • Adding a smart way to create windows.

Currently we do :

1   win
2 		.add(0, -delta)
3 		.add(-delta, 0);

We would like to write something like :

1 win = {ints = 0, -delta, brk,
2 				  -delta, 0, end}
  • Make dimension a type rather than an unsigned and build a hierarchy of dimension types (theo)
  • Delete oln/core/generate.hh
  • Delete oln/core/abstract/binary_image.hh
  • Add macros: