public void Load()
{
Basic_Data basicData = new Basic_Data();
XMLConverter converter = new XMLConverter(analysisName);
XmlDocument file = new XmlDocument();
string fileName = analysisName + "_Data.xml";
file.Load(System.IO.Path.Combine(directory, fileName));
XmlNodeList modules = file.SelectNodes("EKG/module");
string moduleName = this.GetType().Name;
moduleName = moduleName.Replace("_Data_Worker", "");
foreach (XmlNode module in modules)
{
if (module.Attributes["name"].Value == moduleName)
{
XmlNode frequency = module["frequency"];
basicData.Frequency = Convert.ToUInt32(frequency.InnerText, new System.Globalization.NumberFormatInfo());
XmlNode sampleAmount = module["sampleAmount"];
basicData.SampleAmount = Convert.ToUInt32(sampleAmount.InnerText, new System.Globalization.NumberFormatInfo());
List<Tuple<string, Vector<double>>> Signals = new List<Tuple<string, Vector<double>>>();
XmlNodeList signals = module.SelectNodes("signal");
foreach (XmlNode signal in signals)
{
XmlNode lead = signal["lead"];
string readLead = lead.InnerText;
XmlNode samples = signal["samples"];
string readSamples = samples.InnerText;
Vector<double> readDigits = converter.stringToVector(readSamples);
Tuple<string, Vector<double>> readSignal = Tuple.Create(readLead, readDigits);
Signals.Add(readSignal);
}
basicData.Signals = Signals;
}
}
this.BasicData = basicData;
}
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); } }