Tracks requested areas for ROI. More...
#include <roiTracker.h>
Classes | |
| struct | Area |
| Area of readback. | |
| struct | Stage |
| Set of readback areas per compositiong stage. | |
Public Member Functions | |
| bool | useROIFinder (const PixelViewport &pvp, const uint32_t stage, const uint32_t frameID, uint8_t *&ticket) |
| Has to be called once before any ROI calculation. | |
| void | updateDelay (const PixelViewportVector &pvps, const uint8_t *ticket) |
| Has to be called once after every positive result from useROIFinder. | |
Tracks requested areas for ROI.
Used to disable ROI when ROI fails.
Definition at line 34 of file roiTracker.h.
| bool eq::ROITracker::useROIFinder | ( | const PixelViewport & | pvp, | |
| const uint32_t | stage, | |||
| const uint32_t | frameID, | |||
| uint8_t *& | ticket | |||
| ) |
Has to be called once before any ROI calculation.
Tels wether ROIFinder should be executed for a particular region or not. If true is returned, then updateDelay must be called once before any next useROIFinder call. If false is returned, then updateDelay shouldn't be called.
This function uses _prvFrame areas data to match with current pvp. If good intersection with one of previous areas is found, it will use information from that area form previous frame to decide wether it should skip ROIFinder execution or not. If good intersection is not found area cosidered new, and function returns true.
| pvp | same viewport that will be specifyed for FOIFinder | |
| stage | current assembling stage | |
| frameID | should be different for different frames | |
| ticket | should be stored by caller and given to updateDelay |
Definition at line 57 of file roiTracker.cpp.
References eq::PixelViewport::getArea(), and eq::PixelViewport::intersect().
Referenced by eq::ROIFinder::findRegions().
| void eq::ROITracker::updateDelay | ( | const PixelViewportVector & | pvps, | |
| const uint8_t * | ticket | |||
| ) |
Has to be called once after every positive result from useROIFinder.
Shouldn't be called otherwise
It checks how much space ROIFinder was able to discard and if it is not enough it will disable usage of ROIFinder for several next frames. If ROIFinder was able to cut-off enought it will reset failure statistics for that region.
| pvps | result from ROIFinder | |
| ticket | value from useROIFinder |
Definition at line 126 of file roiTracker.cpp.
References EQ_MIN, and EQERROR.
Referenced by eq::ROIFinder::findRegions().
0.9.1 by
1.6.1