public void Load()
{
HRV1_Data basicData = new HRV1_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)
{
List<Tuple<string, Vector<double>>> list = new List<Tuple<string, Vector<double>>>();
XmlNodeList nodes = module.SelectNodes("TimeBasedParams");
foreach (XmlNode node in nodes)
{
XmlNode lead = node["lead"];
string readLead = lead.InnerText;
XmlNode samples = node["samples"];
string readSamples = samples.InnerText;
Vector<double> readDigits = converter.stringToVector(readSamples);
Tuple<string, Vector<double>> read = Tuple.Create(readLead, readDigits);
list.Add(read);
}
basicData.TimeBasedParams = list;
List<Tuple<string, Vector<double>>> FreqBasedParams = new List<Tuple<string, Vector<double>>>();
XmlNodeList freqBasedParams = module.SelectNodes("FreqBasedParams");
foreach (XmlNode node in freqBasedParams)
{
XmlNode lead = node["lead"];
string readLead = lead.InnerText;
XmlNode samples = node["samples"];
string readSamples = samples.InnerText;
Vector<double> readDigits = converter.stringToVector(readSamples);
Tuple<string, Vector<double>> read = Tuple.Create(readLead, readDigits);
FreqBasedParams.Add(read);
}
basicData.FreqBasedParams = FreqBasedParams;
List<Tuple<string, Vector<double>>> RInstants = new List<Tuple<string, Vector<double>>>();
XmlNodeList rInstants = module.SelectNodes("RInstants");
foreach (XmlNode node in rInstants)
{
XmlNode lead = node["lead"];
string readLead = lead.InnerText;
XmlNode samples = node["samples"];
string readSamples = samples.InnerText;
Vector<double> readDigits = converter.stringToVector(readSamples);
Tuple<string, Vector<double>> read = Tuple.Create(readLead, readDigits);
RInstants.Add(read);
}
basicData.RInstants = RInstants;
List<Tuple<string, Vector<double>>> RRIntervals = new List<Tuple<string, Vector<double>>>();
XmlNodeList rrIntervals = module.SelectNodes("RRIntervals");
foreach (XmlNode node in rrIntervals)
{
XmlNode lead = node["lead"];
string readLead = lead.InnerText;
XmlNode samples = node["samples"];
string readSamples = samples.InnerText;
Vector<double> readDigits = converter.stringToVector(readSamples);
Tuple<string, Vector<double>> read = Tuple.Create(readLead, readDigits);
RRIntervals.Add(read);
}
basicData.RRIntervals = RRIntervals;
}
}
this.Data = basicData;
}