예제 #1
0
        public FECGSalvarExame(Onda onda, double[] patQRS, double[] patT)
        {
            this.onda = onda;
            this.patQRS = patQRS;
            this.patT = patT;

            InitializeComponent();
        }
예제 #2
0
        private void buttonSelecionar_Click(object sender, EventArgs e)
        {
            onda = new Onda(imagem);

            ondaChart.Series[0].Points.Clear();

            for (int i = 0; i < onda.Length; i++)
            {
                ondaChart.Series[0].Points.Add(onda.Vetor[i]);
            }

            Console.WriteLine(" -->> {0} complexos QRS encontrado(s)", onda.ComplexosQRS.Length);
            Console.WriteLine(" -->> {0} ondas T encontrada(s)", onda.OndasT.Length);

            // Determinar a frequência cardíaca
            int[] picos = onda.PicosQRS;
            double freq = 1500 / ((picos[1] - picos[0]) / 8);

            labelFreqResult.Text = freq.ToString("000") + " bpm";

            Patologias patologias = new Patologias();

            // Calcular o resultado do padrão da onda

            // Resultado do Complexo QRS
            RedeAtivacao qrs = ECGConfig.RedeQRS();

            patQRS = Utils.AproximarDiagnostico(qrs.Calcular(onda.ComplexosQRS[0].Vetor));

            Console.WriteLine("Saída do 1º Complexo QRS: {0}-{1}-{2}-{3}", patQRS[0], patQRS[1], patQRS[2], patQRS[3]);

            labelDiagQRSResult.Text = patologias.EncontrarNomePorSaida(patQRS, "QRS");

            // Resultado da Onda T
            RedeAtivacao t = ECGConfig.RedeT();

            patT = Utils.AproximarDiagnostico(t.Calcular(onda.OndasT[0].Vetor));

            Console.WriteLine("Saída da 1ª Onda T: {0}-{1}-{2}-{3}", patT[0], patT[1], patT[2], patT[3]);

            labelDiagTResult.Text = patologias.EncontrarNomePorSaida(patT, "T");
        }