private void LoadFilter(XmlElement filterNode) { XmlAttribute attr = filterNode.Attributes["Guid"]; if (attr == null) { return; } Guid guid = XmlConvert.ToGuid(attr.Value); ISignalFilterFactory factory = Root.SignalFilterFactories .FirstOrDefault(f => f.UniqueIdentifier == guid); if (factory == null) { return; } DataSourceInstanceViewModel selectedDataSource = SignalViewSelector.SelectedDataSource; ISignalFilter filter = factory.ProduceSignalFilter(); try { filter.Load(filterNode); SignalFiltersPipeline.SignalFilters.Add(new SignalFilterViewModel(Root, filter)); } catch { } }
/// <summary> /// Initializes the <see cref="SignalFilterBase"/> instance. /// </summary> /// <param name="signalFilterFactory">The signal filter factory that produced this signal filter.</param> public SignalFilterBase(ISignalFilterFactory signalFilterFactory) { if (signalFilterFactory == null) { throw new ArgumentNullException(nameof(signalFilterFactory)); } this.signalFilterFactory = signalFilterFactory; }
public HysteresisFilter(ISignalFilterFactory signalFilterFactory) : base(signalFilterFactory) { }
public HighPassFilter(ISignalFilterFactory signalFilterFactory) : base(signalFilterFactory) { SetSliderValue(0.85); }
public LowPassFilter(ISignalFilterFactory signalFilterFactory) : base(signalFilterFactory) { SetSliderValue(0.05); }
internal InverserFilter(ISignalFilterFactory signalFactory) : base(signalFactory) { }