Exemple #1
0
        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);
        }
Exemple #6
0
        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);
        }