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;
        }
示例#2
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>>();

            }
        }