Boost logo

Boost :

From: Jose (jmalv04_at_[hidden])
Date: 2006-10-24 17:10:18


I vote to accept GIL into Boost

This is a short review as most comments/suggestions have already been made
in the mailing list.
My review is from the library user point of view.

Design
======

It's GIL strength.

Implementation
=============

Average. The dynamic_image, io and numeric extensions are not part of the
review but they should.
They have not been added because the authors consider the numeric extensions
are not fully
optimized.

Although there are claims of performance superiority no benchmarks are
provided. The most common
image operations, save jpeg and downsample jpeg are provided but it is not
clear they are optimized
for speed. Useful downsample jpeg performance optimizations are not
provided.

Check epeg. "It makes use of libjpeg features of being able to load an image
by only
decoding the DCT coefficients needed to reconstruct an image of the size
desired. This gives a massive speedup. If you do not try to access the
pixels
in a format other than YUV (or GRAY8 if the source is grayscale) then it
also
avoids colorspace conversions as well."

I don't find the library syntax very easy but I don't have clear suggestions
either.

Documentation
=============

Good reference documentation in the design guide but awful documentation for
the library end user.
The tutorial could be improved by emulating Boost.asio clear step-by-step
tutorial examples.

The numeric extensions are not documented and there is not much use for the
core library without
the numeric extensions. I miss the traditional Boost-like docs, with
Rationale, FAQ, ...

Potential usefulness
================

Great potential, somewhat hampered by providing just the image container.

Did you try to use the library? With what compiler? Did you have any
problems?
================================================================

Yes
g++ 4.0.2 x86_64
The library had not been tested on x86_64 so a few bugs were uncovered
before the review started

How much effort did you put into your evaluation? A glance? A quick reading?
In-depth study?
============================================================================

5-10 hours. Wrote a few programs and had multiple private e-mails with the
developers.

Are you knowledgeable about the problem domain?
==========================================

Yes but not an expert

Overall strengths
==============

- Library design
- Willingness of the developers to continue to improve the library
- Opportunity for VIGRA or other specialized libraries to provide algorithms
as separate Boost libraries

Weaknesses
==========

- No algorithms library provided (= no basic set of image processing
algorithms provided)
- Theoretical approach (core is container only)
- Lacks what VIGRA does well (practical image processing, filters,
segmentation, image analysis ..)
- Not conforming to Boost standards (directory structure, docs, tests, ...)

Thanks for providing GIL and I hope you continue to develop it. I will use
it !


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk