コード例 #1
0
ファイル: MainForm.cs プロジェクト: antops/TBT
        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();
        }
コード例 #2
0
        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());
            }
        }
コード例 #3
0
        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));
                }
            }
        }