static void SensorGaborFilterTest(int maxIterations) { string TrainingSetPath = Path.Combine("O:", "clean"); var filter = new Gabor2DFilter(); var writer = new MatrixToBitmapFileWriter(""); var sensor = new BitmapPicture2DSensor(presentationsPerInput: 1, pathSpeed: 2, useRandomOrigin: true); sensor.SetTrainingFolder(TrainingSetPath); sensor.AddFilter(filter); sensor.OnFilteredMatrixOutput += writer.OutputWriterHandler; int nbIterations = 0; foreach (var input in sensor.GetTrainingInputs(true)) { foreach (var iteration in input) { nbIterations++; if (nbIterations >= maxIterations) break; } if (nbIterations >= maxIterations) break; } }
public void CanOutputFilterFromGabor2DFilter() { var filter = new Gabor2DFilter(); var writer = new MatrixToBitmapFileWriter(""); filter.OnFilterCreated += writer.OutputWriterHandler; var r = filter.FilterMatricesReal.Length; var i = filter.FilterMatricesImaginary.Length; Assert.AreEqual(r + i, writer.OutputFolder.GetFiles().Length); }
public void CanOutputFilteredInputsFromGabor2DFilter() { var filter = new Gabor2DFilter(); var writer = new MatrixToBitmapFileWriter(""); var sensor = new BitmapPicture2DSensor(presentationsPerInput: 1, pathSpeed: 2, useRandomOrigin: true); sensor.SetTrainingFolder(TrainingSetPath); sensor.AddFilter(filter); sensor.OnFilteredMatrixOutput += writer.OutputWriterHandler; int maxIterations = 100, nbIterations = 0; var begin = DateTime.Now; foreach (var input in sensor.GetTrainingInputs(true)) { foreach (var iteration in input) { nbIterations++; if (nbIterations >= maxIterations) break; } if (nbIterations >= maxIterations) break; } var end = DateTime.Now; Debug.WriteLine(begin); Debug.WriteLine("{0} (duration: {1:D} ms)", end, (int)(end - begin).TotalMilliseconds); Assert.AreEqual(maxIterations, writer.OutputFolder.GetFiles().Length); }