#219: Add \internal in the documentation of internal code
---------------------+------------------------------------------------------
Reporter: lazzara | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 1.1
Component: Milena | Version: 1.0
Keywords: |
---------------------+------------------------------------------------------
Currently, in order to not expose the internal code in the user
documentation, everything in the internal and trait namespaces is ignored
during the doc generation.
The main issue is that inherited members are not shown in the
documentation of the classes exposed to the user.
The only way to ask Doxygen to show inherited members and not to show
internal documentation is to add \internal in the documentation of
internal code.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/219>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#235: Support GraphicsMagick++ and drop support for ImageMagick++
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: proposal | Status: new
Priority: major | Milestone: Olena 1.1
Component: Milena | Version: 1.0
Keywords: io external |
-------------------------+--------------------------------------------------
!GraphicsMagick (http://www.graphicsmagick.org/) seems to provide a
framework more modern than !ImageMagick's (http://www.imagemagick.org), in
particular regarding multi-core support.
Moreover Fabien has discovered weird behaviors (#210) and Buildbot has
also recently exhibited run time errors that did not surface before
(https://buildfarm.lrde.org/buildfarm/oln/builders/i486-linux-gnu-
gcc-4.1/builds/539/steps/check/logs/stdio) -- though I don't know who's
the culprit here.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/235>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#239: Have Scribo be compatible with (also) Tesseract 3.0
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Scribo | Version: 1.0
Keywords: |
-------------------------+--------------------------------------------------
Scribo's optional parts requiring Tesseract work well with its version
2.0, but this is no longer true with version 3.0, at least with !MacPorts'
version (`libtesseract_full.a` is missing).
It would be nice to be able to support both versions, since 2.0 is
Debian's default, and 3.0 is !MacPorts' version.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/239>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#229: Have Olena's BuildBot generate GitStats information
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: levill_r
Type: enhancement | Status: new
Priority: trivial | Milestone: Olena 1.1
Component: other | Version: 1.0
Keywords: |
-------------------------+--------------------------------------------------
Git statistics are generated by my (Roland's) account for a limited set of
branches, each night. It'd be smarter to have one of the buildslave
invoke a script running `gitstats` and uploading the result (as `lrde-
upload.sh` does) prior to building the project. We could even filter
branches (having statistics for all branches might not be relevant).
--
Ticket URL: <https://trac.lrde.org/olena/ticket/229>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#225: Code not displayed in tutorial
---------------------------+------------------------------------------------
Reporter: jonathan | Owner: Olena Team
Type: defect | Status: new
Priority: minor | Milestone:
Component: Milena | Version: 1.0
Keywords: doc, tutorial |
---------------------------+------------------------------------------------
in page, [http://www.lrde.epita.fr/dload/olena/1.0/doc/milena/devel_doc/]
all examples of code are not displayed (all boxes are empty)
--
Ticket URL: <https://trac.lrde.org/olena/ticket/225>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#220: Change the logo of the Trac
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: task | Status: new
Priority: trivial | Milestone:
Component: Trac | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
Use this one instead:
http://www.lrde.epita.fr/dload/olena/logos/olena_small.jpg.
Unfortunately, we don't have the required permissions on the Trac's
files/dirs to change it.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/220>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
#172: Experiment SCOOP 1.5/2 with C++0x concepts
-------------------------+--------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: enhancement | Status: new
Priority: trivial | Milestone: Olena 2.0
Component: Olena-NG | Version: 2.0
Keywords: |
-------------------------+--------------------------------------------------
What I call SCOOP 1.5 is the paradigm currently used in Milena 1.0 (as of
Nov. 2008), and SCOOP 2 the paradigm described in the MPOOL'08 paper (used
in Olena-NG).
--
Ticket URL: <https://trac.lrde.org/olena/ticket/172>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch non-8-bit-magick-quantum has been created
at dd1c8b5e0e3162477a220b28b5d3eb233a68a82e (commit)
- Log -----------------------------------------------------------------
dd1c8b5 Handle properly non 8-bit Magick::Quantum's.
-----------------------------------------------------------------------
hooks/post-receive
--
Olena, a generic and efficient image processing platform
* mln/io/magick/load.hh
(mln::io::magick::load(Image<I>&, const std::string&))
* mln/io/magick/save.hh
(mln::io::magick::impl::get_color(const value::int_u8&))
(mln::io::magick::impl::get_color(const value::rgb8&)):
Properly convert values between Magick::Quantum and
mln::value::int_u8, and vice versa.
---
milena/ChangeLog | 12 ++++++++++++
milena/mln/io/magick/load.hh | 17 +++++++++++------
milena/mln/io/magick/save.hh | 30 ++++++++++++++++++++++--------
3 files changed, 45 insertions(+), 14 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 8e94f5d..2b6ae78 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-28 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Handle properly non 8-bit Magick::Quantum's.
+
+ * mln/io/magick/load.hh
+ (mln::io::magick::load(Image<I>&, const std::string&))
+ * mln/io/magick/save.hh
+ (mln::io::magick::impl::get_color(const value::int_u8&))
+ (mln::io::magick::impl::get_color(const value::rgb8&)):
+ Properly convert values between Magick::Quantum and
+ mln::value::int_u8, and vice versa.
+
2010-10-27 Roland Levillain <roland(a)lrde.epita.fr>
Fix Boost.Tuple handling.
diff --git a/milena/mln/io/magick/load.hh b/milena/mln/io/magick/load.hh
index 7004a80..60e857e 100644
--- a/milena/mln/io/magick/load.hh
+++ b/milena/mln/io/magick/load.hh
@@ -35,8 +35,6 @@
/// <em>before</em> using any of these functions, as advised by the
/// GraphicsMagick documentation
/// (http://www.graphicsmagick.org/Magick++/Image.html).
-///
-/// \fixme: re-enable quantum size check
# include <cstdlib>
@@ -142,9 +140,6 @@ namespace mln
{
trace::entering("mln::io::magick::load");
- // Ensure a Magick++'s Quantum is an 8-bit value.
- //mln::metal::equal<Magick::Quantum, unsigned char>::check();
-
I& ima = exact(ima_);
// FIXME: Handle Magick++'s exceptions (see either
@@ -166,7 +161,17 @@ namespace mln
mln_piter(I) p(ima.domain());
for_all(p)
{
- value::rgb8 c(pixels->red, pixels->green, pixels->blue);
+ /* Each channel of a Magick++ image is coded on a
+ Magick::Quantum value, which can be an 8-, 16- or 32-bit
+ integer. Load the most significant bits of each channel
+ into a component of an mln::value::rgb8 value (i.e., into
+ an mln::value::int_u8 value). */
+ value::rgb8 c(pixels->red >> 8 * (sizeof(Magick::Quantum)
+ - sizeof(value::rgb8::red_t)),
+ pixels->green >> 8 * (sizeof(Magick::Quantum)
+ - sizeof(value::rgb8::green_t)),
+ pixels->blue >> 8 * (sizeof(Magick::Quantum)
+ - sizeof(value::rgb8::blue_t)));
mln_value(I) res;
if (!impl::do_it(c, res))
{
diff --git a/milena/mln/io/magick/save.hh b/milena/mln/io/magick/save.hh
index 2c87c88..7a91ee0 100644
--- a/milena/mln/io/magick/save.hh
+++ b/milena/mln/io/magick/save.hh
@@ -35,8 +35,6 @@
/// <em>before</em> using any of these functions, as advised by the
/// GraphicsMagick documentation
/// (http://www.graphicsmagick.org/Magick++/Image.html).
-///
-/// \fixme: re-enable quantum size check
# include <cstdlib>
@@ -95,17 +93,33 @@ namespace mln
inline
Magick::Color get_color(const value::int_u8& value)
{
- // Ensure a Magick++'s Quantum is an 8-bit value.
- //mln::metal::equal<Magick::Quantum, unsigned char>::check();
- return Magick::Color(value, value, value);
+ /* Each channel of a Magick++ image is coded on a
+ Magick::Quantum value, which can be an 8-, 16- or 32-bit
+ integer. Store the data from each mln::value::int_u8
+ values into the most significant bits of Magick::Color's
+ channels. */
+ return Magick::Color
+ (value << 8 * (sizeof(Magick::Quantum) - sizeof(value::int_u8)),
+ value << 8 * (sizeof(Magick::Quantum) - sizeof(value::int_u8)),
+ value << 8 * (sizeof(Magick::Quantum) - sizeof(value::int_u8)));
}
inline
Magick::Color get_color(const value::rgb8& value)
{
- // Ensure a Magick++'s Quantum is an 8-bit value.
- //mln::metal::equal<Magick::Quantum, unsigned char>::check();
- return Magick::Color(value.red(), value.green(), value.blue());
+ /* Each channel of a Magick++ image is coded on a
+ Magick::Quantum value, which can be an 8-, 16- or 32-bit
+ integer. Store the data from each component of
+ mln::value::rgb8 values (of type mln::value::int_u8) into
+ the most significant bits of Magick::Color's
+ channels. */
+ return Magick::Color
+ (value.red() << 8 * (sizeof(Magick::Quantum)
+ - sizeof(value::rgb8::red_t)),
+ value.green() << 8 * (sizeof(Magick::Quantum)
+ - sizeof(value::rgb8::green_t)),
+ value.blue() << 8 * (sizeof(Magick::Quantum)
+ - sizeof(value::rgb8::blue_t)));
}
} // end of namespace mln::io::magick::impl
--
1.5.6.5