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); } }
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>>(); } }
public void Init(ModuleParams parameters) { Params = parameters as ECG_Baseline_Params; Aborted = false; if (!Runnable()) _ended = true; else { _ended = false; InputWorker = new Basic_Data_Worker(Params.AnalysisName); InputWorker.Load(); InputData = InputWorker.BasicData; OutputWorker = new ECG_Baseline_Data_Worker(Params.AnalysisName); OutputData = new ECG_Baseline_Data(); _currentChannelIndex = 0; _samplesProcessed = 0; NumberOfChannels = InputData.Signals.Count; _currentChannelLength = InputData.Signals[_currentChannelIndex].Item2.Count; //_currentVector = InputData.Signals[_currentChannelIndex].Item2.CopySubVectorTo(_currentVector,0,0, _currentChannelLength); //Vector<Double>.Build.Dense(_currentChannelLength); //InputData.Signals[_currentChannelIndex].Item2.CopySubVectorTo(_currentVector, 0, 0, _currentChannelLength); _currentVector = Vector<Double>.Build.Dense(_currentChannelLength); _temporaryVector2 = Vector<Double>.Build.Dense(_currentChannelLength); } }
public void DisplayEcgBaseline() { if (first) { _ecg_Baseline_Data_worker = new ECG_Baseline_Data_Worker(); _ecg_Baseline_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 _ecg_Baseline_Data_worker.Data.SignalsFiltered) { 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(); //foreach (var signal in _ecg_Baseline_Data_worker.Data.SignalsFiltered) //{ // Vector<double> signalVector = signal.Item2; // LineSeries ls = new LineSeries(); // ls.Title = signal.Item1; // ls.MarkerStrokeThickness = 1; // for (int i = 0; i < signalVector.Count; i++) // { // ls.Points.Add(new DataPoint(i, signalVector[i])); // } // CurrentPlot.Series.Add(ls); //} }