public static Dictionary <string, string> MetadataFromFile(string filename) { MetaDataTools tools = new MetaDataTools(); string md = tools.FromFile(filename); Dictionary <string, string> metadataMap = new Dictionary <string, string>(); Dictionary <string, string> parsed = (Dictionary <string, string>)MetaDataTools.ParseMetaData(md, MetaDataTools.mdStringList); if (parsed != null) { foreach (KeyValuePair <string, string> kvp in parsed) { metadataMap.Add(MetaDataTools.metaDataMappingDictionary[kvp.Key], kvp.Value); } } metadataMap.Add("DeviceId", string.Format("{0:00000}", tools.deviceId)); metadataMap.Add("SessionId", string.Format("{0:0000000000}", tools.deviceSessionId)); if (tools.startDate.HasValue) { metadataMap.Add("StartTime", string.Format("{0:yyyy-MM-dd HH:mm:ss}", tools.startDate.Value)); metadataMap.Add("StartTimeNumeric", string.Format("{0:yyyyMMddHHmmss}", tools.startDate.Value)); } if (tools.endDate.HasValue) { metadataMap.Add("EndTime", string.Format("{0:yyyy-MM-dd HH:mm:ss}", tools.endDate.Value)); metadataMap.Add("EndTimeNumeric", string.Format("{0:yyyyMMddHHmmss}", tools.endDate.Value)); } return(metadataMap); }
public static MetadataObject FromReader(string filename) { try { Dictionary <string, string> metadata = MetaDataTools.MetadataFromReader(filename); MetadataObject metadataObject = FromMetadata(metadata); return(metadataObject); } catch (Exception) { Console.Error.WriteLine("ERROR: Problem reading metadata from file (via Reader)."); return(null); } }
private void buttonOk_Click(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; metaDataEntries = MetaDataEntry.shorthandMetaData; //setOK = true; SessionID = (int)numericUpDownSessionID.Value; saveDictionaryFromFields(SettingsProfileDictionary); saveDictionaryToXML(SettingsProfileDictionary); metaDataList = new List <MetaDataEntry>(); List <string> mdStringList = new List <string>(); //fill mde metaDataList.Add(new MetaDataEntry("_c", SettingsProfileDictionary["StudyCentre"])); mdStringList.Add("_c"); metaDataList.Add(new MetaDataEntry("_s", SettingsProfileDictionary["StudyCode"])); mdStringList.Add("_s"); metaDataList.Add(new MetaDataEntry("_i", SettingsProfileDictionary["StudyInvestigator"])); mdStringList.Add("_i"); metaDataList.Add(new MetaDataEntry("_x", SettingsProfileDictionary["StudyExerciseType"])); mdStringList.Add("_x"); metaDataList.Add(new MetaDataEntry("_so", SettingsProfileDictionary["StudyOperator"])); mdStringList.Add("_so"); metaDataList.Add(new MetaDataEntry("_n", SettingsProfileDictionary["StudyNotes"])); mdStringList.Add("_n"); metaDataList.Add(new MetaDataEntry("_p", SettingsProfileDictionary["SubjectSite"])); mdStringList.Add("_p"); metaDataList.Add(new MetaDataEntry("_sc", SettingsProfileDictionary["SubjectCode"])); mdStringList.Add("_sc"); metaDataList.Add(new MetaDataEntry("_se", SettingsProfileDictionary["SubjectSex"])); mdStringList.Add("_se"); metaDataList.Add(new MetaDataEntry("_h", SettingsProfileDictionary["SubjectHeight"])); mdStringList.Add("_h"); metaDataList.Add(new MetaDataEntry("_w", SettingsProfileDictionary["SubjectWeight"])); mdStringList.Add("_w"); metaDataList.Add(new MetaDataEntry("_ha", SettingsProfileDictionary["SubjectHandedness"])); mdStringList.Add("_ha"); metaDataList.Add(new MetaDataEntry("_sn", SettingsProfileDictionary["SubjectNotes"])); mdStringList.Add("_sn"); //Create metadata metaData = MetaDataTools.CreateMetaData(metaDataList); /* * foreach (OmDevice device in Devices) * { * int i = OmApi.OmSetMetadata(device.DeviceId, metaData, metaData.Length); * * Console.WriteLine("OmSetMetadata Result: " + i); * * // Debug print the metadata * if (false) * { * StringBuilder sb = new StringBuilder(9600); * OmApi.OmGetMetadata(device.DeviceId, sb); * Console.WriteLine("sb: " + sb.ToString()); * * Dictionary<string, string> test = (Dictionary<string, string>)MetaDataTools.ParseMetaData(sb.ToString(), mdStringList); * * foreach (KeyValuePair<string, string> kvp in test) * { * Console.WriteLine(kvp.Key + " - " + kvp.Value); * } * } * } */ //mdt.SaveMetaData(metaData); SamplingFrequency = (int)float.Parse(comboBoxSamplingFreq.SelectedItem.ToString()); Range = (int)float.Parse(comboBoxRange.SelectedItem.ToString()); DialogResult = System.Windows.Forms.DialogResult.OK; }
public static Dictionary<string, string> MetadataFromFile(string filename) { MetaDataTools tools = new MetaDataTools(); string md = tools.FromFile(filename); Dictionary<string, string> metadataMap = new Dictionary<string, string>(); Dictionary<string, string> parsed = (Dictionary<string, string>)MetaDataTools.ParseMetaData(md, MetaDataTools.mdStringList); if (parsed != null) { foreach (KeyValuePair<string, string> kvp in parsed) { metadataMap.Add(MetaDataTools.metaDataMappingDictionary[kvp.Key], kvp.Value); } } metadataMap.Add("DeviceId", string.Format("{0:00000}", tools.deviceId)); metadataMap.Add("SessionId", string.Format("{0:0000000000}", tools.deviceSessionId)); if (tools.startDate.HasValue) { metadataMap.Add("StartTime", string.Format("{0:yyyy-MM-dd HH:mm:ss}", tools.startDate.Value)); metadataMap.Add("StartTimeNumeric", string.Format("{0:yyyyMMddHHmmss}", tools.startDate.Value)); } if (tools.endDate.HasValue) { metadataMap.Add("EndTime", string.Format("{0:yyyy-MM-dd HH:mm:ss}", tools.endDate.Value)); metadataMap.Add("EndTimeNumeric", string.Format("{0:yyyyMMddHHmmss}", tools.endDate.Value)); } return metadataMap; }
public void Go(String file) { string url = "file:///" + file.Replace("\\", "/"); //Add block parameters if needed url += "?"; //TODO - get metadata from file into url. if (Plugin.WantMetaData) { // Read meta-data string md = ""; OmApiNet.OmReader reader = null; try { reader = OmApiNet.OmReader.Open(CWAFilenames[0]); md = reader.MetaData; } catch (Exception e) { Console.Error.WriteLine("ERROR: Problem reading metadata: " + e.Message); } finally { if (reader != null) { try { reader.Close(); } catch (Exception e) { Console.Error.WriteLine("ERROR: Problem closing reader: " + e.Message); } reader = null; } } Dictionary <string, string> parsed = (Dictionary <string, string>)MetaDataTools.ParseMetaData(md, MetaDataTools.mdStringList); Dictionary <string, string> metadataBuiltReadable = new Dictionary <string, string>(); foreach (KeyValuePair <string, string> kvp in parsed) { metadataBuiltReadable.Add(MetaDataTools.metaDataMappingDictionary[kvp.Key], kvp.Value); } bool notFirst = false; foreach (KeyValuePair <string, string> kvp in metadataBuiltReadable) { if (!notFirst) { notFirst = true; } else { url += "&"; } url += kvp.Key + "=" + kvp.Value; } } Console.WriteLine("URL: " + url); if (Plugin.SelectionBlockStart > -1 && Plugin.SelectionBlockCount > -1) { if (url.Length > 1) { url += "&"; } url += "startBlock=" + Plugin.SelectionBlockStart; url += "&blockCount=" + Plugin.SelectionBlockCount; } if (Plugin.SelectionDateTimeStart != "" && Plugin.SelectionDateTimeEnd != "") { if (url.Length > 1) { url += "&"; } url += "startTime=" + Plugin.SelectionDateTimeStart; url += "&endTime=" + Plugin.SelectionDateTimeEnd; } if (Plugin.RequiresCWANames) { if (url.Length > 1) { url += "&"; } url += "input1=" + CWAFilenames[0]; for (int i = 1; i < CWAFilenames.Length; i++) { url += "&input" + (i + 1) + "=" + CWAFilenames[i]; } } string profileString = loadXmlProfile(); if (profileString != null) { url += profileString; } Console.WriteLine("url:\n" + url); this.webBrowser1.Url = new System.Uri(url, System.UriKind.RelativeOrAbsolute); }
public static Dictionary <string, string> MetadataFromReader(string filename) { // Read meta-data ushort? deviceId = null; uint? sessionId = null; DateTime?startTime = null; DateTime?endTime = null; string md = ""; OmApiNet.OmReader reader = null; try { reader = OmApiNet.OmReader.Open(filename); deviceId = reader.DeviceId; sessionId = reader.SessionId; startTime = reader.StartTime; endTime = reader.EndTime; md = reader.MetaData; } catch (Exception e) { Console.Error.WriteLine("ERROR: Problem reading metadata: " + e.Message); } finally { if (reader != null) { try { reader.Close(); } catch (Exception e) { Console.Error.WriteLine("ERROR: Problem closing reader: " + e.Message); } reader = null; } } Dictionary <string, string> metadataMap = new Dictionary <string, string>(); Dictionary <string, string> parsed = (Dictionary <string, string>)MetaDataTools.ParseMetaData(md, MetaDataTools.mdStringList); if (parsed != null) { foreach (KeyValuePair <string, string> kvp in parsed) { metadataMap.Add(MetaDataTools.metaDataMappingDictionary[kvp.Key], kvp.Value); } } if (deviceId.HasValue) { metadataMap.Add("DeviceId", string.Format("{0:00000}", deviceId.Value)); } if (sessionId.HasValue) { metadataMap.Add("SessionId", string.Format("{0:0000000000}", sessionId.Value)); } if (startTime.HasValue) { metadataMap.Add("StartTime", string.Format("{0:yyyy-MM-dd HH:mm:ss}", startTime.Value)); metadataMap.Add("StartTimeNumeric", string.Format("{0:yyyyMMddHHmmss}", startTime.Value)); } if (endTime.HasValue) { metadataMap.Add("EndTime", string.Format("{0:yyyy-MM-dd HH:mm:ss}", endTime.Value)); metadataMap.Add("EndTimeNumeric", string.Format("{0:yyyyMMddHHmmss}", endTime.Value)); } return(metadataMap); // Dictionary<string, string> metadataMap = MetaDataTools.MetadataFromFile(filename); // foreach (KeyValuePair<string, string> kvp in metadataMap) { kvp.Key + "=" + kvp.Value; }; }
public void Go(String file) { string url = "file:///" + file.Replace("\\", "/"); //Add block parameters if needed url += "?"; //TODO - get metadata from file into url. if (Plugin.WantMetaData) { string filename = CWAFilenames[0]; Dictionary <string, string> metadataMap = MetaDataTools.MetadataFromReader(filename); bool notFirst = false; foreach (KeyValuePair <string, string> kvp in metadataMap) { if (!notFirst) { notFirst = true; } else { url += "&"; } url += kvp.Key + "=" + kvp.Value; } } Console.WriteLine("URL: " + url); if (Plugin.SelectionBlockStart > -1 && Plugin.SelectionBlockCount > -1) { if (url.Length > 1) { url += "&"; } url += "startBlock=" + Plugin.SelectionBlockStart; url += "&blockCount=" + Plugin.SelectionBlockCount; } if (Plugin.SelectionDateTimeStart != "" && Plugin.SelectionDateTimeEnd != "") { if (url.Length > 1) { url += "&"; } url += "startTime=" + Plugin.SelectionDateTimeStart; url += "&endTime=" + Plugin.SelectionDateTimeEnd; } if (Plugin.RequiresCWANames) { if (url.Length > 1) { url += "&"; } url += "input1=" + CWAFilenames[0]; for (int i = 1; i < CWAFilenames.Length; i++) { url += "&input" + (i + 1) + "=" + CWAFilenames[i]; } } string profileString = loadXmlProfile(); if (profileString != null) { url += profileString; } Console.WriteLine("url:\n" + url); this.webBrowser1.Url = new System.Uri(url, System.UriKind.RelativeOrAbsolute); }