| Basic Concepts | Various basic concepts | 
| ▼Point | N-dimensional point | 
| Concepts | Concepts for points | 
| Models | Models for points | 
| Algorithms and Utility Functions | Algorithms and Utility Functions for points | 
| ▼Color, Color Space, and Layout | The color space and the layout define the set, ordering and interpretation of channels in a pixel | 
| Concepts |  | 
| ►Models |  | 
| Color Names |  | 
| Color Spaces |  | 
| Layouts |  | 
| ▼Channel | Channel is the building block of pixel | 
| Concepts | Concepts for channels | 
| ►Models | Channel models. Although not required by the ChannelConcept, all GIL-provided channels support arithmetic operations | 
| ►scoped_channel_value |  | 
| ►packed_channel_value |  | 
| packed_channel_reference |  | 
| packed_dynamic_channel_reference | Represents a reference proxy to a channel operating over a bit range whose offset is specified at run time. Models ChannelConcept | 
| ►Algorithms and Utility Functions | Channel algorithms, metafunctions and utility functions | 
| ►channel_convert | Converting from one channel type to anotherConversion is done as a simple linear mapping of one channel range to the other, such that the minimum/maximum value of the source maps to the minimum/maximum value of the destination. One implication of this is that the value 0 of signed channels may not be preserved! | 
| channel_converter_unsigned | Convert one unsigned/floating point channel to another. Converts both the channel type and range | 
| channel_multiply | Multiplying unsigned channel values of the same type. Performs scaled multiplication result = a * b / max_value | 
| channel_invert | Returns the inverse of a channel. result = max_value - x + min_value | 
| ▼ColorBase | A color base is a container of color elements | 
| Concepts | ColorBase concepts | 
| ►Models | ColorBase models | 
| ►bit_aligned_pixel_reference | A heterogeneous color base representing pixel that may not be byte aligned, i.e. it may correspond to a bit range that does not start/end at a byte boundary. Models ColorBaseConcept | 
| bit_aligned_pixel_reference | A heterogeneous pixel reference used to represent non-byte-aligned pixels. Models PixelConcept | 
| detail::homogeneous_color_base | A homogeneous color base holding one color element. Models HomogeneousColorBaseConcept or HomogeneousColorBaseValueConcept If the element type models Regular, this class models HomogeneousColorBaseValueConcept | 
| packed_pixel | A heterogeneous color base whose elements are reference proxies to channels in a pixel. Models ColorBaseValueConcept. This class is used to model packed pixels, such as 16-bit packed RGB | 
| pixel | A homogeneous color base whose element is a channel value. Models HomogeneousColorBaseValueConcept | 
| planar_pixel_iterator | A homogeneous color base whose element is a channel iterator. Models HomogeneousColorBaseValueConcept This class is used as an iterator to a planar pixel | 
| planar_pixel_reference | A homogeneous color base whose element is a channel reference. Models HomogeneousColorBaseConcept, HomogeneousPixelConcept. This class is used as a reference proxy to a planar pixel | 
| ►Algorithms and Utility Functions | ColorBase algorithms, metafunctions and utility functions | 
| size | Size: Semantic channel size | 
| kth_semantic_element_type, kth_semantic_element_reference_type, kth_semantic_element_const_reference_type, semantic_at_c | Semantic_at_c: Semantic channel accessors | 
| color_element_type, color_element_reference_type, color_element_const_reference_type, get_color, contains_color | Get_color: Named channel accessors | 
| element_type, element_reference_type, element_const_reference_type | Types for homogeneous color bases | 
| static_min, static_max | Equivalents to std::min_element and std::max_element for homogeneous color bases | 
| static_equal | Equivalent to std::equal. Pairs the elements semantically | 
| static_copy | Equivalent to std::copy. Pairs the elements semantically | 
| static_fill | Equivalent to std::fill | 
| static_generate | Equivalent to std::generate | 
| static_transform | Equivalent to std::transform. Pairs the elements semantically | 
| static_for_each | Equivalent to std::for_each. Pairs the elements semantically | 
| ▼PixelBased | Concepts for all GIL constructs that are pixel-based (pixels, pixel iterators, locators, views, images) | 
| Concepts | PixelBased concepts | 
| ►Models | PixelBased models | 
| bit_aligned_pixel_reference | A heterogeneous pixel reference used to represent non-byte-aligned pixels. Models PixelConcept | 
| Algorithms and Utility Functions | PixelBased algorithms, metafunctions and utility functions | 
| ▼Pixel | A pixel is a set of channels defining the color at a given point in an image | 
| Concepts | Pixel concepts | 
| ►Models | Pixel models | 
| bit_aligned_pixel_reference | A heterogeneous pixel reference used to represent non-byte-aligned pixels. Models PixelConcept | 
| packed_pixel | A heterogeneous pixel used to represent packed pixels with non-byte-aligned channels. Models PixelValueConcept | 
| pixel | A homogeneous pixel value. Models HomogeneousPixelValueConcept | 
| planar_pixel_reference | A reference proxy to a planar pixel. Models HomogeneousColorBaseConcept, HomogeneousPixelConcept | 
| Algorithms and Utility Functions | Pixel algorithms, metafunctions and utility functions | 
| ▼Pixel Dereference Adaptor | A function object invoked upon accessing of the pixel of a pixel iterator/locator/view | 
| Concepts |  | 
| Models |  | 
| ▼Pixel Iterator | STL Iterators over models of PixelConcept | 
| ►Concepts | Pixel iterator concepts | 
| PixelIteratorConcept | STL iterator over pixels | 
| StepIteratorConcept | Iterator that advances by a specified step | 
| IteratorAdaptorConcept | Adaptor over another iterator | 
| ►Models | Pixel iterator models | 
| bit_aligned_pixel_iterator | An iterator over non-byte-aligned pixels. Models PixelIteratorConcept, PixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept | 
| iterator_from_2d | Pixel step iterator, pixel image iterator and pixel dereference iterator | 
| Pointer to packed_pixel<P,CR,Layout> | Support for interleaved iterators over packed pixel | 
| C pointer to a pixel | Iterators over interleaved pixels. A C pointer to a model of PixelValueConcept is used as an iterator over interleaved pixels. Models PixelIteratorConcept, HomogeneousPixelBasedConcept, HasDynamicXStepTypeConcept, MemoryBasedIteratorConcept | 
| dereference_iterator_adaptor | An iterator that invokes a provided function object upon dereference. Models: IteratorAdaptorConcept, PixelIteratorConcept | 
| planar_pixel_iterator | An iterator over planar pixels. Models PixelIteratorConcept, HomogeneousPixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept | 
| position_iterator | An iterator that remembers its current X,Y position and invokes a function object with it upon dereferencing. Models PixelIteratorConcept, PixelBasedConcept, HasDynamicXStepTypeConcept. Used to create virtual image views | 
| step iterators | Iterators that allow for specifying the step between two adjacent values | 
| ▼Pixel Locator | Generalization of an iterator to multiple dimensions | 
| ►Concepts | Pixel locator concepts | 
| RandomAccessNDLocatorConcept | N-dimensional locator | 
| RandomAccess2DLocatorConcept | 2-dimensional locator | 
| PixelLocatorConcept | 2-dimensional locator over pixel data | 
| Models | Pixel locator models | 
| ▼Image View | N-dimensional range | 
| ►Concepts | Image view concepts | 
| ImageViewNDLocatorConcept | N-dimensional range | 
| ImageView2DLocatorConcept | 2-dimensional range | 
| ImageViewConcept | 2-dimensional range over pixel data | 
| Models | Image view models | 
| ►Algorithms and Utility Functions | Image view algorithms, metafunctions and utility functions | 
| ►STL-like Algorithms | Image view-equivalents of STL algorithms | 
| copy_pixels | Std::copy for image views | 
| copy_and_convert_pixels | Copies src view into dst view, color converting if necessary | 
| fill_pixels | Std::fill for image views | 
| destruct_pixels | Invokes the destructor on every pixel of an image view | 
| uninitialized_fill_pixels | Std::uninitialized_fill for image views | 
| default_construct_pixels | Invokes the default constructor on every pixel of an image view | 
| uninitialized_copy_pixels | Std::uninitialized_copy for image views | 
| for_each_pixel | Std::for_each for image views | 
| for_each_pixel_position | Adobe::for_each_position for image views (passes locators, instead of pixel references, to the function object) | 
| generate_pixels | Std::generate for image views | 
| equal_pixels | Std::equal for image views | 
| transform_pixels | Std::transform for image views | 
| transform_pixel_positions | Adobe::transform_positions for image views (passes locators, instead of pixel references, to the function object) | 
| Performance overloads of STL algorithms | Overloads of STL algorithms allowing more efficient implementation when used with GIL constructs | 
| Image View From Raw Data | Methods for constructing image views from raw data and for getting raw data from views | 
| ►Image View Transformations | Methods for constructing one image view from another | 
| color_converted_view | Color converted view of another view | 
| flipped_up_down_view | View of a view flipped up-to-down | 
| flipped_left_right_view | View of a view flipped left-to-right | 
| transposed_view | View of a view transposed | 
| rotated90cw_view | View of a view rotated 90 degrees clockwise | 
| rotated90ccw_view | View of a view rotated 90 degrees counter-clockwise | 
| rotated180_view | View of a view rotated 180 degrees | 
| subimage_view | View of an axis-aligned rectangular area within an image_view | 
| subsampled_view | View of a subsampled version of an image_view, stepping over a number of channels in X and number of rows in Y | 
| nth_channel_view | Single-channel (grayscale) view of the N-th channel of a given image_view | 
| kth_channel_view | Single-channel (grayscale) view of the K-th channel of a given image_view. The channel index is a template parameter | 
| ▼Image | N-dimensional container | 
| Concepts | Image concepts | 
| Models | Image models | 
| Image Processing | Image Processing algorithms | 
| Variant | A holder of a runtime instantiated type. Used to provide runtime-specified images and views | 
| ▼Metafunctions | Metafunctions to construct or query GIL types | 
| ►Type Factory Metafunctions | Metafunctions that construct GIL types from related types or from components | 
| ►xxx_type | Returns the type of a homogeneous GIL construct given its elements (channel, layout, whether it is planar, step, mutable, etc.) | 
| packed_image_type,bit_aligned_image_type | Returns the type of an image whose channels are not byte-aligned | 
| xxx_type_from_pixel | Returns the type of a GIL construct given its pixel type, whether it is planar, step, mutable, etc | 
| derived_xxx_type | Returns the type of a homogeneous GIL construct given a related construct by changing some of its properties | 
| ►Type Analysis Metafunctions | Metafunctions that determine properties of GIL types | 
| xxx_is_basic | Determines if GIL constructs are basic. Basic constructs are the ones that can be generated with the type factory methods pixel_reference_type, iterator_type, locator_type, view_type and image_type They can be mutable/immutable, planar/interleaved, step/nonstep. They must use GIL-provided models | 
| xxx_is_step | Determines if the given iterator/locator/view has a step that could be set dynamically | 
| xxx_is_mutable | Determines if the given pixel reference/iterator/locator/view is mutable (i.e. its pixels can be changed) | 
| ▼I/O | Support for reading and writing images to file | 
| JPEG I/O | Support for reading and writing JPEG image files | 
| TIFF I/O | Support for reading and writing TIFF image files | 
| PNG I/O | Support for reading and writing PNG image files | 
| Color Space Converion | Support for conversion between pixels of different color spaces and channel depths | 
| CornerDetectionAlgorithms | Algorithms that are used to find corners in an image | 
| ImageProcessingMath | Math operations for IP algorithms | 
| ▼ScalingAlgorithms | Algorthims suitable for rescaling | 
| DownScalingAlgorithms | Algorthims suitable for downscaling |