Esempio n. 1
0
        /// <summary>
        /// Fonctoin gerant l'exportation des résultats dans un fichier .txt
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void exporterLesRésultatsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            String        mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            StringBuilder sb        = new StringBuilder();
            double        bruit     = Traitement.pourcentageBruit(measuredData);

            sb.AppendLine(" Rapport d'Analyse des fichiers :");
            sb.AppendLine(" **************************************************");
            int i = 0;

            for (; i < comboBox1.Items.Count; i++)
            {
                sb.AppendLine("Evenement n°" + (i + 1) + ": " + comboBox1.Items[i]);
                sb.AppendLine("Analyse : " + ((KeyValuePair <Evenement, string>)comboBox1.Items[i]).Key.analyse);
            }
            sb.AppendLine("Votre fichier contient " + bruit + "% de bruit");
            sb.AppendLine("");
            sb.AppendLine("");


            using (StreamWriter outfile = new StreamWriter(mydocpath + @"\Rapport_tdms.txt", true))
            {
                await outfile.WriteAsync(sb.ToString());
            }
        }
Esempio n. 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            double        max             = 0;
            List <double> data_a_regarder = new List <double>();
            bool          trouve          = false;

            for (int i = 0, j = 0; i < measuredData[0].Length; i++)
            {
                if (measuredData[0][i] > max)
                {
                    max = measuredData[0][i];
                }

                if (measuredData[0][i] >= 2 && !trouve)
                {
                    data_a_regarder.Add(i);
                    j++;
                    trouve = true;
                }

                if (measuredData[0][i] <= 2 && trouve)
                {
                    trouve = false;
                }
            }

            comboBox1.Items.Clear();
            foreach (double index in data_a_regarder)
            {
                comboBox1.Items.Add(index);
                Console.WriteLine(index);
            }
            comboBox1.Items.Insert(0, "Vue d'ensemble");
            comboBox1.SelectedIndex = 0;

            measuredData = Traitement.supressionBruit(measuredData);

            // Affichage des courbes :
            waveformPlot1.PlotY(measuredData[0]);
            waveformPlot2.PlotY(measuredData[1]);
            waveformPlot3.PlotY(measuredData[2]);

            // Affichage d'un message flash dans la bar de status:
            Thread affiche = new Thread(new ParameterizedThreadStart(MessageFlash));

            affiche.Start("Fichiers ouverts");

            // Activation des menus Affichage et Analyse
            affichageToolStripMenuItem.Enabled = true;
            analyseToolStripMenuItem.Enabled   = true;
        }
Esempio n. 3
0
        /// <summary>
        /// Fonction gérant l'ouverture des fichiers et l'affichages des courbes
        /// </summary>
        private void openAndReadFiles()
        {
            // Déclaration des variables
            String[]                   input;
            OpenFileDialog             dialog = new OpenFileDialog();
            TdmsChannelGroupCollection channelGroups;
            TdmsChannelCollection      channels;
            long numChanValues;

            //Clear de la liste des fichiers
            files.Clear();
            comboBox1.DataSource = null;
            comboBox1.Enabled    = false;

            dialog.Filter           = "tdms files (*.tdms)|*.tdms|All files (*.*)|*.*";
            dialog.Multiselect      = true;
            dialog.InitialDirectory = "C:";
            dialog.Title            = "Select a tdms file";
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                input = dialog.FileNames;
                Console.WriteLine(input.Length + " fichier(s) ouvert(s)");
                if (input.Length == 3)
                {
                    //Open TDMS file
                    for (int i = 0; i < input.Length; i++)
                    {
                        files.Add(new TdmsFile(input[i], TdmsFileAccess.Read));
                        Console.WriteLine("FILE[" + i + "] = " + files[i].Path);
                        // Recupération des métadata :
                        DateTime creationTime = File.GetLastWriteTime(files[i].Path);
                        Console.WriteLine("FILE[" + i + "] CREATION = " + creationTime);
                    }



                    // Lecture des données TDMS
                    for (int i = 0; i < files.Count; i++)
                    {
                        channelGroups   = files[i].GetChannelGroups();
                        channels        = channelGroups[0].GetChannels();
                        numChanValues   = channels[0].DataCount;
                        measuredData[i] = channels[0].GetData <double>();
                        files[i].Close();
                    }

                    measuredData = Traitement.supressionBruit(measuredData);
                    measuredData = Traitement.filtreMoyenne(measuredData);

                    for (int i = 0; i < measuredData.Length; i++)
                    {
                        measuredData[i] = Traitement.filtreMedian(measuredData[i], 150);
                        Console.WriteLine("Application du filtre median");
                    }

                    // Affichage des courbes
                    waveformGraph1.XAxes[0].Mode  = AxisMode.Fixed;
                    waveformGraph1.XAxes[0].Range = new NationalInstruments.UI.Range(0, measuredData[0].Length);
                    waveformPlot1.PlotY(measuredData[0]);
                    waveformPlot2.PlotY(measuredData[1]);
                    waveformPlot3.PlotY(measuredData[2]);

                    // Affichage d'un message flash dans la bar de status
                    Thread affiche = new Thread(new ParameterizedThreadStart(MessageFlash));
                    affiche.Start("Fichiers ouverts");

                    // Activation des menus Affichage et Analyse ainsi que le bouton d'analyse
                    //button1.Enabled = true;
                    affichageToolStripMenuItem.Enabled = true;
                    analyseToolStripMenuItem.Enabled   = true;
                }
                else
                {
                    MessageBox.Show("Vous devez sélectionner les trois fichiers du plateau!", "Erreur de sélection");
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Fonction permettant de lancer l'analyse sur les fichiers et detecte ainsi les évenements
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lancerLanalyseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            double max = 0;

            double[] data_a_regarder = new double[30];
            bool     trouve          = false;

            for (int i = 0, j = 0; i < measuredData[1].Length; i++)
            {
                if (measuredData[1][i] > max)
                {
                    max = measuredData[1][i];
                }

                if (measuredData[1][i] >= 2 && !trouve)
                {
                    data_a_regarder[j] = i;
                    j++;
                    trouve = true;
                }

                if (measuredData[1][i] <= 2 && trouve)
                {
                    trouve = false;
                }
            }

            comboBox1.DataSource = null;
            Dictionary <Evenement, string> valeurs = new Dictionary <Evenement, string>();

            valeurs.Add(new Evenement(), "Vue d'ensemble");
            Console.Write(data_a_regarder);
            Evenement ev_tmp   = Traitement.dateEvenement(dateFiles, data_a_regarder[0]);
            int       compteur = 0;

            foreach (double index in data_a_regarder)
            {
                if (index != 0)
                {
                    Evenement ev = Traitement.dateEvenement(dateFiles, index);
                    if (ev.dateDebut.Second != ev_tmp.dateDebut.Second || compteur == 0)
                    {
                        ev_tmp.absFin = index - 50;
                        ev.analyser(measuredDataFusionned);
                        valeurs.Add(ev, ev.heure);
                    }
                    //comboBox1.Items.Add(ev.absDebut);
                    ev_tmp = ev;
                    compteur++;
                }
            }
            comboBox1.DataSource    = new BindingSource(valeurs, null);
            comboBox1.DisplayMember = "Value";
            comboBox1.ValueMember   = "Key";
            comboBox1.SelectedIndex = 0;

            if (!comboBox1.Enabled)
            {
                comboBox1.Enabled = true;
            }
        }