Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
rsimpl::auto_exposure_algorithm Class Reference

#include <zr300.h>

Classes

struct  histogram_metric
 

Public Member Functions

bool analyze_image (const rs_frame_ref *image)
 
 auto_exposure_algorithm (fisheye_auto_exposure_state auto_exposure_state)
 
void modify_exposure (float &exposure_value, bool &exp_modified, float &gain_value, bool &gain_modified)
 
void update_options (const fisheye_auto_exposure_state &options)
 

Private Types

enum  rounding_mode_type { rounding_mode_type::round, rounding_mode_type::ceil, rounding_mode_type::floor }
 

Private Member Functions

void anti_flicker_decrease_exposure_gain (const float &target_exposure, const float &target_exposure0, float &exposure, float &gain)
 
void anti_flicker_increase_exposure_gain (const float &target_exposure, const float &target_exposure0, float &exposure, float &gain)
 
void decrease_exposure_gain (const float &target_exposure, const float &target_exposure0, float &exposure, float &gain)
 
void decrease_exposure_target (float mult, float &target_exposure)
 
float exposure_to_value (float exp_ms, rounding_mode_type rounding_mode)
 
float gain_to_value (float gain, rounding_mode_type rounding_mode)
 
void histogram_score (std::vector< int > &h, const int total_weight, histogram_metric &score)
 
void hybrid_decrease_exposure_gain (const float &target_exposure, const float &target_exposure0, float &exposure, float &gain)
 
void hybrid_increase_exposure_gain (const float &target_exposure, const float &target_exposure0, float &exposure, float &gain)
 
void im_hist (const uint8_t *data, const int width, const int height, const int rowStep, int h[])
 
void increase_exposure_gain (const float &target_exposure, const float &target_exposure0, float &exposure, float &gain)
 
void increase_exposure_target (float mult, float &target_exposure)
 
float round (float x)
 
template<typename T >
sqr (const T &x)
 
void static_decrease_exposure_gain (const float &target_exposure, const float &target_exposure0, float &exposure, float &gain)
 
void static_increase_exposure_gain (const float &target_exposure, const float &target_exposure0, float &exposure, float &gain)
 

Private Attributes

bool anti_flicker_mode = true
 
float base_gain = 2.0f
 
int direction = 0
 
float eps = 0.01f
 
float exposure = 10.0f
 
float exposure_step = 0.1f
 
float flicker_cycle
 
float gain = 2.0f
 
float gain_limit = 15.0f
 
float hysteresis = 0.075f
 
float maximal_exposure = 20.f
 
float minimal_exposure = 0.1f
 
float minimal_exposure_step = 0.01f
 
uint8_t over_exposure_limit = 250
 
int over_exposure_noise_limit = 50
 
int prev_direction = 0
 
fisheye_auto_exposure_state state
 
std::recursive_mutex state_mutex
 
float target_exposure = 0.0f
 
uint8_t under_exposure_limit = 5
 
int under_exposure_noise_limit = 50
 

Detailed Description

Definition at line 206 of file zr300.h.

Member Enumeration Documentation

Enumerator
round 
ceil 
floor 

Definition at line 215 of file zr300.h.

Constructor & Destructor Documentation

rsimpl::auto_exposure_algorithm::auto_exposure_algorithm ( fisheye_auto_exposure_state  auto_exposure_state)

Definition at line 815 of file zr300.cpp.

Member Function Documentation

bool rsimpl::auto_exposure_algorithm::analyze_image ( const rs_frame_ref image)

Definition at line 867 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::anti_flicker_decrease_exposure_gain ( const float &  target_exposure,
const float &  target_exposure0,
float &  exposure,
float &  gain 
)
private

Definition at line 1000 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::anti_flicker_increase_exposure_gain ( const float &  target_exposure,
const float &  target_exposure0,
float &  exposure,
float &  gain 
)
private

Definition at line 974 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::decrease_exposure_gain ( const float &  target_exposure,
const float &  target_exposure0,
float &  exposure,
float &  gain 
)
private

Definition at line 953 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::decrease_exposure_target ( float  mult,
float &  target_exposure 
)
private

Definition at line 937 of file zr300.cpp.

float rsimpl::auto_exposure_algorithm::exposure_to_value ( float  exp_ms,
rounding_mode_type  rounding_mode 
)
private

Definition at line 1065 of file zr300.cpp.

float rsimpl::auto_exposure_algorithm::gain_to_value ( float  gain,
rounding_mode_type  rounding_mode 
)
private

Definition at line 1076 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::histogram_score ( std::vector< int > &  h,
const int  total_weight,
histogram_metric score 
)
private

Definition at line 1089 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::hybrid_decrease_exposure_gain ( const float &  target_exposure,
const float &  target_exposure0,
float &  exposure,
float &  gain 
)
private

Definition at line 1043 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::hybrid_increase_exposure_gain ( const float &  target_exposure,
const float &  target_exposure0,
float &  exposure,
float &  gain 
)
private

Definition at line 1025 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::im_hist ( const uint8_t *  data,
const int  width,
const int  height,
const int  rowStep,
int  h[] 
)
inlineprivate

Definition at line 923 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::increase_exposure_gain ( const float &  target_exposure,
const float &  target_exposure0,
float &  exposure,
float &  gain 
)
private

Definition at line 942 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::increase_exposure_target ( float  mult,
float &  target_exposure 
)
private

Definition at line 932 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::modify_exposure ( float &  exposure_value,
bool &  exp_modified,
float &  gain_value,
bool &  gain_modified 
)

Definition at line 820 of file zr300.cpp.

float rsimpl::auto_exposure_algorithm::round ( float  x)
inlineprivate

Definition at line 232 of file zr300.h.

template<typename T >
T rsimpl::auto_exposure_algorithm::sqr ( const T &  x)
inlineprivate

Definition at line 237 of file zr300.h.

void rsimpl::auto_exposure_algorithm::static_decrease_exposure_gain ( const float &  target_exposure,
const float &  target_exposure0,
float &  exposure,
float &  gain 
)
private

Definition at line 969 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::static_increase_exposure_gain ( const float &  target_exposure,
const float &  target_exposure0,
float &  exposure,
float &  gain 
)
private

Definition at line 964 of file zr300.cpp.

void rsimpl::auto_exposure_algorithm::update_options ( const fisheye_auto_exposure_state options)

Definition at line 915 of file zr300.cpp.

Member Data Documentation

bool rsimpl::auto_exposure_algorithm::anti_flicker_mode = true
private

Definition at line 246 of file zr300.h.

float rsimpl::auto_exposure_algorithm::base_gain = 2.0f
private

Definition at line 241 of file zr300.h.

int rsimpl::auto_exposure_algorithm::direction = 0
private

Definition at line 244 of file zr300.h.

float rsimpl::auto_exposure_algorithm::eps = 0.01f
private

Definition at line 245 of file zr300.h.

float rsimpl::auto_exposure_algorithm::exposure = 10.0f
private

Definition at line 242 of file zr300.h.

float rsimpl::auto_exposure_algorithm::exposure_step = 0.1f
private

Definition at line 245 of file zr300.h.

float rsimpl::auto_exposure_algorithm::flicker_cycle
private

Definition at line 246 of file zr300.h.

float rsimpl::auto_exposure_algorithm::gain = 2.0f
private

Definition at line 242 of file zr300.h.

float rsimpl::auto_exposure_algorithm::gain_limit = 15.0f
private

Definition at line 241 of file zr300.h.

float rsimpl::auto_exposure_algorithm::hysteresis = 0.075f
private

Definition at line 244 of file zr300.h.

float rsimpl::auto_exposure_algorithm::maximal_exposure = 20.f
private

Definition at line 241 of file zr300.h.

float rsimpl::auto_exposure_algorithm::minimal_exposure = 0.1f
private

Definition at line 241 of file zr300.h.

float rsimpl::auto_exposure_algorithm::minimal_exposure_step = 0.01f
private

Definition at line 245 of file zr300.h.

uint8_t rsimpl::auto_exposure_algorithm::over_exposure_limit = 250
private

Definition at line 243 of file zr300.h.

int rsimpl::auto_exposure_algorithm::over_exposure_noise_limit = 50
private

Definition at line 243 of file zr300.h.

int rsimpl::auto_exposure_algorithm::prev_direction = 0
private

Definition at line 244 of file zr300.h.

fisheye_auto_exposure_state rsimpl::auto_exposure_algorithm::state
private

Definition at line 246 of file zr300.h.

std::recursive_mutex rsimpl::auto_exposure_algorithm::state_mutex
private

Definition at line 247 of file zr300.h.

float rsimpl::auto_exposure_algorithm::target_exposure = 0.0f
private

Definition at line 242 of file zr300.h.

uint8_t rsimpl::auto_exposure_algorithm::under_exposure_limit = 5
private

Definition at line 243 of file zr300.h.

int rsimpl::auto_exposure_algorithm::under_exposure_noise_limit = 50
private

Definition at line 243 of file zr300.h.


The documentation for this class was generated from the following files:


librealsense
Author(s): Sergey Dorodnicov , Mark Horn , Reagan Lopez
autogenerated on Fri Mar 13 2020 03:16:19