Good night,

I am currently starting to develop with olena/milena and I was following the tutorial when I found something that puzzled me:

 63     image2d<value::rgb8> lena;
 64     io::ppm::load(lena, MLN_IMG_DIR "/small.ppm");
 65 
 66     std::cout << geom::min_row(lena) << ' ' << geom::max_row(lena) << '\n';
 67     std::cout << geom::min_col(lena) << ' ' << geom::max_col(lena) << '\n';
 68 
 69     for (def::coord row = geom::min_row(lena); row < geom::max_row(lena); ++row)
 70         for (def::coord col = geom::min_row(lena); col < geom::max_col(lena); ++col)
 71             if (((row + col) % 2) == 0)
 72                 opt::at(lena, row, col) = literal::green;
 73 
 74     io::ppm::save(lena, "./lena_chess.ppm");

The definition of geom::min/max_row/col its that it gives you the image limits, so I should get lena's image in a chess pattern. 
Strangely as it may look, it happens to not fill the right and bottom edges as you can see in the picture:

image.png

I think there is something wrong in the tutorial as the loop should have as upper limit row/col <= geom::max_row/col instead of =

http://www.lrde.epita.fr/dload/olena/2.0/doc/milena/user-refman-html/d3/dfe/a00025.html

The thing is that in all the tutorials the limit is set as =, so it is either a bug in milena's function or in the tutorial (or in my computer ;) )

Best regards


--
Cristián Canivell Gutiérrez
UPM Facultad de Informática