I will just quote Adobe GIL site description about GIL:
“Adobe Generic Image Library (GIL) is a C++ generic library which allows for writing generic imaging algorithms with performance comparable to hand-writing for a particular image type. The library is designed with the following five goals in mind:
* Generality: Abstracts image representations from algorithms on images. It allows for writing code once and having it work for any image type.
* Performance: Speed has been instrumental to the design of the library. The generic algorithms provided in the library are comparable in speed to hand-coding the algorithm for a specific image type.
* Flexibility: Compile-type parameter resolution results in faster code, but severely limits code flexibility. The library allows for any image parameter to be specified at run time (for a minor performance cost comparable to a virtual call overhead).
* Extensibility: GIL is concept-based and allows virtually every component – channels, color spaces, pixels, pixel iterators, locators, views, images and algorithms – to be replaced.
* Compatibility: The library is designed as an STL and Boost complement. Generic STL algorithms can be used for pixel manipulation, and they are especially optimized. The library works natively on existing raw pixel data.”
Sounds like I’ve just found good library for one of my exams (Advanced Computer Graphics) for my just signed master studies.
On GIL site there is very nice video tutorial explaining what GIL is and can do. Thanks Adobe!