public static IEnumerable<EEGDataEntry> FromFile(string path)
{
var lines = File.ReadAllLines(path);
if (lines.Length == 0)
return Enumerable.Empty<EEGDataEntry>();
if (lines[0].Split(SEPARATOR).Length <= NUM_LINE_FIELDS)
return lines.Select(Parse);
else
{
var parsed = new List<EEGDataEntry>(lines.Length) { ParseOldFormat(lines[0], 0) };
int onsetTime = 0;
string marker = parsed[0].Marker.ToString();
foreach (var line in lines.Skip(1))
{
if (!line.StartsWith(marker))
{
onsetTime = 0;
marker = line.Substring(0, line.IndexOf(','));
}
parsed.Add(ParseOldFormat(line, onsetTime));
}
return parsed;
}
}