/// <summary> /// Buttons the recognize click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> private void ButtonRecognizeClick(object sender, EventArgs e) { if (helper == null) { return; } var neuronHelper = new NeuronHelper(); var picture = new PictureContainer(picturePath, 10); var vector = neuronHelper.ConvertToVector(picture); var percentage = helper.Recognize(vector); textBoxA.Text = Math.Abs(percentage[0]).ToString(CultureInfo.InvariantCulture); textBoxB.Text = Math.Abs(percentage[1]).ToString(CultureInfo.InvariantCulture); textBoxC.Text = Math.Abs(percentage[2]).ToString(CultureInfo.InvariantCulture); picture.Picture.Dispose(); }
/// <summary> /// Gets the vector container. /// </summary> /// <param name="pathA1">The path a1.</param> /// <param name="pathA2">The path a2.</param> /// <param name="pathA3">The path a3.</param> /// <param name="pathB1">The path b1.</param> /// <param name="pathB2">The path b2.</param> /// <param name="pathB3">The path b3.</param> /// <param name="pathC1">The path c1.</param> /// <param name="pathC2">The path c2.</param> /// <param name="pathC3">The path c3.</param> /// <param name="neuronHelper">The helper.</param> /// <returns></returns> private VectorsContainer GetVectorContainer(String pathA1, String pathA2, String pathA3, String pathB1, String pathB2, String pathB3, String pathC1, String pathC2, String pathC3, NeuronHelper neuronHelper) { var vectorA1 = neuronHelper.ConvertToVector(new PictureContainer(pathA1, 10)); var vectorA2 = neuronHelper.ConvertToVector(new PictureContainer(pathA2, 10)); var vectorA3 = neuronHelper.ConvertToVector(new PictureContainer(pathA3, 10)); var vectorB1 = neuronHelper.ConvertToVector(new PictureContainer(pathB1, 10)); var vectorB2 = neuronHelper.ConvertToVector(new PictureContainer(pathB2, 10)); var vectorB3 = neuronHelper.ConvertToVector(new PictureContainer(pathB3, 10)); var vectorC1 = neuronHelper.ConvertToVector(new PictureContainer(pathC1, 10)); var vectorC2 = neuronHelper.ConvertToVector(new PictureContainer(pathC2, 10)); var vectorC3 = neuronHelper.ConvertToVector(new PictureContainer(pathC3, 10)); return new VectorsContainer(vectorA1, vectorA2, vectorA3, vectorB1, vectorB2, vectorB3, vectorC1, vectorC2, vectorC3); }
/// <summary> /// Buttons the statistics click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void ButtonStatisticsClick(object sender, EventArgs e) { if (picturePath == null) { MessageBox.Show(Resources.ApplicationForm_ButtonStatisticsClick_Choose_picture_); return; } var helper = new NeuronHelper(); var picture = new PictureContainer(picturePath, 13); var vector = helper.ConvertToVector(picture); var network = new HopfieldNetwork(); var thread = new Thread(() => ChooseCorrectVector(network, vector), 214748364); thread.Start(); thread.Join(); picture.Picture.Dispose(); }
/// <summary> /// Gets the vector container. /// </summary> /// <param name="pathA">The path aggregate.</param> /// <param name="pathB">The path attribute.</param> /// <param name="pathC">The path asynchronous.</param> /// <param name="neuronHelper">The helper.</param> /// <returns></returns> private VectorsContainer GetVectorContainer(String pathA, String pathB, String pathC, NeuronHelper neuronHelper) { var vectorA = neuronHelper.ConvertToVector(new PictureContainer(pathA, 10)); var vectorB = neuronHelper.ConvertToVector(new PictureContainer(pathB, 10)); var vectorC = neuronHelper.ConvertToVector(new PictureContainer(pathC, 10)); return new VectorsContainer(vectorA, vectorB, vectorC); }
/// <summary> /// Buttons the teach click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void ButtonTeachClick(object sender, EventArgs e) { var helper = new NeuronHelper(); var picture = new PictureContainer(PicturesPath.PathToOriginalA, 13); NeuronHelper.VectorA = helper.ConvertToVector(picture); var matrixA = helper.CreateMatrix(NeuronHelper.VectorA); picture = new PictureContainer(PicturesPath.PathToOriginalB, 13); NeuronHelper.VectorB = helper.ConvertToVector(picture); var matrixB = helper.CreateMatrix(NeuronHelper.VectorB); picture = new PictureContainer(PicturesPath.PathToOriginalC, 13); NeuronHelper.VectorC = helper.ConvertToVector(picture); var matrixC = helper.CreateMatrix(NeuronHelper.VectorC); HopfieldNetwork.MatrixW = helper.CreateCoefficientsMatrix(matrixA, matrixB, matrixC); textBoxStatistics.Text += @"Network has been taught." + Environment.NewLine; ScrollTextBox(); }