SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The Asymmetry function is used to balance the iridix effect between the dark and bright regions of the image. The Asymmetry Function Lookup Table geometry is 33 words, each of which is 16-bits wide.
GLBCE_LUT_FI_00
GLBCE_LUT_FI_01
... repeat until...
GLBCE_LUT_FI_32
Recommended values (decimal):
0:5377:10218:14600:18585:22224:25561:28631:31466:34092:36530:38801:40921:42904
:44764:46511:48156:49706:51171:52557:53870:55116:56299:57425:58498:59520:60497
:61429:62322:63176:63995:64781:65535
The C-code for generating the Asymmetry LUT is shown below:
#include <math.h>
int AsymmetryTable[33];
void GenerateAsymmetry(int Asymmetry, int SecondPole)
{
double x = (double(Asymmetry)+1)/257 * 2 - 1;
int ai = int(0.5 + 255 * (1- 1/(1000*x*x*x) + x - ((x >= 0)*2)));
double as = fabs(double(ai) / 255);
double dp = double(SecondPole) / 255;
int ii;
for (ii = 0 ; ii < 33 ; ++ii)
{
if(ai >= 0)
{
x = double(ii) / 32;
}
else
{
x = double(32 - ii) / 32;
}
int y = int((dp+(1-dp)*pow((fabs(1-dp-x)/dp), 3)) * (x*(as+1)/(as+x) ) *
65535.0 + 0.5);
y = y < 0 ? 0 : y > 65535 ? 65535 : y;
if (ai < 0)
{
y = 65535 - y;
}
AsymmetryTable[ii] = y;
}
}