public void ComputeTest2()
{
int size = 255;
UnmanagedImage output = createGradient(size);
Haralick haralick = new Haralick()
{
Mode = HaralickMode.Combine
};
Assert.AreEqual(13, haralick.Features);
Assert.AreEqual(4, haralick.Degrees.Count);
List<double[]> result = haralick.ProcessImage(output);
GrayLevelCooccurrenceMatrix glcm = haralick.Matrix;
HaralickDescriptorDictionary[,] features = haralick.Descriptors;
Assert.AreEqual(1, features.GetLength(0));
Assert.AreEqual(1, features.GetLength(1));
Assert.AreEqual(1, result.Count);
double[] actual = result[0];
double[] expected =
{
0.00393700787401572, 0.999999999999998, 353791227646.996,
126.499984621299, 0.499999999999999, 254, 83238.6962631393,
5.53733426701852, 5.53733426701852, 0.003921568627451,
1.66533453693773E-15, -1, 0.999992249954468, 0.00393700787401572,
0.999999999999998, 353791227646.996, 126.499984621299,
0.499999999999999, 254, 83238.6962631393, 5.53733426701852,
5.53733426701852, 0.003921568627451, 1.66533453693773E-15,
-1, 0.999992249954468, 0.00392156862745099, 0, 1.45558373073433E+38,
126.999984621299, 0.999999999999997, 254, 83406.410387403,
5.54126354515845, 5.54126354515845, 0.00392156862745098,
3.10862446895043E-15, -1, 0.999992310620187, 0.00393700787401572,
0.999999999999998, 353791227646.996, 127.499984621299,
0.499999999999999, 254, 83238.6962631393, 5.53733426701852,
5.53733426701852, 0.003921568627451, 1.66533453693773E-15,
-1, 0.999992249954468
};
string str = actual.ToString(Accord.Math.CSharpArrayFormatProvider.InvariantCulture);
Assert.IsNotNull(str);
Assert.AreEqual(52, actual.Length);
for (int i = 0; i < actual.Length; i++)
Assert.AreEqual(expected[i], actual[i], System.Math.Abs(expected[i]) * 1e-10);
}