VR-Vantage 3.0 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
seGainLevel Class Reference

class seGainLevel More...

Public Member Functions

 seGainLevel (seDetector *detector, seOptics *optics, seElectronics *electronics)
 constructor
 ~seGainLevel ()
 destructor
double getRadianceGain ()
 Gets the gain based on the max/min radiance of the sensor.
double getRadianceLevel ()
 Gets the level based on the max/min radiance of the sensor.
double getLutGain ()
 Gets the gain based on the max/min radiance of the user defined LUT.
double getLutLevel ()
 Gets the level based on the max/min radiance of the user defined LUT.
void addGainLevel (float *inputImage, long width, long height)
 Adds gain and level to the input image for cpu processing.
void getGainLevel (double &gain, double &level)
 Gets the gain and level to scale an image from radiance to 0.0 to 1.0 for display.
void getFinalGainLevel (double &gain, double &level)
 Gets the final gain and level to remove the gainScaleFactor and get the image to 0.0 to 1.0 for display.
void computeHistogram (float *image, long width, long height)
 Computes the histogram of the given image and calculates the average for AC coupling and the Gain/Level for AGC.
float * getHistogramEqualizationMap (int &size, bool HPtype=true)
 Returns the histogram equalizationMap for the current image frame.
void computeMaxAGC ()
 Computes the AGC of the given image setting the maximum radiance in the scene to 1.0 on the display and the average at 0.5.
void computeClippedAGC ()
 Computes the AGC of the given image attempting to maintain a certain percentage of the pixels clipped.
double getApertureGainAdjustment ()
 Computes the gain associated with a small aperture.
double StandardLuminousEfficacy (void)
 Computes the luminous efficacy [lum/W] of the "standard" reference source.
double MCPGain (double InputRadiance, double ThreshRadiance, double g0, double g1, double E)
 Computes the gain [unitless] of an image intensifier tube at given input radiance.
double MCPAGCSaturationRadiance (double ElementDimension_mm)
 Computes the maximum output radiance of an image intensifier tube of a given size, when AGC is enabled.

Private Attributes

seDetectorm_detector
 pointer to detector object
seOpticsm_optics
 pointer to optics object
seElectronicsm_electronics
 pointer to electronics object
double m_gainScaleFactor
 scale factor between the data coming from the rendering engine and the sensor effects processing.
double m_gain
 current gain setting
double m_level
 current level setting
double m_average
 current average image value
double m_stdev
 current standard deviation image value
double m_maxValue
 maximum value in the sampled image
double m_minValue
 minimum value in the sampled image
float * m_lineAverage
 average for each line in the sampled image
intm_histogram
 array holding the general histogram
intm_logHistogram
 array holding the histogram of the high values in a log based addressing.
float * m_histEqualizationMap
 array holding the equalization map for histogram equalization technique.
long m_histogramSize
 size of the histograms
long m_totalPixels
 the total number of pixels in the down sampled image passed to computeHistogram.

Detailed Description

class seGainLevel

Sensor Effects gain/level class. Holds the data related to the gain/level portion of a device.

Constructor & Destructor Documentation

seGainLevel::seGainLevel ( seDetector detector,
seOptics optics,
seElectronics electronics 
)

constructor

Parameters
*detector
*optics
*electronics
seGainLevel::~seGainLevel ( )

destructor

Member Function Documentation

double seGainLevel::getRadianceGain ( )

Gets the gain based on the max/min radiance of the sensor.

Returns
double
double seGainLevel::getRadianceLevel ( )

Gets the level based on the max/min radiance of the sensor.

Returns
double
double seGainLevel::getLutGain ( )

Gets the gain based on the max/min radiance of the user defined LUT.

Returns
double
double seGainLevel::getLutLevel ( )

Gets the level based on the max/min radiance of the user defined LUT.

Returns
double
void seGainLevel::addGainLevel ( float *  inputImage,
long  width,
long  height 
)

Adds gain and level to the input image for cpu processing.

Parameters
*inputImage- floating point array containing the input image that is modified by the gain and level.
width
height
void seGainLevel::getGainLevel ( double &  gain,
double &  level 
)

Gets the gain and level to scale an image from radiance to 0.0 to 1.0 for display.

Parameters
&gain
&level
void seGainLevel::getFinalGainLevel ( double &  gain,
double &  level 
)

Gets the final gain and level to remove the gainScaleFactor and get the image to 0.0 to 1.0 for display.

Parameters
&gain
&level
void seGainLevel::computeHistogram ( float *  image,
long  width,
long  height 
)

Computes the histogram of the given image and calculates the average for AC coupling and the Gain/Level for AGC.

Also computes the line averages if necessary.

Parameters
*image
width
height
float* seGainLevel::getHistogramEqualizationMap ( int size,
bool  HPtype = true 
)

Returns the histogram equalizationMap for the current image frame.

void seGainLevel::computeMaxAGC ( )

Computes the AGC of the given image setting the maximum radiance in the scene to 1.0 on the display and the average at 0.5.

void seGainLevel::computeClippedAGC ( )

Computes the AGC of the given image attempting to maintain a certain percentage of the pixels clipped.

double seGainLevel::getApertureGainAdjustment ( )

Computes the gain associated with a small aperture.

Returns
double
double seGainLevel::StandardLuminousEfficacy ( void  )

Computes the luminous efficacy [lum/W] of the "standard" reference source.

Returns
double [lum/W]
double seGainLevel::MCPGain ( double  InputRadiance,
double  ThreshRadiance,
double  g0,
double  g1,
double  E 
)

Computes the gain [unitless] of an image intensifier tube at given input radiance.

Parameters
InputRadiance- input radiance
ThreshRadiance- Radiance above which saturation logic kicks in.
g0[unitless] - linear gain below threshold, generally higher than g1.
g1[unitless] - limiting (minimum) linear gain at very high input radiance (usually = 1).
E[unitless] - Strength of saturation gain control (usually < 1 to retain monotonicity)
Returns
double gain [unitless]
double seGainLevel::MCPAGCSaturationRadiance ( double  ElementDimension_mm)

Computes the maximum output radiance of an image intensifier tube of a given size, when AGC is enabled.

Parameters
ElementDimension_mm[mm] = Size of detector element on one side
Returns
double Saturation radiance [W/cm2/sr]

Member Data Documentation

seDetector* seGainLevel::m_detector
private

pointer to detector object

seOptics* seGainLevel::m_optics
private

pointer to optics object

seElectronics* seGainLevel::m_electronics
private

pointer to electronics object

double seGainLevel::m_gainScaleFactor
private

scale factor between the data coming from the rendering engine and the sensor effects processing.

this keeps accuracy in the data outside the display range for adding noise and keeps transition to 1.0 away from displayed data.

double seGainLevel::m_gain
private

current gain setting

double seGainLevel::m_level
private

current level setting

double seGainLevel::m_average
private

current average image value

double seGainLevel::m_stdev
private

current standard deviation image value

double seGainLevel::m_maxValue
private

maximum value in the sampled image

double seGainLevel::m_minValue
private

minimum value in the sampled image

float* seGainLevel::m_lineAverage
private

average for each line in the sampled image

int* seGainLevel::m_histogram
private

array holding the general histogram

int* seGainLevel::m_logHistogram
private

array holding the histogram of the high values in a log based addressing.

float* seGainLevel::m_histEqualizationMap
private

array holding the equalization map for histogram equalization technique.

long seGainLevel::m_histogramSize
private

size of the histograms

long seGainLevel::m_totalPixels
private

the total number of pixels in the down sampled image passed to computeHistogram.


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


Copyright © 2005-2022 MAK Technologies. All Rights Reserved (www.mak.com)