/// <summary> /// Возвращает фрагмент сигнала из всех каналов нужного типа от маркера left до маркера right. /// </summary> /// <param name="physioSignalType">нужный тип физиологического сигнала.</param> /// <param name="leftMarkerId"></param> /// <param name="rightMarkerId"></param> /// <returns></returns> /// <remarks></remarks> public static IEnumerable <ChannelData> GetChannelDataBySignalType( this PatientPhysioData _this, SignalType physioSignalType, long leftMarkerId, long rightMarkerId) { // Берем сигналы нужного типа целиком var channels = _this.GetChannelDataBySignalType(physioSignalType); // Найти объекты-маркеры, соответствующие left_marker и right_marker Marker leftMarker = _this.GetMarkerByIdOrDefault(leftMarkerId); Marker rightMarker = _this.GetMarkerByIdOrDefault(rightMarkerId); var fragments = channels.Select( c => _this.CutChannelDataFromLeftToRight(c, leftMarker, rightMarker) ); return(fragments); }
public static ChannelData GetFirstChannelDataByPhysioSignalTypeName( this PatientPhysioData _this, SignalType physioSignalType) { return(_this.GetChannelDataBySignalType(physioSignalType).FirstOrDefault()); }