| 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 |
| Histogram | Histogram |
| Histogram-Helpers | Helper implementations supporting the histogram class |
| AHE | Adaptive Histogram Equalization(AHE) |
| AHE-helpers | AHE helper functions |
| CornerDetectionAlgorithms | Algorithms that are used to find corners in an image |
| HE | Histogram Equalization(HE) |
| HM | Histogram Matching(HM) |
| ImageProcessingMath | Math operations for IP algorithms |
| ▼ScalingAlgorithms | Algorthims suitable for rescaling |
| DownScalingAlgorithms | Algorthims suitable for downscaling |