예제 #1
0
        private void SaveAffiliationWithoutDisplay() //copy most of code from previous method
        {
            if (loadFrom == "")
                return;
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                int startYear, endYear;
                YearRangeForm range = new YearRangeForm();

                if (displayMatrix == "Affiliation")
                    range.SetMode(true);

                range.from = currentYear;
                range.to = currentYear;
                range.ShowDialog();
                startYear = range.from;
                endYear = range.to;

                ProgressForm progress = new ProgressForm();
                progress.endYear = endYear;
                progress.startYear = startYear;
                progress.curYear = 0;
                progress.Show();

                // Should we standardize?
                if (byRowToolStripMenuItem.Checked == true)
                    net.StandardizeByRow(displayMatrix);
                else if (byColumnToolStripMenuItem.Checked == true)
                    net.StandardizeByColumn(displayMatrix);
                else if (rowToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalRow(displayMatrix);
                else if (columnToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalColumn(displayMatrix);
                else if (minimumToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalMinimum(displayMatrix);
                else if (maximumToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalMaximum(displayMatrix);

                int year = startYear;
                while (true)
                {
                    progress.curYear = year;
                    if (displayMatrix == "Affiliation")
                        net.SaveAffiliationToMatrixFile(saveFileDialog.FileName, year, _optionsForm.Cutoff[currentYear], _optionsForm.InputType != "None", _optionsForm.InputType == "StructEquiv",
                                                         _optionsForm.FileName, _optionsForm.InputType == "Dyadic", _optionsForm.Density, _optionsForm.SumMean, _optionsForm.SumMeanFilename,
                                                         _optionsForm.svcFile, _optionsForm.SaveOverwrite && year == startYear,
                                                         cliqueSizeToolStripMenuItem1.Checked, cliqueCohesionToolStripMenuItem1.Checked, estebanRayIndexToolStripMenuItem1.Checked, _optionsForm.KCliqueValue, _optionsForm.KCliqueDiag);
                    else
                    {
                        //Thread s = new Thread(delegate()
                        //{
                        //    net.SaveCBCOverlapToFile(saveFileDialog.FileName, year, displayMatrix != "Characteristics",
                        //        displayMatrix != "Characteristics" || year == startYear, _optionsForm.SaveOverwrite && year == startYear);
                        //});
                     //   s.Start();
                        //while (!s.IsAlive) ;
                        //    Thread.Sleep(1);
                          //s.Join();
                        net.SaveCBCOverlapToFile(saveFileDialog.FileName, year, displayMatrix != "Characteristics",
                            displayMatrix != "Characteristics" || year == startYear, _optionsForm.SaveOverwrite && year == startYear, diag);
                    }
                    if (year < endYear)
                    {
                        if (loadFrom == "Matrix")
                        {
                            if (openFileDialog.Multiselect)
                                year = net.LoadFromMultipleFiles(fileNames, year + 1);
                            else
                                year = net.LoadFromMatrixFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Dyadic")
                        {
                            if (openFileDialog.Multiselect)
                                year = net.LoadFromMultivariableDyadicFile(openFileDialog.FileName, year + 1);
                            else
                                year = net.LoadFromDyadicFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Affil")
                        {
                            year = net.LoadFromAffiliationFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Random")
                        {
                            net.LoadRandom(_randomForm.N, "Data", _randomSymmetric, _randomForm.ProbRange, _randomForm.MinProb, _randomForm.MaxProb, _randomForm.RandomN, _randomForm.RandomMinN, _randomForm.RandomMaxN, _randomForm.RandomIntN);
                            ++year;
                        }
                        else if (loadFrom == "ValuedRandom")
                        {
                            net.LoadValuedRandom(_vrandomForm.N, "Data", _randomSymmetric, _vrandomForm.vmin, _vrandomForm.vmax, _vrandomForm.datatype, _vrandomForm.zerodiagonalized, _vrandomForm.ProbRange, _vrandomForm.MinProb, _vrandomForm.MaxProb, _vrandomForm.RandomN, _vrandomForm.RandomMinN, _vrandomForm.RandomMaxN, _vrandomForm.RandomIntN);
                            ++year;
                        }
                        else if (loadFrom == "Monadic")
                        {
                            year = net.LoadFromMonadicFile(openFileDialog.FileName, year + 1);
                        }
                        //Thread t = new Thread(delegate() { DoLoadCorrect(year); });
                      //  t.Start();
                        //while (!t.IsAlive) ;
                        //   Thread.Sleep(1);
                      //  t.Join();
                        DoLoadCorrect(year);
                    }
                    else
                        break;
                }


                if (loadFrom == "Matrix")
                {
                    if (openFileDialog.Multiselect)
                        currentYear = net.LoadFromMultipleFiles(fileNames, currentYear);
                    else
                        currentYear = net.LoadFromMatrixFile(openFileDialog.FileName, currentYear);
                }
                else if (loadFrom == "Dyadic")
                {
                    if (openFileDialog.Multiselect)
                        currentYear = net.LoadFromMultivariableDyadicFile(openFileDialog.FileName, currentYear);
                    else
                        currentYear = net.LoadFromDyadicFile(openFileDialog.FileName, currentYear);
                }
                else if (loadFrom == "Affil")
                {
                    currentYear = net.LoadFromAffiliationFile(openFileDialog.FileName, currentYear);
                }
                else if (loadFrom == "Random")
                {
                    net.LoadRandom(_randomForm.N, "Data", _randomSymmetric, _randomForm.ProbRange, _randomForm.MinProb, _randomForm.MaxProb, _randomForm.RandomN, _randomForm.RandomMinN, _randomForm.RandomMaxN, _randomForm.RandomIntN);
                }
                else if (loadFrom == "ValuedRandom")
                {
                    net.LoadValuedRandom(_vrandomForm.N, "Data", _randomSymmetric, _vrandomForm.vmin, _vrandomForm.vmax, _vrandomForm.datatype, _vrandomForm.zerodiagonalized, _vrandomForm.ProbRange, _vrandomForm.MinProb, _vrandomForm.MaxProb, _vrandomForm.RandomN, _vrandomForm.RandomMinN, _vrandomForm.RandomMaxN, _vrandomForm.RandomIntN);
                }
            }
        }
예제 #2
0
        private void affiliationFileToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (loadFrom == "")
                return;

            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                int startYear, endYear;
                YearRangeForm range = new YearRangeForm();

                if (displayMatrix == "Affiliation")
                    range.SetMode(true);

                range.from = currentYear;
                range.to = currentYear;
                range.ShowDialog();
                startYear = range.from;
                endYear = range.to;

                ProgressForm progress = new ProgressForm();
                progress.endYear = endYear;
                progress.startYear = startYear;
                progress.curYear = 0;
                progress.Show();

                // Should we standardize?
                if (byRowToolStripMenuItem.Checked == true)
                    net.StandardizeByRow(displayMatrix);
                else if (byColumnToolStripMenuItem.Checked == true)
                    net.StandardizeByColumn(displayMatrix);
                else if (rowToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalRow(displayMatrix);
                else if (columnToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalColumn(displayMatrix);
                else if (minimumToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalMinimum(displayMatrix);
                else if (maximumToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalMaximum(displayMatrix);

                int year = startYear;
                while (true)
                {
                    progress.curYear = year;

                    if (displayMatrix == "Affiliation")
                    {
                        net.FindCliques(_optionsForm.Cutoff[currentYear], _optionsForm.InputType != "None", _optionsForm.Density, currentYear, _optionsForm.CMinMembers, false, _optionsForm.KCliqueValue, _optionsForm.KCliqueDiag);
                        net.SaveAffiliationToDyadicFile(saveFileDialog.FileName, year, year == startYear, _optionsForm.SaveOverwrite && year == startYear);
                    }
                    else if (displayMatrix == "CONCOR")
                    {
                        net.CONCOR(_blocForm.pos, openFileDialog.Multiselect, GetCONCORConvergenceFunction(), _blocForm.MaxNoSteps);
                        net.SaveBlocAffiliationToAffiliationFile(saveFileDialog.FileName, year, _blocForm.pos, _optionsForm.SaveOverwrite && year == startYear, openFileDialog.Multiselect, false);
                    }
                    else if (displayMatrix == "Cluster")
                    {
                        net.LoadClustering(_clusterForm.ClusteringMethod, _clusterForm.MaxNoClusters, currentYear, _optionsForm.Density);
                        net.SaveBlocAffiliationToAffiliationFile(saveFileDialog.FileName, year, _blocForm.pos, _optionsForm.SaveOverwrite && year == startYear, openFileDialog.Multiselect, true);
                    }
                    else if (displayMatrix == "Community")
                    {
                        net.calculateCommunities(dataGrid, communityType, currentYear, _comForm.SVC, _comForm.DVC, _comForm.attrMatrix, _optionsForm.getCutOff(currentYear), _optionsForm.Density);
                        net.SaveCommAffiliationToAffiliationFile(saveFileDialog.FileName, year, year == startYear, _optionsForm.SaveOverwrite && year == startYear);
                    }
                    else if (displayMatrix == "OverlappingCommunity")
                    {
                        net.FindCliques(_optionsForm.Cutoff[currentYear], _optionsForm.InputType != "None", _optionsForm.Density, currentYear, _optionsForm.CMinMembers, false, _optionsForm.KCliqueValue, _optionsForm.KCliqueDiag);
                        net.CalculateOverlapComm();
                        net.LoadOverlapCommAffilMatrix();
                        net.SaveOverlapCommAffiliationToAffiliationFile(saveFileDialog.FileName, year, year == startYear, _optionsForm.SaveOverwrite && year == startYear);
                    }

                    if (year < endYear)
                    {
                        if (loadFrom == "Matrix")
                        {
                            if (openFileDialog.Multiselect)
                                year = net.LoadFromMultipleFiles(fileNames, year + 1);
                            else
                                year = net.LoadFromMatrixFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Dyadic")
                        {
                            if (openFileDialog.Multiselect)
                                year = net.LoadFromMultivariableDyadicFile(openFileDialog.FileName, year + 1);
                            else
                                year = net.LoadFromDyadicFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Affil")
                        {
                            year = net.LoadFromAffiliationFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Random")
                        {
                            net.LoadRandom(_randomForm.N, "Data", _randomSymmetric, _randomForm.ProbRange, _randomForm.MinProb, _randomForm.MaxProb, _randomForm.RandomN, _randomForm.RandomMinN, _randomForm.RandomMaxN, _randomForm.RandomIntN);
                            ++year;
                        }
                        else if (loadFrom == "ValuedRandom")
                        {
                            net.LoadValuedRandom(_vrandomForm.N, "Data", _randomSymmetric, _vrandomForm.vmin, _vrandomForm.vmax, _vrandomForm.datatype, _vrandomForm.zerodiagonalized, _vrandomForm.ProbRange, _vrandomForm.MinProb, _vrandomForm.MaxProb, _vrandomForm.RandomN, _vrandomForm.RandomMinN, _vrandomForm.RandomMaxN, _vrandomForm.RandomIntN);
                            ++year;
                        }
                        else if (loadFrom == "Monadic")
                        {
                            year = net.LoadFromMonadicFile(openFileDialog.FileName, year + 1);
                        }

                        //DoLoadCorrect(year);
                    }
                    else
                        break;
                }
            }
        }
예제 #3
0
        private void matrixFileToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (loadFrom == "")
                return;
            if (displayMatrix == "Counter")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
            {
                counterDataFileToolStripMenuItem_Click(sender, e);
                return;
            }
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                int startYear, endYear;
                YearRangeForm range = new YearRangeForm();

                if (displayMatrix == "Affiliation")
                    range.SetMode(true);

                range.from = currentYear;
                range.to = currentYear;
                range.ShowDialog();
                startYear = range.from;
                endYear = range.to;

                ProgressForm progress = new ProgressForm();
                progress.endYear = endYear;
                progress.startYear = startYear;
                progress.curYear = 0;
                progress.Show();

                // Should we standardize?
                if (byRowToolStripMenuItem.Checked == true)
                    net.StandardizeByRow(displayMatrix);
                else if (byColumnToolStripMenuItem.Checked == true)
                    net.StandardizeByColumn(displayMatrix);
                else if (rowToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalRow(displayMatrix);
                else if (columnToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalColumn(displayMatrix);
                else if (minimumToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalMinimum(displayMatrix);
                else if (maximumToolStripMenuItem.Checked == true)
                    net.StandardizeByDiagonalMaximum(displayMatrix);

                int year = startYear;
                while (true)
                {
                    progress.curYear = year;

                    if (displayMatrix == "Affiliation")
                        net.SaveAffiliationToMatrixFile(saveFileDialog.FileName, year, _optionsForm.Cutoff[currentYear], _optionsForm.InputType != "None", _optionsForm.InputType == "StructEquiv",
                                                        _optionsForm.FileName, _optionsForm.InputType == "Dyadic", _optionsForm.Density, _optionsForm.SumMean, _optionsForm.SumMeanFilename,
                                                        _optionsForm.svcFile, _optionsForm.SaveOverwrite && year == startYear,
                                                        cliqueSizeToolStripMenuItem1.Checked, cliqueCohesionToolStripMenuItem1.Checked, estebanRayIndexToolStripMenuItem1.Checked, _optionsForm.KCliqueValue, _optionsForm.KCliqueDiag);
                    else if (displayMatrix == "Affil" && loadFrom == "Affil")
                        net.SaveAffiliationMatrixToMatrixFile(saveFileDialog.FileName, year, _optionsForm.SaveOverwrite && year == startYear);
                    else if (displayMatrix == "NatDep")
                        net.SaveNationalDependencyToMatrixFile(saveFileDialog.FileName, year, _optionsForm.SaveOverwrite && year == startYear);
                    else if (displayMatrix == "CONCOR")
                        net.SaveBlocAffiliationToMatrixFile(saveFileDialog.FileName, year, _blocForm.pos, _optionsForm.SaveOverwrite && year == startYear, openFileDialog.Multiselect);
                    else if (displayMatrix == "Clustering")
                        net.SaveBlocAffiliationToMatrixFile(saveFileDialog.FileName, year, _blocForm.pos, _optionsForm.SaveOverwrite && year == startYear, openFileDialog.Multiselect);
                    else if (displayMatrix == "CBCO" || displayMatrix == "CBCODiag")
                        net.SaveCBCOverlapToFile(saveFileDialog.FileName, year, displayMatrix != "Characteristics",
                            displayMatrix != "Characteristics" || year == startYear, _optionsForm.SaveOverwrite && year == startYear, diag);
                    else
                        net.SaveMatrixToMatrixFile(saveFileDialog.FileName, year, displayMatrix, displayMatrix != "Characteristics",
                            displayMatrix != "Characteristics" || year == startYear, _optionsForm.SaveOverwrite && year == startYear);



                    if (year < endYear)
                    {
                        if (loadFrom == "Matrix")
                        {
                            if (openFileDialog.Multiselect)
                                year = net.LoadFromMultipleFiles(fileNames, year + 1);
                            else
                                year = net.LoadFromMatrixFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Dyadic")
                        {
                            if (openFileDialog.Multiselect)
                                year = net.LoadFromMultivariableDyadicFile(openFileDialog.FileName, year + 1);
                            else
                                year = net.LoadFromDyadicFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Affil")
                        {
                            year = net.LoadFromAffiliationFile(openFileDialog.FileName, year + 1);
                        }
                        else if (loadFrom == "Random")
                        {
                            net.LoadRandom(_randomForm.N, "Data", _randomSymmetric, _randomForm.ProbRange, _randomForm.MinProb, _randomForm.MaxProb, _randomForm.RandomN, _randomForm.RandomMinN, _randomForm.RandomMaxN, _randomForm.RandomIntN);
                            ++year;
                        }
                        else if (loadFrom == "ValuedRandom")
                        {
                            net.LoadValuedRandom(_vrandomForm.N, "Data", _randomSymmetric, _vrandomForm.vmin, _vrandomForm.vmax, _vrandomForm.datatype, _vrandomForm.zerodiagonalized, _vrandomForm.ProbRange, _vrandomForm.MinProb, _vrandomForm.MaxProb, _vrandomForm.RandomN, _vrandomForm.RandomMinN, _vrandomForm.RandomMaxN, _vrandomForm.RandomIntN);
                            ++year;
                        }
                        else if (loadFrom == "Monadic")
                        {
                            year = net.LoadFromMonadicFile(openFileDialog.FileName, year + 1);
                        }

                        if (net.CohesionFilename != null)
                            net.CohesionMatrix = MatrixReader.ReadMatrixFromFile(net.CohesionFilename, year);
                        //DoLoadCorrect(year);
                        currentYear = year;
                        LoadData();
                    }
                    else
                        break;
                }

                // display the last matrix in program
                if (loadFrom == "Matrix")
                {
                    if (openFileDialog.Multiselect)
                        currentYear = net.LoadFromMultipleFiles(fileNames, currentYear);
                    else
                        currentYear = net.LoadFromMatrixFile(openFileDialog.FileName, currentYear);
                }
                else if (loadFrom == "Dyadic")
                {
                    if (openFileDialog.Multiselect)
                        currentYear = net.LoadFromMultivariableDyadicFile(openFileDialog.FileName, currentYear);
                    else
                        currentYear = net.LoadFromDyadicFile(openFileDialog.FileName, currentYear);
                }
                else if (loadFrom == "Affil")
                {
                    currentYear = net.LoadFromAffiliationFile(openFileDialog.FileName, currentYear);
                }
                else if (loadFrom == "Random")
                {
                    net.LoadRandom(_randomForm.N, "Data", _randomSymmetric, _randomForm.ProbRange, _randomForm.MinProb, _randomForm.MaxProb, _randomForm.RandomN, _randomForm.RandomMinN, _randomForm.RandomMaxN, _randomForm.RandomIntN);
                }
                else if (loadFrom == "ValuedRandom")
                {
                    net.LoadValuedRandom(_vrandomForm.N, "Data", _randomSymmetric, _vrandomForm.vmin, _vrandomForm.vmax, _vrandomForm.datatype, _vrandomForm.zerodiagonalized, _vrandomForm.ProbRange, _vrandomForm.MinProb, _vrandomForm.MaxProb, _vrandomForm.RandomN, _vrandomForm.RandomMinN, _vrandomForm.RandomMaxN, _vrandomForm.RandomIntN);
                }
            }
        }