public void Load() { Heart_Class_Data basicData = new Heart_Class_Data(); 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) { List<Tuple<int, int>> list = new List<Tuple<int, int>>(); XmlNodeList nodes = module.SelectNodes("ClassificationResult"); foreach (XmlNode node in nodes) { XmlNode item1 = node["item1"]; string readItem1 = item1.InnerText; int convertedItem1 = Convert.ToInt32(readItem1, new System.Globalization.NumberFormatInfo()); XmlNode item2 = node["item2"]; string readItem2 = item1.InnerText; int convertedItem2 = Convert.ToInt32(readItem2, new System.Globalization.NumberFormatInfo()); Tuple<int, int> read = Tuple.Create(convertedItem1, convertedItem2); list.Add(read); } basicData.ClassificationResult = list; XmlNode channelMliiDetected = module["ChannelMliiDetected"]; string readChannelMliiDetected = channelMliiDetected.InnerText; bool convertedChannelMliiDetected = Convert.ToBoolean(readChannelMliiDetected); basicData.ChannelMliiDetected = convertedChannelMliiDetected; } } this.Data = basicData; }
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>>(); } }