示例#1
0
        public static TaskEventCollection?Collect(BrainVisionPackage filesContent)
        {
            IHeaderFileContentVer1 headerContent = filesContent.HeaderFileContent;
            IMarkerFileContentVer1?markerContent = filesContent.MarkerFileContent;

            List <MarkerInfo>?markers = markerContent?.GetMarkers();

            if (markers == null)
            {
                return(null);
            }

            double samplingFrequency = Common.GetSamplingFrequencyFromSamplingInterval(headerContent.SamplingInterval !.Value);

            TaskEventCollection taskEvents = new TaskEventCollection();

            foreach (MarkerInfo marker in markers)
            {
                TaskEvent taskEvent = new TaskEvent(
                    //REQUIRED
                    onset: marker.Position / samplingFrequency,
                    duration: marker.Length / samplingFrequency)
                {
                    //OPTIONAL
                    Sample    = marker.Position + 1, // I suppose bids uses 1-based sample position. This info is not present in the official bids documentations
                    TrialType = marker.Type,
                    Value     = !string.IsNullOrEmpty(marker.Description) ? marker.Description : Defs.NotAvailable,
                };

                taskEvents.Add(taskEvent);
            }

            return(taskEvents);
        }
示例#2
0
 public static void SaveTaskEventsFile(string filePath, TaskEventCollection taskEvents)
 {
     Directory.CreateDirectory(Path.GetDirectoryName(filePath));
     TaskEventsWriter.Save(filePath, taskEvents);
 }
示例#3
0
 public void SaveTaskEventsFile(TaskEventCollection taskEvents)
 => SaveTaskEventsFile(TaskEventsFilePath, taskEvents);
示例#4
0
 public static void SaveTaskEventsFile(string filePath, TaskEventCollection taskEvents)
 => EegModalityFolder.SaveTaskEventsFile(filePath, taskEvents);
示例#5
0
        public static void Save(string filePath, TaskEventCollection events)
        {
            List <TaskEventTsv> list = events.ConvertAll(p => new TaskEventTsv(p));

            TsvTableWriter <TaskEventTsv> .Save(filePath, TaskEventTsv.TsvIdentifiers, list);
        }