Example #1
0
        /// <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);
        }
Example #2
0
 public static ChannelData GetFirstChannelDataByPhysioSignalTypeName(
     this PatientPhysioData _this, SignalType physioSignalType)
 {
     return(_this.GetChannelDataBySignalType(physioSignalType).FirstOrDefault());
 }