Example #1
0
        public void Init(ModuleParams parameters)
        {
            Params = parameters as Heart_Class_Params;

            Aborted = false;
            if (!Runnable()) _ended = true;
            else
            {
                _ended = false;

                InputEcGbaselineWorker = new ECG_Baseline_Data_Worker(Params.AnalysisName);
                InputEcGbaselineWorker.Load();
                InputECGbaselineData = InputEcGbaselineWorker.Data;

                InputRpeaksWorker = new R_Peaks_Data_Worker(Params.AnalysisName);
                InputRpeaksWorker.Load();
                InputRpeaksData = InputRpeaksWorker.Data;

                InputWavesWorker = new Waves_Data_Worker(Params.AnalysisName);
                InputWavesWorker.Load();
                InputWavesData = InputWavesWorker.Data;

                OutputWorker = new Heart_Class_Data_Worker(Params.AnalysisName);
                OutputData = new Heart_Class_Data();

                _currentChannelIndex = 0;
                _samplesProcessed = 0;
                NumberOfChannels = InputECGbaselineData.SignalsFiltered.Count;
                _currentChannelLength = InputECGbaselineData.SignalsFiltered[_currentChannelIndex].Item2.Count;
                _currentVector = Vector<Double>.Build.Dense(_currentChannelLength);
                qrsEndStep = 10;
                i = 10;
                step = InputWavesData.QRSEnds[_currentChannelIndex].Item2[qrsEndStep]; //ilośc próbek, aż do indeksu końca 10 załamka
                _tempClassResult = new List<Tuple<int, int>>();

            }
        }
Example #2
0
        public void Init(ModuleParams parameters)
        {
            Params = parameters as R_Peaks_Params;
            Aborted = false;
            if (!Runnable()) _ended = true;
            else
            {
                _ended = false;

                InputWorker_basic = new Basic_Data_Worker(Params.AnalysisName);
                InputWorker_basic.Load();
                InputData_basic = InputWorker_basic.BasicData;

                InputWorker = new ECG_Baseline_Data_Worker(Params.AnalysisName);
                InputWorker.Load();
                InputData = InputWorker.Data;

                OutputWorker = new R_Peaks_Data_Worker(Params.AnalysisName);
                OutputData = new R_Peaks_Data();

                _currentChannelIndex = 0;
                _samplesProcessed = 0;
                _lastRPeak = 0;
                _numRPeaks = 0;
                NumberOfChannels = InputData.SignalsFiltered.Count;
                _currentChannelLength = InputData.SignalsFiltered[_currentChannelIndex].Item2.Count;
                _currentVector = Vector<Double>.Build.Dense(_currentChannelLength);
                _currentVectorRRInterval = Vector<Double>.Build.Dense(_currentChannelLength);
                _totalVector = Vector<Double>.Build.Dense(_currentChannelLength);

            }
        }
Example #3
0
        public void DisplayR_Peaks()
        {
            if (first)
            {
                _r_Peaks_Data_Worker = new R_Peaks_Data_Worker();
                _r_Peaks_Data_Worker.Load();
                first = false;
                //var lineraYAxis = new LinearAxis();
                //lineraYAxis.Position = AxisPosition.Left;
                //lineraYAxis.Minimum = -100.0;
                //lineraYAxis.Maximum = 80.0;
                //lineraYAxis.MajorGridlineStyle = LineStyle.Solid;
                //lineraYAxis.MinorGridlineStyle = LineStyle.Dot;
                //lineraYAxis.Title = "Voltage [mV]";

                //CurrentPlot.Axes.Add(lineraYAxis);
            }
            else
            {
                ClearPlot();
            }

            foreach (var signal in _r_Peaks_Data_Worker.Data.RPeaks)
            {

                Vector<double> signalVector = signal.Item2;
                LineSeries ls = new LineSeries();
                ls.Title = signal.Item1;

                ls.MarkerStrokeThickness = 1;

                for (int i = _beginingPoint; (i <= (_beginingPoint + _windowSize) && i < signalVector.Count()); i++)
                {
                    ls.Points.Add(new DataPoint(i, signalVector[i]));
                }

                CurrentPlot.Series.Add(ls);

            }

            RefreshPlot();
        }