public void FromEMConfiguration(EMConfiguration currentConfig) { this.LoadingConfig = true; this.initialCountTextBox.Text = currentConfig.InitialClassCount.ToString(); this.maximumCountTextBox.Text = currentConfig.MaximumClassCount.ToString(); this.expectedClassCountTextBox.Text = currentConfig.ExpectedRootClassCount.ToString(); this.patchSizeTextBox.Text = currentConfig.PatchSize.ToString(); this.thresholdPercentageTextBox.Text = currentConfig.BackgroundPercentage.ToString(); this.thresholdSigmaTextBox.Text = currentConfig.BackgroundExcessSigma.ToString(); this.weightsTextBox.Text = DoubleArrayToString(currentConfig.Weights); this.LoadingConfig = false; }
public EMConfiguration ToEMConfiguration() { EMConfiguration e = new EMConfiguration() { Name = "Custom", InitialClassCount = Int32.Parse(this.initialCountTextBox.Text), MaximumClassCount = Int32.Parse(this.maximumCountTextBox.Text), ExpectedRootClassCount = Int32.Parse(this.expectedClassCountTextBox.Text), PatchSize = Int32.Parse(this.patchSizeTextBox.Text), BackgroundPercentage = double.Parse(this.thresholdPercentageTextBox.Text), BackgroundExcessSigma = double.Parse(this.thresholdSigmaTextBox.Text), Weights = StringToDoubleArray(this.weightsTextBox.Text) }; return(e); }
public void SetData(int[] histogramData, GaussianMixtureModel gmm, EMConfiguration config) { this.Configuration = config; this.histogramData = histogramData; this.mixtureModel = gmm; double total = this.histogramData.Sum(); int length = this.histogramData.Length; int max = this.histogramData.Max(); this.normalisedData = new double[length]; this.stretchedData = new double[length]; for (int h = 0; h < length; h++) { this.normalisedData[h] = this.histogramData[h] / total; this.stretchedData[h] = this.histogramData[h] / (double)max; } this.InvalidateVisual(); }