### Information

- GIL ASL Home
- GIL Extensions
- GIL Discussion Forum
- Acknowledgements

### Other Resources

- Adobe Open Source
- SGI STL

### GIL Sponsor

# Generic Image Library Documentation

- Video Tutorial

  Watch a 55 minute video presentation of GIL. It roughly follows the tutorial, though in some places covers a bit more material. It is slightly outdated.

- Tutorial

  The tutorial gives you a jump start in using the library. It starts with a simple non-generic algorithm that is gradually evolved to be more generic, faster and more flexible. The tutorial covers most of what you need to know to make effective use of GIL, but does not systematically cover all aspects of the library.

- Design Guide

  The design guide provides a more formal and complete description of the library, including the concepts and the design rationale.

- Doxygen Documentation

  Interactive cross-linked documentation

- Sample files:
  - x_gradient.cpp Writing an algorithm that operates on generic images
  - dynamic_image.cpp Using images whose properties (color space, channel type) are specified at run time
  - histogram.cpp Creating a histogram
  - interleaved_ptr.cpp, interleaved_ptr.hpp, interleaved_ref.hpp Creating your own pixel reference and pixel iterator
  - mandelbrot.cpp Creating a synthetic image defined by a function
  - packed_pixel.cpp Defining bitmasks and images whose channels or pixels are not byte-aligned
  - resize.cpp Rescaling an image using bilinear sampling (requires the optional Numeric extension)
  - affine.cpp Applying an affine transformation to an image (requires the optional Numeric extension)
  - convolution.cpp Blurring images (requires the optional Numeric extension)