private void calculateGaussionToolStripMenuItem_Click(object sender, EventArgs e) { foreach (var combo in _data_mananger._list_combo) { List <TBTfront.CompontParam> list_data = new List <TBTfront.CompontParam>(); for (int i = 0; i < combo.data_list.Count; i++) { list_data.Add(combo.data_list[i]); } // 调后台生成光线 TBTfront.Ant ant = new TBTfront.Ant(); List <GaussianCluster> cluster_list = new List <GaussianCluster>(); GaussianCluster cluster = new GaussianCluster(); CalcOption opt = new CalcOption(); int res = ant.clacGaussian(list_data, cluster, cluster_list, opt); if (res != 0) { //MessageBox(); continue; } _render.RemoveViewProp(combo.actorGaussian); combo.actorGaussian = FrustumCone.genActor(cluster_list); _render.AddViewProp(combo.actorGaussian); } updateVtk(); }
private void writeGaussianData(System.IO.StreamWriter sw) { GaussianClusterCollection gCol = (GaussianClusterCollection)clusterCollection; for (int i = 0; i < gCol.Count; i++) { GaussianCluster gClust = gCol[i]; sw.WriteLine(String.Join(",", (from double d in gClust.Mean select d.ToString()).ToArray())); sw.WriteLine(String.Join(",", (from double d in gClust.Covariance select d.ToString()).ToArray())); sw.WriteLine(gClust.Proportion.ToString()); } }
private void gaussianReport(Forms.RunningProcess.frmRunningProcessDialog rd) { GaussianClusterCollection gCol = (GaussianClusterCollection)clusterCollection; for (int i = 0; i < gCol.Count; i++) { GaussianCluster gClust = gCol[i]; double[] mns = gClust.Mean; double[,] cov = gClust.Covariance; rd.addMessage("\n\nCluster " + Labels[i] + ":\nMeans: " + String.Join(", ", (from double d in mns select d.ToString()).ToArray()) + "\nCovariance:"); for (int j = 0; j < VariableFieldNames.Length; j++) { string[] covStrArr = new string[VariableFieldNames.Length]; for (int l = 0; l < covStrArr.Length; l++) { covStrArr[l] = cov[l, j].ToString(); } rd.addMessage("\n" + String.Join(",", covStrArr)); } } }