public void KernelTest1()
{
double[,] expected =
{
{ 2.1693514414478006E-34, 2.4546349229561677E-22, -1.5279500064746295E-21 },
{ -0.00000069069240704724283, 0.9210609940028851, -0.00000012799017494227224 },
{ -7.7578659683414284E-22, -4.1079449607342235E-22, 3.2663608516186217E-34 }
};
double[,] actual = Gabor.Kernel2D(sigma: 0.1, theta: 0.2, lambda: 0.3, psi: 0.4, gamma: 0.5);
Assert.AreEqual(actual.GetLength(0), expected.GetLength(0));
Assert.AreEqual(actual.GetLength(1), expected.GetLength(1));
for (int i = 0; i < actual.GetLength(0); i++)
{
for (int j = 0; j < actual.GetLength(1); j++)
{
double e = expected[i, j];
double a = actual[i, j];
Assert.AreEqual(e, a, System.Math.Abs(e * 1e-10));
}
}
}