Public Member Functions |
virtual Point2D< uint32_t > | getBinStart () const =0 |
| Returns the starting location of the first bin, in pixels, where the location is relative to the top-left corner of the image.
|
virtual Size2D< uint32_t > | getBinSize () const =0 |
| Returns the size of each bin, in pixels.
|
virtual Size2D< uint32_t > | getBinCount () const =0 |
| Returns the number of bins in both the horizontal (width) and vertical (height) directions.
|
virtual Size2D< uint32_t > | getBinInterval () const =0 |
| Returns the bin intervals for both the x and y axis.
|
virtual Range< float > | getWorkingRange () const =0 |
| Returns the working range of the averaging calculation.
|
virtual Status | getAverages (Array2D< BayerTuple< float > > *averages) const =0 |
| Returns the average values for all bins.
|
virtual Status | getClipCounts (Array2D< BayerTuple< uint32_t > > *clipCounts) const =0 |
| Returns the clipped pixel counts for all bins.
|
Interface to Bayer average map metadata.
The Bayer average map provides local averages of the capture's raw pixels for a number of small rectangular regions, called bins, that are evenly distributed across the image. Each average is a floating-point value that is nomalized such that [0.0, 1.0] maps to the full optical range of the output pixels, but values outside this range may be included in the averages so long as they are within the working range of the average calculation. For pixels that have values outside the working range, the API excludes such pixels from the average calculation and increments the clipped pixel counter for the containing region.
- See also:
- IBayerAverageMap::getWorkingRange()
-
IBayerAverageMap::getClipCounts()
The size and layout of the bins used to calculate the averages are determined by the Argus implementation and are illustrated in the following diagram. The bin size and interval are constant across the image, and are positioned such that the generated averages cover the majority of the full image. All dimensions are given in pixels.
start.x interval.width
_______ _________________
| | | |
_ ________________________________________________________
| | |
start.y | | |
|_ | _____ _____ _____ | _
| | | | | | | | |
| | 0,0 | | 1,0 | | 2,0 | | |
| |_____| |_____| |_____| | |
| | | interval.height
| | |
| | |
| _____ _____ _____ | _|
| | | | | | | |
| | 0,1 | | 1,1 | | 2,1 | |
| |_____| |_____| |_____| |
| |
| |
| |
| _____ _____ _____ | _
| | | | | | | | |
| | 0,2 | | 1,2 | | 2,2 | | | size.height
| |_____| |_____| |_____| | _|
| |
| |
|________________________________________________________|
|_____|
size.width
Definition at line 153 of file BayerAverageMap.h.